Fork me on GitHub

关系的完整性

实体完整性

  规则:

  若属性A(一个或一组)是基本关系R的主属性,则A不能取空值(null)

  规则说明:

  1.   实体具有某种唯一性标识
  2. 关系模型中以主码作为唯一标识
  3. 主码属性不能取空,若取空,则说明存在某个不可标识的实体,即存在不可区分的实体

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中某个元组的主码键

 

posted @ 2018-04-14 22:39  TaoTao~  阅读(597)  评论(0编辑  收藏  举报