第4章 建立表之间的关系分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
元组:即表中的行,一行就是一个元组,该关 系有7个 元组。 主码:用来惟一标识一个元组的属性组。例 如,“学号”是学校中惟一确定每一 个学 生且不出现重复的一个字段,在该关 系中就成为主码。
域
整 数 主 码 关 系 名 学生表 学号
0501 0502 0503 … 0507
字 符 串
男 女
…
16 17 18
4.1.1 关系数据模型
关系模型是目前最重要也是研究最为广泛的一种模型。 下面举例说明关系模型的数据结构。
关系模型的数据结构 关系:图4-1是关于学生信息的一张二维表,这就是通常所说的关 系,它由行、列组成,关系 名为“学生表”。 属性:即表中的列,一列就是一个属性,该关系有5个属性。 域 : 即属性的取值范围,例如图中的云彩标注,给每一列注明了 属性值,“学号”属性值为整数,“姓名”属性为字符串, “性 别”属性为“男”或“女”,学生年龄为“16,17,18, 19...”,“民族”属性为“满,汉,回...”。
满 汉 回
. . …
姓名 张桂生 买红霞 杨蓝蓝
…
性别 男 女 女
…
年龄
19 18 17 … 18
民族 汉 满 回
…
属性名
元 组 (行)
雪黛儿
女
汉
属性(列)
图4-1关系模型数据结构示例
2. 关系模型的操作与完整性约束
关系数据模型的操作主要包括查询和编辑数 据。这些操作必须满足关系的实体完整性和 参照完整性规则。
4.4 参照完整性
表与表之间的关系经常被用来彼此引用,参照完整性 规则要求关系中“不引用不存在的实体”。例如:
计算机系教师信息表:
职工号 姓名 性别 职称编号 年龄 籍贯
职称表: 职称编号 职称名称
图4-7 教师与职称之间的关系
在上例中,加黑且带下划线的字段是表中的主键,这两个表中存在 着关系的引用。计算机教师信息表引用了职称表中的“职称编号” 字段,每一名教师的职称必须与职称表中的职称相对应,不允许职 称编号出现空值或引用职称表中不存在的值的现象。“职工号”是 计算机系教师信息表的主键,“职称编号”是职称表的主键,也是 计算机系教师信息表的外键,即参照完整性限定外键与主键必须定 义在一个相同的属性(组)里,该属性(组)可同名也可不同名, 但是在表中的意义是相同的。
外键:我们可以这样理解外键,即把A表的主键或 惟一键放在B表中,作为B表的一部分,并作为这两 个表的关联字段。例如,学生表中“学号”字段是 主键,而在成绩表中,“学号”字段只是该表的一 个字段,而且二个表通过“学号”字段创建了一对 多的关联关系。所以“学号”在学生表中是主键, 在成绩表中就是外键。ACCESS提供了一项称为 “参照完整性”的功能,它确保了从表中的外键已 经存在于主表的主键字段中。
4.2 Acces 2003中的关系
4.2.1 一对一关系
一对一关系: 是比较简单的一种关系,这种关系仿佛一一映射, 表1中的每一条记录只能且只能对应表2中的一条记录, 同理,表2中的每一条记录也只能且只能对应表1中的 一条记录。例如,“联系人”示例数据库中的关系中 存在一个1:1的关系。如图4-6所示。
4.5 创建、编辑与删除关系
百度文库
1. 创建关系
表之间关系的创建基于各表的主键与外键字段,二者字段名一般 取相同。
【例4-1】创建学生表、课程表与成绩表之间的关系
在创建关系之前应关闭掉学生表和成绩表,因为在打开表的状态 下无法创建和修改关系。 步骤: (1)打开Student.mdb数据库,单击工具栏中的关系图标 “ ”,或选择“工具”→“关系”命令,屏幕上面出现“关 系”窗口,如图4-8所示。
“公司”表中的“公司编号”字段 和“发售”表中的“公司编号”字 段创建了1:1的关系。这种关系一 般很少被应用,因为这样的两个表 是可以合并的。但也有特例。例如, 上例中的“发售”表好像一个发票 一样,公司发售的所有信息都被记 录在“发售”表中。
图4-6 “联系人”示例数据库中的关系
4.2.2 一对多的关系
一对多关系: 是使用很广泛的一种关系,大多数关系都 属于一对多关系,例如,图4-5中的“学生” 表和“成绩”表,“课程”表和“成绩”表都 属于一对多的关系。因为每一名学生都有不只 一门课程的多个成绩,反过来,有多门成绩对 应着一个学生。同理,每一门课程都有多个同 学选修,同时就会出现多个成绩与之对应,反 之,多个成绩也对应着一门课程。因此,一对 多的关系是把表1中的一条记录与表2中的多 条记录关联起来。
第四章 建立表之间的关系
本章要点: 关系数据模型 Access中的关系类型 主键的概念 在Access 2003中创建关系
4.1 关系数据模型
数据库是各种企业、国家机关和事业单位等部门 进行企业管理和处理数据的集合,它不仅反映数据 自身的特点,而且反映数据和数据之间的联系。在 数据库的研究中,用数据模型来模拟和抽象的表示、 处理现实世界中的各种信息。根据模型应用的不同 目的,一般分为网状模型、层次模型、关系模型等。 数据模型通常由数据结构、数据操作和完整性约 束三个要素组成。
4.3 主键与外键
“键”是表中的字段或列,用来标识记录。“主键” 是一个字段或一组字段,用于惟一标识表中的记录。 它确保每个记录是惟一的。表的“主键”可以在创建 表本身时指定,也可以先创建完表结构,在用户需要 的时候自行创建。例如学生表中,“学号”字段是主 键,每个学生都有一个不同的学号。 组合键:即两个或多个字段组合起来,以惟一标识 表中的记录(也叫联合主键)。例如,上例的成绩表 中“学生课程ID”可以分解为“学号+课程名称”,实 际上就是用一个组合键来标识每个成绩的。
多对多关系: 相对较复杂,是指表1中的一条记录对应表2中的多条记 录,表2中的一条记录也对应表1中的多条记录。在这种关系 中,通常把它看成两个一对多的关系,它们之间通过一个中 介表连接起来,中介表中至少包含两个字段,作为其他两个 表的外键。例如,图4-5中“学生”表和“课程”表之间就是 多对多的关系。“成绩”表作为一个中介表,其中的“学号” 字段就是“学生”表的外键,“课号”字段是“课程”表的 外键。学生表与成绩表之间通过“学号”字段创建了1:∞的 关系,课程表与成绩表之间通过“课号”字段创建了1:∞的 关系。 中介表的主键是一个复杂主键,它是通过把两个表的主键 连接起来而创建的。