等级三级数据库历年真题论述题详解[3]

等级三级数据库历年真题论述题详解[3],第1张

等级三级数据库历年真题论述题详解[3],第2张

(l)为了维护数据库的引用完整性,在删除被引用关系的元组时,系统可以采取什么措施?(15分)
(2)如果存在学生关系S(S#,SNAME,性别,年龄),其主键为S #;关系SC(S#,C#,GRADE),其主键为(S#,C#),S.S#=SC。S#。假设学号为‘01001’的学生离开学校,再也没有回来。为此,如果删除关系S中s # =' 01001 '的元组,如果关系SC中有四个s # =' 01001 '的元组,应该采用哪种方法?为什么?(15分)
回答:
(1)。为了维护数据库的引用完整性,系统可能会采用以下三种方法(每种方法5分):
l)级联:即删除被引用关系的元组时,会同时引用
2)限制删除:即只有当引用关系中任意一个元组的外键值等于(对应)被引用关系中要删除的元组的主键值时,系统才会执行删除操作,否则拒绝执行删除操作。
3)Set空value to delete(null FIEs):即删除被引用关系的元组时,将被引用关系中所有与被引用关系中要删除的元组的主键值相等(对应)的外键值都设置为空值。
(2),对于这个问题的情况,应该选择第一种方法。也就是说,关系SC中的s # =' 01001 '的四个元组也被一起删除。(满分10分)
因为当一个学生离开学校再也没有回来的时候,如果他的个人信息记录从S关系中删除,那么就没有必要保留他的选课信息记录,也应该从SC关系中删除。(5分)


位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 等级三级数据库历年真题论述题详解[3]

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情