l、为了维护数据库的参照完整性,当删除被参照关系的元组时,系统可能采取哪些做法?2、若有学生关系S

17 查阅

l、为了维护数据库的参照完整性,当删除被参照关系的元组时,系统可能采取哪些做法?

2、若有学生关系S(S,SNAME,SEX,AGE),其主键为S;选课关系SC(S,C,GRADE),其主键为(S,C),且S.S=SC.S。假定学生号为‘01001’的学生离开学校不再回来了,为此若删除关系S中S=‘01001’的元组时,如果关系SC中有4个元组的S=‘01001’,应该选用哪一种做法?为什么?

参考答案:

1、 为了维护数据库的参照完整性当删除被参照关系的元组时系统可能采取如下三种做法:(l) 级联删除(cascades):即当删除被参照关系的元组时同时将参照关系中所有外键值与被参照关系中要被删除元组的主键值相等(相对应)的元组一起删除。(2) 拒绝删除(restricteD):即只当参照关系中没有任何元组的外键值与被参照关系中要被删除的元组的主键值相等(相对应)时系统才执行该删除操作否则拒绝执行该删除操作。(3) 置空值删除(nullfies):即当删除被参照关系的元组时同时将参照关系中所有与被参照关系中

计算机四级