当前位置:文档之家› 数据库第四版答案(王珊 萨师煊)第11章 并发控制

数据库第四版答案(王珊 萨师煊)第11章 并发控制

数据库第四版答案(王珊 萨师煊)第11章 并发控制
数据库第四版答案(王珊 萨师煊)第11章 并发控制

数据库第四版答案数据库第四版答案((王珊萨师煊萨师煊)

)第11章并发控制1.在数据库中为什么要并发控制?

答:数据库是共享资源,通常有许多个事务同时在运行答:数据库是共享资源,通常有许多个事务同时在运行。

。当多个事务并发地存取数据库时就会产生同时读取和/或修

改同一数据的情况改同一数据的情况。

。若对并发操作不加控制就可能会存取和存储不正确的数据存储不正确的数据,,破坏数据库的一致性破坏数据库的一致性。

。所以数据库管理系统必须提供并发控制机制。

2.并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?

答:并发操作带来的数据不一致性包括三类:丢失修改答:并发操作带来的数据不一致性包括三类:丢失修改、

、不可重复读和读可重复读和读““脏’夕数据。(l )丢失修改丢失修改((lost update )

两个事务Tl 和T2读入同一数据并修改,读入同一数据并修改,T2

T2提交的结果破坏了(覆盖了)Tl 提交的结果,导致Tl 的修改被丢失的修改被丢失。

。(2)不可重复读(Non 一Repeatable Read )不可重复读是指事务Tl 读取数据后,事务几执行更新操作,使Tl

无法再现前一次读取结果无法再现前一次读取结果。。(3)读“脏”数据(Dirty Read )

读“脏’夕数据是指事务Tl 修改某一数据修改某一数据,

,并将其写回磁盘,事务几读取同一数据后,Tl 由于某种原因被撤销由于某种原因被撤销,

,这时Tl 已修改过的数据恢复原值已修改过的数据恢复原值,

,几读到的数据就与数据库中的数据不一致中的数据不一致,,则几读到的数据就为则几读到的数据就为““脏”数据数据,

,即不正确的数据确的数据。。避免不一致性的方法和技术就是并发控制避免不一致性的方法和技术就是并发控制。

。最常

用的技术是封锁技术用的技术是封锁技术。。也可以用其他技术也可以用其他技术,

,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。

3.什么是封锁?基本的封锁类型有几种?试述它们的含义。

答:封锁就是事务T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T 就

对该数据对象有了一定的控制对该数据对象有了一定的控制,,在事务T 释放它的锁之前释放它的锁之前,

,其他的事务不能更新此数据对象其他的事务不能更新此数据对象。

。封锁是实现并发控制的一个非常重要的技术。

基本的封锁类型有两种:排它锁(Exclusive Locks ,

简称x 锁)和共享锁(Share Locks Locks,简称,简称S 锁)。排它

锁又称为写锁。若事务T 对数据对象A 加上X 锁,则只允许T 读取和修改A ,其他任何事务都不能再对A 加任

何类型的锁何类型的锁,,直到T 释放A 上的锁上的锁。

。这就保证了其他事务在T 释放A 上的锁之前不能再读取和修改A 。共享锁又称为读锁。若事务T 对数据对象A 加上S 锁,则事务T 可以读A 但不能修改A ,其他事务只能再对A 加S 锁,而不能加X 锁,直到T 释放A 上的S 锁。这就保证了其他事务可以读A ,但在T 释放A 上的S 锁之前不能对A 做任何修改。

4.如何用封锁机制保证数据的一致性?

、写操作之前首先对该数据执行答:DBMS在对数据进行读

在对数据进行读、

封锁操作,例如下图中事务Tl在对A进行修改之前先对A执行xock(A),即对A加x锁。这样,当几请求对

,几只能等待Tl释放A上的锁后才锁时就被拒绝,

A加x锁时就被拒绝

更新后的值,,能获得对A的x锁,这时它读到的A是Tl更新后的值再按此新的A值进行运算。这样就不会丢失Tl的更新。

DBMS按照一定的封锁协议,对并发操作进行控制,使得多个并发操作有序地执行,,就可以避免丢失修改

就可以避免丢失修改、、不可重复读个并发操作有序地执行

和读““脏’夕数据等数据不一致性。

和读

5.什么是活锁?什么是死锁?

答:

如果事务Tl 封锁了数据R ,事务几又请求封锁R ,于是

几等待几等待。

。几也请求封锁R ,当Tl 释放了R 上的封锁之后系统首先批准了几的请求系统首先批准了几的请求,,几仍然等待几仍然等待。

。然后几又请求封锁R ,当几释放了R 上的封锁之后系统又批准了几的请求……几有可能永远等待,这就是活锁的情形。活锁的含义是该等待事务等待时间太长含义是该等待事务等待时间太长,,似乎被锁住了似乎被锁住了,

,实际上可能被激活能被激活。。如果事务Tl 封锁了数据Rl ,几封锁了数据凡几封锁了数据凡,

,然后Tl 又请求封锁几又请求封锁几,,因几已封锁了几因几已封锁了几,

,于是Tl 等待几释放几上的锁。接着几又申请封锁Rl ,因Tl 已封锁了

Rl ,几也只能等待Tl 释放Rl 上的锁上的锁。

。这样就出现了Tl 在等待几在等待几,,而几又在等待T }的局面的局面,

,T }和几两个事务永远不能结束,形成死锁。

6.试述活锁的产生原因和解决方法。

:当一系列封锁不能按照其先后顺序执活锁产生的原因:

答:活锁产生的原因

就可能导致一些事务无限期等待某个封锁,,从而导致行时

行时,,就可能导致一些事务无限期等待某个封锁

活锁

避免活锁的简单方法是采用先来先服务的策略。。当多活锁。。避免活锁的简单方法是采用先来先服务的策略

个事务请求封锁同一数据对象时,,封锁子系统按请求封锁的个事务请求封锁同一数据对象时

,数据对象上的锁一旦释放就批准申请先后次序对事务排队,

先后次序对事务排队

队列中第一个事务获得锁。

11.请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?

答:数据库系统一般采用允许死锁发生

数据库系统一般采用允许死锁发生,,DBMS检测到死锁后加以解除的方法

后加以解除的方法。。DBMS中诊断死锁的方法与操作系统类

超时法是::如果一个似,一般使用超时法或事务等待图法

一般使用超时法或事务等待图法。。超时法是

事务的等待时间超过了规定的时限,就认为发生了死锁

事务的等待时间超过了规定的时限,就认为发生了死锁。。超

