《数据库系统概论》复习及答案(3)

2019-08-30 22:24

③ 将学号为10的学生姓名改为“王华”; 。 ④ 将所有“95101”班号改为“95091”; 。 ⑤ 删除学号为20的学生记录; 。 ⑥ 删除姓“王”的学生记录; 。 答案:

① INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”)

② INSERT INTO R(NO,NAME,CLASS) VALUES(30,“郑和”,“95031”) ③ UPDATE R SET NAME=“王华”WHERE NO=10

④ UPDATE R SET CLASS=“95091”WHERE CLASS=“95101” ⑤ DELETE FROM R WHERE NO=20

⑥ DELETE FROMR WHERE NAME LIKE“王%”

22、在关系A(S,SN,D)和B(D,CN,NM中,A的主键是S,B的主键是D,则D在S中称为 。 答案:外部键

23、对于非规范化的模式,经过 ① 转变为1NF,将1NF经过 ② 转变为2NF,将2NF经过 ③ 转变为3NF。 答案:① 使属性域变为简单域

② 消除非主属性对主关键字的部分依赖 ③ 消除非主属性对主关键字的传递依赖

24、在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和 。 答案:无损连接性

25、模式/内模式映象为数据库提供了数据的 独立性。 答案:物理 26、在关系代数运算中,从关系中取出满足条件的元组的运算称为 。 答案:选择

27、在关系数据库中,把数据表示成二维表,每一个二维表称为 。 答案:关系 或关系表

28、用树型结构表示实体类型及实体间联系的数据模型称为 。 答案:层次模型

29、关系完整性约束条件包含:实体完整性、 和用户自定义完整性。 答案:参照完整性

30、包含在任何一个侯选码中的属性,叫做 。 答案:主属性

31、设有s(学号, 姓名, 性别)和sc(学号, 课程号, 成绩)两个表,下面SQL的SELECT语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别。 SELECT 学号, 姓名, 性别 FROM s

WHERE ( SELECT * FROM sc WHERE sc.学号 = s.学号 AND成绩 < 85 ) 答案:NOT EXIST

三、应用题:

1、假设教学管理规定:

① 一个学生可选修多门课,一门课有若干学生选修; ② 一个教师可讲授多门课,一门课只有一个教师讲授; ③ 一个学生选修一门课,仅有一个成绩。

学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。

要求:根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型; 解答: 2、设有如下所示的关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句:

(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。 (2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。

(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。 (4)检索”李强”同学不学课程的课程号(C#)。 (5)检索至少选修两门课程的学生学号(S#)。

教师编号 姓名 学号 学生 课程号 m n 课程名 选修 课程 n 成绩 讲授 1 教师 教师姓名

(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。 (7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。 (8)检索选修课程号为k1和k5的学生学号(S#)。 (9)检索选修全部课程的学生姓名(SNAME)。

(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。 (11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。 解:本题各个查询语句对应的关系代数表达式表示如下:

(1). ∏C#,CNAME(σTEACHER=‘程军’(C)) (2). ∏S#,SNAME(σAGE>21∧SEX=”男”(C))

(3). ∏SNAME{s?? [∏S#,C#(sc)÷∏C#(σTEACHER=‘程军’(C))]} (4). ∏C#(C)- ∏C#(σSNAME=‘李强’(S) ?? SC) (5). ∏S#(σ[1]=[4]∧[2]≠[5] (SC × SC))

(6). ∏C#,CNAME(C?? (∏S#,C#(sc)÷∏ (7). ∏S#(SC?? ∏C#(σTEACHER=‘程军’

e f S#(S))) (C)))

(8). ∏S#,C#(sc)÷∏C#(σC#=’k1’∨ C#=’k5’(C)) (9). ∏SNAME{s?? [∏S#,C#(sc)÷∏C#(C)]} (10). ∏S#,C#(sc)÷∏C#(σS#=’2’(SC))

(11). ∏S#,SNAME{s?? [∏S#(SC?? σCNAME=‘C语言’(C))]}

3、设学生课程数据库中有三个关系: 学生关系S(S#,SNAME,AGE,SEX) 学习关系SC(S#,C#,GRADE) 课程关系C(C#,CNAME)

其中S#、C#、SNAME、AGE、SEX、GRADE、CNAME分别表示学号、课程号、姓名、年龄、性别、成绩和课程名。 用SQL语句表达下列操作

(1)检索选修课程名称为“MATHS”的学生的学号与姓名 (2)检索至少学习了课程号为“C1”和“C2”的学生的学号

(3)检索年龄在18到20之间(含18和20)的女生的学号、姓名和年龄 (4)检索平均成绩超过80分的学生学号和平均成绩 (5)检索选修了全部课程的学生姓名

(6)检索选修了三门课以上的学生的姓名 答案:(1)SELECT SNAME,AGE

FROM S,SC,C WHERE S.S#=SC.S# AND C.C#=SC.C# AND CNAME=’ MATHS’ (2) SELECT S# FROM SC

WHERE CNO=’C1’ AND S# IN( SELECT S# FROM SC WHERE CNO=’C2’) (3) SELECT S#,SNAME,AGE FROM S WHERE AGE BETWEEN 18 AND 20

(4) SELECT S# ,AVG(GRADE) ‘平均成绩’ FROM SC GROUP BY S# HAVING AVG(GRADE)>80

(5) SELECT SNAME FROM S

WHERE NOT EXISTS

( SELECT * FROM C WHERE NOT EXISTS

( SELECT * FROM SC WHERE S#=S.S# AND C#=C.C# ) )

(6) SELECT SNAME FROM S,SC WHERE S.S#=SC.S#

GROUP BY SNAME HAVING COUNT(*)>3

4、设学生-课程数据库中包括三个表:

学生表:Student (Sno,Sname,Sex,Sage,Sdept) 课程表:Course(Cno,Cname,Ccredit) 学生选课表:SC(Sno,Cno,Grade)

其中Sno、Sname、Sex、Sage、Sdept、 Cno、Cname、Ccredit 、Grade分别表示学号、姓名、性别、年龄、所在系名、课程号、课程名、学分和成绩。 试用SQL语言完成下列项操作:

(1)查询选修课程包括“1042”号学生所学的课程的学生学号

(2)创建一个计科系学生信息视图S_CS_VIEW,包括Sno学号、Sname姓名、Sex性别;

(3)通过上面第2题创建的视图修改数据,把王平的名字改为王慧平

(4)创建一选修数据库课程信息的视图,视图名称为datascore_view,包含学号、姓名、成绩。 答案:

(1) SELECT DISTINCT SNO FROM SC SCX WHERE NOT EXISTS

( SELECT * FROM SC SCY

WHERE SCY.SNO = ' 1042' AND NOT EXISTS ( SELECT * FROM SC , CZ

WHERE SCZ.SNO=SCX.SNO AND SCZ.CNO=SCY.CNO)); (2) CREATE VIEW S_CS_VIEW AS

SELECT SNO,SNAME,SEX FROM STUDENT WHERE Sdept=’CS’ (3) UPDATE S_CS_VIEW SET SNAME=’ 王慧平’ WHERE SNAME=’ 王平’ (4) CREATE VIEW datascore_view AS

SELECT SNO 学号、SNAME 姓名、GRADE 成绩 FROM STUDENT,SC,COURSE

WHERE STUDENT.SNO=SC.SNO AND COURSE.CNO=SC.CNO AND CNAME=’ 数据库’

5、已知学生关系模式

S(Sno,Sname,SD,Sdname,Course,Grade)

其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。 (1) 写出关系模式S的基本函数依赖和主码。


《数据库系统概论》复习及答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:C语言编程题精选

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: