单选题 以下各题基于以下说明:设有如下图所示的两个关系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类完整性规则:
Ⅰ.实体完整性规则
Ⅱ.参照完整性规则
Ⅲ.用户定义的完整性规则
上述两个关系违背了______完整性规则。
【正确答案】 C
【答案解析】[解析] 实体完整性规则规定关系的主属性都不能取空值,而不仅是主码整体不能取空值。而在关系SC中属性con中有空值。参照完整性规则要求外键的值不允许参照不存在的相应表的主键的值,或者外键值为空,而S30在参照关系S中不存在。所以关系S和关系SC违背了实体完整性规则和参照完整性。
单选题 有如下的SQL语句:
Ⅰ.SELECT sname FROM s.sc WHERE grade<60
Ⅱ.SELECT sname FROM s WriERE sno IN (SELECT sno FROM sc WHERE grade<60)
Ⅲ.SELECT sname FROM s.sc WHERE s.sno=sc.sno AND grade<60
若要查找分数(grade)不及格的学生姓名(sname),以上正确的有______。
【正确答案】 C
【答案解析】[解析] 正确的SQL语句是Ⅱ和Ⅲ。Ⅱ中的语句是一个嵌套查询。先在关系SC中查找分数不及格的学生的学号并放在一个集合中,然后在关系S中查找该学号对应的学生姓名。Ⅲ中的语句利用了WHEKE子句常用的查询条件中的多重条件AND,即在S、SC中查询既满足s.sno=sc.sno又满足grade<60的sname。