但有可能误判死锁,,事务因其他原因长时间时法实现简单,,但有可能误判死锁

时法实现简单

系统会误认为发生了死锁。。若时限设置得等待超过时限时,,系统会误认为发生了死锁

等待超过时限时

又不能及时发现死锁发生。。DBMS并发控制子系统检太长,,又不能及时发现死锁发生

太长

就要设法解除。。通常采用的方法是选择一个处测到死锁后,,就要设法解除

测到死锁后

将其撤消,,释放此事务持有的所有理死锁代价最小的事务,,将其撤消

理死锁代价最小的事务

当然,,对撤销的事务所使其他事务得以继续运行下去。。当然

锁,使其他事务得以继续运行下去

执行的数据修改操作必须加以恢复。

12.什么样的并发调度是正确的调度?

)的调度是正确的调度。。可答:可串行化(Serializable)的调度是正确的调度

串行化的调度的定义::多个事务的并发执行是正确的

多个事务的并发执行是正确的,,当且串行化的调度的定义

仅当其结果与按某一次序串行执行它们时的结果相同

仅当其结果与按某一次序串行执行它们时的结果相同,,称这种调度策略为可串行化的调度。

9.设Tl,几,几是如下的3个事务:

Tl:A:=A+2;

T2T2::A:=A*2;

<-A*A))

T3T3::A:=A**2;(A<-A*A

设A的初值为0。

(l)若这3个事务允许并行执行,则有多少可能的正确结果,请一一列举出来。

答:A的最终结果可能有2、4、8、16。因

T3T2、、T2T1T3

T2T1T3、、T2T3Tl、

T2T3、、Tl T3T2

为串行执行次序有Tl T2T3

T3T1T2、、T3T2Tl。对应的执行结果是16、8·4·2·T3T1T2

4·2。

(2)请给出一个可串行化的调度,并给出执行结果

答:

最后结果A为16,是可串行化的调度。

)请给出一个非串行化的调度,并给出执行结果。。(3)请给出一个非串行化的调度,并给出执行结果

答:

最后结果A为0,为非串行化的调度。

(4)若这3个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度。

答:

(5)若这3个事务都遵守两段锁协议,请给出一个产生死锁的调度。

答:

1111..试证明试证明,,若并发事务遵守两段锁协议若并发事务遵守两段锁协议,

,则对这些事务的并发调度是可串行化的。

证明:首先以两个并发事务Tl 和T2为例,存在多个并发事务的情形可以类推事务的情形可以类推。。根据可串行化定义可知根据可串行化定义可知,

,事务不可串行化只可能发生在下列两种情况:

(l )事务Tl 写某个数据对象A ,T2读或写A ;

(2)事务Tl 读或写某个数据对象A ,T2写A 。下面称A 为潜在冲突对象。

设Tl 和T2访问的潜在冲突的公共对象为访问的潜在冲突的公共对象为{A1{A1{A1,

,A2…,An }。不失一般性,假设这组潜在冲突对象中X =(A 1,A2,…,Ai }均符合情况1。Y ={A i +1,…,An }符合所情况(2)。

VX ∈x ,Tl 需要XlockX ①

T2需要Slockx 或Xlockx ②

1)如果操作①先执行,则Tl 获得锁,获得锁,T2

T2等待由于遵守两段锁协议,Tl 在成功获得x 和Y 中全部对象及非潜在冲突对象的锁后,才会释放锁。

这时如果存在w ∈x 或Y ,T2已获得w 的锁,则

出现死锁出现死锁;;否则否则,,Tl 在对x 、Y 中对象全部处理完毕后中对象全部处理完毕后,,T2才能执行。这相当于按Tl 、T2的顺序串行执行,根据可串行化定义,Tl 和几的调度是可串行化的。

2)操作②先执行的情况与(l )对称因此,若并发事务遵守两段锁协议务遵守两段锁协议,,在不发生死锁的情况下在不发生死锁的情况下,

,对这些事务的并发调度一定是可串行化的。证毕。

12.举例说明,对并发事务的一个调度是可串行化的,而这些并发事务不一定遵守两段锁协议。

答:

13.为什么要引进意向锁?意向锁的含义是什么?

引进意向锁是为了提高封锁子系统的效率。。该封锁子系答:引进意向锁是为了提高封锁子系统的效率

统支持多种封锁粒度。。原因是

原因是::在多粒度封锁方法中一个数统支持多种封锁粒度

显式封锁和隐式封锁。。因此据对象可能以两种方式加锁―显式封锁和隐式封锁

系统在对某一数据对象加锁时不仅要检查该数据对象上有

封锁与之冲突,,还要检查其所有上级结点显式和隐式))封锁与之冲突

