数据库期末考试部分试题 联系客服

发布时间 : 星期一 文章数据库期末考试部分试题更新完毕开始阅读107b8c4f33687e21af45a938

的查询:

教师关系 T(T#,TNAME,TITLE) 课程关系 C ( C#,,CNAME,T# ) 学生关系 S ( S#,SNAME,AGE,SEX ) 选课关系 SC ( S#,C#,SCORE ) ①统计有学生选修的课程门数。

②求选修C4课程的女学生的平均年龄。

③求LIU老师所授课程的每门课程的平均成绩。 ④统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 ⑤检索学号比WANG同学大,而年龄比他小的学生姓名。 ⑥在表SC中检索成绩为空值的学生学号和课程号。 ⑦检索姓名以L打头的所有学生的姓名和年龄。 ⑧求年龄大于女同学平均年龄的男学生姓名和年龄。 ⑨求年龄大于所有女同学年龄的男学生姓名和年龄。

答案:

① SELECT COUNT(DISTINCT C#) FROM SC;

② SELECT AVG(AGE) FROM S,SC

WHERE S.S#=SC.S# AND C#=’C4’ AND SEX=’F’; ③ SELECT C.C#,AVG(SCORE) FROM SC,C,T

WHERE SC.C#=C.C# AND C.T#=T.T# AND TNAME=’LIU’ GROUP BY C.C#;

④ SELECT C#,COUNT(S#) FROM SC

GROUP BY C#

HAVING COUNT(*) > 10 ORDER BY 2 DESC,1; ⑤ SELECT SNAME FROM S

WHERE S# > ALL(SELECT S#

FROM S

WHERE SNAME=’WANG’)

AND AGE < ALL(SELECT AGE

FROM S

WHERE SNAME=’WANG’);

⑥ SELECT S#,C# FROM SC

WHERE SCORE IS NULL; ⑦ SELECT SNAME,AGE FROM S

WHERE SNAME LIKE ‘L%’; ⑧ SELECT SNAME,AGE FROM S

WHERE SEX=’M’

AND AGE > (SELECT AVG(AGE)

FROM S

WHERE SEX=’F’);

⑨ SELECT SNAME,AGE FROM S

WHERE SEX=’M’

AND AGE > ALL(SELECT AGE

FROM S

WHERE SEX=’F’);

题目3.5:SQL2提供CASE表达式操作,这个操作类似于程序设计语言中的多分支选择结构,其语法如下: CASE

WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 ?

WHEN 条件n THEN 结果n ELSE 结果m END

如果自上而下“条件i”首先被满足,那么这个操作返回值“结果i”(可以是某个表达式的值);若没有一个条件被满足,那么返回值“结果m”. 在基本表SC (S#,C#,SCORE)中,SCORE值是百分制。如果欲转换成“成绩等第”,则规则如下:若SCORE <40则等第为F,若40<=SCORE<60 则等第为C,若60<=SCORE <80则等第为B,若80<=SCORE 则等第为A。 试写出下列两个查询语句:

1. 检索每个学生的学习成绩,成绩显示时以等第(GRADE)形式出现。 2. 检索每个等第的学生人次。 答案:

1) SELECT S# ,C#,CASE

WHEN SCORE>=80 THEN ‘A’ WHEN SCORE>=60 THEN ‘B’ WHEN SCORE>=40 THEN ‘C’ ELSE ‘F’ END AS SCORE FROM SC

2) SELECT GRADE ,COUNT(S#) FROM(SELECT S#,C#,CASE

WHEN SCORE>=80 THEN ‘A’ WHEN SCORE>=60 THEN ‘B’ WHEN SCORE>=40 THEN ‘C’

ELSE ‘F’ END

FROM SC) AS RESULT(S#,C#,GRADE) DROUP BY GRADE; 题型:计算题

题目1:已知关系模式R(ABC),F是R上成立的FD集,F={A→B,B→C},试写出F的闭包F+

(有43个FD)。

答案:据已知条件和推理规则,可知F+有43个FD:

A→Φ AB→Φ AC→Φ ABC→Φ B→Φ C→Φ A→A AB→A AC→A ABC→A B→B C→C A→B AB→B AC→B ABC→B B→C Φ→Φ A→C AB→C AC→C ABC→C B→BC A→AB AB→AB AC→AB ABC→AB BC→Φ A→AC AB→AC AC→AC ABC→AC BC→B A→BC AB→BC AC→BC ABC→BC BC→C A→ABC AB→ABC AC→ABC ABC→ABC BC→BC 题型:计算题

题目2: 设关系模式R(ABCD),F是R上成立的FD集,F={A→B,C→B},则相对

于F,试写出关系模式R的关键码,并说明理由。

答案:R的关键码为ACD,因为从已知的F只能推出ACD→ABCD。 题型:计算题 题目1:设关系模式R=(ABCDE)+,F是R上成立的FD集,F={AB->C,CD->E,DE->B},试判断是的候选键吗,并做出解释。

答案:由于(AB)+=ABC,而ABC不是全部属性,因此AB不是R的候选键。 由于(ABD)+=ABCDE,而ABCDE是全部属性,因此ABD是R的候选键。 题型:计算题

题目2:设关系模式R(ABCD)上的FD集为F,并且F={AB->C,C->D,D->A}。 ①试从F求出所有非平凡的FD。 ②试求R的所有候选键。

③试求R的所有不是候选键的超键。

答案:①从已知的F可求出非平凡的FD有76个。

例如,左边是C的FD有6个:G->A,C->D,C->AD,C->AC,C->CD,C->ACD。 左边是D的FD有2个:D->A,D->AD。

左边是AB的FD有12个:AB->C,AB->D,AB->CD,AB->AC,?。 感兴趣的读者可以自行把这76个FD写齐。

②候选键是能函数决定所有属性的不含多余属性的属性集。根据这个概念可求出R的候选键有3个:AB、BC和BD。

③R的所有不是候选键的超键有4个:ABC、ABD、BCD和ABCD。 题型:计算题

题目3:考虑下面两个FD集:F=﹛A->C,AC->D ,E->AD,E->H﹜和G =﹛A->CD,E->AH﹜。试检查它们是否等价(应说出理由)

答案:F和G等价。因为F的最小集和G的最小集都是﹛A->CD,E->AH﹜ 题型:计算题

题目4:设关系模式R(ABC)分解成ρ={ AB,BC },如果R上的FD集F={ A→B },那么这个分解是损失分解。试举出R的一个关系r,不满足mρ(r)=r。 答案:这个反例r可以举测试时的初始表格: A B C AB a1 a2 b13 BC b21 a2 a3

πAB(r)?πBC(r)有四个元组:

A B C

a1 a2 b13 a1 a2 a3 b21 a2 b13 b21 a2 a3

即mρ(r)≠r。 题型 填空

题目 1 关系模式的操作异常问题往往是由_引起的。 答案:数据冗余

题目 2 解决数据冗余问题的主要方法是_。 答案:分解

题目 3 如果X Y和Y X成立,那么称X Y是一个_。这种FD根据推理规则的_性就可推出答案:平凡的FD 相反

题目 4 “从已知的FD集使用推理规则导出的FD在F+中”,这是推理规则的_性。 答案:正确

题目 5 “不能从已知的FD集使用推理规则导出的FD不在F+中”,这是推理规则的_性。