数据库武洪萍版习题答案.docx
《数据库武洪萍版习题答案.docx》由会员分享,可在线阅读,更多相关《数据库武洪萍版习题答案.docx(14页珍藏版)》请在冰豆网上搜索。
数据库武洪萍版习题答案
习题答案
第一章习题
1.选择题
题号
答案
题号
答案
题号
答案
题号
答案
题号
答案
(1)
A
(2)
C
(3)
C
(4)
B
(5)
D
(6)
A
(7)
D
(8)
C
(9)
B
(10)
D
(11)
D
(12)
A
(13)
A
(14)
A
2.填空题
(1)物理数据独立性
(2)数据库管理系统((DBMS)
(3)现实世界、信息世界、数据世界
(4)码
(5)一对一(1:
1)、一对多(1:
n)、多对多(m:
n)
(6)概念数据模型E-R模型
(7)逻辑数据物理数据
(8)DBMS(数据库管理系统)DBA(数据库管理员)
(9)关系的参照
(10)θ
3.简答题
(1)数据模型是对现实世界的数据特征进行的抽象,来描述数据库的结构与语义。
数据模型的三要素是:
数据结构、数据操作、数据约束条件。
(2)逻辑数据独立性:
当模式改变时(如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变。
因而应用程序不必修改,保证了数据与程序的逻辑独立性,简称逻辑数据独立性。
物理数据独立性:
当数据库的存储结构改变了(如选用了另一种存储结构),由数据库管理员对模式/内模式映像作相应改变,可以保证模式保持不变,因而应用程序也不必改变。
保证了数据与程序的物理独立性,简称物理数据独立性
特定的应用程序是在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构相独立。
不同的应用程序可以共用同一外模式。
数据库的两级映像保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,使得数据库系统具有数据与程序的独立性。
(3)数据库系统由计算机硬件、数据库、数据库管理系统(及其开发工具)、数据库应用系统、数据库用户构成。
(4)DBA的职责是对使用中的数据库进行整体维护和改进,负责数据库系统的正常运行,是数据库系统的专职管理和维护人员。
系统分析员负责应用系统的需求分析和规范说明,要和用户及DBA结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。
数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。
应用程序开发人员负责设计和编写应用程序的程序模块,并进行测试和安装。
(6)目前比较流行的DBMS有VisualFoxPro、Access、SQLServer、MySQL、Oracle等。
第二章习题
1.选择题
题号
答案
题号
答案
题号
答案
题号
答案
题号
答案
(1)
C
(2)
A
(3)
B
(4)
C
(5)
C
(6)
D
(7)
B
(8)
A
(9)
D
(10)
C
(11)
C
(12)
D
(13)
D
(14)
B
(15)
A
(16)
C
(17)
C
(18)
A
(19)
B
(20)
D
(21)
D
(22)
C
(23)
C
(24)
B
(25)
B
(26)
D
(27)
D
(28)
B
2.填空题
(1)需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施、数据的运行和维护
(2)概念模型
(3)E-R图
(4)结构
(5)完全
(6)外码
(7)1NF(第一范式)
(8)平凡函数依赖
(8)3NF
3.简答题
(1)数据库的设计过程包括以下6个设计阶段:
需求分析、概念设计、逻辑设计、物理设计、数据库实施、数据库运行和维护。
需求分析就是根据用户的需求收集数据,是设计数据库的起点。
概念结构设计是整个数据库设计的关键,它通过对用户的需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
逻辑结构设计是指将概念模型转换成某个DBMS所支持的数据模型,并对其进行优化。
数据库物理设计是指为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果创建数据库(此项工作在第3章具体实现),编制与调试应用程序,组织数据入库,并进行试运行。
数据库运行与维护是指对数据库应用系统正式投入运行后,在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
需求分析、概念结构设计阶段独立于数据库管理系统;逻辑结构设计、数据库物理设计、数据库实施阶段、数据库运行与维护设计阶段依赖于数据库管理系统。
(2)需求分析的任务就是收集数据,要尽可能多地收集关于数据库要存储的数据以及将来如何使用这些数据的信息,确保收集到数据库需要存储的全部信息。
(3)概念结构设计是将需求分析得到的用户需求抽象为信息结构的过程。
概念结构设计的方法有以下4种:
1自顶向下。
2自底向上。
3逐步扩张。
4混合策略。
(4)E-R模型的图形表示称为E-R图。
构成E-R图的基本要素是实体、联系、属性。
(5)E-R图集成可以把多个局部E-R图合并集成为一个整体的全局E-R图,还需要消除各种冲突和数据冗余。
E-R图集成的方法有两种:
多元集成法、二元集成法。
(6)数据库逻辑设计是将概念结构转换成特定DBMS所支持的数据模型的过程。
一般的逻辑设计分为以下3步。
(1)初始关系模式设计。
(2)关系模式规范化。
(3)模式的评价与改进。
(7)规则2.1实体类型的转换:
将每个实体类型转换成一个关系模式,实体的属性即为关系的属性,实体的标识符即为关系模式的码。
规则2.2联系类型的转换:
根据不同的联系类型做不同的处理。
规则2.2.1若实体间联系是1∶1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式中加入另一个关系模式的码和联系类型的属性。
规则2.2.2若实体间的联系是1∶n,则在n端实体类型转换成的关系模式中加入1端实体类型的码和联系类型的属性。
规则2.2.3若实体间联系是m∶n,则将联系类型也转换成关系模式,其属性为两端实体类型的码加上联系类型的属性,而码为两端实体码的组合。
规则2.2.43个或3个以上的实体间的一个多元联系,不管联系类型是何种方法,总是将多元联系类型转换成一个关系模式,其属性为与该联系相连的各实体的码及联系本身的属性,其码为各实体码的组合。
规则2.2.5具有相同码的关系可合并。
(8)数据库物理设计的内容是为一个特定的逻辑数据模型选取一个最适合应用要求的物理结构。
其设计步骤可分为以下两步:
1)确定数据库的物理结构,在关系数据库中主要指存储结构和存取方法。
2)对物理结构进行评价,评价的重点是时间和空间效率。
4.综合题
(1)
出版社(出版社名,所在在址,联系电话)
作者(姓名,性别,年龄,工作单位,联系电话)
出版(出版社名,作者名,书名,出版数量,联系方式)
(2)
读者(读者号,姓名,地址,性别,年龄,单位)
图书(书号,书名,作者,出版社)
借阅(读者号,书号,借期,还期)
(3)职工(工号,姓名,性别,年龄,学历,部门号,岗位编号,基本工资,级别工资,养老金,失业金,公积金,纳税)
部门(部门号,部门名称,职能)
岗位(岗位编号,岗位名称,岗位等级)
技能(技能编号,技能名称,技能等级)
奖惩(序号,奖惩标志,项目,奖惩金额)
培训课程(课程号,课程名,教材,学时)
选课(职工号,课程号,时间,成绩)
设置(部门号,岗位编号,人数)
考核(职工号,技能号,时间,地点,级别)
接受(职工号,奖惩序号,奖惩时间)
(4)车间(车间号,车间名,主任名)
产品(产品号,产品名,单价)
仓位(仓位号,地址,主任名)
客户(客户号,客户名,联系人,电话,地址,税号,账号)
销售员(销售员号,姓名,性别,学历,业绩)
入库(车间号,产品号,仓位号,入库单号,入库量,入库日期,经手人)
存储(产品号,仓位号,核对日期,核对员,存储量)
出库(客户号,仓位号,产品号,出库单号,出库量,出库日期,经手人)
订单(产品号,客户号,销售员号,订单号,数量,折扣,总价,订单日期)
第三章习题
1.选择题
题号
答案
题号
答案
题号
答案
题号
答案
题号
答案
(1)
A
(2)
B
(3)
A
(4)
C
(5)
A
(6)
D
2.简述题(略)
第四章习题
1.选择题
题号
答案
题号
答案
题号
答案
题号
答案
题号
答案
(1)
D
(2)
A、C
(3)
D
(4)
A
(5)
A
(6)
B
(7)
A
(8)
D
(9)
D
(10)
B
(11)
B
(12)
B
(13)
A
(14)
D
(15)
C
(16)
B
(17)
B
(18)
B
(19)
A
(20)
D
(21)
B
(22)
A
(23)
D
(24)
A
(25)
C
(26)
C
(27)
C
(28)
C
2.填空题
(1)R.A=S.A
(2)WHEREGROUPBYHAVINGORDERBYASCDESCDistinctLIKE%_(下划线)
(3)嵌套子查询相关子查询
(4)BETWEEN20AND22
(5)πSname(σGrade<60(SC∞S))
(6)sc.c#=c.c#
(7)UPDATESCSET
(8)DROP
3.综合练习题
(1)①DELETEFROM学生WHERE学号=‘20013016’
②UPDATE教师SET所在部门=‘电信系’WHERE教师编号=‘003’
③ALTERTABLE学生ADD(奖学金INT)
(2)①SELECTCOUNT(DISTINCTC#)FROMSC
②SELECTAVG(AGE)FROMSWHERES#IN(SELECTS#FROMSCWHEREC#=‘C4’)
③SELECTAVG(GRADE)FROMSCWHEREC#IN(SELECTC#FROMCWHERETEACHER=‘李文’)GROUPBYC#
④SELECTSNAME,AGEFROMSWHERESNAMELIKE‘王%’
⑤INSERTINTOSTUDENTSELECTS#,SNAME,SEXFROMSWHEREEXISTS(SELECT*FROMSCWHERES.S#=SC.S#GROUPBYS#HAVINGMIN(GRADE)>=80)
或者
INSERTINTOSTUDENTSELECTS#,SNAME,SEXFROMSWHERESNOIN(SELECTSNOFROMSCGROUPBYS#HAVINGMIN(GRADE)>=80)
⑥INSERTINTOSVALUES(‘S9’,‘WU’,18,‘F’)
⑦UPDATESCSETGRADE=GRADE*1.1WHEREGRADE<(SELECTAVG(GRADE)FROMSC)ANDS#IN(SELECTS#FROMSWHERESEX=‘女’)
⑧DELETEFROMSCWHRERS#=(SELECTS#FROMSWHERESNAME=‘王林’)
(3)①CREATEDATABASE学生选课库
②学生表:
USEgrademanager
Go
CREATETABLEstudent
(snochar(10)PRIMARYKEY
snamevarchar(10),
ssexchar
(2)CHECK(ssexIN('男','女'))DEFAULT'男',
sdeptchar(8)
)
课程表
CREATETABLEcourse
(cnochar(5)NOTNULL,
cnamevarchar(20)NOTNULL,
ctermtinyintNOTNULL,
CONSTRAINTC1PRIMARYKEY(cno,cterm)
)
CREATETABLEsc
(snochar(10)NOTNULL,
cnochar(5)NOTNULL,
degreenumeric(5,1),
ctermtinyintNOTNULL,
CONSTRAINTA1PRIMARYKEY(sno,cno,cterm),
CONSTRAINTA2FOREIGNKEY(sno)REFERENCESSTUDENT(sno),
CONSTRAINTA3FOREIGNKEY(cno)REFERENCESCOURSE(cno),
CONSTRAINTA5CHECK(degreeBETWEEN0AND100)
)
第五章习题
1.选择题
题号
答案
题号
答案
题号
答案
题号
答案
题号
答案
(1)
C
(2)
A
(3)
A
(4)
C
(5)
B
(6)
A
(7)
A
(8)
D
(9)
A
(10)
B
(11)
D
(12)
A
(13)
C
(14)
A
(15)
A
(16)
B
(17)
A
(18)
D
(19)
C
(20)
D
注:
(12)题更正为:
下面关于关系数据库视图的描述,不正确的是()。
2.填空题
(1)基本表或已定义的视图定义数据
(2)WITHCHECKOPTION
(3)视图
(4)基本表
(5)普通索引唯一索引
(6)删除
(7)routinestriggers
(8)beforeafter
3.简答题(略)
(1)索引依赖于表建立,提供了数据库中编排表中数据的内部方法,使用索引可以从大量的数据中迅速找到所需要的数据,不再检索整个数据库,大大提高检索的效率。
(2)视图是从一个或多个基本表或视图中导出的虚拟表,数据库中只存放其定义,并不直接存储视图对应的数据,直到用户使用视图时才去查找对应的数据。
视图可以像基本表一样实现数据的查询操作,对视图的插入、修改、删除操作最终转换为对相应的基本表的操作,但有一定的限制。
(3)存储过程的特点:
增强了SQL语言的功能和灵活性、允许标准组件式编程、能实现较快的执行速度、能减少网络流量、可作为一种安全机制来充分利用。
触发器的特点:
触发器自动执行、可通过数据库中的相关表进行层叠更改、可以强制限制。
(4)游标在MySQL中是一种数据访问机制,允许用户访问单独的数据行,而不是对整个行集进行操作。
(6)如果视图中有下面所述属性,则插入、更新或删除操作将失败。
1)视图定义中的FROM子句包含两个或多个表,且SELECT选择列表达式中的列包含来自多个表的列。
2)视图的列是从集合函数派生的。
3)视图中的SELECT语句包含GROUPBY子句或DISTINCT选项。
4)视图的列是从常量或表达式派生的。
(7)1)索引可以提高数据的访问速度。
2)索引可以确保数据的唯一性。
(8)1.创建存储过程
1)利用CREATEPROCEDURE语句创建。
用户可以使用CREATEPROCEDURE语句创建存储过程,其基本语法如下。
CREATEPROCEDUREprocedure_name([proc_parameter[,…]])
[characteristic[,…]]
Routine_body
2)利用Navicat图形工具创建。
2.创建存储函数
1)利用CREATEFUNCTION语句创建。
在MySQL中,创建存储函数的基本语法如下。
CREATEFUNCTIONfunc_name([func_parameter[,…]])
RETURNStype
[characteristic[,…]]
Routine_body
3)利用Navicat图形工具创建。
(9)事务处理机制在程序开发过程中有着非常重要的作用,它可以使整个系统更加安全,能够保证数据库操作的一致性和完整性,可以确保同时发生的行为与数据的有效性不发生冲突。
事务的特性有:
原子性、一致性、隔离性、持久性。
(10)INSERT触发器:
将新行插入表时激活触发程序。
UPDATE触发器:
更改某一行时激活触发程序。
DELETE触发器:
从表中删除某一行时激活触发程序。
第六章习题
1.选择题
题号
答案
题号
答案
题号
答案
题号
答案
题号
答案
(1)
D
(2)
B
(3)
B
(4)
D
(5)
D
(6)
D
(7)
C
2.填空题
(1)userdbhosttables_privcolumns_privprocs_priv
(2)连接核实阶段请求核实阶段
(3)GRANTREVOKE
3.问答题(略)
(1)当数据库在服务器上运行时,数据库管理员的职责就是保护MySQL用户免遭用户的非法入侵,拒绝某访问数据库,保证数据库的安全性和完整性。
(2)
(3)全局层级:
作用于一个给定服务器上的所有数据库。
数据库层级:
作用于一个给定数据库的所有表。
表层级:
作用于一个给定表的所有列。
列层级:
作用于一个给定表的单个列。
子程序层级:
权限可以授予全局层级和数据库级别。
(4)二进制日志:
以二进制文件的形式记录了数据库中所有更改数据的语句。
错误日志:
记录MySQL服务的启动、关闭和运行错误等信息。
通用查询日志:
记录用户登录和记录查询的信息。
慢查询日志:
记录执行时间超过指定时间的查询操作或不使用索引的查询。
(5)数据备份就是制作数据库结构、对象和数据的复制,以便在数据库遭到破坏时,或因需求改变而需要把数据还原到改变以前时能够恢复数据库。
在系统发生错误或者因需求改变时,利用备份的数据可以恢复数据库中的数据。
(6)1.使用Navicat图形工具备份
2.使用mysqldump命令备份
1)备份数据库或表。
mysqldump备份数据库或表的基本语法格式如下。
mysqldump–uuser–hhost–ppassworddbname[tbname,[tbname…]]>filename.sql;
2)备份多个数据库。
使用mysqldump备份多个数据库,需要使用--databases参数,其基本语法格式如下。
mysqldump–uuser–hhost–p--databasesdbname[dbname…]]>filename.sql;
3.直接复制整个数据库文件夹