模型概念
域
域是一组具有相同数据类型的值的集合,实际就是表中某一个属性的取值范围。
笛卡尔积
所有域的所有取值的组合,不能重复
元组
笛卡尔积中每一个元素叫做一个n元组或元组
分量
笛卡尔积元素中的某一个值叫做一个分量
关系
关系是笛卡尔积的有限子集
关系模式
关系模式是型,关系是值,二维表的表头那一行称为关系模式,又称表的框架或记录类型
笛卡尔积可表示为一个二维表,表中每行对应一个元组,表中每列对应一个域。
关系的完整性
关系模型的完整性规则是对关系的某种约束条件。关系模型中的三类完整性约束:
- 实体完整性
- 参照完整性
- 用户定义的完整性
实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。
实体完整性规则
若属性A是基本关系R的主属性,则属性A不能为空,因为关系模型中以主键作为唯一性标识
参照完整性
在关系模型中实体及实体间的联系也是用关系来描述的,因此可能存在着关系之间的引用,往往以外键的形式来描述。
外键
设F是基本关系R的一个或一组属性,但不是关系R的主键,如果F与基本关系S的主键相对应,则称F是基本关系R的外键。
- 基本关系R称为参照关系
- 基本关系S称为被参照关系或目标关系
- 关系R和S不一定是不同的关系
- 被参照关系的主键和参照关系的外键必须定义在同一个域上
- 外键并不一定要与相应的主键同名,但当外键与相应的主键属于不同关系时,往往取同名,便于识别
用户定义的完整性
针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。
如:课程(课程号,课程名,学分)
- 非主属性“课程名”属性必须唯一且非空
- “学分”属性只能取值{1,2,3,4}