数据库学习笔记「数据库完整性」

关系的完整性

关系模型的完整性规则是对关系的某种约束条件

关系模型中有三类完整性约束:

  1. 实体完整性entity integrity
  2. 参照完整性referential integrity
  3. 用户定义的完整性user-defined integrity

实体完整性和参照完整性是关系模型必须满足的完整性约束条件

实现完整性

关系数据库中的每个元祖应该是可区分的,是唯一的

实体完整性规则:若数学A是基本关系R的主属性Primary Key,则A不能取空值Null Value

参照完整性

显示世界中的实体之间往往存在某种联系,在关系模型中实体及实体

\(F\)是基本关系\(R\)的一个或一组属性,但不是关系\(R\)的码,\(K_3\)是基本关系\(S\)的主码。如果\(F\)\(K_5\)相对应,则对于\(R\)中每个元组在\(F\)上的值必须满足:

  • 或者取空值(\(F\)的每个属性值均为空值)
  • 或者等于\(S\)中某个元组的主码值

例如在学生选课系统中,"学生学号"和"课程号"是选修关系的主属性,只能取相应被参照关系中已经存在的主码值

  • 学生选课必须选存在的课(选修关系表中不能出现课程表中没有的课程)
  • 只有本校的学生才能选课(选修关系表中不能出现学生表中不存在的学生)

用户自定义完整性

不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求

例如学生选课系统,要求学生不能没有姓名;学号必须唯一等

posted @ 2021-04-01 14:08  VanGy  阅读(210)  评论(0编辑  收藏  举报