您的当前位置:首页数据库原理与应用教程-(第二版)人民邮电出版社习题参考答案

数据库原理与应用教程-(第二版)人民邮电出版社习题参考答案

2021-07-25 来源:爱问旅游网
习题参考答案

第1章习题参考答案

一、选择题

1. C 2. B 3. D 4. C 5. D 6. A 7. A 8. B 9. D、 10. B 11. C 12. D 13. A 14. D 15. B 二、填空题

1. 数据库系统 3. 物理独立性 5. 数据库管理系统(DBMS)7. 独立性 9. 逻辑独立性 11. 概念 结构(逻辑) 13. 宿主语言(或主语言) 15. 单用户结构 主从式结构 2. 关系 4. 操作系统 6. 多对多 8. 完整性控制 10. 关系模型 12. 树 有向图 二维表 嵌套和递归 14. 数据字典

分布式结构 客户/服务器结构 浏览器/服务器结构

第2章习题参考答案

一、选择题

1. A 2. C 3. C 4. B 5. B 6. C 7. B 8. D 9. C 10. A 11. B 12. A 13. A 14. D 15. D 二、填空题

1. 选择(选取) 4. 并 差 笛卡尔积 选择 投影 6. 选择 投影 连接 9. 属性 12. 系编号 系名称,电话,办公地点 14. 主键 外部关系键 三 简答题

(1)查询T1老师所授课程的课程号和课程名。

ΠCNO,CN(σTNO=’T1’(TC)*ΠCNO,CN(C))

(2)查询年龄大于18岁男同学的学号、姓名、系别。

ΠSNO, SN, Dept(σAge>18 Sex=’男’(S))

(3)查询“李力”老师所授课程的课程号、课程名和课时。

ΠCNO (ΠTNO(σTN=’李力’(T))*TC))* C

(4)查询学号为S1的同学所选修课程的课程号、课程名和成绩。

ΠCNO,CN,Score(σSNO=’S1’(SC)*ΠCNO,CN(C))

(5)查询“钱尔”同学所选修课程的课程号、课程名和成绩。

ΠCNO,CN,Score(ΠSNO(σSN=’ 钱尔’(S))*ΠCNO,CN(C)*SC)

(6)查询至少选修“刘伟”老师所授全部课程的学生姓名。

