数据库原理与应用教程第二版人民邮电出版社习题 参考答案.docx
- 文档编号:26650143
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:16
- 大小:90.64KB
数据库原理与应用教程第二版人民邮电出版社习题 参考答案.docx
《数据库原理与应用教程第二版人民邮电出版社习题 参考答案.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用教程第二版人民邮电出版社习题 参考答案.docx(16页珍藏版)》请在冰豆网上搜索。
数据库原理与应用教程第二版人民邮电出版社习题参考答案
习题参考答案
第1章习题参考答案
一、选择题
1.C2.B3.D4.C5.D6.A7.A8.B9.D、10.B
11.C12.D13.A14.D15.B
二、填空题
1.数据库系统2.关系
3.物理独立性4.操作系统
5.数据库管理系统(DBMS)6.多对多
7.独立性8.完整性控制
9.逻辑独立性10.关系模型
11.概念结构(逻辑)12.树有向图二维表嵌套和递归
13.宿主语言(或主语言)14.数据字典
15.单用户结构主从式结构分布式结构客户/服务器结构浏览器/服务器结构
第2章习题参考答案
一、选择题
1.A2.C3.C4.B5.B6.C7.B8.D9.C10.A
11.B12.A13.A14.D15.D
二、填空题
1.选择(选取)2.交3.相容(或是同类关系)
4.并差笛卡尔积选择投影5.并差交笛卡尔积
6.选择投影连接7.σf(R)8.关系代数关系演算
9.属性10.同质11.参照完整性
12.系编号系名称,电话,办公地点13.元组关系域关系
14.主键外部关系键15.R和S没有公共的属性
三简答题
(1)查询T1老师所授课程的课程号和课程名。
ΠCNO,CN(σTNO=’T1’(TC)*ΠCNO,CN(C))
(2)查询年龄大于18岁男同学的学号、姓名、系别。
ΠSNO,SN,Dept(σAge>18Sex=’男’(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))
第3章习题参考答案
一、选择题
1.B2.A3.C4.B5.C6.C7.B8.D9.A10.D
二、填空题
1.结构化查询语言(StructuredQueryLanguage)
2.数据查询、数据定义、数据操纵、数据控制
3.外模式、模式、内模式
4.数据库、事务日志
5.NULL/NOTNULL、UNIQUE约束、PRIMARYKEY约束、FOREIGNKEY约束、CHECK约束
6.聚集索引、非聚集索引
7.连接字段
8.行数
9.定义
10.系统权限、对象权限
11.基本表、视图
12.
(1)INSERTINTOSVALUES('990010','李国栋','男',19)
(2)INSERTINTOS(No,Name)VALUES('990011','王大友')
(3)UPDATESSETName='陈平'WHERENo='990009'
(4)DELETEFROMSWHERENo='990008'
(5)DELETEFROMSWHERENameLIKE'陈%'
13.CHAR(8)NOTNULL
14.SC.CNo=C.CNo
15.ALTERTABLEStudent
ADDSGradeCHAR(10)
三、设计题
1.图书(Book)
书号
类型
书名
作者
单价
出版社号
BNo
BType
BName
BAuth
BPrice
PNo
出版社(Publish)
出版社号
出版社名称
所在城市
电话
PNo
PName
PCity
PTel
(1)查找在“高等教育出版社”出版,书名为“操作系统”的图书的作者名。
SELECTBAuthFROMBook,Publish
WHEREBook.PNo=Publish.PNoANDBName=’操作系统’ANDPName=’高等教育出版社’
(2)查找为作者“张欣”出版全部“小说”类图书的出版社的电话。
SELECTPTelFROMBook,Publish
WHEREBook.PNo=Publish.PNoANDBType=’小说’ANDBAuth=’张欣’
(3)查询“电子工业出版社”出版的“计算机”类图书的价格,同时输出出版社名称及图书类别。
SELECTBPrice,PName,BTypeFROMBook,Publish
WHEREBook.PNo=Publish.PNoANDPName=’电子工业出版社’ANDBType=’计算机’
(4)查找比“人民邮电出版社”出版的“高等数学”价格低的同名书的有关信息。
SELECT*FROMBook
WHEREBName=’高等数学’ANDBPrice (SELECTBPriceFROMBook,Publish WHEREBook.PNo=Publish.PNoANDPName=’人民邮电出版社’ANDBName=’高等数学’) ANDPName<>’人民邮电出版社’ (5)查找书名中有“计算机”一词的图书的书名及作者。 SELECTBName,BAuthFROMBook WHEREBNameLIKE’%计算机%’ (6)在“图书”表中增加“出版时间”(BDate)项,其数据类型为日期型。 ALTERTABLEBook ADDBDatedatetime (7)在“图书”表中以“作者”建立一个索引。 CREATEINDEXNameONBook(BAuth)desc 2.存书(BookStore) 书号 书名 出版社 版次 出版日期 作者 书价 进价 数量 BNo BName Publish Version PDate BAuth BPrice BInPrice BCount 销售(BookSell) 日期 书号 数量 金额 SDate BNo SCount SMoney (1)建立存书表和销售表。 CREATETABLEBookStore (BNoCHAR(8)PRIMARYKEY, BNameVARCHAR(20), PublishVARCHAR(20), VersionINT, PDateDATETIME, BAuthVARCHAR(10), BPriceNUMERIC(4,1), BInPriceNUMERIC(4,1), BCountINT ); CREATETABLEBookSell (BNoCHAR(8)PRIMARYKEY, SDateDATETIME, SCountINT, PDateDATETIME, SMoneySMALLMONEY ); (2)掌握书的库存情况,列出当前库存的所有书名、数量、余额(余额=进价*数量,即库存占用的资金) SELECTBName,BCount,BPrice*BCountASTOTALCOUNTFROMBookStore (3)统计总销售额。 SELECTSUM(SCount*SMoney)ASTOTALMONEYFROMBookSell (4)列出每天的销售报表,包括书名、数量和合计金额(每一种书的销售总额) SELECTBNo,BName,SDate,BCount,SCount*SMoneyASTOTALMONEY FROMBookStore,BookSell WHEREBookStore.BNo=BookSell.Bno GROUPBYBNo,BName,SDate,BCount (5)分析畅销书,即列出当期(从当前起,向前30天)销售数量大于100的书名、数量。 SELECTBName,SCountFROMBookStore,BookSell WHEREBookStore.BNo=BookSell.BNoANDSCount>100ANDSDate+30<(SELECTMAX(SDate)FROMBookSell) 或: SDate-‘2009-5-1’<30或: ‘2009-5-30’-SDate<30 或: SDateBETWEEN‘2009-5-1’AND‘2009-5-30’ 说明: 日期的表示方法 2009-5-30200905302009/5/30 四、简答题 S(学生信息表) 学号 学生姓名 年龄 所在系 S# SN AGE DEPT C(课程信息表) 课程号 课程名称 C# CN SC(选课信息表) 学号 课程号 成绩 S# C# GR (1)创建S表,S#为主键,SN不能为空。 CREATETABLES (S#CHAR(8)PRIMARYKEY, SNCHAR(8)NOTNULL, AGEINT, DEPTVARCHAR(20) ); (2)创建计算机系学生的视图,该视图的属性列由学号、姓名、课程名和任课教师号组成。 CREATEVIEWcomputer_student(S#,SN,C#,T#) AS SELECTS.S#,SN,SC.C#,T#FROMS,SC,T WHERES.S#=SC.S#ANDSC.C#=T.C#ANDDEPT=’计算机’ (3)检索计算机系年龄在20岁以上的学生学号。 SELECTS#FROMSWHEREAGE>20ANDDEPT=’计算机’ (4)检索姓王的教师所讲课程的课程号和课程名称。 SELECTC.C#,CNFROMC,T WHEREC.C#=T.C#ANDTNLIKE‘王%’ (5)检索张三同学所学课程的成绩,列出SN,C#,GR SELECTSN,C#,GRFROMS,SC WHERES.S#=SC.S#ANDSN=’张三’ (6)检索选修总收入超过1000元的教师所讲课程的学生姓名、课程号和成绩。 SELECTSN,T.C#,GRFROMT,SC,S WHERET.C#=SC.C#ANDS.S#=SC.S#AND(SAL+COMM)>1000 (7)检索没有选修C1课程且选修课程数为两门的学生的姓名和平均成绩,并按平均成绩降序排列。 SELECTS.S#,SN,AVG(GR)ASAVGSCOREFROMS,SC WHERES.S#=SC.S#ANDC#<>’C1’ GROUPBYS.S#,SNHAVINGCOUNT(*)=2 ORDERBYAVG(GR)DESC (8)检索选修和张三同学所选课程中任意一门相同的学生姓名,课程名 SELECTSN,CNFROMS,SC,C WHERES.S#=SC.S#ANDC.C#=SC.C#ANDC#IN(SELECTC#FROMS,SCWHERES.S#=SC.S#ANDSN=’张三’)ANDSN<>’张三’ (9)S1同学选修了C3,将此信息插入SC表中。 INSERTINTOSC(S#,C#)VALUES(‘S1’,’C3’) 或INSERTINTOSCVALUES(‘S1’,’C3’) (10)删除S表中没有选修任何课程的学生的记录。 DELETEFROMSWHERES#NOTIN(SELECTDISTINCTS#FROMSC) 第4章习题参考答案 一、选择题 1.B2.B3.D4.B5.C6.D7.B8.D9.C10.A 二、填空题 1.超键(或超码)2.正确完备 3.属性集X的闭包X+函数依赖集F的闭包F+4.平凡的函数依赖自反性 5.{AD→C}φ6.2NF3NFBCNF 7.无损连接保持函数依赖8.ABBCBD 9.B→φB→BB→CB→BC10.B→CA→DD→C 11.AB1NF12.AD3NF 三、简答题 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 ZHAO 20 F D3 CCC E2 QIAN 25 M D1 AAA E3 SUN 38 M D3 CCC E4 LI 25 F D3 CCC 试问R属于3NF? 为什么? 若不是,它属于第几范式? 并如何规范化为3NF? 解: R不属于3NF,它是2NF。 因为: R的候选码为职工号和职工名,而: 职工号→单位号,单位号→职工号,单位号→单位名 所以: 职工号t单位名,即存在非主属性单位名对候选码职工号的传递函数依赖。 规范化后的关系子模式为关系R1与R2。 R1 职工号 职工名 年龄 性别 单位号 E1 ZHAO 20 F D3 E2 QIAN 25 M D1 E3 SUN 38 M D3 E4 LI 25 F D3 R2 单位号 单位名 D3 CCC D1 AAA 第6章习题参考答案 一、选择题 1.B2.C3.C4.A5.C6.B7.C8.B9.D10.C 11.D12.B13.B14.D 二、填空题 1.数据库的结构设计、数据库的行为设计 2.新奥尔良法 3.分析和设计阶段、实现和运行阶段 4.需求分析 5.概念结构设计 6.自顶向下、自底向上 7.属性冲突、命名冲突、结构冲突 8.逻辑结构设计 9.确定物理结构、评价物理结构 10.数据库加载 11.运行和维护 12.物理 13.数据字典 14.需求分析 15.载入 三、设计题 1.一个图书管理系统中有如下信息: 图书: 书号,书名,数量,位置 借书人: 借书证号,姓名,单位 出版社: 出版社名,邮编,地址,电话,E-mail 约定: 任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。 借书和还书时,要登记相应的借书日期和还书日期;一个出版社可以出版多种书籍,同一本书仅为一个出版社所出版,出版社具有唯一性。 根据以上情况,完成如下设计: (1)构造满足需求的E-R图。 (2)将E-R图转换为等价的关系模式。 (3)指出转换后的每个关系模式的关系键。 解: (1)满足上述需求的E-R图如图所示。 (2-3)转换为等价的关系模式及关系键如下; 借书人(借书证号,姓名,单位) 图书(书号,书名,数量,位置,出版社名) 出版社(出版社名,电话,邮编,地址,E-mail) 借阅(借书证号,书号,借书日期,还书日期)。 2.图6-21(a)、(b)和(c)所示给出某企业管理系统三个不同的局部E-R图,将其合并成一个全局E-R图,并设置各个实体以及联系的属性(允许增加认为必要的属性,也可将有关基本实体的属性改为联系的属性)。 (a)(b)(c) 图6-21局部的E-R图 各实体构成如下: 部门: 部门号,部门名,电话,地址 职员: 职员号,职员名,职务(干部/工人),年龄,性别 设备处: 单位号,电话,地址 工人: 工人编号,姓名,年龄,性别 设备: 设备号,名称,位置,价格 零件: 零件号,名称,规格,价格 厂商: 单位号,名称,电话,地址 解: 汇总后的E-R图如图所示。 各类实体的属性为: 部门: 部门号,部门名,电话,地址 职工: 职工号,职工名,职务,年龄,性别 设备: 设备号,名称,规格,价格 零件: 零件号,名称,规格,价格 3.某医院病房计算机管理中需要如下信息: 科室: 科室名,科室地址,科室电话,医生姓名 病房: 病房号,床位号,所属科室名 医生: 工作证号,姓名,性别,出生日期,联系电话,职称,所属科室名 病人: 病历号,姓名,性别,诊断记录,主管医生,病房号 其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。 完成如下设计: (1)设计该计算机管理系统的E-R图; (2)将该E-R图转换为关系模型结构; (3)指出转换结果中每个关系模式的候选码。 解: (1)本题的E-R图如图所示。 (2)对应的关系模型结构如下: 科室(科名,科地址,科电话) 病房(病房号,床位号,科室名) 医生(工作证号,姓名,性别,出生日期,联系电话,职称,科室名) 病人(病历号,姓名,性别,诊治记录,主管医生,病房号) (3)每个关系模式的候选码如 (2)所示。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库原理与应用教程第二版人民邮电出版社习题 参考答案 数据库 原理 应用 教程 第二 人民邮电 出版社 习题
![提示](https://static.bdocx.com/images/bang_tan.gif)