数据库原理及实践教材练习题答案.docx
《数据库原理及实践教材练习题答案.docx》由会员分享,可在线阅读,更多相关《数据库原理及实践教材练习题答案.docx(26页珍藏版)》请在冰豆网上搜索。
![数据库原理及实践教材练习题答案.docx](https://file1.bdocx.com/fileroot1/2022-12/12/17c77316-971f-4bf7-925f-35c0ccff27d4/17c77316-971f-4bf7-925f-35c0ccff27d41.gif)
数据库原理及实践教材练习题答案
第一章
一、单项选择题
二、填空题
1、文件系统
2、层次模型的系统,网状模型的报告,
3、数据的完整性,并发控制
4、操作系统,数据库管理系统
5、内
三、简答题
1、数据处理是指信息的收集、管理、加工、传播等一系列活动的总和。
数据管理是指对数据进行分类、组织、编码、存储、检索和维护。
数据管理是数据处理的基本环节,是任何数据处理业务中必不可少的共有部分,是数据处理的中心问题。
2、数据库技术的特点:
(1)数据整体结构化,数据的共享性高,冗余度小;
(2)程序与数据之间的独立性高;(3)数据得到统一管理和控制。
数据的整体结构化是数据库技术的主要特征之一,也是数据库系统与文件系统的根本区别。
文件系统是数据库技术的基础,因为数据库技术中对数据库的读写操作最终还是通过文件系统去实现的。
3、尽管有各种各样的信息系统,但它们的主要功能都是进行信息处理(即数据处理),而数据处理都涉及到数据的管理问题。
如果数据的管理由各个信息系统自己去实现,不但耗时耗钱,而且系统的稳定性、可靠性、安全性、响应时间都不能得到保证。
因为数据管理软件的编写是一项专业性很强的工作,不是一般的程序员可以胜任的。
采用数据库技术后,数据的管理就由去完成,而是专业公司开发的,系统的稳定性、可靠性、安全性、响应时间都有保证,而且缩短了系统的开发时间,节约了成本。
4、数据库系统是引入了数据库技术后的计算机系统,一般由数据库、数据库管理系统(及其开发工具)、数据库应用系统、数据库管理员()构成。
是数据库系统中最重要的一类人员。
具体职责包括:
(1)决定数据库中的信息内容和结构;
(2)决定数据库的存储结构和存取策略;(3)定义数据的安全性要求和完整性约束条件;(4)监控数据库的使用和运行;(5)数据库的改进和重组。
5、目前最常见的商用有:
、2、、等。
一般有六大功能:
(1)数据定义功能;
(2)数据组织、存储和管理;(3)数据操纵功能;(4)数据库的运行管理和事务管理;(5)数据库的建立和维护功能。
6、模式是数据库中全体数据的逻辑结构和特征的描述,是全体用户数据的最小并集。
数据库模式以某一种数据模型为基础,综合考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。
一个数据库只有一个模式。
外模式是用户的数据视图,是用户可看见和使用的局部数据逻辑结构和特征的描述,是与某一具体应用有关的数据的逻辑表示。
显然,外模式是模式的子集,且可以有多个。
内模式是数据库中数据的物理结构和存储方法的描述,是数据在数据库内部的表示方式。
内模式负责定义所有数据的物理存储策略和访问控制方法。
一个数据库只有一个内模式。
7、数据库系统采用外模式、模式、内模式三级模式结构,三级模式是对数据的三个抽象级别,它把数据的具体组织留给管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式和存储方式,不必考虑存取路径等细节。
在这三级模式之间提供了两层映像:
外模式/模式映像、模式/内模式映像。
正是这两层映像保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性。
另外,外模式是数据库安全性的一个有力措施,模式实现了数据的共享,减少了数据的冗余。
8、程序与数据的逻辑独立性是指当模式改变时,可由数据库管理员改变外模式/模式映像,使得每个外模式保持不变,而应用程序是根据外模式编写的,从而不必修改应用程序。
程序与数据的物理独立性是指当内模式改变时,可由数据库管理员改变模式/内模式映像,使得模式保持不变(外模式当然也不变),从而不必修改应用程序。
第二章
一、单项选择题
二、填空题
1、模拟现实世界
2、数据结构
3、逻辑模型
4、实体
5、多对多
6、网状模型,面向对象模型
7、指针
8、关系
9、候选码
10、实体完整性,参照完整性
三、简答题
1、概念模型具有较强的语义表达能力,能够方便、直接地表达应用所涉及到的现实世界中的各种语义知识,另一方面它概念简单、清晰,易于用户理解,且不依赖于具体的计算机系统。
概念模型主要用于数据库设计,是用户与数据库设计人员之间进行交流的桥梁。
2、表示概念模型最常用的方法是用图来表示概念模型,这种概念模型也称模型。
画图的步骤:
(1)确定实体;
(2)确定各实体的属性;(3)确定实体之间的联系;(4)确定各联系的属性。
3、非关系模型中实体之间的联系是通过指针来实现的,因此查询效率较高。
缺点是数据结构复杂,不易理解,编程也复杂。
关系模型的优点是:
①有严格的理论基础,概念单一;②数据结构简单、清晰、用户易理解;③存取路径对用户透明,程序与数据的独立性高,易于应用程序的编写和维护。
缺点主要是查询效率不如非关系模型,的开发难度高。
4、在关系模型中的概念单一主要体现在数据结构单一(即现实世界中实体以及实体之间的各种联系都用关系来表示),而数据结构单一又带来操作符的统一。
操作符的统一体现在无论是插入(或删除修改)一个实体值还是插入(或删除修改)一个联系值,操作的命令是相同的(不像中用插入实体值,用插入联系值),这大大方便了用户的使用。
5、所谓存储路径对用户透明就是指用户不需要知道数据的物理结构和存储方式。
优点:
因为存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,简化了程序员的工作。
缺点:
因为存取路径对用户透明,导致查询效率不如非关系系统,增加了开发的难度。
6、关系模型中有三类完整性约束,包括实体完整性、参照完整性和用户定义的完整性。
其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系数据库系统自动支持。
实体完整性规则:
若属性A是基本关系R主码中的属性,则属性A不能取“空值”。
参照完整性规则:
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码相对应(R和S可以是同一个关系),则对于R中每个元组在F上的值必须等于S中某个元组的主码值或者取空值(F的每个属性值均为空值)。
用户定义的完整性是针对某一具体的关系数据库的约束条件,它反映了某一具体应用所涉及的数据必须满足的语义要求。
7、外码不是一定可以取空值的。
当外码是本关系主码中的属性时,外码不能取空值,如果取空值将违反实体完整性规则。
例如,选修关系中的外码“学号”和“课程号”就不能取空值。
所以只有当外码不是本关系主码中的属性时,外码才可以取空值。
8、用户只要告诉系统操作的要求,不必告诉系统如何来完成该操作(即用户只要告诉系统“做什么”,而不必告诉“怎么做”)的语言就是非过程化语言。
9、自然连接是一种特殊的等值连接,它与等值连接的区别表现在:
被连接的两个关系中进行相等比较的分量必须是相同的属性(组),并且要在结果中把重复的属性(组)去掉。
10、例如,如果要实现查询要求“查询所有学生信息并同时查询他的选课信息”,这时就要做学生关系与选修关系的自然连接,如果有学生还没有选修过课程,那么该学生信息将会在结果关系中消失,不符合查询要求,这时就要用到左外连接。
四、关系代数
1、π,(σ'海尔'())
2、π,(σ'手机'∧'华为'())
3、π()-π()
4、π,,()(π()-π(σ>='2015-01-01'()))
5、π,()÷π(σ'140010123'∨'150020234'())也可以用自连接做
6、π,()÷π(σ'奶粉'())
7、()销售总数量(π(σ'700N无线路由器'∧''()))
8、()品种数,()平均价格()
9、π(σ平均价格>'1000'(()平均价格()))
10、π,,,,()
第三章
一、单项选择题
二、填空题
1、主数据,日志
2、查询速度,1
3、1,主
4、字符数据,二进制数据
5、系统,系统,数据字典,系统
6、用户,
7、拒绝
8、删除
三、简答题
1、数据定义语言()主要定义数据库的逻辑结构,包括定义基本表、索引和视图三个部分;数据操纵语言()包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和修改三种操作;数据控制语言()主要有对基本表和视图的授权,事务控制语句等。
2、语言的主要特点包括:
(1)综合统一,即集、和功能于一体;
(2)面向集合的操作方式,即操作的对象和操作的结果都是元组的集合;(3)高度非过程化,即在完成某项查询要求时,用户无需了解存取路径,只要提出“做什么”,不必指出“怎么做”;(4)以同一种语法结构提供两种使用方式,即独立地用于联机交互的使用方式和嵌入到高级语言中这两种不同的使用方式下,语法结构是基本上一致的;(5)支持三级模式结构。
3、的完整性控制机制都应有完整性定义、完整性检查和违约处理这三方面的功能。
4、列级完整性约束条件中涉及的属性只能是本列中的属性,而表级完整性约束条件中涉及的属性可以是本表中所有列中的属性。
5、语言中,在用语句创建表时,可以用定义主码,定义主码即实现了实体完整性;也可以用定义外码,定义外码即实现了参照完整性。
6、用户定义的完整性就是针对某一具体应用的数据必须满足的语义要求。
在中可以在列级或表级用(属性取非空值)、(属性取值唯一)和(检查属性值是否满足一个逻辑表达式)三种形式实现用户定义的完整性。
另外,语言中的(属性取默认值)也可以理解为列级用户定义的完整性约束。
7、三种处理方式:
(1)拒绝()执行,即不允许执行该操作,一般为默认违约处理方式。
(2)级连()操作,表示当删除或修改被参照表的一个元组造成了参照表中某些元组的外码违反了参照完整性约束,则系统会自动删除或修改参照表中所有违反参照完整性约束的元组。
(3)设置为空值(),表示当删除或修改被参照表的一个元组造成了参照表中某些元组的外码违反了参照完整性约束,则系统会自动将参照表中所有违反参照完整性约束的元组的外码设置为空值。
8、只有一种处理方式,拒绝()执行,即不允许执行该操作。
四、语言
1、
((8),
(12),
(2)(('男','女')),
(50),
(11),
(30)
)
((9),
(20),
(8),
(9,2)(1100000),
(12)
)
((14),
(50),
(8)(),
(1)(('N','Y'))
)
((14)(),
(9)(),
(1100),
()
)
2、1(>=10)
2()
3、
(11000)
4、,'海尔'
5、,'华为''%手机%'
6、(*)
7、,(*),()
8、()>1000
9、,,,SC'N''2015-05-01''2015-05-31'
10、,,,,CS
11、,,,(*)S,C,D,G,,
12、()DG'''700N无线路由器'
另一种做法:
()('''700N无线路由器')
13、()
14、,,(>='2015-01-01')
15、,,G=(())
16、,,(()>(()))
17、D'140010123'(*'150020234')
另一种做法:
'140010123''150020234'(*)=2
18、C(*G'奶粉'(*SD))
19、,,G,(,())
20、0.95*'手机'
21、'110050111'
22、('150050111','P8手机','手机',2499,'华为')
第四章
一、单项选择题
二、填空题
1、搜索码,搜索码值
2、有序
3、稀疏,稠密,1,多
4、249,16
5、
6、,
7、索引视图
三、简答题
1、模式有语句,子模式有语句,内模式有语句。
2、表中每个搜索码值都有一个索引项,这种索引称为稠密索引。
当表按照搜索码值有序存储时,可以只为搜索码的某些值建立索引项,这种索引称为稀疏索引。
稠密索引可以比稀疏索引更快地定位一条记录,但稠密索引所占用的存储空间比稀疏索引大。
3、所谓聚集索引就是指表中的元组按照索引中搜索码指定的顺序排序,使得具有相同搜索码值的元组在物理上聚集在一起。
显然,一张表最多只能有一个聚集索引。
聚集索引往往是稀疏索引,可以只存储部分搜索码值。
因为表中的元组是按聚集索引而不是辅助索引的搜索码有序存放的,所以辅助索引必须是稠密索引,对每个搜索码值都有一个索引项,包含指向表中每个元组的指针。
显然,一张表可以创建多个辅助索引。
4、如果索引小到可以放在内存中,那么搜索一个索引项的时间就可以忽略。
但是,如果索引过大而不能放在内存中,那么当需要时,就必须从磁盘中读取索引块,于是搜索一个索引项可能需要多次读取磁盘块,是一个相当耗时的过程。
所以不管是聚集索引,还是辅助索引,当索引项很多,索引很大时,实际使用的往往都是多级索引。
5、见教材4.1.2小节
6、基本表在数据库中既要存放它的定义,又要存放它的数据。
而视图是从一张或几张基本表(或视图)导出的表。
与基本表不同,视图是一张虚表,在数据库中只存放视图的定义(即语句),不存放视图对应的数据(即语句的查询结果)。
两者的联系是视图的数据在它对应的基本表中,所以基本表中的数据一旦发生变化,从视图中查询出的数据也就随之改变了。
从这个意义上讲,视图就像一个窗口,通过它用户可以看到数据库中自己感兴趣的数据及其变化。
7、如果定义视图的子查询对下列条件都能满足,那么该视图是可以更新的:
(1)子句中只有一个数据库关系;
(2)子句中只包含关系的属性名,不包含任何表达式、聚集函数或短语;(3)没有出现在子句中的属性可以取空值,也不是主码中的属性;(4)子查询中没有或子句。
四、语言
1、()
2、(,)
3、(,)
4、
*'手机'
5、
*'华为'
6、(,,,)
,,()GD,,,
7、,,=(())
8、(,,,,,)
,,,,(*)S,C,D,G,,,,
9、,,'2014-01-01''2014-12-31',,()>10000
10、('150050111','P8手机','手机',2499,'华为')
第五章
一、单项选择题
二、填空题
1、网络系统
2、合法权限检查机制
3、自主,强制
4、视图机制,审计,数据加密
5、,,
6、
7、数据库对象,操作类型
8、,混合
三、简答题
1、数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。
数据库的完整性是指数据库的任何状态变化都能反映真实存在的客观世界的合理状态,数据库中的数据应始终保持正确且合理的状态。
也就是说,数据库的完整性是指数据的正确性和相容性。
两者的定义已经看出两者的区别,而两者的联系主要体现在触发器机制既可以用来实现完整性,也可以用来实现安全性。
2、数据库安全性控制的常用方法和技术有:
1、用户标识和鉴别;2、存取控制;3、视图机制;4、审计;5、数据加密。
3、在中,有登录名和数据库用户两个概念。
登录名是验证用户是否有权限连接到服务器,数据库用户是验证用户登录服务器后是否有对服务器上的某个数据库进行操作的权限。
用户必须拥有和自己登录名对应的数据库用户才可以对某个数据库进行操作,这样增强了数据库的安全性,避免了一个用户在登录到服务器后可以对服务器上的所有数据库进行操作。
可以用和创建和删除登录名,用和创建和删除数据库用户。
4、角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。
可以为一组具有相同权限的数据库用户创建一个角色,所以也可以说角色是具有相同权限的数据库用户组。
对一个角色授权或收回权限适用于该角色的所有成员,因此使用角色来管理权限可以简化授权的过程。
5、可以用和创建和删除角色,用系统存储过程和为角色添加成员和从角色删除成员。
6、固定角色是系统内置的(预先定义好的),用户不能添加、修改或删除固定角色,只能修改固定角色的成员。
固定角色分为固定服务器角色和固定数据库角色两大类。
固定服务器角色有八种,其成员是登录名;而固定数据库角色有十种,其成员是数据库用户。
可以用系统存储过程为某个固定服务器角色添加成员,用从某个固定服务器角色中删除成员。
可以用系统存储过程为某个固定数据库角色添加成员,用从某个固定数据库角色中删除成员。
第六章
一、单项选择题
二、填空题
1、
2、
3、@
4、多语句表值型
5、游标
6、
7、
8、
9、
10、
三、简答题
1、批是一起提交给服务器执行的一个或多个语句的集合。
由于批中的语句是作为一个整体发送给服务器进行语法分析、优化、编译和执行,所以大大提高了执行效率。
批也常常被用在某些事必须在前面做,或者必须与其他事分开的脚本中。
2、一条语句只能给一个变量赋值,而一条语句可以给多个变量赋值。
另外,语句也可以把查询的结果存放到局部变量中保存起来。
3、关闭游标意味着释放当前数据结果集,并解除定位于游标的行上的游标锁定;关闭游标并不释放它占用的数据结构以便重新打开,但在重新打开游标之前,不允许读取和定位修改。
如果一个游标名或游标变量是最后引用游标的名称或变量,则释放游标后,游标使用的任何资源也随之释放。
4、存储过程是一组实现某个特定功能的语句的集合,经预编译后存储在服务器上的数据库中。
存储过程可以避免代码的重复,隐藏的细节,实现对业务逻辑的封装。
存储过程既提高了执行效率,又减少了网络流量,降低了网络负载。
另外,系统管理员可以通过对执行存储过程的权限进行限制,避免非授权用户对数据的访问,保证数据的安全性。
5、触发器作为一种特殊类型的存储过程,不同于存储过程,触发器不能被显式地调用,当触发器所定义的触发事件发生时,触发器被触发而自动执行。
触发器的主要作用是能够实现比参照完整性更为复杂的两张表或多张表之间的数据的完整性和一致性,从而保证表中数据的变化符合数据库设计者所确定的业务规则。
触发器也可以用来实现数据库的安全性。
四、语言
('12345678','张永斌','男',35,'上海市',,'163')
('12345680','李元祥','男',23,'上海市',,'163')
('12345682','王雪旖','女',19,'苏州市',,'163')
('140010123','1.5匹变频空调','空调',2799,'海尔')
('140050234','B199电信手机','手机',999,'华为')
('150020234','16G至尊高速卡','存储卡',39,'闪迪')
('150050111','P8手机','手机',2499,'华为')
('278','2014-10-01','上海市','12345678','N')
('280','2014-11-11','上海市','12345680','Y')
('278','140010123',3)
('280','140050234',1)
('280','150020234',2)
1、
年销售总金额(@年份=2014)
@总金额
@总金额(*)
SDG
()年份
@总金额
年销售总金额()
年销售总金额(2015)
2、
年各月份销售总金额(@年份=2014)
(月份,(*)月销售总金额
(()月份,,
SD
G
()年份)
月份
)
*年各月份销售总金额()
*年各月份销售总金额(2015)
3、
年销售总金额
@年份=2014,
@总金额
@年份2
(*()年份)1
@总金额(*)
SDG
()年份
0
下面是一个执行该自定义存储过程的示例:
@返回值,@总金额
@返回值=年销售总金额,@总金额
@返回值=2'必须提供年份!
'
@返回值=1'该年份没有销售记录!
'
@总金额
4、
(12,2)0
计算销售单金额
(14),(12,2)
0
=(*)
DG=
=
=
执行下列三句语句,可以验证存储过程的功能:
=0
计算销售单金额
*
5、
客户信息
(30)
=
('@',)=0
('事务将被取消,电子邮箱中缺少“@”字符!
',10,2)
执行下列语句可验证触发器的功能:
('12345684','陈嫣红','女',28,'杭州市',,'163')
6、
修改销售单金额
>0
(14),(9),
(14),(9),
(9,2)
新数量
,
旧数量
,
新数量
旧数量
新数量,,
旧数量,,
==
0
*()
新数量
,
旧数量
,
==
新数量
旧数量
新数量
旧数量
执行下列语句可验证触发器的功能:
=2
='278'='140010123'
第七章
一、单项选择题
二、填空题
1、隔离性,原子性,持久性
2、已提交,已中止
3、自动提交
4、读脏数据
5、二
6、先来先服务,一次,顺序
7、隐式
8、自上而下,自下而上
9、高,低
10、隔离级别,锁定提示
11、冗余,冗余数据,冗余数据
12、数据转储,登记日志
13、事务故障,系统故障
14、完全差异,事务日志
15、完全,大容量日志
16、内容,频率
17、物理,逻辑
18、逻辑备份设备,
三、简答题
1、所谓事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
事务具有四个特性,即原子性()、一致性()、隔离性()和持续性()。
原子性表示事务中包含的数据库操作要么都做,要么都不做。
这一性质即使在系统发生各种故障之后仍能得到保证。
一致性保证事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性表示一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰,即每个事务都感觉不到系统中有其他事务在并发地执行。
持续性指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的,接下来的其他操作或故障不应该对其执行结果有任何影响。
2、在2005中,可以通过显式、自动提交或隐式三种模式来管理事务。
只要用户使用显式事务模式,就按显式事务模式处理。
若用户不使用显式事务模式,就按语句{|}来管理事务模式,该设置的默认值为。
当设置为时,被设置为隐式事务模式;当设置为时,返回到自动提交事务模式。
默认情