
关系模型的参照完整性规则是什么?
关系模型中的参照完整性(Referential Integrity) 是数据库完整性约束的重要组成部分,其核心规则如下:
参照完整性要求关系中外键(Foreign Key)的取值必须符合以下两种情况之一:
要么为空值(如果允许空值);
要么等于被参照关系(主关系)中某个元组的主键值。
参照关系(Referencing Relation):包含外键的关系。
被参照关系(Referenced Relation):外键所引用的主键所在的关系。
外键(Foreign Key):一个属性(或属性组),其值必须匹配另一个关系的主键值或为空。
插入规则
向参照关系插入元组时,外键的值必须是被参照关系中已存在的主键值(或为空,如果外键允许空值)。
删除规则
删除被参照关系中的元组时,需处理参照关系中对应的外键元组,通常有以下策略:
级联删除(CASCADE):同时删除参照关系中所有匹配的元组。
限制删除(RESTRICT/NO ACTION):仅当没有匹配的外键时才允许删除。
置空/置默认值(SET NULL/SET DEFAULT):将参照关系中匹配的外键值设为空或默认值。
更新规则
更新被参照关系的主键时,类似删除规则,可采取:
级联更新(CASCADE):同步更新参照关系中的外键值。
限制更新(RESTRICT):禁止更新被引用的主键。
置空/置默认值(SET NULL/SET DEFAULT)。
假设有两个表:
学生表(Students)(主键:学号)