种类(设有 表与B表 设有A表与
? 一对一关系 一对一关系(1:1):B
表中有且仅有一条记录 : 与A表中某一条记录对应。如:人员信息表 与工资表。 ? 一对多关系 一对多关系(1:N): A表中的任意一条记录 : 在B表中可能找到0至多条记录与之对应, A表—父表,B表—子表。如:部门表与人 员表、班级表与学生表…… ? 多对多关系 多对多关系(M:N): A表中的任意一条记录 : 在B表中可能找到0至多条记录与之对应, 反之亦然。如:学生表与
课程表。这种关 系通常要进行分解成几个1:N的关系。 27
2、表间关系的确定 、 确定每个表的主索引或候选索引 根据表中数据的含义判断表之间的关系类型
系名表
系代码 系代码
教师表
教师代码 课程代码
课程表
课程代码
学生表
专业代码
教师任课 表
成绩表
专业表
28
4.6.2 表之间的永久关系
表之间关系: 表之间关系: 永久关系: 永久关系: 保存在数据库中,静态不变 临时关系: 临时关系: 在运行时间建立,动态
29
临时关系与永久关系的联系与区别
联系: 联系:
(1)都必须明确建立关系的两张表之间确 ) 实在客观上存在着一种关系( 实在客观上存在着一种关系(一对多或一对 一关系)。 一关系)。 (2)永久关系在许多场合可以作为默认的临 ) 时关系。 时关系。
30
区别: 区别:
(1)临时关系是用来在打开的两张表之间控制相关表之间 记录的访问;而永久关系主要是用来存储相关表之间的参照 完整性,附带地可以作为默认的临时关系或
查询中默认的联 接条件。 (2)临时关系在表打开之后使用set relation命令建立,随表 的关闭而解除;永久关系永久地保存在数据库中而不必在每 次使用表时重新创建。 (3)临时关系可以在自由表之间、库表之间或自由表与库 表之间建立,而永久关系只能在库表之间建立。 (4)临时关系中一张表不能有两张主表(除非这两张主表是 通过子表的同一个主控索引建立的临时关系),永久关系则不 然。
31
主索引与永久关系 1、主索引 、
主索引作用: (1) 主索引作用: 主索引不准许出现重复值, 主索引不准许出现重复值,若发现禁止 存盘 主索引可用于建立永久关系, 主索引可用于建立永久关系,从而建立 参照完整性
32
主索引与永久关系
(2) 主索引建立与删除
删除主索引 添加主索引
<表名 表名> ALTER TABLE <表名> ADD|DROP; <索引关键字 索引关键字> PRIMARY KEY <索引关键字> ; <索引标识名 索引标识名>] [TAG <索引标识名>]
缺省表示主索引标识与字段名同
例如: 例如: ALTER TABLE xs ADD PRIMARY KEY TAG xh
33
2、永久关系的建立 基于索引 永久关系的建立:基于索引 永久关系的建立 – 确定要建立关系的两张表 –
检查或建立有关表的索引:主索引、 普通索引 – 如果两张表都是通过主索引:1:1 如果一张表是主索引,另一张表为普 通索引:则为:1:N – 主关键字与外部关键字 – 使用数据库设计器进行 – 关系线的含义及其修改
34
<