-
关系模型的基本概念
(1) 一个关系对应一张二维表
(2) 域:取值范围的集合
(3) 元组:每一行的记录
(2) 规范化的关系
1° 每一列的值是同类型的数据,来自同一个域
2° 不同的列可以有相同的域,每一列称为属性,用属性名标识
3° 列的次序无关紧要
4° 元组的顺序无关紧要
5° 关系中不能出现重复元组
6° 元组的每个分量都是原子的,不可拆分
实际DBMS不一定完全符合规范化关系的几项规定
(3) 关系包括:__关系模式 + 关系的值__
关系模式:描述了关系结构,包括关系名、属性名、属性类型、域…
关系的值:元组的集合
-
键
(1) 定义:
1° 能够唯一标识元组的一个或几个属性
2° 属性数量应最小
(2) 候选键
有的关系中,能够标识元组的属性(组)不止一个。此时它们都称为候选键;
如果有多个候选键,选其中一个作为主键,其余的键称为候补键。
(3) 一个关系至少有一个键
(4) 联合腱
键由多个属性组成,称为联合键
(5) 全键
关系中的所有属性放在一起才能标识一个元组,这种极端情况称为全键
(6) 外键
某个属性t, 在A关系中它可以是一个一般属性,也可以是键的一部分;但是在B关系中,它是键的一部分,此时这个属性t称为A关系的外键
-
完整性约束
包括三种:实体完整性约束、参照完整性约束、其他约束
(1) 实体完整性约束
主键中包括的各个属性,不能取空值
(2) 参照完整性约束
如果关系A中,有一个属性t是外键,它联系着关系B。此时t的取值 1° 要么为空值,2° 要么取值范围必须在B中选择。
示例:
职工关系emp,部门关系dept,部门关系的一个属性 部门号dept_id是emp关系的外键,则在向职工关系表插入数据时,职工关系表中的dept_id取值要么为空,要么是dept关系表中存在的值
如果外键属性还是组成主键的部分属性,根据__实体完整性约束__,它不能为空,因此只能是2°的取值
(3) 其他约束
用户根据实际情况自定义的约束