关系完整性
实体完整性
规则:若属性(一个或一组属性)A是基本关系R的主属性,则A不能取空值
对于规则的说明
- 实体完整性规则是针对基本关系而言的,一个基本表通常对应现实世界的一个实体集
- 现实世界中的实体是可区分的,即 具有某种唯一性标识。
- 关系模型中以主码作为唯一标识符
- 主码的属性(即 主属性)不能取空值。
参照完整性
现实世界:
实体之间存在的联系在关系模型中都是用关系来描述,
自然存在的关系与关系之间的引用
参照完整性 指 多个实体之间的联系,一般用外码 实现
意味着,在现实中必须有对应的实体用于抽象
定义:设F是基本关系R的一个或一组属性,但不是关系R的码 ,K_s是基本关系的主码。如果 F和K_s相对应,则称 F是R的外码,并称 基本关系R为参照关系(referencing relation),基本关系S为被参照关系(referenced relation)或目标关系(target relation)。R和S不一定是不同的关系。
学生(stnum,name,age,classnum)
班级号(classnum,great)
加粗的是主键(码) 斜体的是外键(码)
参照完整性规则就是定义外码与主码之间的引用规则
规则: 若属性F是基本关系R的外码,它与基本关系S的主码K_s相对应(基本关系R和S不一定是相同的关系),则R中的每个元组在F上的值或取空值(F的每个属性均为空值),或等于S中某个元组的主码值
用户定义完整性
是针对某一具体关系数据库的约束条件
是某一具体应用涉及的数据必须满足的语义要求
用户定义完整性 也称为 域完整性或语义完整性,
通过这些规则限制数据库值只接受符合完整性约束条件的数据值
不接受违反约束条件的数据,从而保证数据库中数据的有效性和可靠性