数据库原理与应用习题参考答案.docx

上传人:b****2 文档编号:892345 上传时间:2023-04-30 格式:DOCX 页数:31 大小:107.42KB
下载 相关 举报
数据库原理与应用习题参考答案.docx_第1页
第1页 / 共31页
数据库原理与应用习题参考答案.docx_第2页
第2页 / 共31页
数据库原理与应用习题参考答案.docx_第3页
第3页 / 共31页
数据库原理与应用习题参考答案.docx_第4页
第4页 / 共31页
数据库原理与应用习题参考答案.docx_第5页
第5页 / 共31页
数据库原理与应用习题参考答案.docx_第6页
第6页 / 共31页
数据库原理与应用习题参考答案.docx_第7页
第7页 / 共31页
数据库原理与应用习题参考答案.docx_第8页
第8页 / 共31页
数据库原理与应用习题参考答案.docx_第9页
第9页 / 共31页
数据库原理与应用习题参考答案.docx_第10页
第10页 / 共31页
数据库原理与应用习题参考答案.docx_第11页
第11页 / 共31页
数据库原理与应用习题参考答案.docx_第12页
第12页 / 共31页
数据库原理与应用习题参考答案.docx_第13页
第13页 / 共31页
数据库原理与应用习题参考答案.docx_第14页
第14页 / 共31页
数据库原理与应用习题参考答案.docx_第15页
第15页 / 共31页
数据库原理与应用习题参考答案.docx_第16页
第16页 / 共31页
数据库原理与应用习题参考答案.docx_第17页
第17页 / 共31页
数据库原理与应用习题参考答案.docx_第18页
第18页 / 共31页
数据库原理与应用习题参考答案.docx_第19页
第19页 / 共31页
数据库原理与应用习题参考答案.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库原理与应用习题参考答案.docx

《数据库原理与应用习题参考答案.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用习题参考答案.docx(31页珍藏版)》请在冰点文库上搜索。

数据库原理与应用习题参考答案.docx

数据库原理与应用习题参考答案

习题参考答案

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

第3章习题参考答案

一、填空题

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.B2.A3.C4.B5.C6.C7.B8.D9.A10.D

三、设计题

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.数据库的结构设计、数据库的行为设计

2.新奥尔良法

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

4.需求分析

5.概念结构设计

6.自顶向下、自底向上

7.属性冲突、命名冲突、结构冲突

8.逻辑结构设计

9.确定物理结构、评价物理结构

10.数据库加载

11.运行和维护

12.物理

13.数据字典

14.需求分析

15.载入

二、选择题

1.B2.C3.C4.A5.C6.B7.C8.B9.D10.C

11.D12.B13.B14.D

二、设计题

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)所示。

 

 

 

 

数据库原理与应用教程与实训(Access版)习题答案

第1章习题答案

一、选择题

1.C2.D3.B4.A5.B6.D7.D8.A9.B10.B

二、填空题

1.二维表2.计算机3.1:

1(或一对一)m:

n(或多对多)4.属性元组

三、综合题

1.数据库管理技术的发展经历了5个阶段:

人工管理阶段、文件管理阶段、数据库管理阶段、分布式数据库管理阶段、面向对象数据库管理阶段。

2.在实际数据库系统中支持的数据模型主要有以下几种:

(1)层次模型是数据库系统最早使用的一种数据模型,它的数据结构是一棵有向树。

(2)网状模型是用网状结构表示实体及其之间联系的一种模型,也称为网络模型。

(3)关系模型是把数据的逻辑结构归结为满足一定条件的二维表的模型。

在关系模型中,每一个关系是一个二维表,用来描述实体与实体之间的联系。

3.关系数据库:

关系数据库是若干个依照关系模型设计的若干个关系的集合。

也就是说,是由若干个符合关系模型的二维表组成的。

关系数据库有以下特点:

∙关系数据库以面向系统的方式组织数据,从而使数据库具有较少的数据冗余。

∙关系数据库具有高度的数据和程序的相对独立性,从而使应用程序与数据的逻辑结构和数据的物理存储方式无关。

∙关系数据库中的数据具有较高的数据共享性。

∙关系数据库具有较好的数据一致性,便于统一管理和控制。

∙关系数据库具有较灵活和方便的数据更新能力,便于扩充。

4.数据库设计的基本步骤:

(1)需求分析。

收集和分析各项应用对信息和处理两方面的需求,这有助于确定需要数据库保存哪些信息,是设计数据库的基础和前提。

(2)确定需要的表。

根据需求分析,确定各个独立的表及相应的结构。

(3)确定联系。

根据实际需要,确定各实体间的联系。

(4)设计求精。

这是设计一个好的数据库的关键和保障。

对设计进一步分析,查找其中的错误。

5.在学生管理系统中,学校和校长之间是一对一的联系,学校和学生之间是一对多的联系,教师和学生之间是多对多的联系。

图略。

6.E-R图如下:

关系模式:

作者(作者号,姓名,单位,电话)

书(书号,书名,出版社,出版日期)

著作(书号,作者号,ISBN)

第2章习题答案

一、选择题

二、填空题

1.

三、综合题

 

第3章习题答案

一、选择题

二、填空题

1.一对一一对多多对多2.文本数字日期/时间是/否货币超链接3.表结构表数据表结构4.外部关键字5.主关键字6.数据表7.升8.文本备注

9.有效性规则10.内部联接右边外部联接左边外部联接

三、综合题

1.创建数据库有三种常用的方法:

一是利用“新建”创建一个空的数据库,二是根据已有文件新建数据库,三是利用数据库模板快速新建数据库。

2.

(1)单击工具栏上的“关系”按钮或者选择“工具”菜单中的“关系”命令。

(2)如果数据库没有定义任何关系,将会自动打开“显示表”对话框,选择要建立关系的表。

(3)从某个表中将所要的相关字段拖动到其他表中的相关字段,检查显示在两个列表中的字段名称以确保正确性,必要时可以进行更改。

如果需要,还可以设置关系选项。

(4)单击“新建”按钮,Access会在两个表的相关字段间设置一条关系线,用来表示它们之间的关系。

3.在数据库中,各个表中的字段必须是协调的,这样它们才能按照相同的顺序来显示信息。

这样的协调必须利用关系来完成。

关系通过匹配关键字字段中的数据来执行,关键字字段通常是两个表中具有相同名称的字段。

在大多数情况下,这些匹配的字段是表中的主关键字,对于每一个记录提供唯一的标识

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2