首页 百科知识 字段的其他属性

字段的其他属性

时间:2022-10-03 百科知识 版权反馈
【摘要】:即在表间建立关系, 可以确保Access将某一表中改动反映到相关联的表中。 完整性规则是一种系统规则, Access2013用它来确保关系表中的记录是否有效, 并且确保用户不会在无意间删除或改变重要的相关数据。在这三类完整性规则中, 实体完整性规则和参照完整性规则是关系模型必须满足的完整性约束条件, 称为关系完整性规则。

一、 查阅向导

【查阅】 选项卡中只有一个 “显示控件” 属性, 它只对文本、 数字和是/否类型的字段有效。 此属性为文本框 (默认值)、 列表框、 组合框及复选框输入选择提供了方便。

例如: “性别” 字段中选项, 通过在 【查阅】 选项卡中设置为组合框; “行来源类型”选择 “值列表”; 在 “行来源” 框中键入选择值, 保存即可。 例如在student表中添加 “性别” 数据时, 通过下拉列表即可选定输入值, 如图3.22所示。

图3.22 查阅选项设置

二、 主键字段的设置

主键是数据库表中用来标志唯一实体的元素, 即主键用以保证表中每个记录互不相同,一个表只能有一个主键, 主键可以是一个字段, 也可以由若干个字段组合而成。 例如: 学生基本情况表中 “学号” 就可以作为主键, 而姓名、 年龄和性别都不能唯一确定成员, 所以不能作为主键。 作为主键的字段要具备:

(1) 字段中的每一个值都必须是唯一的 (即不能重复)。

(2) 主键不能为空。

建立主键的方法是在表设计器中进行, 即在导航窗格中选择表右击, 选择 “设计视图”, 选中相应字段右击, 然后选择 “主键”, 当出现钥匙图标时, 表明主键建立成功, 也可以在选中相应字段后, 单击工具栏的钥匙图标。 例如: 在案例一的student表中, 选择“学号” 右击或在工具栏中选择 “主键”, 如图3.23所示。 若要删除主键, 则选中该主键字段右键单击, 再选择 “主键” 即可删除。

图3.23 设置主键

在表中可能有多个字段都具有不可重复的特性, 通常应尽可能挑选占用空间较小的字段作为主键, 以提高查找、 排序时的效率。 若要选择一个字段, 单击所需字段即可。若要选择多个字段, 按住 “Ctrl” 键, 然后单击其他字段。

三、 建立关系

1. 表间关系的说明

数据库中的表存在表间关系,分为三种:一对一、一对多、多对多。建立表间关系是为了连接两个或多个表时,一次能查找到多个相关数据。 即在表间建立关系, 可以确保Access将某一表中改动反映到相关联的表中。建立表间关系不仅减少了数据冗余, 同时也保证了数据的完整性和正确性。表间关系由公共属性实现,即“一” 表的主键在“多” 表中作为外键。

例如: 学生信息表的 “学号” 是主键, 在成绩表中一个学生有多门成绩, 因此 “学号”是成绩表的外键。 同理, 课程表的 “课程号” 是课程表的主键, 它又是成绩表的外键。 若外键所在表中该字段的值出现多次, 则建立 “一对多” 关系, 若外键所在表中该字段的值出现一次, 则建立 “一对一” 关系。 而 “多对多” 关系需要借助中间表, 通过两个 “一对多” 关系实现多对多关系。

2. 建立关系的方法

根据第2章实体之间的关系图2.16, 结合案例一建立的学生信息表 (student)、 成绩表(score)、 课程表 (course) 之间关系的方法步骤如下:

(1)单击【数据库工具】菜单,选择关系按钮,打开“显示表”对话框,选择相应表, 单击 “添加” 按钮, 如图3.24所示。

(2) 将三个表添加到关系窗口空白处, 此时要求student表的 “学号” 和course表的“课程号” 建立主键 (有钥匙图标), 且该两个字段数据的类型、 大小与score表的内容一致。 若未建立主键, 可选中相应表右击, 选择 “表设计” 打开表设计器建立主键, 如图3.25所示。

图3.24 添加关系表

