在关系数据模型中,一般将数据完整性分为3类,即实体完整性、参照完整性、用户自定义完整性。其中实体完整性和参照完整性是关系模型中必须满足的完整性约束条件,用户自定义完整性是为了满足用户对数据的约束条件或语义需求。
实体完整性:保证关系中的每个元组都是唯一的和可识别的。由于元组中的主属性能够唯一识别一个元组,即实体完整性的体现是主属性不能为空值。
参照完整性:如果属性(或属性组)F是关系R的外部关键字,它与关系S的主关键字K相对应,则相对于关系R中的元组在属性(或属性组)F上的取值必须是
(1)或者取空值
(2)或者等于S中某元组的主关键字的值。
用户自定义完整性:要满足用户自己定义的完整性约束,如取值范围、是否为空值等。