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

习题参考答案

第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 BPrice

WHERE 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