无(显式和隐式

和所有下级结点,,看申请的封锁是否与这些结点上的

看申请的封锁是否与这些结点上的((显式和所有下级结点

和隐式

这样的检查方法效率很低。。为此

显然,,这样的检查方法效率很低

封锁冲突,,显然

和隐式))封锁冲突

对任一结点加锁时,,必须

意向锁的含义是::对任一结点加锁时

引进了意向锁。。意向锁的含义是

引进了意向锁

先对它的上层结点加意向锁。例如事务T要对某个元组加X锁,则首先要对关系和数据库加ix锁。换言之

换言之,,对关系和数据库加ix锁,表示它的后裔结点―某个元组拟

某个元组拟((意向)加X锁。引进意向锁后,系统对某一数据对象加锁时

不必逐个检查与下一级结点的封锁冲突了

例如,,事务T要不必逐个检查与下一级结点的封锁冲突了。。例如

对关系R加X锁时,系统只要检查根结点数据库和R本身是否已加了不相容的锁(如发现已经加了ix,则与X冲突),而不再需要搜索和检查R中的每一个元组是否加了X 锁或S锁。

试述常用的意向锁::IS锁、ix锁、SIX锁,给出14.试述常用的意向锁

这些锁的相容矩阵。

答:IS锁:如果对一个数据对象加IS锁,表示它的后裔结点拟(意向)加S锁。例如,要对某个元组加S锁,则要首先对关系和数据库加IS锁

IX锁:如果对一个数据对象加ix锁,表示它的后裔结点拟(意向功口X锁。例如,要对某个元组加X锁,则要首先对关系和数据库加ix锁。

SIX锁:如果对一个数据对象加SIX锁,表示对它加S锁,再加IX锁,即SIX=S+IX。

相容矩阵:

15.理解并解释下列术语的含义:封锁、活锁、死锁、排

它锁它锁、、共享锁共享锁、、并发事务的调度并发事务的调度、、可串行化的调度可串行化的调度、

、两段锁协议。

答:(略,已经在上面有关习题中解答)

16.试述你了解的某一个实际的DBMS 产品的并发控制机制。

答:(略,参见简单介绍了有关Oracle 的并发控制机制的并发控制机制。。)

数据库系统概论(王珊第五版)数据库实验1

实验1 SQL SERVER 2008环境 一、实验目的 1.掌握服务管理器的启动和停止方法; 2.掌握SQL Server Management Studio对象资源管理器的使用方法; 3.掌握注册服务器的步骤。 4.掌握E-R图在计算机中的画法。 二、实验学时 2学时 三、实验要求 1.了解SQL Server 2008的安装过程。 2.熟练掌握SQL Server2008数据库服务器的启动方法。 3.熟练掌握SQL Server2008数据库服务器的登录方法和注册方法。 4.掌握E-R图的画法,学会使用Visio画出标准的E-R图。 5.独立完成实验内容,并提交书面实验报告。 四、实验内容 1.了解并熟悉SQL Server 2008的安装方法。 2.登录SQL Server 2008服务器,主要包括启动、暂停、停止和重新启动服务器,登录SQL Server Management Studio等操作; 3. 掌握SQL Server Management Studio对象资源管理器的使用方法; 4.注册SQL Server 2008服务器。 5. 有一个图书管理系统需要构建E-R图,要求如下: (1)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号唯一标识。 (2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。 (3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向相应出版社增购有关书籍。约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。 将有关实体型及其联系画出E-R模型图画在实验报告册中。

数据库系统原理课后答案 第九章

9.1 名词解释 (1)OODBS:是指面向对象数据库系统,它既具数据库管理的基本功能,又能支持面向对象的数据模型。 (2)ORDBS:基于对象关系数据模型的DBS称为对象关系数据库系统(ORDBS)。 (3)平面关系模型:传统的关系模型称为“平面关系模型”,它要求关系模式具有第一范式(1NF)性质,关系具有规范化的结构。也就是规定属性值是不可分解的,即不允许属性值具有复合结构(元组或关系)。 (4)嵌套关系模型:是从平面关系模型发展而成的。它允许关系的属性值又可以是一个关系,而且可以出现多次嵌套。嵌套关系突破了1NF的定义框架,是“非1NF关系”。 (5)复合对象模型:在嵌套关系模型上进一步放宽要求。在关系定义上,集合与元组不再有交替出现的严格限制,此时的关系中,属性类型可以是基本数据类型、结构类型(元组类型)或集体类型(即关系类型)。 (6)数据的泛化/细化:是对概念之间联系进行抽象的一种方法。当在较低层上的抽象表达了 与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的"泛化",而较低层上抽象是较高层上抽象的"细化"。 (7)对象关系模型:在传统关系数据基础上,提供元组、数组、集合等更为丰富的数据类型及处理新数据类型操作的能力而形成的数据模型。(注:传统关系模型只支持字符、数值、字串,布尔值等等基本数据类型及其处理功能) (8)类型级继承性:当继承性发生在类型级时,子类型继承了超类型的属性。也就是说,超类型所具有的属性,在子类上也具有。 (9)表级继承性:继承性也可发生在表级,(就是元组集合上发生继承),子表继承超表全部属性,超表中每个元组最多可以与子表中一个元组对应,而子表中的每个元组在超表中恰有一个元组对应,并在继承的属性值上具有相同的值。 (10)引用类型:数据类型可以嵌套定义,在嵌套引用时,不是引用对象本身,而是个用对象标识符(即指针),这种指针被称为引用类型。 (11)对象:客观世界中的实体经过抽象称为问题空间中的对象,它是对一组信息及其操作的描述。 (12)类:是具有相同的变量名和类型、相同的消息和使用方法的对象的集合。 (13)单重继承性:一个子类继承某一个超类的结构和特性,称为单重继承性。 (14)多重继承性:一个子类继承多个超类的结构和特性,称为多重继承性。 (15)对象标识:在面向对象语言中,对象标识是一个指针一级的概念,在对象创建的瞬间,由系统赋给每个对象一个“标识”,即系统内的一个唯一的指针,在对象生存期内,这个标识不可改变。 (16)对象包含:不同类的对象之间存在的包含关系称为对象包含。包含是一种“一部分”(is part of)的联系。 (17)类继承层次图:表示类继承关系的图,由超类名、子类名和一组线条自上而下有序的表示。(18)类包含层次图:表示对象包含关系的图,由一些具有包含关系的对象和线条自上而下表示(下方的对象为其连线所指上方对象的一部分)。 (19)持久数据:是指创建这些数据的程序运行终止后数据依然存在于系统之中。数据库中的关系就是持久数据。 (20)持久对象:程序运行结束后,被保留下来的对象称为持久对象。 (21)持久指针:持久指针可看作是数据库中指向对象的指针。持久化指针不像内存中的指针,它在程序执行后及数据重组后仍保持有效。 (22)持久化C++系统: 基于C++的持久化扩充的OODBS。

(完整版)新版初中文言文助读

新版初中文言文助读上编 一、学习 1.邴原泣学 2.王冕僧寺夜读 3.匡衡凿壁借光 4.葛洪卖薪买纸 5.任末削荆为笔 6.欧阳修发奋苦学 7.贾逵旁听 8.“囊萤”与“映雪” 9.王欢安贫乐道 10.牛弘笃学 11.高凤专心致志 12.程门立雪 13.宋濂苦学 14.司马光好学 15.“圣小儿”祖莹 16.范仲淹有志于天下 17.张溥与《七录斋》 18.文徵明习字 19.顾炎武手不释卷 20.桓荣苦读得功名 21.董遇论“三余”勤读 22.纪昌学射 23.刘羽冲死读书 二、品性 24.陆元方卖宅 25.唐临不扬仆过 26.刘宽不计较 27.高念东为人 28.蔡磷坚还亡友财 29.卜式为国分忧 30.沈、刘处世不同 31.刘宰相向县尉谢罪 32.顾荣施炙 33.王安石余饼自食 34.郑玄成人之美 35.徐有功不以私害公 36.范仲淹还金授方 37.卓茂让马 38.范元琰不泄盗名 39.王恭身无长物 40.朱晖心诺 41.洪亮吉大器量 42.子罕勿受玉 43.李虞有清德 44.李勉埋金 45.何岳两次还金 46.孙泰克己为人 47.甄彬还金 48.韩琦大度 49.鲁宗道正直 50.钱大昕观弈 51.程氏爱鸟 52.钟弱翁好为人师53.萧颖士傲物自侮 54.势利鬼吴生 三、抗敌 55.苟灌冒险救父 56.杨氏力守项城 57.张二杀倭寇 58.李成梁夫人毙二寇 59.严颜临死不低头 60.张飞横矛当阳桥 61.辽阳妇吓退东山虏 62.马援誓死沙场 63.钱金玉以身殉国 64.王义士夫妇见义勇为 65.王长年智斗倭寇 66.赵广誓死不屈 67.老妇智斗辽敌 68.苏武牧羊北海上 69.岳飞抗金 四、教育 70.孟母三迁 71.曾子杀猪 72.陈谏议教子 73.银工家出宰相 74.狄青不去面文 75.王著教宋太宗习字 76.张飞身教马超 77.范仲淹巧劝滕子京 78.墨子善教 79.孔子因材施教 80.张伍罢猎 81.断织教子 82.陶母责子 83.车夫妻子的规劝 84.于令仪诲人 85.子路受教 86.仲永的不幸 87.芒山盗临刑 88.艾子杖责孙儿 89.愚蠢的父子 五、情义 90.陆绩怀橘 91.缇萦救父 92.李勣煮粥侍姊 93.宋弘不弃糟糠妻 94.苟巨伯探病友 95.黄仙裳助人 96.季札赠剑 97.包惊几为人嫁女 98.卢文弨灵前焚帖 99.漂母饭韩信 100.孙楚向灵床作驴鸣101.刘君良兄弟情深102.苏琼晓谕普明兄弟103.缪彤自责感亲人

软件工程(第五版)-习题及答案-第九章

一、判断题 1、(×)测试是为了验证该软件以正确地实现了用户的需求。 2、(√)发现错误多的程序模块,残留在模块中的错误也多。 3、(×)白盒测试法是根据程序的功能来设计测试用例的。 4、(×)黑盒法是根据程序的内部逻辑来设计测试用例的。 5、(√)确定测试计划是在需求分析阶段制定的。 6、(√)集成测试计划是在概要设计阶段制定的。 7、(√)单元测试是在编码阶段完成的。 8、(√)集成测试工作最好由不属于该软件开发组的软件设计人员承担。 9、(√)为了提高软件的测试效率,测试工作需要有测试工具的支持。 10、(×)在做程序的单元测试时,桩模块比驱动模块容易编写。 二、选择题 1、测试用例是专门为了发现软件错误而设计的一组或多组数据,它由(C)组成。 A、测试输入数据 B、预期的测试输出数据 C、测试输入与预期的输出数据 D、按照测试用例设计方法设计出的数据 2、测试和调试最大的不同在于(A)。 A、操作者的心理状态不同 B、它们的行为取向不同 C、使用的工具不同 D、运用的方法不同 3、一个成功的测试是(B)。 A、发现错误 B、发现至今尚未发现的错误 C、没有发现错误 D、证明发现不了错误 4、白盒法和黑盒法最大的不同在于(A)。 A、测试用例设计方法不同 B、测试的任务不同 C、应用的测试阶段不同 D、基于的知识集不同 5、单元测试阶段主要涉及(D)的文档。 A、需求设计 B、编码和详细设计 C、详细设计 D、概要设计 6、检查软件产品是否符合需求定义的过程称为(A)。 A、确认测试 B、集成测试 C、验证测试 D、验收测试 7、软件调试的目的是(B)。 A、发现错误 B、改正错误 C、改善软件的性能 D、挖掘软件的潜能 8、进行软件测试的目的是(A)。 A、尽可能多地找出软件中的错误 B、缩短软件的开发时间 C、减少软件的维护成本 D、证明程序没有缺陷 9、选择一个适当的测试用例,用于测试下面的程序,能达到判定覆盖的是(C)。 A、B、

数据库原理习题与答案 第9章数据库系统恢复和并发控制技术

第九章.数据库系统恢复和并发控制技术 习题: 一.填空题 1.数据库保护包含数据的。 2.是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。 3.DBMS的并发控制的主要方法是机制。 4.有两种基本的锁,它们是和。 5.对并发操作若不加以控制,可能带来的不一致性有、和。 6.数据库系统在运行过程中,可能会发生故障,故障主要有、、介质故障和四类。 7.数据库系统是利用存储在外存上其他地方的来重建被破坏的数据库,它主要有两种:和。 二.选择题 1.下面哪个不是数据库系统必须提供的数据控制功能。 A.安全性 B.可移植性 C.完整性 D.并发控制 2.事务的原子性是指。 A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的 C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 3.多用户的数据库系统的目标之一是使它的每个用户好像面对着一个单用户的数据库一样使用它,为此数据库系统必须进行。 A.安全性控制 B.完整性控制 C.并发控制 D.可靠性控制 4.设有两个事务T1、T2,其并发操作如下图所示,下面评价正确的是________。 T1 T2 ①读A=10 ②读A=10 ③A=A-5写回 ④A=A-8写回

A该操作不存在问题B该操作丢失修改 C该操作不能重复读D该操作读“脏”数据 5.若事务T对数据R已加X锁,则其他对数据R 。 A.可以加S锁,不能加X锁 B.不能加S锁,可以加X锁 C.可以加S锁,也可以加X锁 D.不能加任何锁 6.对并发控制不加以控制,可能会带来。 A.不安全 B.死锁 C.死机 D.不一致 7.用来记录对数据库中数据进行的每一次更新操作。 A.后援副本 B.日志文件 C.数据库 D.缓冲区 三.简答题 1.试述事务的概念和事务的四个特性。 2.数据库中为什么要有恢复子系统,它的功能是什么? 3.数据库运行中可能发生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据? 4.数据库恢复的基本技术有哪些? 5.登记日志文件时,为什么必须先写日志文件,后写数据库? 6.在数据库中为什么要并发控制? 7.什么是封锁? 8.基本的封锁有哪几种?试述它们的含义。 9.不同封锁协议与系统一致性级别的关系是什么? 10.请给出预防死锁的若干方法。 11.什么样的并发调度是正确的调度? 12.试述两段锁协议的概念。

《论语》以及名著阅读模块

《论语》以及名著阅读模块 满分100分考试时间90分钟命题:高三语文备课组 选择题答案(选择题每小题3分): 第一部分《论语》选文阅读理解 45分 一、阅读下面《论语》选段,回答1、2问题。 6分 有子(1)曰:?其为人也孝弟(2),而好犯上者(3),鲜(4)矣;不好犯上,而好作乱者,未之有也(5)。君子务本(6),本立而道生(7)。孝弟也者,其为人之本与(8)?? 曾子曰:?吾日三省乎吾身:为人谋而不忠乎?与朋友交而不信乎?传不习乎??【注释】《论语学而》 (1)有子:孔子的学生,姓有,名若,比孔子小13岁,一说小33岁。后一说较为可信。 1、下列各项中,对上面《论语》选段的理解,不正确的一项是()(3分) A.善事父母曰孝,善事兄长曰悌。孝、悌是孔子和儒家特别提倡的两个基本道德规范。 B.孔子认为孝悌是仁的根本,君子应该专心致力于这个根本,根本建立了,治国做人的原则也就有了。 C.孔子认为忠是以孝悌为前提,孝悌以忠为目的。有了孝悌,那么人人就都能为统治者尽忠了。 D.孔子要求弟子自觉地反省自己,进行自我批评,加强个人思想修养和道德修养,改正个人言行举止上的各种错误。 2、如何理解“孝弟也者,其为人之本与?”这句话的含义。3分 二、阅读下面《论语》选段,回答3、4问题。6分 子曰:我未见好仁者,恶不仁者。好仁者,无以尚之。恶不仁者,其为仁矣,不使不仁者加乎其身。有能一日用其力于仁矣乎。我未见力不足者,盖有之矣,我未之见也。《论语里仁》 3、对上面这个选段内容理解不正确的一项是()(3分) A.孔子特别强调个人道德修养,尤其是养成仁德的情操。但在当时动荡的社会中,爱好仁德的人已经不多了,所以孔子说他没有见到。 B.孔子认为爱好仁德的人,明白仁德的可贵,会觉得没有什么能胜任仁德的。 C. “好仁者”不像“恶仁者”那么积极主动,但是无法忍受不符合仁德的行为,因此不允许自己误入歧途。 D.对仁德的修成,需要后天的不断努力,孔子对此持悲观的态度。 4、孔子在这段话中谈到“力”与“仁”,是为了阐述什么观点?3分 三、阅读下面《论语》选段,回答5、6问题。6分 子曰:?事父母几(1)谏,见志不从,又敬不违,劳(2)而不怨。?《论语里仁》 子曰:?父母在,不远游。游必有方。?《论语里仁》 子曰:?父母之年,不可不知也。一则以喜,一则以惧。?《论语里仁》 子曰:?父在,观其志;父没,观其行(3);三年无改于父之道(4),可谓孝矣。?《论语学而》 【注释】(1)几:音jī,轻微、婉转的意思。(2)劳:忧愁、烦劳的意思。(3)行:音xìng,指行为举止等。 (4)道:有时候是一般意义上的名词,无论好坏、善恶都可以叫做道。但更多时候是积极意义的名词,表示善的、好的东西。这里表示“合理内容”的意思。 5、对上面这个选段内容理解不正确的一项是()(3分) A、父母是人,自然可能犯错,子女最好事先就委婉相劝。如果行不通,仍须谨守不违不怨的原则。 B、“游”在古代有游学与游仕,另外自然也有游历、游玩。子女如果要“远游”,就必须有一定的去处,不要使父母挂念。 C、孔子提到父母的年纪,喜与惧这两种情感同时出现,正是人类感情的特色。能够见此而思彼,为人处世就会有分寸了。 D、孔子说一个人当父亲死后,三年内都不改变他父亲定下的种种规矩,这就是尽孝了。 6、以上章节都涉及了子女如何对待父母的问题。请你结合选段,并联系实际,就其中的一个方面谈谈你对孔子观点的理解。3分

数据库系统概论第5版(王珊、萨师煊)课后答案第5章 数据库完整性

第5章数据库完整性 1.什么是数据库的完整性? 答: 数据库的完整性是指数据的正确性和相容性。 2.数据库的完整性概念与数据库的安全性概念有什么区别和联系? 答: 数据的完整性和安全性是两个不同的概念,但是有一定的联系。 前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garba : e In Garba : e out )所造成的无效操作和错误结果。 后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。 3.什么是数据库的完整性约束条件? 答:完整性约束条件是指数据库中的数据应该满足的语义约束条件。 一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。 常见的静态关系约束有:实体完整性约束;参照完整性约束;函数依赖约束。 4.关系DBMS 的完整性控制机制应具有哪些功能? 答: DBMS 的完整性控制机制应具有三个方面的功能: 1)定义功能,即提供定义完整性约束条件的机制; 2)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件; 3)违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定 的动作来保证数据的完整性。 5.关系DBMS 在实现参照完整性时需要考虑哪些方面? 答:关系DBMS 在实现参照完整性时需要考虑以下几个方面: 1)外码是否可以接受空值。 2)被参照关系中删除元组或修改主码时,若使参照关系在被参照关系中找不到与之 相等的属性值,系统可选择的作法有三种:拒绝执行(默认策略)、 级联操作、设置为空值。 3)参照关系中插入或修改元组时,若使参照关系在被参照关系中找不到与之相等的 属性值,系统可选择的作法有三种:拒绝执行(默认策略)、级联操作(CASCADE)、 设置为空值。 6.假设有下面两个关系模式: 职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码; 部门(部门号,名称,经理名,电话),其中部门号为主码。 用sQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义: 1)定义每个模式的主码; 2)定义参照完整性; 3)定义职工年龄不得超过60 岁。 CREATE TABLE 职工 (职工号CHAR(10), 姓名CHAR(10), 年龄NUMERIC (3), CONSTRAINT C1 CHECK (年龄<=60),

第9章习题参考答案

习题九 一、用适当内容填空 1.计算机系统运行和操作的最小功能单位是指令,一台计算机中全部指令的集合称为指令系统。 2.计算机能够直接识别的程序设计语言是机器语言,其直接使用机器指令或二进制格式编写程序。 3.汇编语言是一种低级语言,它是面向过程的语言。高级语言书写的源程序可以通过解释或编译方式来执行。 4.字符型是一种基本数据类型,一般程序设计语言中都采用 8位二进制位来表示,其对应值的范围是 0-255 。 5.在程序中要处理200名学生一门课的成绩信息,应该定义数组类型变量;要处理200名学生的档案资料应该定义记录或结构类型变量。 6.在程序运行过程中值不可改变的量称为常量,可改变的量称为变量。 7.结构化程序设计的3种基本逻辑结构为顺序、分支或选择和重复或循环,合理使用这3种控制结构可以表现任何复杂的控制关系。 8.过程是功能独立或需要多次调用的程序段,它也可以称为函数或子程序。 9.一段程序代码需要多次反复执行,需要使用重复或循环结构来表达;根据判断条件结果决定是否执行一段程序,应该使用分支或选择结构表示。 10.循环也称为重复,其对应两种类型,分别为当型结构和直到型结构。 11.面向过程程序设计的核心是算法和数据结构;面向对象程序设计的核心是类和对象。 12.结构化程序设计应遵循自顶向下、逐步求精、模块化和限制使用goto语句原则。 13.采用结构化程序设计方法能够使程序易读、易理解、易维护和结构良好。虽然这种方法具有许多优点,但它仍是一种面向过程的程序设计方法。 14.VB是一个可视化操作界面、面向对象的程序设计语言;在VB中可以直接创建Access 数据库。 15.在VB窗口中添加的对象都具有若干属性,在窗口设计阶段改变对象属性可以在①属性窗口中操作,在程序运行时改变属性应该在相关对象事件代码中操作。 16.类是一组数据及该组数据能够实现操作的封装体。在类与对象的关系中,类是对对象的抽象,而对象是类的实例。 17.在面向对象方法中,信息隐藏是通过对象的封装性来实现的;同样的消息被不

备战2021中考语文考点针对性训练:说明文阅读训练(附答案解析)

备战2021中考语文考点针对性训练:说明文阅读训练 阅读下面文章,回答1-3题。(共12分) 腊梅不是梅 ①小雪前后,江南阳光还不很单薄,常青植物还绿着,花却少了,猛的闻到浓郁的香气,才知道今年的腊梅开了。于是拍照,题名“绮窗梅”,朋友笑道:腊梅不是梅。查资料才知道,我错了很多年。 ②腊梅属蜡梅科蜡梅属,灌木,花开多黄色,亦有白色,色如蜜蜡,质地也似蜡质,故称“蜡梅”。因其花开腊月,久而“蜡”讹传为“腊”;因其香近于梅,故而称之为“梅”。久之,蜡梅就成了“腊梅”了。 ③梅是蔷薇科杏属,落叶乔木,花开稍迟,一般为早春一二月,它的姐妹是桃、杏、李,近亲是玫瑰、蔷薇、月季等,是以从花瓣花蕊上看,梅花还是有一份妖娆的,只不过因为梅花是最早的春花,带着冷艳,与桃李终究不同。 ④那么,古人吟咏的梅,究竟是哪一种呢?试以几首诗分析之。 ⑤最著名的梅花诗,当属林和靖的《山园小梅》,最有名的句子,当属“疏影横斜水清浅,暗香浮动月黄昏”。其描写的神韵有二,一是瘦,二是淡,典型的东方审美情趣。腊梅与梅花都是先花后叶,叶与花不相见面,枝干皆称得上“瘦”,都可以疏影横斜。但在此处,梅妻鹤子的林和靖写的显然是梅,因为还有“暗香浮动”。梅的香是淡雅的,而蜡梅的香是浓郁的,崇尚“淡”的中国趣味,必然拒绝浓烈。是以,岁寒三友里的梅,是梅花而非腊梅。 ⑥王安石的《梅》:“遥知不是雪,为有暗香来。”也写到了暗香,便让人产生了疑问。香的浓与淡,除了与其本身的浓淡有关外,还与距离和空间大小有关,仅凭“暗香”不能确然断定。腊梅凌寒而放,常常枝丫壅雪,是否可以因此而断定此处是腊梅?还是不行,因为梅花紧随腊梅,雪里红梅是常见景致,雪里白梅更得虚实难明的趣味“梅须逊雪三分白,雪却输梅一段香”,此处大片的梅绝非腊梅。那么,怎可武断此为腊梅? ⑦有名的“一字师”的掌故,来自于齐己的《早梅》,名句为“前村深雪里,昨夜一枝开”。《唐才子传》载,齐己求教于郑谷,郑谷读到原诗“前村深雪里,昨夜数

数据库系统概论第五版课后习题答案王珊版

第二章关系数据库 1 .试述关系模型的三个组成部分。 答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。 2 .试述关系数据语言的特点和分类。 答:关系数据语言可以分为三类: 关系代数语言。 关系演算语言:元组关系演算语言和域关系演算语言。 SQL:具有关系代数和关系演算双重特点的语言。 这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。 3 (略) 4 . 5 . 述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空? 答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。 6.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: 1)求供应工程J1零件的供应商号码SNO: πSno(σJno=‘J1’(SPJ)) 2)求供应工程J1零件P1的供应商号码SNO: πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ)) 3)求供应工程J1零件为红色的供应商号码SNO: πSno(πSno,,Pno(σJno=‘J1‘(SPJ))∞πPno(σCOLOR=’红‘(P))) 4)求没有使用天津供应商生产的红色零件的工程号JNO: πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P) 5)求至少用了供应商S1所供应的全部零件的工程号JNO: πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ)) 7. 试述等值连接与自然连接的区别和联系。 答:连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。 8.关系代数的基本运算有哪些? 如何用这些基本运算来表示其他运算? 答:并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。 第三章关系数据库语言SQL 1 .试述sQL 语言的特点。 答: (l)综合统一。sQL 语言集数据定义语言DDL 、数据操纵语言DML 、数据控制语言DCL

