单选题 (55)~(56)题基于如下的两个关系:SNOSNAMEAGE 001Wang20002Zhang18学生关系R(SNO,SNAME,AGE)003Liu24选课关系S(SNO,CNO,GRADE)SNOCNOGRADE 001c190 001c265 002c180执行SQL语句:SELECT*FROM R WHERE sno IN (SELECT sno FROM S WHERE con=cl"")的结果中的元数和元组数分别应是______。

【正确答案】 B
【答案解析】[解析] 在二维表中的列(字段),称为属性,属性的个数称为关系的元数,在二维表中的一行(记录的值),称为一个元组。将题目SQL语句拆开来分析,SELECT sno FROM S WHERE cno="cl"语句的结果为:SNO 001 001 002题目中SQL语句相当于SELECT*FROMR WHERE sno IN(001,002),结果为:SNOSNAMEAGE 001Wang20 002Zhang18由此可知,元数为3,元组数为2,选项B正确。
单选题 当删除R中某个学生的记录时,要求同时删除该学生的选课信息。则在定义S的外键时应使用的短语是______。
【正确答案】 A
【答案解析】[解析] 当关系中的某个属性(或属性组)虽然不是该关系的主键或只是主键的一部分,但却是另一个关系的主键时,称该属性(或属性组)为这个关系的外键。当执行删除操作时,一般只需要检查参照完整性规则。如果是删除被参照关系中的行,检查被删除行在主键属性上的值是否正在被相应的被参照关系的外键引用,若不被引用,可以执行删除操作;若正在被引用,有三种可能的做法:拒绝删除、空值删除和级联删除。本题就是级联删除,级联删除(CASCA DES)将参照关系中与被参照关系中要删除元组主键值相同的元组一起删除。受限删除(RESTRICTED) 只有参照关系中没有元组与被参照关系中要删除元组主键值相同时才执行删除操作,否则拒绝。置空值删除(SET NULL)删除被参照关系中的元组,同时将参照关系中相应元组的外键值置为空。正确答案为选项A。