数据库系统原理及应用教程第四版课后答案(苗雪兰刘瑞新)机械
- 格式:docx
- 大小:40.79 KB
- 文档页数:7
第一章1、(1)数据:数据用于载荷信息的物理符号。
(2)数据的特征;○1数据有“型”和“值”之分;○2数据受数据类型和取值范围的约束;○3数据有定性表示和定量之分;○4数据应具有载体和多种表现形式。
3、(1)数据管理的功能:○1组织和保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存;○2数据维护功能,即根据需要随时进行插入新数据,修改原数据和删除失效数据的操作;○3数据查询和数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全和完整性控制功能,即能保护数据的安全和完整性。
(2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全和完整性。
4、(1)数据库:是数据管理的新方法和技术,他是一个按数据结构来存储和管理数据的计算机软件系统。
(2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法持自身完整的数据结构;使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。
5、(1)数据库管理系统:它是专门用于管理数据库的计算机管理软件。
数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行操作的功能。
(2)数据库管理系统主要功能:是数据存储、数据操作和数据控制功能。
其数据存储和数据操作是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除和修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询和统计功能,指通过对数据库的访问,为实际应用提供需要的数据。
第7章关系数据库理论1 本章概要前面已经讲述了关系数据库、关系模型的基本概念以及关系数据库的标准语言。
如何使用关系模型设计关系数据库,也就是面对一个现实问题,如何选择一个比较好的关系模式的集合,每个关系又应该由哪些属性组成。
这属于数据库设计的问题,确切地讲是数据库逻辑设计的问题,有关数据库设计的全过程将在第6章详细讨论。
本章讲述关系数据库规范化理论,这是数据库逻辑设计的理论依据。
要求了解规范化理论的研究动机及其在数据库设计中的作用,掌握函数依赖的有关概念,第一范式、第二范式、第三范式的定义,重点掌握并能够灵活运用关系模式规范化的方法和关系模式分解的方法,这也是本章的难点。
2 规范化问题的提出规范化理论的主要内容关系数据库的规范化理论最早是由关系数据库的创始人E.F.Codd提出的,后经许多专家学者对关系数据库理论作了深入的研究和发展,形成了一整套有关关系数据库设计的理论。
在该理论出现以前,层次和网状数据库的设计只是遵循其模型本身固有的原则,而无具体的理论依据可言,因而带有盲目性,可能在以后的运行和使用中发生许多预想不到的问题。
3 在关系数据库系统中,关系模型包括一组关系模式,各个关系不是完全孤立的,数据库的设计较层次和网状模型更为重要。
如何设计一个适合的关系数据库系统,关键是关系数据库模式的设计,一个好的关系数据库模式应该包括多少关系模式,而每一个关系模式又应该包括哪些属性,又如何将这些相互关联的关系模式组建一个适合的关系模型,这些工作决定了到整个系统运行的效率,也是系统成败的关键所在,所以必须在关系数据库的规范化理论的指导下逐步完成。
4 关系数据库的规范化理论主要包括三个方面的内容:函数依赖范式(Normal Form)模式设计其中,函数依赖起着核心的作用,是模式分解和模式设计的基础,范式是模式分解的标准。
4.1.2 关系模式的存储异常问题数据库的逻辑设计为什么要遵循一定的规范化理论?什么是好的关系模式?某些不好的关系模式可能导致哪些问题?下面通过例子进行分析: 5例如,要求设计教学管理数据库,其关系模式SCD如下:SCDSNOSNAGEDEPTMNCNOSCORE 其中,SNO表示学生学号,SN表示学生姓名,AGE表示学生年龄,DEPT表示学生所在的系别,MN表示系主任姓名,CNO表示课程号,SCORE表示成绩。
第一章1、(1)数据:数据用于载荷信息的物理符号。
123(2)数据的特征;之分;○数据受数据类型和取值范围的约束;○○数据有“型”和“值”4数据应具有载体和多种表现形式。
数据有定性表示和定量之分;○1组织和保存数据功能,即将收集到的数据合理地分类组织,将3、(1)数据管理的功能:○2数据维护功能,即根据需要随时进行其存储在物理载体上,使数据能够长期的被保存;○3数据查询和数据统计功能,即快速的插入新数据,修改原数据和删除失效数据的操作;○4数据的安全和完整性控制功能,即能保护数据得到需要的正确数据,满足各种使用要求;○的安全和完整性。
(2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全和完整性。
4、(1)数据库:是数据管理的新方法和技术,他是一个按数据结构来存储和管理数据的计算机软件系统。
1数据库中的数据具有整体性,即数据库中的数据要保(2)数据库中的数据具有的特点:○2数据库中的数据具有数据共享性,持自身完整的数据结构;○不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。
5、(1)数据库管理系统:它是专门用于管理数据库的计算机管理软件。
数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行操作的功能。
(2)数据库管理系统主要功能:是数据存储、数据操作和数据控制功能。
其数据存储和数据操作是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除和修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询和统计功能,指通过对数据库的访问,为实际应用提供需要的数据。
数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露和破坏,也就是避免数据被人偷看、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效和相容,防止不合语意的错误数据被输入或输出。
第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l )数据( Data ) :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义是不可分的。
解析在现代计算机系统中数据的概念是广义的。
早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。
现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。
数据与其语义是不可分的。
500 这个数字可以表示一件物品的价格是 500 元,也可以表示一个学术会议参加的人数有 500 人,还可以表示一袋奶粉重 500 克。
( 2 )数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
( 3 )数据库系统( DataBas 。
Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统和数据库是两个概念。
数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。
但是在日常工作中人们常常把数据库系统简称为数据库。
希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。
( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
解析 DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。
目前,专门研制 DBMS 的厂商及其研制的 DBMS 产品很多。
数据库一、选择题30’二、填空题20’ 涉及内容:C1,C2,C3,C7概念为主。
其余章节少量涉及。
三、问答题20’(4*5’)1.论述数据、数据库、数据库管理系统、数据库系统的概念;数据:描述事物的符号记录。
是数据库中存储的基本对象。
种类:文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等特点:数据与其语义是不可分的数据库:长期储存在计算机内、有组织的、可共享的大量数据的集合。
基本特征:⏹数据按一定的数据模型组织、描述和储存⏹可为各种用户共享⏹冗余度较小⏹数据独立性较高⏹易扩展数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件,是基础软件,是一个大型复杂的软件系统。
用途:科学地组织和存储数据、高效地获取和维护数据数据库系统:在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
2.数据库系统的特点☐数据结构化整体结构化不再仅仅针对某一个应用,而是面向全组织不仅数据内部结构化,整体是结构化的,数据之间具有联系数据库中实现的是数据的真正结构化数据的结构用数据模型描述,无需程序定义和解释数据可以变长数据的最小存取单位是数据项☐数据的共享性高,冗余度低,易扩充数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。
数据共享的好处减少数据冗余,节约存储空间避免数据之间的不相容性与不一致性使系统易于扩充☐数据独立性高物理独立性指用户应用程序与存储在磁盘上的数据库中数据是相互独立的。
当数据的物理存储改变了,应用程序不用改变。
逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。
数据的逻辑结构改变了,用户程序也可以不变。
数据独立性是由DBMS的二级映像功能来保证的☐数据由DBMS统一管理和控制DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
习题参考答案第1章习题参考答案一、选择题1. C2. B3. D4. C5. D6. B7. A8. B9. D 10. B11. C 12. D 13. D 14. D 15. B16. C 17. D 18. A 19. D 20. A21. D 22. D 23. C 24. A 25. C二、填空题1. 数据库系统阶段2. 关系3. 物理独立性4. 操作系统5. 数据库管理系统(DBMS)6. 一对多7. 独立性8. 完整性控制9. 逻辑独立性10. 关系模型11. 概念结构(逻辑)12. 树有向图二维表嵌套和递归13. 宿主语言(或主语言)14. 数据字典15. 单用户结构主从式结构分布式结构客户/服务器结构浏览器/服务器结构16. 现实世界信息世界计算机世界三、简答题1、简述数据库管理技术发展的三个阶段。
各阶段的特点是什么?????答:数据库管理技术经历了人工管理阶段、文件系统阶段和数据库系统阶段。
???(1)、人工管理数据的特点:??A、数据不保存。
B、系统没有专用的软件对数据进行管理。
C、数据不共享。
D、数据不具有独立性。
??????? (2)、文件系统阶段的特点:???A、数据以文件的形式长期保存。
B、由文件系统管理数据。
C、程序与数据之间有一定的独立性。
????D、文件的形式已经多样化E、数据具有一定的共享性(3)、数据库系统管理阶段特点:??A、数据结构化。
B、数据共享性高、冗余度底。
C、数据独立性高。
D、有统一的数据控制功能。
2、从程序和数据之间的关系来分析文件系统和数据库系统之间的区别和联系答:数据管理的规模日趋增大,数据量急剧增加,文件管理系统已不能适应要求,数据库管理技术为用户提供了更广泛的数据共享和更高的数据独立性,进一步减少了数据的余度,并为用户提供了方便的操作使用接口。
数据库系统对数据的管理方式与文件管理系统不同,它把所有应用程序中使用的数据汇集起来,以记录为单位存储,在数据库管理系统的监督和管理下使用,因此数据库中的数据是集成的,每个用户享用其中的一部分。
数据库系统原理及应用教程第四版课后答案(苗雪兰刘瑞新)机械习题88.1答:数据库的安全性是指保护数据库,以防止不合法的使用数据泄密、更改或破坏。
8.2数据库安全性和计算机系统的安全性有什么关系?8.2答:数据库安全性是计算机系统的安全性的一部分,数据库系统不仅要利用计算机系统的安全性保证自己系统的安全性,同时还会提供专门的手段和方法,使安全性能更好。
例如,在用户要求进入计算机系统时,系统首先根据用户输入的用户标识进行身份鉴定,只有合法的用户才准许进入计算机系统;对已进入的用户,DBMS还要进行存取控制,只允许用户执行合法操作;操作系统也会提供相应的保护措施;数据最后还可以以密码形式存储到数据库中。
8.3答:①用户标识与鉴别;②存取控制;③自主存取控制方法;④强制存取控制方法;⑤视图机制;⑥审计;⑦数据加密。
8.4答:①GRANT(授权)语句例:GRANTSELECT,INSERTON学生TO张勇WITHGRANTOPTION;②REVOKE(收回)语句例:REVOKEINSERTON学生FROM张勇;8.5答:数据库的完整性是指数据的正确性和相容性。
8.6答:数据库的完整性是指数据的正确性和相容性。
数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更改或破坏。
其相同点是两者都是对数据库中的数据进行控制,各自所实现的功能目标不同。
8.9答:①外码能够接受空值的问题;②在被参照关系中删除元组时,采用级联删除、受限删除或置空值删除的方法处理参照关系;③在参照关系中插入元组时,可以使用受限插入、递归插入两种方法处理参照关系;④修改关系的主码时,可以采用不允许修改主码、或允许修改关系主码,但必须保证主码的惟一性和非空性方法处理参照关系;⑤修改被参照关系时,可以采用级联修改、拒绝修改和置空值修改方法处理参照关系。
8.10答:数据库的并发控制就是为了控制数据库,防止多用户并发使用数据库时造成数据错误和程序运行错误,保证数据的完整性。
8.11答:并发操作可能会产生丢失修改、不可重复读和读“脏”数据的数据不一致问题。
用封锁的方法能避免这些不一致的情况。
8.12什么是封锁?8.12答:封锁是使事务对它要操作的数据有一定的控制能力。
封锁具有三个环节:第一个环节是申请加锁;第二个环节是获得锁;第三个环节是释放锁。
8.13答:基本的封锁类型有两种:排它锁(简称某锁)和共享锁(简称S锁)。
排它锁也称为独占或写锁。
一旦事务T对数据对象A加上排它锁,则只允许T读取和修改A,其他任何事务既不能读取和修改A,也不能再对A加任何类型的锁,直到T释放A上的锁为止。
共享锁又称读锁。
如果事务T对数据对象A加上共享锁,其他事务只能再对A加S锁,不能加某锁,知道事务T释放A上的S锁为止。
8.14答:封锁机制作为并发控制的重要手段,利用封锁的特性和封锁协议,它在并发操作保证事务的隔离性,用正确的方式调度并发操作,是一个用户事务的执行不受其他事务的干扰,从而避免造成数据的不一致性。
8.15什么是封锁协议?不同级别的封锁协议的主要区别是什么?答:在对数据对象加锁时,还需要约定一些规则,这些规则称为封锁协议。
一级封锁协议:是事务T在修改数据之前必须先对其加某锁,直到事务结束才释放,一级封锁协议可有效地防止丢失修改,并能够保证事务T的可恢复性。
一级封锁由于没有对数据进行加锁,所以不能保证可重复读和不读“脏”数据。
二级封锁协议:是事务T对要修改的数据必须先加某锁,直到事务结束才释放某锁;要读取的数据必须先加S锁,读完后即可释放S 锁。
二级封锁协议不但能够防止丢失修改,还可进一步防止读“脏”数据。
三级封锁协议:是事务T在读取数据之前必须先对其加S锁,在要修改数据之前必须先对其加某锁,直到事务结束后才释放所有锁。
由于三级封锁协议强调即使事务读完数据A之后也不释放S锁,从而使得别的事务无法更改数据A。
三级封锁协议不但防止了丢失修改和不读“脏”数据,而且防止了不可重复的读。
8.16不同封锁协议与系统一致性级别的关系是什么?答:一级封锁协议可有效地防止丢失修改,并能够保证事务T的可恢复性。
一级封锁由于没有对数据进行加锁,所以不能保证可重复读和不读“脏”数据。
二级封锁协议不但能够防止丢失修改,还可进一步防止读“脏”数据。
由于三级封锁协议强调即使事务读完数据A之后也不释放S锁,从而使别的事务无法更改数据A。
三级封锁协议不但防止了丢失修改和不读“脏”数据,而且防止了不可重复读。
8.17什么是活锁?什么是死锁?答:在多个事务请求对同一数据封锁时,总是使某一用户等待的情况称为活锁;多事务交错等待的僵持局面称为死锁。
8.18试述活锁的产生原因和解决方法。
答:活锁是封锁的无序造成的。
解决方法是采用先来先服务的方法,即对要求封锁数据的事务排队,使前面的事务先获得数据的封锁权。
8.19请给出预防死锁的若干方法。
答:预防死锁通常有以下两种方法:①一次封锁法,就是要求每个事务必须一次将所有要使用的数据全部加锁,否则该事务不能继续执行;②顺序封锁法,是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。
8.20请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?答:检测死锁发生的一种方法是选择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有锁,使其他事务得以继续运行下去。
解除死锁问题有两类方法:一类方法是采用一定措施来预防死锁的发生;另一类方法是允许发生死锁,然后采用一定手段定期诊断系统中有无死锁,若有则解除之。
8.21什么样的并发调度是正确的调度?答:如果一个事务运行过程中没有其他事务同时运行,即没有受到其他事务的干扰,那么就可以认为该事务的运行结果是正常的,可串行性是并发事务正确性的准则,为了保证并发操作的正确性,DBMS的并发控制机制必须提供一定的手段来保证调度是可串行化的。
8.22试述两段锁协议的概念。
答:所谓两段锁协议是指所有事务必须分两个阶段对数据项进行加锁和解锁:①在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;②在释放一个封锁之后,事务不再申请并获得对该数据的封锁。
即每个事务分成两个阶段,第一阶段是申请和获得封锁,也称为扩展阶段。
在这阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。
第二阶段是释放封锁,也称为收缩阶段。
在这阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁。
8.23为什么要引进意向锁?意向锁的含义是什么?答:事务T要对关系R1加某锁时,系统只需检查根结点数据库和关系R1是否已加了不相容的锁,而不再需要搜索和检查R1中的每一个元组是否加了某锁,对任一元组加锁,必须先对它所在的关系加意向锁。
意向锁的含义是:如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁;对任何一结加锁时,必须先对它的上层结点加意向锁。
8.24理解并解释下列术语的含义:封锁、活锁、死锁、排它锁、共享锁、并发事务的调度、可串行化的调度、两段锁协议。
答:①封锁:封锁是使事务对它要操作的数据有一定的控制能力。
②活锁:这种在多个事务请求对同一数据封锁时,总是使某一用户等待的情况称为活锁。
③死锁:这种多事务交错等待的僵持局面称为死锁。
④排它锁:排它锁也称为独占或写锁。
一旦事务T对数据对象A加上排它锁,则只允许T读取和修改A,其他任何事务既不能读取和修改A,也不能再对A加任何类型的锁,直到T释放A上的锁为止。
⑤共享锁:共享锁又称读锁。
如果事务T对数据对象A加上共享锁,其他事务只能再对A加S锁,不能加某锁,知道事务T释放A上的S锁为止。
⑥并发事务的调度:多个事务并发执行调度策略称为并发事务的调度。
⑦可串行化的调度:如果多个事务并发执行的结果与按串行执行的结果相同,这种调度策略称为可串行化的调度。
⑧两段锁协议:所谓两段锁协议是指所有事务必须分两个阶段对数据项进行加锁和解锁。
8.25说明数据不一致性中读“脏”数据的含义。
答:事务T1修改了某一数据并将其写回数据库,随后T2读入这个被T1修改过的数据,然而,T1由于某种原因被撤销了,于是它所修改的数据恢复原值。
这样一来,T2所读取的数据就与数据库中的数据不同了,这种现象就称为读“脏”数据。
8.26事务中的提交和回滚是什么意思?答:事务中的提交(COMMIT)是提交事务的所有操作。
具体说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。
事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态。
具体地说就是,在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤消,使数据库回滚到事务开始时的状态。
8.27为什么要进行数据库转储,比较各种数据转储方法?答:所谓转储即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。
这些备用的数据文本称为后备副本或后援副本。
当数据库遭到破坏后可以将后备副本重新装入,但重装后备副本只能将数据库恢复到转储时的状态,要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新事务。
转储可分为静态转储和动态转储。
静态转储是在系统中无运行事务时进行的转储操作。
显然,静态转储得到的一定是一个数据一致性的副本,转储简单,但转储必须等待正运行的用户事务结束才能进行,会降低数据库的可用性。
动态转储是指转储期间允许对数据库进行存取或修改。
必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件,后援副本加上日志文件就能把数据库恢复到某一时刻的正确状态。
转储还可以分为海量转储和增量转储两种方式。
海量转储是指每次转储全部数据库。
增量转储则指每次只转储上一次转储后更新过的数据。
从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来会更方便些。
但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。
8.31答:1)GRANTSELECTON职工,部门TO王明WITHGRANTOPTION;2)GRANTINSERT,DELETEON职工,部门TO李勇WITHGRANTOPTION;3)GRANTSELECT,UPDATE(工资)ON职工TO刘星WITHGRANTOPTION;4)GRANTALTERTABLETO张新WITHGRANTOPTION;5)GRANTALLPRIVILIGESON职工,部门TO周平WITHGRANTOPTION;6)CREATEVIEW部门工资统计(最高工资,最低工资,平均工资)ASSELECTMA某(工资),MIN(工资),AVG(工资)FROM职工GROUPBY部门号;GRANTSELECTON部门工资统计TO杨兰;8.32把上题中1)~6)的每个用户所授予的权力予以撤消。