PHP程序设计基础-第九章习题及答案

第九章 PHP操作数据库 一、选择题 1、在MySQL中实现分页获取数据的子句是()。 A、limit B、order by C、group by D、between 2、在PHP的各种扩展中,操作MySQL数据库的PDO扩展的文件名是()。 A、extension=php_pdo_oci.dll B、extension=php_pdo_mysql.dll C、extension=php_pdo_odbc.dll D、extension=php_pdo_pgsql.dll 3、在SQL语句中,可以进行排序的语句是()。 A、order by B、limit C、where D、group by 二、填空题 1.在MySQL中,使用【】子句可以实现分页获取数据。 2.在SQL语句中,更新数据表中的数据时使用【】语句。 3.mysql_fetch_ assoc ()在处理结果集时返回的数据格式为【】。 4.在mysql扩展中,mysql_query()函数的作用是【】。 5.mysql_fetch_array()在处理结果集时可以返回的数据类型是【】。 6.mysql_query()函数在执行一条查询语句时,返回的数据类型为【】。 7.MySQL在使用order by倒序排序时使用的关键字为【】。 8.在SQL语句中,可以用作排序的子句为【】。 三、判断题 1.在使用insert语句添加数据时,数据的值可以随便调换位置()。 2.当mysql扩展连接数据库后,mysql_select_db()函数可以省略第二个参数()。 3.在MySQL中,数据表中的数据条目是从0开始计算的()。 4.mysql_fetch_ object()和mysql_fetch_array()函数返回的格式完全相同()。 5.为了避免数据显示乱码,在选择数据库前必须指定字符集()。 6.MySQL在使用order by语句排序时,默认使用正序方式排序()。 7.mysql_query()函数在执行查询语句时,返回的数据可以直接输出()。

