数据库-第二章 关系数据库-2.3 关系的完整性
关系的完整性:
完整性规则是对关系的某种约束条件,关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性
关系模型必须满足的完整性约束条件应该由关系系统自动支持,称为关系的两个不变性
用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束
- 实体完整性:
- 关系的主属性不能取空值,空值就是“不知道”或“不存在”或“无意义”的值
- 说明:
- 实体完整性规则是针对基本关系而言的,一个基本表通常对应现实世界的一个实体集
- 现实世界中的实体是可区分的,即它们具有某种唯一性标识
- 关系模型中以主码作为唯一性标识
- 主码中的属性即主属性不能取空值
- 关系的主属性不能取空值,空值就是“不知道”或“不存在”或“无意义”的值
- 参照完整性:
- 设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是R的外码,基本关系R称为参照关系,基本关系S称为被参照关系(目标关系)
- 关系R和S不一定是不同的关系
- 目标关系S的主码Ks 和参照关系的外码F必须定义在同一个(或一组)域上
- 外码并不一定要与相应的主码同名,当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别
- 若属性(或属性组)F是基本关系R的外码,它与基本关系S 的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
- 或者取空值(F的每个属性值均为空值)
- 或者等于S中某个元组的主码值
- 例:
- 设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是R的外码,基本关系R称为参照关系,基本关系S称为被参照关系(目标关系)
- 用户定义的完整性:
- 针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求
- 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不需由应用程序承担这一功能
参考-《数据系统概论(第五版)》-人民大学-王珊
作者:方知有
Motto: 热爱可抵岁月漫长
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
所有评论和私信都会在第一时间处理,如有问题或建议,请多多赐教!
支持博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!