数据库第十一章习题作业

在这里插入图片描述

9.

设T1、T2、T3是如下的三个事务,设A的初值是0。
T1:A:=A+2;
T2:A:=A*2;
T3:A:=A**2;

(1)

若这三个事务允许并发执行,则有多少可能的正确结果。
串行执行次序有:
T1、T2、T3
T1、T3、T2
T2、T1、T3
T2、T3、T1
T3、T1、T2
T3、T2、T1
执行结果分别为:16,8,4,2,4,2
一共有4种可能的正确结果,分别为2,4,8,16

(2)

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

T1T2T3
Slock A
R(A)=0
Unlock A
Xlock A
SlockA
A=A+2等待
W(A)=2等待
Unlock A等待
R(A)=2
Unlock A
Xlock A
Slock A
A=A*2等待
W(A)=4等待
Unlock A等待
R(A)=4
Unlock A
Xlock A
A=A**2
W(A)=16
Unlock A

(3)

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

T1T2T3
Slock A
R(A)=0
Unlock A
Slock A
R(A)=0
Xlock A
等待Unlock A
A=A+2
W(A) =2Slock A
Unlock A等待
R(A)=2
Unlock A
Xlock A
Xlock A
等待A=A**2
等待W(A)=4
等待Unlock A
A=A*2
W(A)=0
Unlock A

(4)

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

T1T2T3
Slock A
R(A)=0
Xlock A
A=A+2Slock A
W(A)=2等待
Unlock A等待
R(A)=2
Xlock A
Unlock A等待Slock A
A=A*2等待
W(A)=4等待
Unlock A等待
R(A)=4
Unlock A
Xlock A
A=A**2
W(A)=16
Unlock A
Unlock A

(5)

若这三个事务都遵守两端锁协议,请给出一个产生死锁的调度。

T1T2T3
Slock A
R(A)=0
Slock A
R(A)=0
Xlock A
等待
等待
Xlock A
等待
Slock A
R(A)=0
Xlock A
等待

10.

今有三个事务的一个调度r3(B)r1(A)w3(B)r2(B)r2(A)w2(B)r1(B)w1(A),该调度是冲突可串行化的调度吗?

<1> 由于r1(A)和w3(B)是不冲突操作,交换r1(A)、w3(B),可得
r3(B)w3(B)r1(A)r2(B)r2(A)w2(B)r1(B)w1(A)
<2> 由于r1(A)和r2(B)r2(A)w2(B)是不冲突操作,交换,可得
r3(B)w2(B)r2(B)r2(A)w2(B)r1(A)r1(B)w1(A)是一个串行调度
所以原调度是冲突可串行化调度。

14.

对于T1和T2:
T1:R(A);R(B);B=A+B;W(B)
T1:R(B);R(A);A=A+B;W(A)

(1)

改写T1和T2,增加加锁操作和解锁操作,并要求遵循两阶段封锁协议。

T1T2
Slock A
R(A)
Slock B
R(B)
Xlock B
B=A+B
W(B)
Unlock B
Slock B
R(B)
Unlock B
Unlock A
Slock A
R(A)
Xlock A
A=A+B
W(A)
Unlock A
Unlock A
Unlock B

(2)

说明T1和T2的执行是否会引起死锁,给出T1和T2的一个调度并说明之。
会引起死锁。

T1T2
Slock A
R(A)
Slock B
R(B)
Slock B
R(B)
Xlock B
等待Slock A
等待R(A)
等待Xlock A
等待

总结:

1.排他锁–写锁–X锁;共享锁–读锁–S锁
2.死锁:T1等待T2,T2等待T1.两个事务永远不能结束,形成死锁。
3.通过交换不冲突的操作得到新调度,如果新调度是串行的,称原调度是冲突可串行化调度。
4.如果一个调度是冲突可串行化,则一定是可串行化的调度。

