3.关系完整性
关系模型中有三类完整性约束:实体完整性、参照完整性、用户定义的完整性。
-
I、实体完整性
关系数据库中每个元组都应该是可区分的,是唯一的。这样的约束条件用实体完整性来保证。
规则 2.1 实体(主码)完整性规则 若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值(null)
即:主码不为空。
-
II、参照完整性
现实世界中的实体之间往往存在某种联系,在关系模型中实体与实体间的联系都是用关系来描述的,这样就自然存在着关系与关系间的引用。
关于两者之间究竟谁是参照关系,谁是被参照关系,按照以下的规律进行区别:
参照关系一定可以将被参照关系的主码全部包含。
且箭头指向的关系即为被参照关系,同一个关系可以既是参照关系也是被参照关系。
规则 2.1 参照(外码)完整性规则 简化说法 即:外码的值可以为空但是必有意义
但是 外码属性在作为主码的关系中不能为空。
III、用户定义的完整性
即用户自己在对于现实世界的实际问题处理上的细化的要求。
比如插入的电话号码一定是11位才可插入。