问题
单项选择题
以下各题基于以下说明:设有如下图所示的两个关系S(sno,sname,sex)和SC(sno,cno,grade)。其中关系S的主码是sno,关系SC的主码是(sno,cno)。且关系SC的属性“no”是它的外码。要求grade的取值只能是0~100之间的整数。
关系 S 关系 SC
sno sname sex sno cno grade
S01 李红星 男 S01 C1 59
S10 洪宇宙 女 S01 C2 90
S20 张黎明 男 S03 NULL 120
关系数据库必须满足以下3类完整性规则:
Ⅰ.实体完整性规则
Ⅱ.参照完整性规则
Ⅲ.用户定义的完整性规则
上述两个关系违背了______完整性规则。
A.仅Ⅰ
B.仅Ⅱ和Ⅲ
C.仅Ⅰ和Ⅱ
D.Ⅰ、Ⅱ和Ⅲ
答案
参考答案:C
解析: 实体完整性规则规定关系的主属性都不能取空值,而不仅是主码整体不能取空值。而在关系SC中属性con中有空值。参照完整性规则要求外键的值不允许参照不存在的相应表的主键的值,或者外键值为空,而S30在参照关系S中不存在。所以关系S和关系SC违背了实体完整性规则和参照完整性。