数据库习题答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章认识数据库

10.为体育部门建立的数据库中要存储运动队、运动员、运动项目以及运动员参加运动队和运动项目比赛情况,其中运动队、运动员、运动项目应包含如下信息:(1)运动队:队名、主教练,其中队名唯一标识运动队。

(2)运动员:运动员编号、姓名、性别、年龄,其中运动员编号唯一标识一名运动员。

(3)运动项目:项目编号、项目名、所属类别,其中项目编号唯一标识一个项目。

这里规定,每个运动队有多名运动员,每名运动员只属于一个运动队;每名运动员可以参加多个项目,每个项目可以有多个运动员参加。系统记录每名运动员参加每个项目所得名次和成绩以及比赛日期。

根据以上叙述,为体育部门建立E-R模型,要求标注联系类型。

参考答案:E-R模型如下:

11.设某图书管理系统需要存储有关出版社、作者、图书以及作者的著书情况。出版社、作者和图书应包含的信息如下:

(1)出版社:出版社编号、出版社名称、地址、电话

(2)图书:图书编号、书名、定价、字数

(3)作者:作者编号、姓名、单位、职称、电话

再给出如下语义和要求:每个出版社出版多种图书,每种图书有唯一的图书编号,且每种图书只能由一个出版社出版,每个出版社出版一种图书应记录其出版时间;一种图书有多名作者,每一个作者可能编著多种图书,每个作者编著一种图书应记录作者排序(即该书中作者的次序,如第一作者、第二作者等)。

试根据上述表述为该系统设计ER模型,要求标注联系的类型。

参考答案:E-R模型如下:

第2章关系数据库

9.给定如图2-6所示的关系R1、R2和R3,完成以下问题:

R 1⋈ R 3 A

(1)分别给出R 1∪R 2、R 1∩R 2和R 1-R 2的运算结果。 (2)分别给出πA ,B (R 1)×πC ,E (R 3)、的运算结果。 (3)给出πA ,E (σB >6(R 1⋈ R 3))的结果。 参考答案: 10.某数据库包括职工关系EMP 、工程关系PRJ 和报酬关系SAL ,这三个关系模式为:

EMP (ENO ,ENAME ,SEX ,BIRTH );--记录职工信息 PRJ (PNO ,PNAME ,BUDGET );--记录工程信息

SAL (ENO ,PNO ,SALARY )。--记录职工参加工程和参加每个工程的工资情况 各属性含义为:ENO (职工号)、ENAME (姓名)、SEX (性别)、BIRTH (出生年月)、PNO (工程编号)、PNAME (工程名称)、BUDGET (预算)、SALARY (工资)。用关系代数完成以下查询:

(1)查询所有女职工的职工号和姓名。

(2)查询参加工程编号为‘P1’的工程的职工姓名。 (3)查询没有参加过预算超过500000的工程的职工号。 (4)查询参加过所有预算超过500000的工程的职工姓名。 参考答案:

(1)πENO, ENAME (σSEX=’女’(EMP)) (2)πENAME (σPNO=’P1’(SAL)⋈EMP)

A B C 3 4 3 5 2 5 8 4 6 9 8 6 9

8 12

R 1∪R 2:

A B C 5 2 5 9

8 6

R 1∩R 2:

(1)

R 1-R 2:

A B C 3 4 3 9

8 12

(2) πA ,B (R 1)×πC ,E (R 3):

A B C E 3 4 5 2 3 4 6 6 3 4 6 8 5 2 5 2 5 2 6 6 5 2 6 8 9 8 5 2 9 8 6 6 9

8

6

8

R 1⋈ R 3:

A

A B C B C D E 3 4 3 8 6 9 6 3 4 3 8 6 6 8 5 2 5 8 6 9 6 5

2

5

8

6

6

8

(3) πA ,E (σB >6(R 1⋈ R 3)):

A E 9 6 9

8

(3)πENO(EMP)-πENO(σBUDGET>500000(PRJ)⋈SAL)

(4)πENAME(πENO, PNO(SAL)÷πPNO(σBUDGET>500000(PRJ))⋈EMP)

第4章关系数据库标准语言SQL

3.针对第2题的三个表,编写完成如下操作的SQL语句。

(1)查询任课教师“刘晓莉”所授课程的课程号、课程名称和学时。

(2)查询有不及格(成绩小于60)课程的学生姓名。

(3)查询年龄在18~20岁之间的男学生的学号、姓名、年龄和班级。

(4)查询“数据库原理”课程的最高分数。

(5)查询平均成绩80分以上的学生姓名。

(6)查询名称中包含“数据”的课程的详细信息。

(7)查询选修“数据库原理”课程成绩85分以上的学生的姓名和所在班级。

(8)查询没有选修“数据库原理”课程的学生姓名和所在班级。

(9)查询被所有“计算机091”班学生选修的课程的课程名称和学时。

(10)查询“计算机091”班“数据库原理”成绩最高的学生姓名。

(11)查询年龄超过其所在班级平均年龄的学生的姓名、性别、年龄和所在班级。

(12)向STUDENT表中插入一条新的学生记录(0905050105,周晓斌,19,男,计算机091)。

(13)所有“计算机091”班学生的“数据库原理”课程的成绩提高5%。

(14)删除“编译原理”课程的所有选课信息。

(15)向COURSE表中插入一条新的课程记录(050804,数字图像处理,48),暂不指定任课教师。

参考答按:

(1)SELECT CNO, CNAME, CHOUR

FROM COURSE

WHERE CTEACHER='刘晓莉';

(2)SELECT SNAME

FROM STUDENT

WHERE SNO IN (SELECT SNO FROM SC

WHERE GRADE<60);

(3)SELECT SNO, SNAME, SAGE, SCLASS

FROM STUDENT

WHERE SSEX='男' AND SAGE BETWEEN 18 AND 20;

(4)SELECT MAX(GRADE) 最高分数

FROM SC

WHERE CNO IN (SELECT CNO FROM COURSE

WHERE CNAME='数据库原理');

(5)SELECT SNAME FROM STUDENT

相关文档
最新文档