问题
单项选择题
基于如下两个关系S和SC。
S(sno,sname,age),主码为sno,各属性含义依次为学号、姓名、年龄。
sno | sname | age |
001 | Tom | 20 |
002 | Justin | 19 |
003 | Bill | 21 |
004 | Susan | 20 |
…… | …… | …… |
sno | cno | grade |
001 | c1 | 80 |
001 | c2 | 91 |
002 | c2 | 75 |
002 | c3 | 78 |
…… | …… | …… |
下列关于数据完整性的描述中,错误的是
A) 为了保证实体完整性,关系SC中的sno和cno均不能为空值(NULL)
B) 任意删除关系SC中的元组不会破坏参照完整性规则
C) 任意删除关系S中的元组不会破坏参照完整性规则
D) 更新关系S中的元组有可能破坏参照完整性规则
答案
参考答案:C
解析: 参照完整性的意思是,如果一个表包含一个外键列,那么会发现这个列中的每一个值(除了空,如果允许为空)都在关联表或参照表的主键里。如果删除S表中的元组,包含外键列的表SC在这个列中的每一个值并不都在关联表或参照表的主键里,因为有的已经被删除。S表中是以sno为主码,若任意删除某元组,即删除了某位学生的学号信息,势必会产生参照完整性的不完整。