问题
单项选择题
基于“学生—选课—课程”数据库中的三个关系:
S(S#,SNAME,SEX,AGE,DEPARTMENT),主码是S#
C(C#,CNAME,TEACHER),主码是C#
SC(S#,C#,GRADE),主码是(S#,C#)
下列关于保持数据库完整性的叙述中,哪一条是不正确的?()
A.向关系SC插入元组时,S#和C#都不能是空值(NULL)
B.可以任意删除关系SC中的元组
C.向任何一个关系插入元组时,必须保证关系主码值的唯一性
D.可以任意删除关系C中的元组
答案
参考答案:D
解析:
为维护数据库中数据的完整性,必须遵循三类完整性规则:执行插入操作时,首先检查实体完整性规则,再检查参照完整性规则,最后检查用户定义完整性规则;执行删除操作时,一般只需检查参照完整性规则;执行更新操作时,则看成是先执行删除操作,再执行插入操作。对于本题而言,在删除关系C中元组时,按照参照完整性规则,需要检查被删除行在主码属性上的值是否被关系SC的外码引用,若被引用,则有可能被拒绝删除,故选项D的叙述是不正确的。