第 13章 创建数据库第 13章 创建数据库
13.1 创建数据库
13.2 打开数据库
13.3 数据库中的数据管理
13.4 多表的同时使用第 13章 创建数据库
13.1 创建数据库在建立 Visual FoxPro数据库时,相应的数据库名称是扩展名为,dbc的文件名,与之相关的还会自动建立一个扩展名为,dct的数据库备注文件和一个扩展名为,dcx的数据库索引文件。也就是说,建立数据库后,用户可以在磁盘上看到文件名相同,但扩展名分别为,dbc,.dct和,dcx的三个文件,这三个文件是供 Visual FoxPro数据库管理系统管理数据库使用的,用户一般不能直接使用这些文件。
第 13章 创建数据库
13.1.1 创建空数据库建立数据库的常用方法有以下 3种:
·在项目管理器中建立数据库 。
·通过,新建,对话框建立数据库 。
· 使用命令方式交互建立数据库。
第 13章 创建数据库
1,在项目管理器中建立数据库
(1) 单击工具栏上的,新建,按钮,在,新建,对话框中选中,项目,,并单击,新建文件,按钮,打开,创建,对话框 。
(2) 在“创建”对话框中,输入项目名称,单击
“保存”按钮,打开“项目管理器”对话框。
第 13章 创建数据库
(3) 在,数据,选项卡中选择,数据库,,然后单击
,新建,按钮,继续打开,新建数据库,对话框 。
(4) 在,新建数据库,对话框中单击,新建数据库,
按钮,打开,创建,对话框 。
(5) 输入数据库名,即扩展名为,dbc的文件名 。 例如,
输入,学生情况,,即建立一个学生管理数据库,在
,创建,对话框中有,保存,和,取消,等命令按钮 。
(6) 输入数据库名后单击“保存”,则完成数据库的建立,并打开“数据库设计器”。
第 13章 创建数据库
2,通过,新建,对话框建立数据库通过,新建,对话框建立数据库的方法为:
(1) 从,文件,菜单中选择,新建,命令,打开,新建,对话框 。
(2) 从中选择,数据库,单选钮,然后单击,新建文件,按钮,打开,创建,对话框 。
(3) 在,创建,数据库对话框中,输入新数据库名 。
(4) 单击“保存”按钮后,会显示一个空的“数据库设计器”窗口,与此同时,“数据库设计器”工具栏将变为有效。
第 13章 创建数据库
3,使用命令交互建立数据库建立数据库的命令是:
CREATE DATABASE [数据库名 ]
第 13章 创建数据库
13.1.2 在数据库中加入表
1,向数据库中添加表向数据库中添加表的方法为:
(1) 从,数据库,菜单中选择,添加表,。
(2) 在“打开”对话框中选定一个表,然后选择“确定”。
第 13章 创建数据库
2,从数据库中移去表从数据库中移去表的方法为:
(1) 选定要移去的表,从,数据库,菜单中选择,移去,,或者从,数据库设计器,工具栏中单击,移去表,
按钮 。
(2) 在提示对话框中,选择“移去”。
第 13章 创建数据库
13.1.3 创建并添加视图视图用于显示一个或多个表中的记录,并可用来更新源表中的数据 。
如果想在数据库中加入一个本地视图,可以从当前数据库所包含的表或视图中建立一个新视图,或者从当前数据库以外的自由表中建立新视图。如果所需信息在远程数据源上,可以从中创建一个远程视图,并将它合并到当前的数据库中。
第 13章 创建数据库
13.1.4 在数据库中查找表或视图寻找数据库中的表的方法为:单击,数据库,菜单中的,查找对象,,再从,查找表或视图,对话框中选择需要的表 。
如果只想显示表或某些视图,可单击“数据库”菜单中的“属性”,再从“数据库属性”对话框中选择合适的显示选项。
第 13章 创建数据库
13.1.5 建立关联通过链接不同表的索引,“数据库设计器”可以很方便地建立表之间的关系。因为这种在数据库中建立的关系被作为数据库的一部分而保存起来,
所以称为永久关系。
第 13章 创建数据库
1,准备关联表之间创建关系之前,需要关联的表之间要有一些公共的字段和索引,这样的字段称为主关键字字段和外部关键字字段 。
若要准备关系,可以按如下步骤进行:
(1) 决定哪个表有主记录,哪个表有关联记录 。
(2) 对有主记录的表,添加一个整数型字段,再对该字段添加一个主索引 。
(3) 对带有关联记录的表,添加一个与另个表匹配的主关键字字段,再对该新字段添加一个一般索引。
第 13章 创建数据库
2,创建关系在表间建立关系的方法为:将一个表的索引拖到另一个表的相匹配的索引上 。
设置完关系之后,在数据库设计器中可看到一条线连接两表 。
3,编辑关系编辑表间关系的方法为:双击表间的关系线,打开
“编辑关系”对话框,从中修改有关设置。
第 13章 创建数据库
13.2 打开数据库
13.2.1 打开数据库打开数据库的方法为:单击“文件”菜单中的“打开”命令,在打开对话框中,选择数据库名。打开数据库后,显示出“数据库设计器”,它向用户展示了组成数据库的若干表以及它们之间的关系。
第 13章 创建数据库
13.2.2 展开或折叠表
1,展开或折叠一个表将鼠标指针指向“数据库设计器”中的一个表,
单击鼠标右键,在快捷菜单中选择“展开”或“折叠”。
第 13章 创建数据库
2,展开或折叠所有表将鼠标指针指向“数据库设计器”窗口,单击鼠标右键,打开快捷菜单,在快捷菜单中选择“全部展开”或“全部折叠”。
第 13章 创建数据库
13.2.3 重排数据库的表重排数据库的表的方法为:单击,数据库,菜单中的,重排,,再从,重排表和视图,对话框中选择适当的选项 。
选中,按名称,,表示按名称字母顺序重排表;
选中,按类型,,表示按类型重排表;
选中,垂直置中,,表示列对齐表;
选中,水平置中,,表示行对齐表;
选中“调整对象大小到默认的高度和宽度”,表示将表恢复到原来的大小。
第 13章 创建数据库
13.2.4 为数据库添加备注为数据库添加备注的方法为:单击“数据库”
菜单中的“属性”,在“数据库属性”对话框的
“注释”框输入备注内容。
第 13章 创建数据库
13.3 数据库中的数据管理
13.3.1 定义字段显示
1,设置字段标题给字段设置标题的方法为:
(1) 在,数据库设计器,中选定表,单击该表,从,数据库,菜单中选择,修改,。
(2) 在,表设计器,对话框中,选定需要指定标题的字段 。
(3) 在“标题”框中,键入为字段选定的标题。
(4) 选择“确定”。
第 13章 创建数据库
2,为字段输入注释建立好表的结构后,还可以输入一些注释,来提醒自己或他人表中的字段含义 。 在,表设计器,中的
,字段注释,框内输入信息,即可对每一个字段进行注释 。
(1) 在,表设计器,中,选定字段 。
(2) 在,字段注释,框中键入注释内容 。
(3) 选择,确定,。
第 13章 创建数据库
13.3.2 控制字段数据输入
1,设置默认字段值
(1) 在,数据库设计器,中选定表,单击,数据库,
菜单中的,修改,。
(2) 在,表设计器,中选定要赋予默认值的字段 。
(3) 在,默认值,框中键入要显示在所有新记录中的字段值 ( 字符型字段应用引号括起来 ) 。
(4) 选择“确定”。
第 13章 创建数据库
2,设置有效性规则和有效性说明按照以下步骤可以为字段设置有效性规则和有效性说明:
(1) 在,表设计器,中打开表 。 在,表设计器,中选定要建立规则的字段名 。
(2) 在“规则”方框旁边选择对话按钮。
第 13章 创建数据库
(3) 在,表达式生成器,中设置有效性表达式,并选择,确定,。 例如,限制,学号,字段的前 4位只能为 "2001",并且输入的学号必须满 7位:
SUBSTR(学号,1,4) = "2001" AND LEN(TRIM(学号 )) = 7
(4) 在,信息,框中,键入用引号括起的错误信息,
例如,显示,学号输入错误,。
如果输入的信息不能满足有效性规则,在“有效性说明”中设定的信息便会显示出来。
第 13章 创建数据库
13.3.3 控制记录的数据输入
1,设置表的有效性规则按照以下步骤可以设置有效性规则:
(1) 选定表,单击,数据库,菜单中的,修改,,
打开,表设计器,对话框 。
(2) 在“表设计器”中选择“表”选项卡。
第 13章 创建数据库
(3) 在,规则,框中,输入一个有效的 Visual FoxPro
表达式定义规则 。 单击按钮使用,表达式生成器,。 例如,如果在 st表中,2001级学生,入学成绩,必须为
350~500,则可以在,表,选项卡的,有效性规则,框中键入下面的表达式:
入学成绩 >=350 AND 入学成绩 <=500
(4) 在,信息,框中输入提示信息 。 例如,,信息,
文字可以是,"入学成绩应为 350—500"。 当有效性规则未被满足时,将会显示该信息 。
(5) 选择“确定”,在“表设计器”中再次选择
“确定”。
第 13章 创建数据库
2,设置触发器触发器是一个在输入、删除或更新表中的记录时被激活的表达式。通常,触发器一般需要输入一个程序或存储过程,在表被修改时,它们被激活。
第 13章 创建数据库
13.3.4 管理数据库记录
(1) 在,数据库设计器,中建立两表之间的关系,或者双击关系线来编辑关系 。
(2) 在,编辑关系,对话框中选择,参照完整性,按钮 。
(3) 在,参照完整性生成器,中选择更新,删除或插入记录时所遵循的若干规则 。
(4) 选择“确定”,然后选择“是”保存所做的修改,
生成“参照完整性”代码,并退出参照完整性生成器。
第 13章 创建数据库
13.4 多表的同时使用
13.4.1 多工作区的概念用来存放数据库文件的内存空间称为工作区 。 在每个工作区中可以打开一个表,即在一个工作区中不能同时打开多个表 。 如果在同一时刻需要打开多个表,则只需要在不同的工作区中打开不同的表就可以了 。
选择当前工作区的命令格式为:
SELECT 〈 工作区 / 别名 / 0 〉
第 13章 创建数据库
13.4.2 使用不同工作区的表除了可以用 SELECT命令切换工作区使用不同的表外,也允许在一个工作区中使用另外一个工作区中的表 。 实际上,可以利用某些命令中的选项,即短语:
IN 〈 工作区 / 表名 / 表别名 〉
第 13章 创建数据库例如,当前使用的是第 2个工作区中的 cj表,现在要将第 1个工作区中的 st表定位在学号为 2001002的记录上,
可以使用命令:
SEEK "2001002" ORDER 学号 IN st
在一个工作区中还可以直接利用表名或表的别名引用另一个表中的数据,具体方法是在别名后加上点号分隔符,,”或,->”操作符,然后再接字段名 。 例如:
st.学号,st->姓名第 13章 创建数据库
13.4.3 表之间的关联使用 SET RELATION命令建立关联,语法格式为:
SET RELATION TO 索引关键字 INTO 工作区号 |
表别名