图3.25 建立关系

(3) 拖动student表主键到score表的外键(学号) 处,打开建立参照完整性规则表,选中“实施参照完整性” “级联更新相关字段” “级联删除相关记录” 三个复选框,单击“创建” 按钮。同理再拖动course表主键到score表的外键(课程号) 建立完整性规则,如图3.26所示。

图3.26 建立参照完整性

(4) 将上述两个完整性规则建立好, 即可看到案例二的图3.3所示关系视图。

【说明】 完整性规则是一种系统规则, Access2013用它来确保关系表中的记录是否有效, 并且确保用户不会在无意间删除或改变重要的相关数据。 要求建立关系的主键与外键数据必须一致, 若student表中某个学号无法在score表找到或不对应, 则无法建立student表和score表的参照完整性规则。 同理, 若course表中某个课程号无法在score表找到或不对应, 也不能建立这两个表的参照完整性规则。

按照第2章2.3.2节中例8的图2.17关系图, 将图3.12中的teacher表、 professional表和class三个表加入到关系中, 可建立6个表的关系视图。 但此时需要完成的步骤如下:

(1) 在关系视图空白处右击, 选择 “显示表”, 将teacher表、 professional表和class表添加到关系视图中, 如图3.27所示。

图3.27 添加teacher、 professional和class表

(2) 分别右击teacher、 class和professional表, 选择 “表设计”, 在打开的表设计器中建立班号、 专业代号和教师编号为主键。

(3) 在student表中添加 “班号” 字段和相应数据 (与class表数据对应), 在course表中添加 “开课专业” 和 “教师编号” 两个字段, 分别填写与professional表 “专业代号” 和teacher表 “教师编号” 相对应的数据。

(4) 拖动class表 “班号” 到student表 “班号” 建立关系; 拖动professional表 “专业代号” 到course表 “开课专业” 建立关系; 拖动teacher表 “教师编号” 到course表 “教师编号” 建立关系, 如图3.28所示。

图3.28 学生数据库关系

【说明】 建立完整性规则的方法与案例二建立关系的方法完全一致, 要求主键的数据必须与外键数据值相互匹配, 匹配的原则是字段的类型、 大小一致, 字段的值相对应。

四、 建立完整性规则

关系型数据库提供了三类完整性规则: 实体完整性规则、 参照完整性规则、 用户自定义完整性规则。 在这三类完整性规则中, 实体完整性规则和参照完整性规则是关系模型必须满足的完整性约束条件, 称为关系完整性规则。

1. 实体完整性规则

实体完整性规则是指关系的主属性 (主键、 主码) 不能为空值且具有唯一性。 相应的关系模型中以主键作为唯一性标识, 主键一定是存在的实体。

2. 参照完整性规则

如果关系R1的外键和关系R2的主键相符, 那么外键的每个值必须在关系R2中主键值中可以找到, 不能为空值。 即: 两个有关联的数据表中, 一个数据表的外键一定在另一个数据表中的主键中有对应数据。

3. 用户自定义完整性规则

用户根据实际数据库的约束条件, 由环境所决定、 反映某一具体应用所涉及的数据条件。 例如: 某单位把中年人的年龄定义为35到45岁, 退休年龄是60岁等。 应根据需求的实际情况完成用户自定义的完整性规则。 Access2013中, 完整性规则的意义如表3.5所示。

表3.5 参照完整性规则表

因此, 当建立了表和主键后, 利用鼠标将 “一” 表中主键字段拖动到 “多” 表中外键字段即可, 系统会自动出现 “编辑关系” 对话框, 如图3.26所示。

此时, 将 “实施参照完整性” “级联更新相关字段” 和 “级联删除相关记录” 三个复选框全部选中, 单击 “创建” 按钮, 则看到案例一中图3.3的关系图。

创建关系时, 不要求公共字段具有相同的名称, 它必须具有相同的数据类型, 也必须具有相同字段大小属性设置。 即: 外键数据类型应该与参照表主键类型一致。 若外键数据值在参照表主键中无法找到, 或数据类型不匹配, 则违背了实施参照完整性规则,无法建立关系。

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

我要反馈