第八章 数据库并发控制练习和答案教学内容

第八章数据库并发控制 一、选择题 1.为了防止一个用户的工作不适当地影响另一个用户,应该采取()。 A. 完整性控制 B. 访问控制 C. 安全性控制 D. 并发控制 2. 解决并发操作带来的数据不一致问题普遍采用()技术。 A. 封锁 B. 存取控制 C. 恢复 D. 协商 3.下列不属于并发操作带来的问题是()。 A. 丢失修改 B. 不可重复读 C. 死锁 D. 脏读 4.DBMS普遍采用()方法来保证调度的正确性。 A. 索引 B. 授权 C. 封锁 D. 日志 5.事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放, 这是()。 A. 一级封锁协议 B. 二级封锁协议 C. 三级封锁协议 D. 零级封锁协议 6.如果事务T获得了数据项Q上的排他锁,则T对Q()。 A. 只能读不能写 B. 只能写不能读 C. 既可读又可写 D. 不能读也不能写 7.设事务T1和T2,对数据库中地数据A进行操作,可能有如下几种情况, 请问哪一种不会发生冲突操作()。 A. T1正在写A,T2要读A B. T1正在写A,T2也要写A C. T1正在读A,T2要写A D. T1正在读A,T2也要读A 8.如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突的操作是()。 A. 一个是DELETE,一个是SELECT B. 一个是SELECT,一个是DELETE C. 两个都是UPDATE D. 两个都是SELECT 9.在数据库系统中,死锁属于()。 A. 系统故障 B. 事务故障 C. 介质故障 D. 程序故障 二、简答题 1. 在数据库中为什么要并发控制? 答:数据库是共享资源,通常有许多个事务同时在运行。 当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。 2. 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。

