首页 理论教育 在中创建和编辑关系

在中创建和编辑关系

时间:2022-02-28 理论教育 版权反馈
【摘要】:以示例数据库为例,介绍如何在Access 2007中创建关系。但是,可以在外键中输入一个Null值来指定这些记录之间并没有关系。例如,不能为联系人指定一个不存在的联系人类型标识,但通过在“联系人类型标识”字段中输入一个Null值,则可以存在一个无联系人类型字段信息的联系人。

2.6.3 在Access2007中创建和编辑关系

1.创建关系

以示例数据库为例,介绍如何在Access 2007中创建关系。单击“数据库工具”选项卡,在“显示/隐藏”组选择“关系”,出现如图2-26所示的关系设计界面。

img42

图2-26 Access2007关系设计界面

创建两个表之间的关系,首先要将表添加到关系工具窗口的空白处。单击“显示表”可向关系工具中添加表和查询,如图2-27所示。也可在窗口空白处单击右键,选择“显示表”。将本例的三个表“联系人”、“联系人类型”和“政治面貌”添加到关系工具窗口中,然后关闭“显示表”对话框。在“联系人类型”表中选择“联系人类型标识”字段(主键),按住鼠标左键拖动到“联系人”表中相关联的字段“联系人类型标识”(外键),然后释放,弹出如图2-28所示的“编辑关系”对话框。

img43

图2-27 “显示表”对话框

img44

图2-28 “编辑关系”对话框

选择“实施参照完整性”,单击“创建”按钮,即可建立两个表之间的一对多关系。类似的操作可在“政治面貌”表和“民族”表与“联系人”表之间均建立一对多关系。另一种编辑关系的方法是,单击图2-26中的工具组“编辑关系”命令,也可弹出如图2-28所示的“编辑关系”对话框,通过选择表/查询和相关表/查询以及相关联的字段名称,也可在两个表之间创建关系。最终建立的关系如图2-29所示,一对多关系的一方用1表示,多方用∞符号表示。

img45

图2-29 示例数据库的关系布局

2.参照完整性

只有实施参照完整性,在表之间的连线上才会出现1和∞符号。参照完整性可以规范表之间的关系,拒绝那些会影响表关系有效性的数据,防止数据的误删和错误录入。如在“联系人类型”表中如果不存在某个联系人类型,则在“联系人”表中无法添加具有该联系人类型的联系人信息。“联系人”表在添加具有新的联系人类型的联系人时,必须先在“联系人类型”表中添加新的联系人类型所对应的记录信息。建立参照完整性必须满足以下条件:

①用于匹配这两个表的字段必须是其中一个表的主键;

②用于匹配这两个表的字段必须具有相同的数据类型。但是有两种例外情况:“自动编号”字段可以与“字段大小”属性设置为“长整型”的“数字”字段相关;“字段大小”属性设置为“同步复制ID”的“自动编号”字段可以与一个“字段大小”属性设置为“同步复制ID”的“数字”字段相关。

实施参照完整性规则后,则不能在相关表的外键字段中输入不存在于主表的主键中的值。但是,可以在外键中输入一个Null值来指定这些记录之间并没有关系。例如,不能为联系人指定一个不存在的联系人类型标识,但通过在“联系人类型标识”字段中输入一个Null值,则可以存在一个无联系人类型字段信息的联系人。如果在相关表中存在匹配的记录,则不能从主表中删除这个记录。例如,如果在“联系人”表中存在具有某种联系人类型的联系人信息,就不能在“联系人类型”表中删除此联系人类型记录。如果某个记录有相关的记录,则不能在主表中更改主键值。例如,如果在“联系人”表中具有某个联系人类型的联系人时,不能在“联系人类型”表中更改此种联系人类型的“联系人类型标识”。

3.级联更新和删除

对实施参照完整性的关系,可以指定是否允许自动对相关记录进行级联更新和级联删除。如果设置了这些选项,通常为参照完整性所禁止的删除及更新操作就会获准进行。在删除记录或更改主表中的主键的值时,将对相关表做必要的更改以保证参照完整性。当定义一个关系时,如果选择了“级联更新相关字段”复选框,则不管何时更改主表中记录的主键,Access 都会自动在所有相关的记录中将主键更新为新值。例如,如果在“联系人类型”表中更改某个联系人类型标识,则在“联系人”表中每个拥有此联系人类型的联系人记录中,“联系人类型标识”字段都会自动更新,如果删除“联系人类型”表中某个联系人类型,则在“联系人”表中拥有该联系人类型的联系人将自动删除,这样它们之间的关系将不会破坏。

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

我要反馈