问题
单项选择题
第(38)~(40)题,基于“学生-选课-课程”数据库中的3个关系:
S(S#,SNAME,SEX,DEPARTMENT),主码是S#
C(C#,CNAME,TEACHER),主码是C#
SC(S#,C#,GRADE),主码是(S#,C#)
下列关于保持数据库完整性的叙述中,不正确的是( )。
A.向关系SC插入元组时,S#和C#都不能是空值(NULL)
B.可以任意删除关系SC中的元组
C.向任何一个关系插入元组时,必须保证该关系主码值的唯一性
D.可以任意删除关系C中的元组
答案
参考答案:D
解析: 根据参照完整性规则,若属性F是关系R的外码,它与关系S的主码KS相对应(关系 R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。C#是关系C的主码,也是关系SC中的外码,根据参照完整性规则,外键的值不允许参照不存在的相应表的主键的值,或者外键为空值,所以不可以任意删除关系C中的元组。