(2.1)关系模型之关系结构和约束
1.关系表
- 关系数据库使用一个或多个表来存储数据
数学上,把一系列域上的笛卡尔积的子集称之为关系 - eg:
(1)examinee表
每个行列单元都是不能再分的原子值;
不允许重复出现完全相同的行;
每个行列单元都是不能再分的原子值;
行列次序无要求,但是不能出现重复的行
examinee表的模式:
examinee(eeid, eename, eesex, eeage, eedepa)
表示examinee表的模式是包括上述的五个属性
(2)考生表examinee
(3)考官表examiner
(4)试卷表exampaper
(5)院系表department
(6)考官组表erexam
(7)考生答卷表eeexam
2.约束
- 软件系统无法保证数据的真实正确性,可以保证数据符合可明确定义的约束;
约束方式:
(1)对属性取值范围的限定
(2)对属性值之间相互关系的限定
3.超键
- 在给定关系模式中,能唯一标识出各个元组的属性集合,被称之为该关系模式的超键
- eg:
4.候选键
- 在给定关系模式中,能够唯一标识出各个元组的属性集合,并且不含多余属性,称这个属性集合为该关系模式的候选键
- 超键和候选键的关系如下:
5.主键
- 一个关系中可能有多个候选键,通常指定其中一个,并且只能是一个,用来标识元组,该候选键称之为主键
- 主键与候选键的关系是:
主键具有唯一性,所以主键是候选键,但是候选键不一定是主键
6.外键
- 如果关系表的一个属性子集A,必须匹配另一个关系表中出现的数值,则称A是关系表的外键。
其中,称之为引用关系,称为被引用关系。外键的值,或与被引用关系中出现的数值对应,或为空值。 - eg:examinee表当中的考生所在院系eedepa属性就是一个外键, 取值必须是院系表department中的院系名dname列已有的某个值或者空值