数据库第五版王珊

第1章绪论 1 .试述数据、数据库、数据库系统、数据库管理系统的概念。 答: ( l )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。数据与其语义是不可分的。500 这个数字可以表示一件物品的价格是 500 元,也可以表示一个学术会议参加的人数有 500 人,还可以表示一袋奶粉重 500 克。 ( 2 )数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 ( 3 )数据库系统( DataBas 。 Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。解析数据库系统和数据库是两个概念。数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。但是在日常工作中人们常常把数据库系统简称为数据库。希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。 ( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织

数据库处理课后习题答案

《数据库处理》复习要点及参考答案 最近更新时间:6/21/2020 第一章 Microsoft Access 2007(第一次作业)........................ 错误!未定义书签。 复习要点........................................................ 错误!未定义书签。 ............................................................... 错误!未定义书签。 ............................................................... 错误!未定义书签。 ............................................................... 错误!未定义书签。 ............................................................... 错误!未定义书签。 ............................................................... 错误!未定义书签。 ............................................................... 错误!未定义书签。 ............................................................... 错误!未定义书签。 ............................................................... 错误!未定义书签。 ............................................................... 错误!未定义书签。 ............................................................... 错误!未定义书签。第二章结构化查询语言简介(第二次作业)......................... 错误!未定义书签。 复习要点........................................................ 错误!未定义书签。 ............................................................... 错误!未定义书签。 ............................................................... 错误!未定义书签。 Marcia 干洗店项目练习........................................... 错误!未定义书签。第三章关系模型和规范化(第三次作业).............................. 错误!未定义书签。 复习重点........................................................ 错误!未定义书签。 ............................................................... 错误!未定义书签。 ............................................................... 错误!未定义书签。 Marcia 干洗店项目练习........................................... 错误!未定义书签。第四章............................................................ 错误!未定义书签。

一字之师 阅读答案

唐朝末年,诗人郑谷回到故乡江西宜春。他以文会友,经常和一些文人往来。当地有个叫齐已的和尚,对诗文很有兴趣。他早就仰慕郑谷的才名,就带着自己写的诗稿,前来拜会。齐已把诗稿一首一首地请郑谷看。郑谷读到《早梅》这首诗时,不由得沉思起来。郑谷吟道:“前村深雪里,昨夜数枝开……”郑谷面对齐已说:“梅开数枝,就不算早了。”郑谷又沉吟了一会,说:“不如把…数?字改为…一?字贴要。”齐已听了,惊喜地叫道:“改得太好了!”恭恭敬敬地向郑谷拜了一拜。文人们知道了,就把郑谷称为齐已的“一字之师”。 1.这是一篇()。 A.寓言故事 B.历史故事 C.成语故事 D.神话故事 正确答案:C 2.根据下列解释,找到恰当的词语填在()里。 对尊长或宾客严肃有礼貌。() A.贴要 B.仰慕 C.恭恭敬敬 D.沉吟 正确答案:C 3.根据下列解释,找到恰当的词语填在()里。 敬仰思慕。() A.贴要 B.仰慕 C.恭恭敬敬 D.沉吟 正确答案:B 4.根据下列解释,找到恰当的词语填在()里。 (措词)恰当,确切。() A.贴要 B.仰慕 C.恭恭敬敬 D.沉吟 正确答案:A 5.根据下列解释,找到恰当的词语填在()里。 (遇到复杂或疑难的事)迟疑不决,低声自语。() A.贴要 B.仰慕

C.恭恭敬敬 D.沉吟 正确答案:D 6.你知道哪些以“一”字开头的成语? 答: 答案解析: 一字千金一言九鼎一唱一和一毛不拔一呼百应 7.你还知道哪些描写梅花的诗句? 答: 答案解析: 《梅》墙角数枝梅,凌寒独自开。遥知不足雪,为有暗香来。 《忆梅》定定住天涯,依依向物华。寒梅最堪恨,长作去年花。 《梅花绝句》闻道梅花圻晓风,雪堆遍满四山中。何方可化身千亿,一树梅花一放翁。

数据库系统原理教程课后习题及答案(第十章)

第11章并发控制 1 .在数据库中为什么要并发控制? 答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。 2 .并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏’夕数据。( l )丢失修改(lost update ) 两个事务Tl 和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)Tl 提交的结果,导致Tl 的修改被丢失。( 2 )不可重复读(Non 一Repeatable Read ) 不可重复读是指事务Tl 读取数据后,事务几执行更新操作,使Tl 无法再现前一次读取结果。( 3 )读“脏”数据(Dirty Read ) 读“脏’夕数据是指事务Tl 修改某一数据,并将其写回磁盘,事务几读取同一数据后,Tl 由于某种原因被撤销,这时Tl 已修改过的数据恢复原值,几读到的数据就与数据库中的数据不一致,则几读到的数据就为“脏”数据,即不正确的数据。避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。 3 .什么是封锁?基本的封锁类型有几种?试述它们的含义。 答:封锁就是事务T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T 就对该数据对象有了一定的控制,在事务T 释放它的锁之前,其他的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。 基本的封锁类型有两种:排它锁(Exclusive Locks ,简称x 锁)和共享锁( Share Locks,简称S 锁)。排它锁又称为写锁。若事务T 对数据对象A 加上X 锁,则只允许T 读取和修改A ,其他任何事务都不能再对A 加任何类型的锁,直到T 释放A 上的锁。这就保证了其他事务在T 释放A 上的锁之前不能再读取和修改A 。共享锁又称为读锁。若事务T 对数据对象A 加上S 锁,则事务T 可以读A但不能修改A ,其他事务只能再对A 加S 锁,而不能加X 锁,直到T 释放A 上的S 锁。这就保证了其他事务可以读A ,但在T 释放A 上的S 锁之前不能对A 做任何修改。 4 .如何用封锁机制保证数据的一致性? 答:DBMS 在对数据进行读、写操作之前首先对该数据执行封锁操作,例如下图中事务Tl 在对A 进行修改之前先对A 执行xock ( A ) ,即对A 加x 锁。这样,当几请求对A 加x 锁时就被拒绝,几只能等待Tl 释放A 上的锁后才能获得对A 的x 锁,这时它读到的A 是Tl 更新后的值,再按此新的A 值进行运算。这样就不会丢失Tl 的更新。

(完整版)数据库课后习题及答案

第一章数据库系统概述 选择题 1实体-联系模型中,属性是指(C) A.客观存在的事物 B.事物的具体描述 C.事物的某一特征 D.某一具体事件 2对于现实世界中事物的特征,在E-R模型中使用(A) A属性描述B关键字描述C二维表格描述D实体描述 3假设一个书店用这样一组属性描述图书(书号,书名,作者,出版社,出版日期),可以作为“键”的属性是(A) A书号B书名C作者D出版社 4一名作家与他所出版过的书籍之间的联系类型是(B) A一对一B一对多C多对多D都不是 5若无法确定哪个属性为某实体的键,则(A) A该实体没有键B必须增加一个属性作为该实体的键C取一个外关键字作为实体的键D该实体的所有属性构成键 填空题 1对于现实世界中事物的特征在E-R模型中使用属性进行描述 2确定属性的两条基本原则是不可分和无关联 3在描述实体集的所有属性中,可以唯一的标识每个实体的属性称为键 4实体集之间联系的三种类型分别是1:1 、1:n 、和m:n 5数据的完整性是指数据的正确性、有效性、相容性、和一致性 简答题 一、简述数据库的设计步骤 答:1需求分析:对需要使用数据库系统来进行管理的现实世界中对象的业务流程、业务规则和所涉及的数据进行调查、分析和研究,充分理解现实世界中的实际问题和需求。 分析的策略:自下而上——静态需求、自上而下——动态需求 2数据库概念设计:数据库概念设计是在需求分析的基础上,建立概念数据模型,用概念模型描述实际问题所涉及的数据及数据之间的联系。 3数据库逻辑设计:数据库逻辑设计是根据概念数据模型建立逻辑数据模型,逻辑数据模型是一种面向数据库系统的数据模型。 4数据库实现:依据关系模型,在数据库管理系统环境中建立数据库。 二、数据库的功能 答:1提供数据定义语言,允许使用者建立新的数据库并建立数据的逻辑结构 2提供数据查询语言 3提供数据操纵语言 4支持大量数据存储 5控制并发访问 三、数据库的特点 答:1数据结构化。2数据高度共享、低冗余度、易扩充3数据独立4数据由数据库管理系统统一管理和控制:(1)数据安全性(2)数据完整性(3)并发控制(4)数据库恢复 第二章关系模型和关系数据库 选择题 1把E-R模型转换为关系模型时,A实体(“一”方)和B实体(“多”方)之间一对多联系在关系模型中是通过(A)来实现的

数据库并发控制

数据库是一个共享资源,可以提供多个用户使用。这些用户程序可以一个一个地串行执行,每个时刻只有一个用户程序运行,执行对数据库的存取,其他用户程序必须等到这个用户程序结束以后方能对数据库存取。但是如果一个用户程序涉及大量数据的输入/输出交换,则数据库系统的大部分时间处于闲置状态。因此,为了充分利用数据库资源,发挥数据库共享资源的特点,应该允许多个用户并行地存取数据库。但这样就会产生多个用户程序并发存取同一数据的情况,若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性,所以数据库管理系统必须提供并发控制机制。并发控制机制的好坏是衡量一个数据库管理系统性能的重要标志之一。 DM用封锁机制来解决并发问题。它可以保证任何时候都可以有多个正在运行的用户程序,但是所有用户程序都在彼此完全隔离的环境中运行。 一、并发控制的预备知识 (一) 并发控制概述 并发控制是以事务(transaction)为单位进行的。 1. 并发控制的单位――事务 事务是数据库的逻辑工作单位,它是用户定义的一组操作序列。一个事务可以是一组SQL 语句、一条SQL语句或整个程序。 事务的开始和结束都可以由用户显示的控制,如果用户没有显式地定义事务,则由数据库系统按缺省规定自动划分事务。 事务应该具有4种属性:原子性、一致性、隔离性和持久性。 (1)原子性 事务的原子性保证事务包含的一组更新操作是原子不可分的,也就是说这些操作是一个整体,对数据库而言全做或者全不做,不能部分的完成。这一性质即使在系统崩溃之后仍能得到保证,在系统崩溃之后将进行数据库恢复,用来恢复和撤销系统崩溃处于活动状态的事务对数据库的影响,从而保证事务的原子性。系统对磁盘上的任何实际数据的修改之前都会将修改操作信息本身的信息记录到磁盘上。当发生崩溃时,系统能根据这些操作记录当时该事

相关主题
文本预览
相关文档 最新文档