ΠSN((ΠSNO, SN(S)*(ΠSNO, CNO(SC)ΠCNO(σTN=’刘伟’(T*TC))))

(7)查询“李思”同学未选修的课程的课程号和课程名。

ΠCNO, CN((ΠCNO(C)-ΠCNO(σSN=’李思’(S)*SC))*C)

(8) 查询全部学生都选修了的课程的课程号和课程名。

ΠCNO, CN(C*(ΠSNO, CNO(SC)ΠSNO(S)))

(9)查询选修了课程号为C1和C2的学生的学号和姓名。

(ΠSNo,CNo(SC)ΠCNo(σCNo =’C1’ CNo =’C2’(C))*ΠSNo,SN(S)

(10)查询选修全部课程的学生的学号和姓名。

ΠSNO, SN(S*(ΠSNO, CNO(SC)ΠCNO(C)))

(11)查询选修课程包含“程军”老师所授课程之一的学生学号。

ΠSNO(SC*ΠCNO(σTN=’程军’(C)))

(12)查询选修课程包含学号S2的学生所修课程的学生学号。

ΠSNO, CNO(SC)ΠCNO(σCNO=’S2’(SC))

2. 交 3. 相容(或是同类关系) 5. 并 差 交 笛卡尔积 7. σf(R) 8. 关系代数 关系演算 10. 同质 11. 参照完整性 13. 元组关系 域关系 15. R和S没有公共的属性

第3章习题参考答案

一、选择题

1. B 2. A 3. C 4. B 5. C 6. C 7. B 8. D 9. A 10. D 二、填空题

1. 结构化查询语言(Structured Query Language) 2. 数据查询、数据定义、数据操纵、数据控制 3. 外模式、模式、内模式 4. 数据库、事务日志

5. NULL/NOT NULL、UNIQUE约束、PRIMARY KEY约束、FOREIGN KEY约束、CHECK约束 6. 聚集索引、非聚集索引 7. 连接字段 8. 行数 9. 定义

10. 系统权限、对象权限 11. 基本表、视图 12.

(1)INSERT INTO S VALUES('990010','李国栋','男',19) (2)INSERT INTO S(No,Name) VALUES('990011', '王大友') (3)UPDATE S SET Name='陈平' WHERE No='990009' (4)DELETE FROM S WHERE No='990008'

(5)DELETE FROM S WHERE Name LIKE '陈%' 13.CHAR(8) NOT NULL 14.SC.CNo=C.CNo

15.ALTER TABLE Student

ADD SGrade CHAR(10) 三、设计题 1. 图书(Book) 书号 BNo 类型 BType 书名 BName 作者 单价 出版社号 PNo BAuth BPrice 所在城市 PCity 电话 PTel 出版社(Publish) 出版社号 PNo 出版社名称 PName (1) 查找在“高等教育出版社”出版,书名为“操作系统”的图书的作者名。

SELECT BAuth FROM Book, Publish

WHERE Book.PNo= Publish.PNo AND BName=’操作系统’ AND PName=’高等教育出版社’

(2) 查找为作者“张欣”出版全部“小说”类图书的出版社的电话。

SELECT PTel FROM Book, Publish

WHERE Book.PNo= Publish.PNo AND BType =’小说’ AND BAuth=’张欣’

(3) 查询“电子工业出版社”出版的“计算机”类图书的价格,同时输出出版社名称及图书类别。

SELECT BPrice, PName, BType FROM Book, Publish

WHERE Book.PNo= Publish.PNo AND PName =’电子工业出版社’ AND BType =’计算机’

(4) 查找比“人民邮电出版社”出版的“高等数学”价格低的同名书的有关信息。

SELECT * FROM Book

WHERE BName =’高等数学’ AND BPriceWHERE Book.PNo= Publish.PNo AND PName =’人民邮电出版社’ AND BName =’高等数学’) AND PName <>’人民邮电出版社’

(5) 查找书名中有“计算机”一词的图书的书名及作者。

SELECT BName, BAuth FROM Book WHERE BName LIKE ’%计算机%’

(6) 在“图书”表中增加“出版时间”(BDate)项,其数据类型为日期型。

ALTER TABLE Book ADD BDate datetime

(7) 在“图书”表中以“作者”建立一个索引。

CREATE INDEX Name ON Book(BAuth) desc

2. 存书(BookStore) 书号 BNo 日期 SDate 书名 BName 书号 BNo 出版社 Publish 数量 SCount 版次 Version 出版日期 PDate 作者 书价 进价 数量 BAuth BPrice BInPrice BCount 销售(BookSell) 金额 SMoney (1) 建立存书表和销售表。

CREATE TABLE BookStore

( BNo CHAR(8) PRIMARY KEY, BName VARCHAR(20), Publish VARCHAR(20), Version INT,

PDate DATETIME, BAuth VARCHAR(10), BPrice NUMERIC(4,1),

BInPrice NUMERIC(4,1), BCount INT );

CREATE TABLE BookSell ( BNo CHAR(8) PRIMARY KEY,

SDate DATETIME, SCount INT,

PDate DATETIME, SMoney SMALLMONEY

);

(2) 掌握书的库存情况,列出当前库存的所有书名、数量、余额(余额=进价*数量,即库存占用的资金)

SELECT BName, BCount, BPrice* BCount AS TOTALCOUNT FROM BookStore

(3) 统计总销售额。

SELECT SUM(SCount * SMoney) AS TOTALMONEY FROM BookSell

(4) 列出每天的销售报表,包括书名、数量和合计金额(每一种书的销售总额)

SELECT BNo, BName , SDate , BCount , SCount * SMoney AS TOTALMONEY FROM BookStore, BookSell

WHERE BookStore. BNo= BookSell. Bno GROUP BY BNo, BName , SDate , BCount

(5) 分析畅销书,即列出当期(从当前起,向前30天)销售数量大于100的书名、数量。

SELECT BName , SCount FROM BookStore, BookSell

WHERE BookStore. BNo= BookSell. BNo AND SCount>100 AND SDate+30<(SELECT MAX(SDate) FROM BookSell)

或:SDate-‘2009-5-1’<30 或: ‘2009-5-30’- SDate <30 或:SDate BETWEEN ‘2009-5-1’ AND ‘2009-5-30’ 说明:日期的表示方法

2009-5-30 20090530 2009/5/30

四、简答题 S(学生信息表) 学号 S# 课程号 C# 学生姓名 SN 课程名称 CN 年龄 AGE 所在系 DEPT SC(选课信息表) 学号 S# 课程号 C# 成绩 GR C(课程信息表)

(1) 创建S表,S#为主键,SN不能为空。

CREATE TABLE S ( S# CHAR(8) PRIMARY KEY,

SN CHAR(8) NOT NULL, AGE INT,

DEPT VARCHAR(20) );

(2) 创建计算机系学生的视图,该视图的属性列由学号、姓名、课程名和任课教师号组成。

CREATE VIEW computer_student(S#, SN, C#,T#) AS

SELECT S.S#, SN,SC.C#,T# FROM S,SC,T

WHERE S.S#= SC.S# AND SC.C#= T.C# AND DEPT=’计算机’

(3) 检索计算机系年龄在20岁以上的学生学号。

SELECT S# FROM S WHERE AGE>20 AND DEPT=’计算机’

(4) 检索姓王的教师所讲课程的课程号和课程名称。

SELECT C.C#,CN FROM C, T

WHERE C.C#= T.C# AND TN LIKE ‘王%’

(5) 检索张三同学所学课程的成绩,列出SN, C#,GR

SELECT SN,C#,GR FROM S,SC

WHERE S.S#= SC.S# AND SN= ’张三’

(6) 检索选修总收入超过1000元的教师所讲课程的学生姓名、课程号和成绩。

SELECT SN,T.C#,GR FROM T,SC,S

WHERE T.C# =SC.C# AND S.S#= SC.S# AND (SAL+COMM)>1000

(7) 检索没有选修C1课程且选修课程数为两门的学生的姓名和平均成绩,并按平均成绩降序排列。

SELECT S.S#,SN,AVG(GR) AS AVGSCORE FROM S,SC WHERE S.S#= SC.S# AND C#<>’C1’

GROUP BY S.S#,SN HAVING COUNT(*)=2 ORDER BY AVG(GR) DESC

(8) 检索选修和张三同学所选课程中任意一门相同的学生姓名,课程名

SELECT SN,CN FROM S,SC,C

WHERE S.S#= SC.S# AND C.C#=SC.C# AND C# IN (SELECT C# FROM S,SC WHERE S.S#= SC.S# AND SN= ’张三’) AND SN<> ’张三’

或:CN=ANY

(9) S1同学选修了C3,将此信息插入SC表中。

INSERT INTO SC(S#,C#) VALUES(‘S1’,’C3’) 或 INSERT INTO SC VALUES(‘S1’,’C3’)

(10) 删除S表中没有选修任何课程的学生的记录。

DELETE FROM S WHERE S# NOT IN(SELECT DISTINCT S# FROM SC)

第4章习题参考答案

一、选择题

1. B 2. B 3. D 4. B 5. C 6. D 7. B 8. D 9. C 二、填空题

1. 超键(或超码) 3. 属性集X的闭包X + 函数依赖集F的闭包F + 5. {AD→C} φ 7. 无损连接 保持函数依赖 9. B→φ B→B B→C B→BC 11. AB 1NF 三、简答题

7. 设有关系模式R(U,F),其中:

U={A,B,C,D,E},F={A→D,E→D,D→B,BC→D,CD→A } ⑴ 求R的候选码。

(2)根据函数依赖关系,确定关系模式R属于第几范式。 (3)将R分解为3NF,并保持无损连接性。 解:

⑴ 由于(CE)+ =ABCDE,C+ =C,E+ =BDE,R的候选码是CE。 ⑵ 求出最小依赖集F’={A→D,E→D,D→B,BC→D,CD→A } 将R分解的3NF:={AD,DE,BD,BCD,ACD}

19. 设有关系R,如图所示。 职工号 E1 E2 E3 E4 职工名 ZHAO QIAN SUN LI 年龄 20 25 38 25 性别 F M M F 单位号 单位名 D3 D1 D3 D3 CCC AAA CCC CCC

10. A

2. 正确 完备

4. 平凡的函数依赖 自反性 6. 2NF 3NF BCNF 8. AB BC BD

10. B→C A→D D→C 12. AD 3NF

试问R属于3NF?为什么?若不是,它属于第几范式?并如何规范化为3NF? 解:R不属于3NF,它是2NF。因为:R的候选码为职工号和职工名,而: 职工号→单位号,单位号→职工号,单位号→单位名

所以:职工号 t 单位名,即存在非主属性单位名对候选码职工号的传递函数依赖。 规范化后的关系子模式为关系R1与R2。

R1 R2 职工号 职工名 年龄 性别 单位号 E1 E2 E3 E4

ZHAO QIAN SUN LI 20 25 38 25 F M M F D3 D1 D3 D3 单位号 单位名 D3 D1 CCC AAA 第6章习题参考答案

一、选择题

1. B 2. C 3. C 4. A 5. C 6. B 7. C 8. B 9. D 11. D 12. B 13. B 14. D 二、填空题

1. 数据库的结构设计、数据库的行为设计 2. 新奥尔良法

3. 分析和设计阶段、实现和运行阶段 4. 需求分析

5. 概念结构设计

6. 自顶向下、自底向上

7. 属性冲突、命名冲突、结构冲突 8. 逻辑结构设计 三、设计题

9. 确定物理结构、评价物理结构 10. 数据库加载 11. 运行和维护 12. 物理 13. 数据字典 14. 需求分析 15. 载入

10. C

1.一个图书管理系统中有如下信息:

图书:书号,书名,数量,位置 借书人:借书证号,姓名,单位

出版社:出版社名,邮编,地址,电话,E-mail

约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。借书和还书时,要登记相应的借书日期和还书日期;一个出版社可以出版多种书籍,同一本书仅为一个出版社所出版,出版社具有唯一性。

根据以上情况,完成如下设计: (1)构造满足需求的E-R图。

(2)将E-R图转换为等价的关系模式。 (3)指出转换后的每个关系模式的关系键。 解:(1)满足上述需求的E-R图如图所示。

借书证号 姓 名 单 位

借书人

m 借书日期 E-mail 出版社名 借阅 还书日期 n

n 1 出版社 电 话 图书 出版

邮 编 书 号 书 名 数 量 位 置

(2-3)转换为等价的关系模式及关系键如下; 借书人(借书证号,姓名,单位)

图书(书号,书名,数量,位置,出版社名)

地 址 出版社(出版社名,电话,邮编,地址,E-mail) 借阅(借书证号,书号,借书日期,还书日期)。

2.图6-21(a)、(b)和(c)所示给出某企业管理系统三个不同的局部E-R图,将其合并成一个全局E-R图,并设置各个实体以及联系的属性(允许增加认为必要的属性,也可将有关基本实体的属性改为联系的属性)。 职员 m 属于 1 部门 设备处 1 零件 n m 拥有 厂商 m 工人 1 n 管理 设备 n 装配 m 零件 生产 (a) (b) (c) 图6-21 局部的E-R图 各实体构成如下:

部门:部门号,部门名,电话,地址

职员:职员号,职员名,职务(干部/工人),年龄,性别 设备处:单位号,电话,地址 工人:工人编号,姓名,年龄,性别 设备:设备号,名称,位置,价格 零件:零件号,名称,规格,价格

厂商:单位号,名称,电话,地址

解:汇总后的E-R图如图所示。 各类实体的属性为:

部门:部门号,部门名,电话,地址 职工:职工号,职工名,职务,年龄,性别 设备:设备号,名称,规格,价格 零件:零件号,名称,规格,价格

3.某医院病房计算机管理中需要如下信息: 科室:科室名,科室地址,科室电话,医生姓名 病房:病房号,床位号,所属科室名

医生:工作证号,姓名,性别,出生日期,联系电话,职称,所属科室名 病人:病历号,姓名,性别,诊断记录,主管医生,病房号

其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。 完成如下设计:

工作 n 职工 生产 部门 1 1 m 管理 n 设备 n 装配 n m 零件 (1)设计该计算机管理系统的E-R图; (2)将该E-R图转换为关系模型结构; (3)指出转换结果中每个关系模式的候选码。 解:(1)本题的E-R图如图所示。

病历号 姓 名 性 别 工作证号 姓 名 性 别 出生日期 病房 1 入住 病房号 床位号 n 科室名 1 科室地址 科室电话 科室 1 从属 组成 n 病人 n 诊治 n 1 医生 所属科室名 职 称 联系电话 (2)对应的关系模型结构如下: 科室(科名,科地址,科电话) 病房(病房号,床位号,科室名)

医生(工作证号,姓名,性别,出生日期,联系电话,职称,科室名) 病人(病历号,姓名,性别,诊治记录,主管医生,病房号) (3)每个关系模式的候选码如(2)所示。

因篇幅问题不能全部显示,请点此查看更多更全内容