实体完整性
规则:
若属性A(一个或一组)是基本关系R的主属性,则A不能取空值(null)
规则说明:
- 实体具有某种唯一性标识
- 关系模型中以主码作为唯一标识
- 主码属性不能取空,若取空,则说明存在某个不可标识的实体,即存在不可区分的实体
create table中用了primary key定义了关系主码,每当用户程序对基本表插入一条记录或对主码进行更新操作时,会自动检查实体完整性:
(1)检查主码值是否唯一,如果不唯一拒绝插入或修改
(2)检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改
参照完整性
设F是基本关系R的一个或一组属性,但不是关系R的主码,Ks是基本关系S的主码。如果F与Ks相对应,则称F为R的外码(foreign key),并称基本关系R为参照关系。
规则:
若属性F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须:
- 或者取空值
- 或者等于S中某个元组的主码键