第八章数据库的设计与操作
一、创建新数据库——Rdgl.DBC
执行“文件”菜单中的新建命令,从弹出的新建对话框中选择“数据库”选项,然后单击“新建文件”按钮,在弹出的“创建”对话框的“数据库名”文本框中输入RSGL并指定保存位置,单击“保存”按钮,将出现“数据库设计器”窗口。
或者在命令窗口中直接输入“CREATE DATABASE Rsgl.DBC”命令,然后执行系统“显示”菜单中的“数据库设计器”命令打开数据库设计器。
二、新建、添加和移去数据库表
1.新建数据库表
在“数据库设计器”窗口的空白位置处单击鼠标的右键,从弹出的快捷菜单中选择执行“新建表”命令,打开“表设计器”窗口。
切换到“数据库设计器”窗口,观察Rsgl数据库所包含的数据表。
2.添加数据库表
在“数据库设计器”窗口的空白处单击鼠标右键,从弹出的快捷菜单中选择“添加表”命令,然后在弹出的“打开”对话框中依次选择工资表和部门表,并单击“确定”按钮。最后,在“数据库设计器”窗口中观察Rsgl数据库所包含的数据表。
3.移去数据库表
在“数据库设计器”窗口中单击选择需要移去的“部门”表,执行系统菜单“数据库”中“移去”的命令,然后在弹出的提示框中单击“移去”按钮,使部门表成为自由表。在“数据库设计器”窗口中观察Rsgl数据库所包含的数据表后,再将部门表添加到该数据库中。
4.设置表的索引
在“数据库设计器”窗口中的“部门”表上单击鼠标的右键,从弹出的快捷菜单中执行“修改”命令,打开“表设计器”窗口并切换至“索引”选项卡,按“部门代码”建立索引,索引标记名为bmdm并指定其索引类型为“主索引”;
同样,修改“员工表”,根据“编号”字段建立主索引(索引标记名为bh),根据“部门代码”建立普通索引(索引标记名为bmdm);修改rsgz表,根据“编号”字段建立候选索引(索引标记名为bh)。
三、设置输入掩码
在“数据库设计器”窗口中的“部门”表上单击鼠标的右键,从弹出的快捷菜单中执行“修改”命令,打开“表设计器”窗口并切换到“字段”选项卡。在“表设计器”窗口的字段列表中单击选定“电话”字段,然后在“显示”框的“输入掩码”文本框中输入“(021)99999999”。
单击“确定”按钮,返回“数据库设计器”;然后在“部门”表上单击右键,从弹出的快捷菜单中选择“浏览”命令,打开“浏览”窗口,观察“部门”表中“部门电话”字段中的变化,并输入3个部门的电话“50501234”、“50501235”和“50501236”.
2.设置字段的默认值
在数据库设计器窗口中的员工表上单击鼠标的右键,从弹出的快捷菜单中执行“修改”命令,打开“表设计器”窗口。在“表设计器”窗口中选定“性别”字段,在“字段有效性”框的“默认值”文本框中输入其默认的字段值“男”。单击“确定”按钮,即可设定添加新纪录时,系统自动给该字段赋一个默认值“男”。
3.设置字段级有效性规则
首先在“表设计器”窗口的字段列表中单击选定“性别”字段,再在“字段有效性”下的“规则”文本框中输入“性别=“男” OR 性别=“女””,然后在“信息”框中输入“性别只能为男或女”。
4.设置记录级有效性规则
切换至表设计器中的“表”选项卡,在“记录有效性”下的“规则”文本框中输入“工作日期<=Date() AND 基本工资>=0”,然后在“信息”框中输入“输入的记录无效!”。
5.设置触发器
切换到“表”选项卡,在“删除触发器”的设置文本框中输入“MessageBox(“真的要删除吗?”,4+256+16,”提示信息”)=6”的删除规则。
完成对“员工”表的修改后,单击“确定”按钮,关闭“表设计器”窗口并保存所做的设置,然后在“数据库设计器”窗口中的“员工”表上单击鼠标的右键,从弹出的快捷菜单中执行“浏览”命令,打开“浏览”窗口。
按如下操作步骤,验证“员工”表所做的设置:
(1)执行“表”/“追加新纪录”命令,验证“员工”表尾部所追加的新纪录其性别的默认值是否为“男”。
(2)在所追加的记录中,将性别字段值修改为“na”,系统会有何反应?
注意这里的插入记录不能使用INSERT命令,否则系统会报出提示:
使用APPEND命令即可进行添加记录。
(3)在追加的记录的“基本工资”字段中输入“-100”,其他字段均正确输入数据后,离开该记录系统会有何反应?
(4)在命令窗口中执行“DELETE”,系统会有何反应?
四、设置表间的一对一关系
1.建立表间的一对一关系
在Rsgl数据库的“数据库设计器”窗口中,单击“员工”表中的主索引标记bh,然后按下鼠标左键并拖至“工资表”中的索引标记bh释放鼠标,这样在数据库设计器中的两个表间将出现一条连线,表示两个表之间的一对一关系。
2.建立表间的一对多关系
在Rsgl数据库的“数据库设计器”窗口中,单击部门表中的主索引标记bmdm,然后按下鼠标左键并拖至“员工”表中的索引标记bmdm处释放鼠标,这样数据库中的两个表之间将出现一条连线,表示两个表之间的一对多关系。

五、设置参照完整性
在Rsgl数据库的“数据库设计器”中,用鼠标右键单击“部门”表和“员工”表之间的永久关系连线,然后从弹出的快捷菜单中,执行其中的“编辑参照完整性”命令,将弹出“参照完整性生成器”窗口。
(1)在“更新规则”选项卡中选择“级联”,则当父表(部门)的关键字(部门代码)被修改时,系统会自动用新的关键字更新子表(员工)中所有的记录。
(2)在“删除规则”选项卡中选择“级联”,用于设置当父表(部门)的记录被删除时,系统会自动删除子表(员工)中所有的记录。
(3)在“插入规则”选项卡中选择“限制”,用于设置在子表(员工)中插入记录或更新记录时若父表(部门)中不存在相匹配的记录,则禁止插入。

六、打开与关闭数据表
1.关闭数据库
在命令窗口输入“CLOSE DATABASE”并按回车键,则关闭打开的数据库Rsgl.DBC.
2.打开数据库
执行系统“文件”菜单中的“打开”命令,在弹出的“打开”对话框中的“文件类型”下拉列表中选择“数据库(*.DBC)”,然后在数据库文件列表中选择Rsgl.DBC或在“文件名”框中输入数据库文件名,单击“确定”按钮即可打开数据库。
或者在命令窗口中输入命令“OPEN DATABASE Rsgl.DBC”,若要出现“数据库设计器”窗口,则执行系统“显示”菜单中的“数据库设计器”命令。