1.实体完整性
实体完整性规则:若属性A是关系R的主属性,则属性A的值不能为空。
(1)理解空的含义
空(null)表示“不知道”或“不存在”,不是空格符
(2)实体在现实世界中是可相互区分的,即具有某种唯一性标识
2.参照完整性(即,不允许引用不存在的元组)
参照完整性规则:若属性(或属性组)F是关系R的外码(外键),它与关系S的主码对应(关系R和S不一定是不同关系),则对于R中的每个元组的值要么等于S中的某个主码值,要么取空值。
设F是关系R的一个或一组属性,但不是关系R的码。如果F与关系S的主码Ks相对应,则称F是关系R的外码(Foreign Key),并称R为参照关系,关系S为被参照关系。
3.用户定义的完整性
当执行关系操作的插入、删除和更新时,数据库就要检查是否满足上述3类完整性规则,如果不满足则操作失败。