1. 关系的完整性
1.1. 实体完整性
若属性A是基本关系R的主属性,则A不能取空值。所谓空值是指“不知道”或“不存在”或“无意义”的值。
实体的完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集
现实世界中的实体是可区分的,即他们具有唯一性标识。
相应的,关系模型中以主码作为唯一性标识
主码中的属性即主属性不能取空值
1.2. 参照完整性
设F是基本关系R的一个或者一组属性,但不是关系R的码,Ks是基本关系S的主码。如果F与Ks相对应,则称F是R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。
若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
或者取空值(F的每个属性值均为空值)
或者等于S中某个元组的主码值
1.3. 用户定义的完整性
针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求
关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不需由应用程序承担这一功能。