首页 理论教育 表间关系及实施参照完整性

表间关系及实施参照完整性

时间:2023-11-05 理论教育 版权反馈
【摘要】:如果两个表相关联的字段都是主键,则两表间建立一对一关系。2)实施参照完整性参照完整性是指数据库中规范表之间关系的一些规则,其作用是保证数据库中表关系的完整性,禁止孤立记录并保持参照同步,以防出现无效的数据修改。如果在“编辑关系”对话框中,设置了“实施参照完整性”,Access将拒绝违反表关系参照完整性的任何操作。

表间关系及实施参照完整性

(1)关于关系

关系就是通过两个表的关联字段所建立的联系。关系能够使数据库中的多个表联接在一起,成为一个有机的整体,然后在此基础上创建查询、窗体及报表,以同时显示来自多个表中的信息。

关系是通过匹配键字段中的数据来完成的。键有两种类型:主键和外键。主键是表中能够保证每一条记录有唯一的一个或一组字段。外键是在一个表中的一个或一组字段,这些字段是其他表的主键字段。

Access中有3种类型的关系:一对一关系、一对多关系和多对多关系。如果两个表相关联的字段都是主键,则两表间建立一对一关系。如果两个表相关联的字段是一个表的主键,是另一个表的外键,则两表间建立一对多关系。而要表示多对多关系,必须创建第三表作为联接表(通常要将这两个表的主键都插入到第三个表中),它将多对多关系划分为两个一对多关系。

(2)表间关系的建立

建立一对一关系和一对多关系的方法类似,操作步骤如下。

1)单击“数据库工具”选项卡下“关系”选项组中的“关系”按钮,如果数据库中尚未定义任何关系,系统会自动打开“显示表”对话框(如果“显示表”对话框未显示,可单击“设计”选项卡下“关系”选项组中的“显示表”按钮。

2)在“显示表”对话框的“表”选项卡中,将要建立关系的表添加到“关系”窗口,然后关闭“显示表”对话框。

3)从一个表中将相关的字段拖到另一个表中的相关字段处。若要拖动多个字段,可按住Ctrl键,再单击每一个字段后拖动。

4)弹出“编辑关系”对话框,单击“创建”按钮,返回“关系”窗口,可以看到两个表之间出现了一条关系连线。

建立多对多关系需要通过建立两个一对多关系来实现。

(3)表关系的操作(www.xing528.com)

1)表关系的查看、删除和编辑

在“关系”窗口打开的情况下,可通过单击“所有关系”或“直接关系”按钮来查看已创建的所有关系或部分关系。

删除关系可在“关系”窗口通过删除关系连线来完成。方法是:单击选中所要删除关系的关系连线,然后按Delete键。

编辑关系可在“编辑关系”对话框中完成。方法是:选中要编辑关系的关系连线,单击“设计”选项卡下“工具”选项组中的“编辑关系”按钮,或者直接双击关系连线,弹出“编辑关系”对话框,在此完成相应的编辑修改操作。

需要注意的是:删除表关系时,如果启用了参照完整性,则会同时删除相应的参照完整性设置,而且Access将不再自动禁止在原表关系“多”端建立孤立记录。

2)实施参照完整性

参照完整性是指数据库中规范表之间关系的一些规则,其作用是保证数据库中表关系的完整性,禁止孤立记录并保持参照同步,以防出现无效的数据修改。

如果在“编辑关系”对话框中,设置了“实施参照完整性”,Access将拒绝违反表关系参照完整性的任何操作。这意味着Access既拒绝更新参照目标,也拒绝删除参照目标。具体来讲,就是在编辑数据记录时会受到第三方面的限制:不允许在相关表的外键字段中输入不存在于主表的主键中的值,但可以在外键中不输入任何值;如果在相关表中存在和主表匹配的记录,则不允许从主表中删除这个记录;如果在相关表中存在和主表匹配的记录,则不允许在主表中更改这个记录主键的值。

3)设置级联更新、级联删除

设置级联更新之后,当用户更改关系中主表的主键值时,Access将自动更新相关表中参照主键的所有字段,以防出现数据不一致现象。设置级联更新的方法是:双击关系连线,弹出“编辑关系”对话框中,选择“实施参照完整性”以及“级联更新相关字段”选项。

设置级联删除之后,当用户删除主表中的一行时,Access就会自动删除相关表中参照该主键的所有记录。设置级联删除的方法是:在弹出的“编辑关系”对话框中,选择“实施参照完整性”以及“级联删除相关字段”选项。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