●完整性规则的形式化表示(D,O,A,C,P) -D(data):数据对象 -O(opration):触发完整性检查的数据库操作 -A(assertion):数据对象必须满足的语义约束/断言, 规则的主体 C(condition):选择数据对象的条件,可包含在D内 -P(procedure):违反完整性规则所触发的操作过程 例:教授工资不低于1000元 D:约束作用对象是属性“工资” O:当用户插入或修改“工资”属性时触发完整性检 查 A:“工资”不能小于1000 C:仅作用于“职称”属性值为教授的记录 P:拒绝执行用户请求
⚫ 完整性规则的形式化表示(D,O,A,C,P) – D(data):数据对象 – O(opration):触发完整性检查的数据库操作 – A(assertion):数据对象必须满足的语义约束/断言, 规则的主体 – C(condition):选择数据对象的条件,可包含在D内 – P(procedure):违反完整性规则所触发的操作过程 例:教授工资不低于1000元 D:约束作用对象是属性“工资” O:当用户插入或修改“工资”属性时触发完整性检 查 A:“工资”不能小于1000 C:仅作用于“职称”属性值为教授的记录 P:拒绝执行用户请求
。参照完整性应考虑的问题 -外键是否可以接受空值,如S.SD可以,SC.S#不可以 -删除被参照关系的元组时的考虑 ●级联删除(Cascade):删除参照关系中相应外键值的元组 ●受限删除(Restricted):只有参照关系中没有相应外键值的元 组时才允许删除 ●置空值删除(nullified):将参照关系中相应外键置空 -修改被参照关系的元组时的考虑 ●级联修改(Cascade):修改参照关系中相应元组的外键值 ●受限修改(Restricted):只有参照关系中没有相应外键值的元组 时才允许修改 ●置空值修改(nullified):将参照关系中相应外键置空
⚫ 参照完整性应考虑的问题 –外键是否可以接受空值,如S.SD可以,SC.S#不可以 –删除被参照关系的元组时的考虑 ⚫级联删除(Cascade):删除参照关系中相应外键值的元组 ⚫受限删除(Restricted):只有参照关系中没有相应外键值的元 组时才允许删除 ⚫置空值删除(nullified):将参照关系中相应外键置空 –修改被参照关系的元组时的考虑 ⚫级联修改(Cascade):修改参照关系中相应元组的外键值 ⚫受限修改(Restricted):只有参照关系中没有相应外键值的元组 时才允许修改 ⚫置空值修改(nullified):将参照关系中相应外键置空