封锁是使事务对它要操作的数据有一定的控制能力。封锁具有三个环节.第一个环节是申请加锁.第二个环节是获得锁;第三个环节是释放锁。
16 答.
基本的封锁类型有两种:排它锁(简称X锁)和共享锁(简称S锁)。
排它锁也称为独占或写锁、一旦事务T对数据对象A加上排它锁.则只允许T读取和修改A.其他任何事务既不能读取和修改A,也不能再对A加任何类型的锁 直到T释放A上的锁为止。
共享锁又称读锁、如果事务T对数据对象A加上共享锁,其他事务只能再对A加S锁,不能加X锁,知道事务T释放A上的S锁为止。
17 答:
封锁机制作为井发控制的重要手段.利用封锁的特性和封锁协议,它在井发操作保证事务的隔离性.用正确的方式调度并发操作.是一个用户事务的执行不受其他事务的干扰.从而避免造成数据的不一致性。
18 答.
在对数据对象加锁时,还需要约定一些规则 这些规则称为封锁协议。
一级封锁协议:是事务T在修改数据之前必须先对其加X锁.直到事务结束才释放。一级封锁协议可有效地防止丢失修改 并能够保证事务T的可恢复性、一级封锁由于没有对数据进行加锁,所以不能保证可重复读和不读“赃”数据。
二级封锁协议;是事务T对要修改的数据必须先加X锁.直到事务结束才释放X锁;要读取的数据必须先加S锁.读完后即可释放S锁。M级封锁协议不但能够防止丢失修改,还可进一步防止读“脏”数据。
三级封锁协议:是事务T在读取数据之前必须先对其加S锁.在要修改数据之前必须先对其加X锁.直到事务结束后才释放所有锁、由于三级封锁协议强调即使事务读完数据A之后也不释放S锁 从而使得别的事务无法更改数据A、三级封锁协议不但防止了丢失修改和不读“脏”数据,而且防止了不可重复的队
19 答:
一级封锁协议可有效地防止丢失修改,并能够保证事务T的可恢复性。一级封锁由于没有对数据进行加锁,所以不能保证可重复读和不读“脏’数据。
二级封锁协议不但能够防止丢失修改.还可进一步防u读“脏”数据。
由于三级封锁协议强调即使事务读完数据A之后也不释放S锁,从而使别的事务无法更改数据A。三级封锁协议不但防止了丢失修改和不读“胜数据.而且防u了不可重复读。
20 答;
在多个事务请求对同一数据封锁时,总是使某一用户等待的情况称为活锁;多事务交错等待的僵持局面称为死锁。
21 答;
活锁是封锁的无序造成的、解决方法是采用先来先服务的方法,即对要求封锁数据的事务排队.使前面的事务先获得数据的封锁权。
22 答:
预防死锁通常有以下两种方法; ①一次封锁法.就是要求每个事务必须一次将所有要使用的数据全部加锁.否则该事务不能继续执行.
②顺序封锁法.是预先对数据对象规定一个封锁顺序.所有事务都按这个顺序实行封锁。
23 答:
检测死锁发生的一种方法是选择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有锁.使其他事务得以继续运行下去。
解除死锁问题有两类方法:一类方法是采用一定措施来预防死锁的发生.另一类方法是允许发生死锁.然后采用一定手段定期诊断系统中有无死锁.若有则解除之。
24 答.
如果一个事务运行过程中没有其他事务同时运行,即没有受到其他事务的干扰,那
么就可以认为该事务的运行结果是正常的,可串行性是井发事务正确性的准则 为了保证并发操作的正确性.DBMS的并发控制机制必须提供一定的手段来保证调度是可串行化的。
25 答:
所谓两段锁协议是指所有事务必须分两个阶段对数据项进行加锁和解锁. ①在对任何数据进行读、写操作之前.首先要申请并获得对该数据的封锁. ②在释放一个封锁之后,事务不再申请并获得对该数据的封锁。
即每个事务分成两个阶段,第一阶段是申请和获得封锁,也称为扩展阶段。在这阶段.事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第二阶段是释放到锁.也称为收缩阶段。在这阶段,事务可以释放任何数据项上的任何类型的锁。但是不能再申请任何锁。
26 答:
事务 T要对关系 RI加 X锁时,系统只需检查根结点数据库和关系 RI是否已加了不相容的锁.而不再需要搜索和检查RI中的每一个元组是否加了X锁.对任一元组加锁.必须先对它所在的关系加意向锁。
意向锁的含义是.如果对一个结点加意向锁。则说明该给点的下层结点正在被加销:对任何一结加锁时.必须先对它的上层结点加意向锁。
27 答:
①封锁.封锁是使事务对它要操作的数据有一定的控制能力。 ③活锁:这种在多个事务请求对同一数据封锁时.总是使某一用户等待的情况称为活锁。
③死锁.这种多事务交错等待的僵持局面称为死锁。
④排它锁.排名锁也称为独占或写锁、一旦事务T对数据对象A加上排它锁,则只允许T读取和修改A.其他任何事务既不能读取和修改A.也不能再对A加任何类型的锁.直到T释放A上的锁为止。
⑤共享锁:共享锁又称读锁、如果事务T对数据对象A加上共享锁.其他事务只能再对A加S锁.不能加X锁.知道事务T释放A上的S锁为上。
③井发事务的调度.多个事务并发执行调度策略称为并发事务的调度。
①可串行化的调度:如果多个事务并发执行的结果与按串行执行的结果相同 这种调度策略称为可串行化的调度。
③两段锁协议.所谓两段锁协议是指所有事务必须分两个阶段对数据项进行加锁和解锁。
数据库综合练习一
一、选择题
1.描述事物的符号记录称为________。 A、信息 B、数据 C、记录 D、记录集合
2. ____是长期存储在计算机内的有组织,可共享的数据集合。 A、数据库管理系统 B、数据库系统 C、数据库 D、文件组织 3._____是位于用户与操作系统之间的一层数据管理软件。
A、数据库系统 B、数据库管理系统 C、数据库 D、数据库应用系统 4.数据库系统不仅包括数据库本身,还要包括相应的硬件、软件和_____。 A、数据库管理系统 B、数据库应用系统
C、数据库应用系统; D、各类相关人员
5.在人工管理阶段,数据是_____。 A、有结构的 B、无结构的
C、整体无结构,记录内有结构 D、整体结构化的
6.在数据库系统阶段,数据是_____。
A、有结构的 B、无结构的 C、整体无结构,记录内有结构 D、整体结构化的 7.在文件系统阶段,数据_____
A、无独立性 B、独立性差 C、具有物理独立性 D、具有逻辑独立性 8.数据库系统阶段,数据_____。 A、具有物理独立性,没有逻辑独立性 B、具有物理独立性和逻辑独立性 C、独立性差
D、具有高度的物理独立性和一定程度的逻辑独立性
9.非关系模型中数据结构的基本单位是_____。
A、两个记录型间的联系 B、记录 C、基本层次联系 D、实体间多对多的联系 10.数据的正确、有效和相容称之为数据的_____。 A、安全性 B、一致性 C、独立性 D、完整性
11.在数据模型的三要素中,数据的约束条件规定数据及其联系的_____。 A、动态特性 B、制约和依存规则 C、静态特性 D、数据结构
12._____属于信息世界的模型,实际上是现实世界到机器世界的一个中间层次。 A、数据模型 B、概念模型 C、E-R图 D、关系模型
13.在对层次数据库进行操作时,如果删除双亲结点,则相应的子女结点值也被同时删除。这是由层次模型的_____决定的。
A、数据结构 B、数据操作 C、完整性约束 D、缺陷
14.客户/服务器结构与其它数据库体系结构的根本区别在于_____。 A、数据共享 B、数据分布 C、网络开销小 D、DBMS和应用分开
15.由于进程数目少,内存开销和进程通讯开销小,因此_____是较优的一种。 A、N方案 B、2N方案 C、M+N方案 D、N+1方案 16.数据库系统软件包括_____和_____。
? 数据库 ? DBMS ? OS、DBMS和高级语言 ? DBMS和OS ?数据库应用系统和开发工具 A、(1)和(2) B、(2)和(5) C、(3) D、(4)
17.数据管理技术经历了人工管理,_____和_____。 ? DBMS ? 文件系统 ? 网状系统 ? 数据库系统 ? 关系系统
A、(3)和(5) B、(2)和(3) C、(1)和(4) D、(2)和(4)
18.数据库系统包括_____、_____和_____。 ? 数据库 ? DBMS ? 硬件,
? 数据库、相应的硬件、软件 ? 各类相关人员
A、(1)、(2)和(3) B、(1)、(2)和(5) C、(2)、(3)和(4) D、(2)、(3)和(5) 19.在数据库系统中,我们把满足以下两个条件的基本层次联系的集合称为层次模型:
(1)有一个结点无双亲 (2)其它结点无双亲 (3)有且仅有一个结点无双亲 (4)其它结点有且仅有一个双亲 (5)允许其它结点有多个双亲 A、(1)和(2) B、((3)和(4) C、(3)和(5) D、(2)和(5)
20.在数据库系统中,将满足以下两个条件的基本层次联系集合称为网状模型:?_____,?_____。
(1)允许一个以上的结点无双亲 (2)仅有一个结点无双亲 (3)一个结点可以有多于一个双亲 (4)每个结点仅有一个双亲 (5)每个结点的双亲是唯一的
A、(3)和(4) B、(2)和(3) C、(3)和(4) D、(1)和(3)
21.数据库的完整性是指数据的_____和_____。
(1)正确性 (2)合法性 (3)不被非法存取 (4)相容性 (5)不被恶意破坏 A、(1)和(3) B、(2)和(5) C、(1)和(4) D、(2)和(4)
22.数据库系统的数据独立性是指_____。 A、不会因为数据的变化而影响应用程序
B、不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序 C、(不会因为存储策略的变化而影响存储结构
D、不会因为某些存储结构的变化而影响其他的存储结构
23.当数据库的_____改变了,由数据库管理员对_____映象作相应改变,可以使_____保持不变,从而保证了数据的物理独立性 (1)模式 (2) 存储结构 (3)外模式/模式
(4)用户模式 (5)模式/内模式 A、(3)、(1)、(4) B、(1)、(5)、(3) C、(2)、(5)、(1) D、(1)、(2)、(4) 二、填空题
1.经过处理和加工提炼而用于决策或其他应用活动的数据称为____。 2.数据管理技术经历了①、②、和③三个阶段。 3.数据库系统一般是由①、②、③、④、和⑤组成。 4.数据库是长期存储在计算机内、有①的、可②的数据集合。
5.DBMS是指①它是位于②和③之间的一层管理软件。 6.DBMS管理的是____的数据。
7.数据库管理系统的主要功能有①、②、数据库的运行管理和数据库的建立以及维护等4个方面。
8.数据库管理系统包含的主要程序有①、②、和③。
9.数据库语言包括①和②两大部分,前者负责描述和定义数据库的各种特性,后者用于说明对数据进行的各种操作。 10.指出下列缩写的含义: (1)DML (2)DBMS (3)DDL (4)DBS (5)SQL (6)DB (7)DD (8)DBA (9)SDDL (l0)PDDL
11.数据库系统包括数据库①、②、和③三个方面。
12.开发、管理和使用数据库的人员主要有①、②、③和最终用户四类相关人员。 13.由____负责全面管理和控制数据库系统。 14.数据库系统与文件系统的本质区别在于____。 15.数据独立性是指①与②是相互独立的。 16.数据独立性又可分为①和②。
17.当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数的____。
18.数据模型质量的高低不会影响数据库性能的好坏,这句话正确否?____。 19.根据数据模型的应用目的不同,数据模型分为①和②。 20.数据模型是由①、②、和③三部分组成的。
21.按照数据结构的类型来命名,数据模型分为①、②、和③。