完。

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
数据库系统概论习题答案 1 第1 章 绪论 1 .试述数据、数据库数据库系统、数据库管理系统的概念。 答: ( l )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图 像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义 的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中 的数据。现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。数 据与其语义是不可分的。 500 这个数字可以表示一件物品的价格是 500 元,也可以表示一 个学术会议参加的人数有 500 人,还可以表示一袋奶粉重 500 克。 ( 2 )数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可 共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、 较高的数据独立性和易扩展性,并可为各种用户共享。 ( 3 )数据库系统( DataBas 。 Sytem ,简称 DBS ) :数据库系统是指在计算机系统中 引入数据库后的系统构成,一般由数据库数据库管理系统(及其开发工具)、应用系统、 数据库管理员构成。解析数据库系统和数据库是两个概念。数据库系统是一个人一机系统, 数据库数据库系统的一个组成部分。但是在日常工作中人们常常把数据库系统简称为数据 库。希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引 起混淆。 ( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是 位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和 维护数据。 DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、 数据库的建立和维护功能。解析 DBMS 是一个大型的复杂的软件系统,是计算机中的基础 软件。目前,专门研制 DBMS 的厂商及其研制的 DBMS 产品很多。著名的有美国 IBM 公 司的 DBZ 关系数据库管理系统和 IMS 层次数据库管理系统、美国 Oracle 公司的 orade 关系数据库管理系统、 s 油 ase 公司的 s 油 ase 关系数据库管理系统、美国微软公司的 SQL Serve ,关系数据库管理系统等。 2 .使用数据库系统有什么好处? 答: 使用数据库系统的好处是由数据库管理系统的特点或优点决定的。使用数据库系统的好处很 多,例如,可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护 的负担,等等。使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程 序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由 DBMS 来完成。用一 个通俗的比喻,使用了 DBMS 就如有了一个好参谋、好助手,许多具体的技术工作都由这 个助手来完成。开发人员就可以专注于应用逻辑的计,而不必为数据管理的许许多多复杂 的细节操心。还有,当应用逻辑改变,数据的逻辑结构也需要改变时,由于数据库系统提供 了数据与程序之间的独立性,数据逻辑结构的改变是 DBA 的责任,开发人员不必修改应 用程序,或者只需要修改很少的应用程序,从而既简化了应用程序的编制,又大大减少了应 用程序的维护和修改。使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为 DBMS 在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、 安全性、多用户并发控制、故障恢复等,都由 DBMS 执行。总之,使用数据库系统的优点 是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于 应用程序的开发和维护。读者可以在自己今后的工作中结合具体应用,认真加以体会和总结。 3 .试述文件系统与数据库系统的区别和联系。 答: 文件系统与数据库系统的区别是:文件系统面向某一应用程序,共享性差,冗余度大,数据 独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界, 共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模 型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。 文件系统与数据库系统的联系是:文件系统与数据库系统都是计算机系统中管理数据的软 件。解析文件系统是操作系统的重要组成部分;而 DBMS 是独立于操作系统的软件。但是 DBMS 是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文 件系统来实现的。 4 .举出适合用文件系统而不是数据库系统的例子;再举出适合用数据库系统的应用例子。 答 : ( l )适用于文件系统而不是数据库系统的应用例子数据的备份、软件或应用程序使用过程 中的临时数据存储一般使用文件比较合适。早期功能比较简单、比较固定的应用系统也适合 用文件系统。 ( 2 )适用于数据库系统而非文件系统的应用例子目前,几乎所有企业或部门的信息系统 都以数据库系统为基础,都使用数据库。例如,一个工厂的管理信息系统(其中会包括许多 子系统,如库存管理系统、物资采购系统、作业调度系统、备管理系统、人事管理系统等), 学校的学生管理系统,人事管理系统,图书馆的图书管理系统,等等,都适合用数据库系统。 希望读者能举出自己了解的应用例子。 5 .试述数据库系统的特点。 答: 数据库系统的主要特点有: ( l )数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数 据库系统与文件系统的本质区别。解析注意这里的“整体’夕两个字。在数据库系统中,数 据不再针对某一个应用,而是面向全组织,具有整体的结构化。不仅数据是结构化的,而且 数据的存取单位即一次可以存取数据的大小也很灵活,可以小到某一个数据项(如一个学生 的姓名),大到一组记录(成千上万个学生记录)。而在文件系统中,数据的存取单位只有一 个:记录,如一个学生的完整记录。 ( 2 )数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个 系统,因此可以被多个用户、多个应用以多种不同的语言共享使用。由于数据面向整个系统, 是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库 系统弹性大,易于扩充。解析数据共享可以大大减少数据冗余,节约存储空间,同时还能够 避免数据之间的不相容性与不一致性。所谓“数据面向某个应用”是指数据结构是针对某个 应用计的,只被这个应用程序或应用系统使用,可以说数据是某个应用的“私有资源”。 所谓“弹性大”是指系统容易扩充也容易收缩,即应用增加或减少时不必修改整个数据库的 结构,只需做很少的改动。可以取整体数据的各种子集用于不同的应用系统,当应用需求改 变或增加时,只要重新选取不同的子集或加上一部分数据,便可以满足新的需求。 ( 3 )数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。数据库管理 系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立 性。 ( 4 )数据由 DBMS 统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存 3 取数据库中的数据甚至可以同时存取数据库中同一个数据。为此, DBMS 必须提供统一的 数据控制功能,包括数据的安全性保护、数据的完整性检查、并发控制和数据库恢复。解析 DBMS 数据控制功能包括四个方面:数据的安全性保护:保护数据以防止不合法的使用造 成的数据的泄密和破坏;数据的完整性检查:将数据控制在有效的范围内,或保证数据之间 满足一定的关系;并发控制:对多用户的并发操作加以控制和协调,保证并发操作的正确性; 数据库恢复:当计算机系统发生硬件故障、软件故障,或者由于操作员的失误以及故意的破 坏影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失时,能将数据库从错 误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)。下面可以得到“什么是 数据库”的一个定义:数据库是长期存储在计算机内有组织的大量的共享的数据集合,它可 以供各种用户共享,具有最小冗余度和较高的数据独立性。 DBMS 在数据库建立、运用和 维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库 时进行并发控制,在发生故障后对系统进行恢复。数据库系统的出现使信息系统从以加工数 据的程序为中心转向围绕共享的数据库为中心的新阶段。 6 .数据库管理系统的主要功能有哪些? 答: ( l )数据库定义功能; ( 2 )数据存取功能; ( 3 )数据库运行管理; ( 4 )数据库的建立和维护功能。 7 .试述数据模型的概念、数据模型的作用和数据模型的三个要素。 答: 数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作 手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。这些概念精确描述了系统 的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整 性约束三部分组成。 ( l )数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。 ( 2 )数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合, 包括操作及有关的操作规则,是对系统动态特性的描述。 ( 3 )数据的约束条件:是一组完整性规则的集合。完整性规则是给定的数据模型中数据 及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化, 以保证数据的正确、有效、相容。解析数据模型是数据库系统中最重要的概念之一。必须通 过 《 概论 》 的学习真正掌握数据模型的概念和作用。数据模型是数据库系统的基础。任 何一个 DBMS 都以某一个数据模型为基础,或者说支持某一个数据模型。数据库系统中, 模型有不同的层次。根据模型应用的不同目的,可以将模型分成两类或者说两个层次:一类 是概念模型,是按用户的观点来对数据和信息建模,用于信息世界的建模,强调语义表达能 力,概念简单清晰;另一类是数据模型,是按计算机系统的观点对数据建模,用于机器世界, 人们可以用它定义、操纵数据库中的数据,一般需要有严格的形式化定义和一组严格定义了 语法和语义的语言,并有一些规定和限制,便于在机器上实现。 8 .试述概念模型的作用。 答: 概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. 数据库系统概论习题答案 4 现实世界到信息世界的第一层抽象,是数据库计人员进行数据库计的有力工具,也是数 据库计人员和用户之间进行交流的语言。 9 .定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图( E 一 R 图) 答: 实体:客观存在并可以相互区分的事物叫实体。实体型:具有相同属性的实体具有相同的特 征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。实体集:同型实 体的集合称为实体集。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。码: 惟一标识实体的属性集称为码。实体联系图( E 一 R 图):提供了表示实体型、属性和联 系的方法: · 实体型:用矩形表示,矩形框内写明实体名; · 属性:用椭圆形表示,并 用无向边将其与相应的实体连接起来; · 联系:用菱形表示,菱形框内写明联系名,并用 无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型( 1 : 1 , 1 : n 或 m : n )。 10 .试给出 3 个实际部门的 E 一 R 图,要求实体型之间具有一对一、一对多、多对多 各种不同的联系。 答: 11 .试给出一个实际部门的 E 一 R 图,要求有三个实体型,而且 3 个实体型之间有多 对多联系。 3 个实体型之间的多对多联系和三个实体型两两之间的三个多对多联系等价 吗?为什么? 答: 3 个实体型之间的多对多联系和 3 个实体型两两之间的 3 个多对多联系是不等价,因为它 们拥有不同的语义。 3 个实体型两两之间的三个多对多联系如下图所示。 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值