当前位置:文档之家› 第八章1-数据库复习

第八章1-数据库复习

第八章1-数据库复习
第八章1-数据库复习

第八章并发控制

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

答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。

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

答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。

(1)丢失修改()

两个事务T1和T2读人同一数据并修改飞提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。

(2)不可重复读(-)

不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。不可重复读包括三种情况:详见《概论》8的P66。

(3)读“脏”数据()

读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值T2读到的数据就与数据库中的数据不一致,则

T2读到的数据就为“脏”数据,即不正确的数据。

避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。

3.什么是封锁?

答:封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。

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

4.基本的封锁类型有几种?试述它们的含义。

答:基本的封锁类型有两种:排它锁(,简称X锁)和共享锁(,简称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做任何修改。在T释放A上的锁之前不能再读取和修改A。

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

答:在对数据进行读、写操作之前首先对该数据执行封锁操作,例如下图中事务T;在对A进行修改之前先对A执行(A),即对A加X锁。这样,当T2请求对A加X锁时就被拒绝,T2只能等待T1释放A上的锁后才能获得对A的X锁,这时它读到的A是T1更新后的值,再按此新的A值进行运算。这样就不会丢失T1的更新。

T1 T2

① A

②读16

A

③A←A-1 等待

写回A=15 等待

等待

A 等待

④获得 A

读15

A←A-1

写回A=14

A

按照一定的封锁协议,对并发操作进行控制,使得多个并发操作有序地执行,就可以避免丢失修改、不可重复读和读“脏”数据等数据不一致性。

6.什么是封锁协议?不同级别的封锁协议的主要区别是什么?答:在运用封锁技术对数据加锁时,要约定一些规则。例如,在运用X锁和S锁对数据对象加锁时,要约定何时申请X锁或S锁、何时释放封锁等。这些约定或者规则称为封锁协议()。对封锁方式约定不同的规则,就形成了各种不同的封锁协议、不同级别的封锁协议,例如《概论》8.3中介绍的三级封锁协议,三级协议的主要区别在于什么操作需要申请封锁,何时申请封锁以及何时释放锁(即持锁时间的长短)。

一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。

二级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对S锁,读完后即可释放S锁。

三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其S锁,直到事务结束才释放。

7.不同封锁协议与系统一致性级别的关系是什么?

答:不同的封锁协议对应不同的一致性级别。

一级封锁协议可防止丢失修改,并保证事务T是可恢复的。在一级封锁协议中,对读数据是不加S锁的,所以它不能保证可重复读和不读“脏”数据。

二级封锁协议除防止了丢失修改,还可进一步防止读“脏”

数据。在二级封锁协议中,由于读完数据后立即释放S锁,所以

它不能保证可重复读。

在三级封锁协议中,无论是读数据还是写数据都加长锁,即

都要到事务结束时才释放封锁。所以三级封锁协议除防止了丢失

修改和不读“脏”数据外,还进一步防止了不可重复读。

下面的表格清楚地说明了封锁协议与系统一致性的关系。

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

答:

T1 T2 T3

T4

R ···

· R ···等待 R ·

等待· R

·等待 R 等待

·等待·等待

·等待 R 等待

·等待· R

·等待··

如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求……T2有可能永远等待,这就是活锁的情形。活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。

如果事务T1封锁了数据R1,T2封锁了R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁。接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁。

T1 T2

R1·

· R2

··

R2 ·

等待·

等待 R1

等待等待

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

答:活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。避免活锁的简单方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。

10.请给出预防死锁的若干方法。

答:在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求已被其他事务封锁的数据加锁,从而出现死等待。防止死锁的发生其实就是要破坏产生死锁的条件。预防死锁通常有两种方法:

(1)一次封锁法,要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行;

(2)顺序封锁法,预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。

不过,预防死锁的策略不大适合数据库系统的特点,具体原因可参见《概论》8.4。

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

答:数据库系统一般采用允许死锁发生,检测到死锁后加以解除的方法。中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。

超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。若时限设置得太长,又不能及时发现死锁发生。

并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。当然,对撤销的事务所执行的数据修改操作必须加以恢复。

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

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

可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果相同,称这种调度策略为可串行化的调度。

13.设T1,T2,T3是如下的3个事务:

T1:A:= 2;

T2:A: * 2;

T3:A:**2;(A←A2)

设A的初值为0。

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

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

因为串行执行次序有T1T2T3、T1T3T2、T2T1T3、T2T3T1、T3T1T2、

T3T2T1。

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

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

答:

T1 T2 T3

A

A A

A

A=Y+2 等待

写回(=2)等待

A 等待

2

A

A

A

*2 等待

写回(4) 等待

A 等待

4

A

A

**2

写回A (=16)

A

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

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

答:

T1 T2 T3

A

A A

A

等待 A

2

写回A(=2)

A

A 等待

2

A

A

A

等待**2

等待写回A(=4)

等待A

*2

写回A(=0)

A

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

(4)若这3个事务都遵守两段锁协议,请给出一个不产生死锁

的可串行化调度。

T1 T2 T3

A

A

2 A

写回(2)等待

A 等待

2

A

A 等待 A

*2 等

写回(4)等

A 等待

4

A

A

*

*2

写回A(=16)

A

A

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

调度。

答:

T1 T2 T3

A

A

A

等待

A

等待

A

A

等待14.试述两段锁协议的概念。

答:两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。

·在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;

·在释放一个封锁之后,事务不再申请和获得任何其他封锁。

“两段”的含义是,事务分为两个阶段:

第一阶段是获得封锁,也称为扩展阶段,在这阶段,事务可以申请获得任何

数据项上的任何类型的锁,但是不能释放任何锁;

第二阶段是释放封锁,也称为收缩阶段,在这阶段,事务释放已经获得的锁,但是不能再申请任何锁。

15.试证明,若并发事务遵守两段锁协议,则对这些事务的并发调度是可串行化的。

证明:首先以两个并发事务T1和T2为例,存在多个并发事务的情形可以类推。

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

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

(2)事务T1读或写某个数据对象A,T2写A。

下面称A为潜在冲突对象。

设T1和T2访问的潜在冲突的公共对象为{A1,A 2,…,}。

不失一般性,假设这组潜在冲突对象中{A1,A2,…,}均符

合情况(1)。

{1,…}符合所情况(2)。

?∈X需要 x①

x

T2需要 x或 x ②

1)如果操作①先执行,则T1获得锁而T2等待

由于遵守两段锁协议,T1在成功获得X和Y中全部对象及非

潜在冲突对象的锁后,才会释放锁。

这时如果w X

?∈或Y,T2已获得w的锁,则出现死锁;

否则,T1在对X、Y中对象全部处理完毕后,T2才能执行。

这相当于按T1、T2人的顺序串行执行,根据可串行化定义T1

和T2的调度是

可串行化的。

2)操作②先执行的情况与(1)对称

因此,若并发事务遵守两段锁协议,在不发生死锁的情况下,

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

证毕。

16.举例说明,对并发事务的一个调度是可串行化的,而这些并

发事务不一定遵守两段锁协议。

T1 T2

B

读B=2

B

A

A

等待

写回3 等待

A 等待

等待

A

读3

A

B

1

写回B=4

B

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

答:引进意向锁是为了提高封锁子系统的效率。该封锁子系统支持多种封锁粒度。

原因是:在多粒度封锁方法中一个数据对象可能以两种方式

加锁——显式封锁和隐式封锁(有关概念参见《概论》8.7)。因此系统在对某一数据对象加锁时不仅要检查该数据对象上有无(显式和隐式)封锁与之冲突,还要检查其所有上级结点和所有下级结点,看申请的封锁是否与这些结点上的(显式和隐式)封锁冲突,显然,这样的检查方法效率很低。为此引进了意向锁。

意向锁的含义是:对任一结点加锁时,必须先对它的上层结点加意向锁。

例如事务T要对某个元组加X锁,则首先要对关系和数据库加锁。换言之,对关系和数据库加巩锁,表示它的后裔结点——某个元组拟(意向)加X锁。

引进意向锁后,系统对某一数据对象加锁时不必逐个检查与下一级结点的封锁冲突了。例如,事务T要对关系R加二锁时,系统只要检查根结点数据库和R本身是否已加了不相容的锁(如发现已经加了,则与X冲突),而不再需要搜索和检查R中的每一个元组是否加了X锁或S锁。

18.试述常用的意向锁:锁、锁、锁,给出这些锁的相容矩阵。答:锁

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

如果对一个数据对象加锁,表示它的后裔结点拟(意向)加

X锁。例如,要对某个元组加X锁,则要首先对关系和数据库加锁。

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

相容矩阵

19.理解并解释下列术语的含义:封锁、活锁、死锁、排它锁、共享锁、并发事务的调度、可串行化的调度、两段锁协议。

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

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

答:略,参见《概论》8.8节,简单介绍了有关的并发控制机制。

数据库系统概论部分答案

第一章 1 .试述数据、数据库、数据库系统、数据库管理系统的概念。 答: ( l )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。( 2 )数据库( DataBase ,简称DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。( 3 )数据库系统( DataBas 。Sytem ,简称DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成, ( 4 )数据库管理系统( DataBase Management sytem ,简称DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。 5 .试述数据库系统的特点。 答: ( l )数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。 ( 2 )数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用以多种不同的语言共享使用。 ( 3 )数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。数据库管理系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。 ( 4 )数据由DBMS 统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。 7. 什么是概念模型?试述概念模型的作用。答:概念模型是现实世界到机器世界的一个中间层次,作用:用于信息世界的建模,是现实世界到信息世界的第一层抽象,数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。 8.定义并解释概念模型中以下术语:实体,实体型,实体集,实体之间的联系答: 实体:客观存在并可以相互区分的事物叫实体。 实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。 实体集:同型实体的集合称为实体集。实体之间的联系:1 : 1 , 1 : n 和m : n 9 .试述数据模型的概念、数据模型的作用和数据模型的三个要素。答: 数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。这些概念精确描述了系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。 ( l )数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。 ( 2 )数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。 ( 3 )数据的完整性约束条件:是一组完整性规则的集合。 13.试述关系模型的概念,定义并解释以下术语:关系,属性,域,元组,码,分量,关 系模式答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。( l )关系:一个关系对应通常说的一张表;( 2 )属性:表中的一列即为一个属性;( 3 )域:属性的取值范围;( 4 ) 元组:表中的一行即为一个元组;( 5 )码:表中的某个属性或属性组,它可以惟一确定一个元组;( 6 )分量:元组中的一个属性值;( 7 )关系模式:对关系的描述,一般表示为关系名(属性1 ,属性2 ,…,属性n )

数据库应用基础教程答案

数据库应用基础教程答案 【篇一:access数据库应用基础教程(第三版)习题及答 案】 txt>程(第三版)习题集答案 第1章数据库系统概述 1. 什么是数据库?什么是数据库系统?答:数据库(database) 是存放数据的仓库,严格的讲,数据库是长期存储在计算机内,有组 织的,可共享的大量数据集合。 数据库系统(database systems),是由数据库及其管理软件组成的系统。它是为适应数据处理的需要而发展起来的一种较为理想的 数据处理的核心机构。它是一个实际可运行的存储、维护和应用系 统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。 2. 什么是数据库管理系统?它有哪些主要功能? 答:数据库管理系统(database management system)是一种操纵 和管理数据 库的大型软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。 数据库管理系统的主要功能有:数据定义、数据操作、数据库的运 行管理、数据组织、数据库的保护、数据库的维护和通信。 3. 说出几种常用的数据模型。 答:层次模型、网状模型、关系模型。 4. 什么是关系模型? 答:关系模型是用二维表的形式表示实体和实体间联系的数据模型。 5. 简述数据库设计的步骤。 答:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数 据库的建立和测试、数据库运行和维护。 第2章 sql 语言简介 1. 什么是sql语言?sql语言具有哪些特点和功能? 答:sql是一种数据库查询和程序设计语言,用于存取数据以及查询更新和管理关系 数据库系统。 sql的特点和功能有:查询,操作,定义和控制四个方面,sql语言 具有高度的非过程化,语言简洁,语义明显,语法结构简单,直观

第八章1 数据库复习

第八章并发控制 1.在数据库中为什么要并发控制? 答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。 2.并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。 (1)丢失修改(Lost Update) 两个事务T1和T2读人同一数据并修改飞提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。 (2)不可重复读(Non-Repeatable Read) 不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。不可重复读包括三种情况:详见《概论》8.l的P66。 (3)读“脏”数据(Dirty Read) 读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。 避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。 3.什么是封锁? 答:封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。 封锁是实现并发控制的一个非常重要的技术。 4.基本的封锁类型有几种?试述它们的含义。 答:基本的封锁类型有两种:排它锁(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做任何修改。在T释放A上的锁之前不能再读取和修改A。 5.如何用封锁机制保证数据的一致性? 答:DBMS在对数据进行读、写操作之前首先对该数据执行封锁操作,例如下图中事务T;在对A进行修改之前先对A执行Xlock(A),即对A加X锁。这样,当T2请求对A加X

易语言数据库教程之ACCESS数据库全操作

易语言数据库教程之ACCESS数据库 前面我们已经对比分析过易语言所支持的几种常见数据库,在这几种数据库中,我们先来学习一个ACCESS数据库,当然,MSSQL数据库是完全一样的。 数据库的学习可以说非常的简单,也可以说很不简单,这要看你的出发点来定,当然,前面所学习的易语言基础同样很重要! 和前面所有的教程一样,所讲的内容部分来源我的课堂教学,面对的是高中学生,有些地方的讲解会非常的详细,而有些地方又会相对简单的一笔带过,如果有什么地方你理解起来有困难的话,请与我联系,呵呵! 本教程并不是要把易语言中对ACCESS数据库的所有操作和应用都讲一遍,都讲清楚,那是不可能的,这一点倒是有点遗憾,但我会尽我所能把一些必需的内容讲清楚! 一、准备工作 1、ACCESS的安装参见Microsoft Office2003安装图解教程 2、ACCESS数据库中数据表的建立 3、易语言ACCESS数据库控件介绍 二、数据库操作 1、易语言ACCESS数据库的连接及打开 2、易语言ACCESS数据库的读操作 3、易语言ACCESS数据库的读操作问题解决 4、易语言ACCESS数据库的高级打开操作 5、易语言ACCESS数据库的写操作 6、易语言ACCESS数据库记录的简单修改 7、易语言ACCESS数据库记录的高级修改 三、数据库与高级表格

1、易语言ACCESS数据库与高级表格一 ACCESS数据库中数据表的建立 在ACCESS中建立一个数据库及在数据库中建立数据库其实是非常简单的。 1、新建数据库,这就不用多说了,在“文件”菜单下第一个就是“新建”,它的快捷键是“Ctrl+N”,和大多数软件完全一样。 2、新建的数据库第一步操作就是要保存,这也不用多说了,相信大家都会的。 3、新建数据表,新建的数据库如下图,是一个表都没有,新建一个数据表的方法有很多,这里我们选择“使用设计器创建表”,如下图所示。 3、这里我们以建立一个学生成绩表为例进行操作,随便写了一些字段在里面,注意一下字段的类型,有些是“自动编号”,有些是“文本”,有些是“数字”,根据需要来,最后别忘记给“id”这个字段设置为“主键”。

电大数据库系统及应用,形考册第8章,习题与参考答案

第8章习题与参考答案 一.单项选择题 1.在数据库设计中,将E-R图转换为关系数据模型是下述哪个阶段完成的工作(C)。 A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 2.在将E-R图转换为关系模型时,一般都将m:n联系转换成一个独立的关系模式。下列关于这种联系产生的关系模式的主码的说法,正确的是(C)。 A.只需包含m端关系模式的主码即可 B.只需包含n端关系模式的主码即可 C.至少包含m端和n端关系模式的主码 D.必须添加新的属性作为主码 3. 在将局部E-R图合并为全局E-R图时,可能会产生一些冲突。下列冲突中不属于合并E-R图冲突的是(B)。 A.结构冲突 B.语法冲突 C.属性冲突 D.命名冲突

4. 一个银行营业所可以有多个客户,一个客户也可以在多个营业所进行存取款业务,则客户和银行营业所之间的联系是(D)。 A.一对一 B.一对多 C.多对一 D.多对多 5.设实体A与实体B之间是一对多联系。下列进行的逻辑结构设计方法中,最合理的是(A)。 A.实体A和实体B分别对应一个关系模式,且外码放在实体B的关系模式中 B. 实体A和实体B分别对应一个关系模式,且外码放在实体A的关系模式中 C.为实体A和实体B设计一个关系模式,该关系模式包含两个实体的全部属性 D.分别为实体A、实体B和它们之间的联系设计一个关系模式,外码在联系对应的关系模式中 6. 设有描述图书出版情况的关系模式:出版(书号,出版日期,印刷数量),设一本书可以被出版多次,每次出版都有一个印刷数量。该关系模式的主码是(B)。 A.书号 B.(书号,出版日期) C.(书号,印刷数量) D.(书号,出版日期,印刷数量) 7. 在数据库设计中,进行用户子模式设计是下述哪个阶段要完成的工作(C)。

王珊《数据库系统概论》(第4版)配套题库【课后习题】第5章~第8章【圣才出品】

第5章数据库完整性 1.什么是数据库的完整性? 答:数据库的完整性是指数据的正确性和相容性。数据库的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。 2.数据库的完整性概念与数据库的安全性概念有什么区别和联系? 答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。数据的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。数据的安全性是保护数据库防止恶意的破坏和非法的存取。因此,完整性检查和控制的防范对象是不合语义的、不正确的数据,防止它们进入数据库。安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。 3.什么是数据库的完整性约束条件? 答:完整性约束条件是指数据库中的数据应该满足的语义约束条件。 完整性约束条件分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。 (1)静态列级约束是对一个列的取值域的说明,包括数据类型的约束:数据的类型、长度、单位、精度等;对数据格式的约束;对取值范围或取值集合的约束;空值的约束;其他约束。 (2)静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。

(3)静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束,常见的静态关系约束有:实体完整性约束,参照完整性约束,函数依赖约束。 (4)动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:修改列定义时的约束,修改列值时的约束。 (5)动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件。 (6)动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。 4.RDBMS的完整性控制机制应具有哪些功能? 答:DBMS的完整性控制机制应具有三个方面的功能: (1)提供定义完整性约束条件的机制。完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件。SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。这些完整性一般由SQL的DDL语句来实现。它们作为数据库模式的一部分存入数据字典中。 (2)提供完整性检查的方法。DBMS中检查数据是否满足完整性约束条件的机制称为完整性检查。一般在INSERT、UPDATE、DELETE语句执行后开始检查,也可以在事务提交时检查。检查这些操作执行后数据库中的数据是否违背了完整性约束条件。 (3)违约处理。DBMS若发现用户的操作违背了完整性约束条件,就采取一定的动作,如拒绝(NO ACTION)执行该操作,或级连(CASCADE)执行其他操作,进行违约处理以保证数据的完整性。

MYSQL数据库基本操作详细教程

MYSQL数据库 学习目标: ●掌握MYSQL基本知识 ●学习数据库管理和操作 ●掌握数据库设计方法 ●熟练运用SQL编程语言 基本概念 MYSQL数据库是关系型数据库。 关系型:使用一个关系,来表示实体信息和实体之间的联系。关系:就是二维表,有行有列的表格。 这两张表通过班级名称关联起来。 关系型数据库:就是由二维表及其之间的联系组成的数据组织。 同一个表中数据结构完全一致。 数据是由记录组成 记录是由字段组成。 SQL:结构化查询语言 专门用于处理关系型数据库编程语言。 PHP也是编程语言 变量,流程控制,函数

数据库服务器的结构 DBS = DBMS + DB 数据库系统= 数据库管理系统+ 数据库(数据) 命令行客户端

数据在服务器上是如何存储的? 操作服务器 通过服务管理来操作服务器 开始->运行-> 3306是MYSQL服务程序的默认端口号 可以用netstat –an命令查看服务是否启动

命令行命令控制服务器的启动和关闭 Net start mysql Net stop mysql 错误原因:没有权限 解决办法:用管理员方式启动命令行窗口 C/S, client / server客户端/服务器方式访问数据库命令行客户端工具

流程: 1.连接和认证,提供4个参数,分别是主机地址,端口号,用户名,密码 2.向MYSQL数据库服务器发送SQL 3.MYSQL服务器接收并执行SQL,并且把结果返回给客户端 4.客户端对结果进行显示 5.断开服务器连接。Exit, quit, \q 2,3,4这几步可以循环执行 知识: 非关系型数据库,NOSQL,not only sql 不仅仅是SQL 代表:redis, mongodb 数据存储有点象数组,key/value SQL语言 存储数据: 首先建立数据库 之后建立数据表(字段定义) 操作数据 数据有哪些操作 CURD CREATE UPDATE READ DELETE(DROP)

《数据库系统概论》课后习题及参考答案

课后作业习题 《数据库系统概论》课程部分习题及参考答案 第一章绪论(教材 41页) 1.试述数据、数据库、数据库系统、数据库管理系统的概念。 数据: 描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义是不可分的。 数据库: 数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 数据库系统: 数据库系统( DBS)是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 数据库管理系统: 数据库管理系统 (DBMS)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。 2.使用数据库系统有什么好处? 使用数据库系统的好处是由数据库管理系统的特点或优点决定的。 使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。 为什么有这些好处,可以结合第 5题来回答。

使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由 DBMS来完成。 此外,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。数据逻辑结构的改变是 DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。 使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为 DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由DBMS执行。 总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的利用率和一致性,又有利于应用程序的开发和维护。 3.试述文件系统与数据库系统的区别和联系。 文件系统与数据库系统的区别: 文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。 数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。 文件系统与数据库系统的联系是: 文件系统与数据库系统都是计算机系统中管理数据的软件。 5.试述数据库系统的特点。 数据库系统的主要特点有: 一、数据结构化 数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。 二、数据的共享性高,冗余度低,易扩充

数据库第一章作业

第一章数据库系统概述 一. 简答题(回答时尽量简洁,抓住关键点即可,不需要展开) 1.数据库管理系统的基本功能? 基本功能:安全性,完整性,故障恢复,并发控制。 2.数据库系统的三个抽象层次? 视图抽象,概念抽象,物理抽象。 3.对数据库中的数据,最基本的四种操作是什么? 增加,删除,修改,查询。 4.简述数据抽象、数据模型及数据模式的概念,以及它们之间的关系? 数据抽象:指一种数据抽象的过程。 数据模型:使用逻辑概念方式,对对象,对象属性,对象联系等,来组织和表示抽取的数据。 数据模式:抽取的数据用数据模型组织后,得到的结果。 关系:数据模型是数据抽象的工具,数据模式是数据抽象的结果。 5.何谓DBMS、数据库系统、视图? DBMS:数据库管理系统,一个通用软件系统,由一组计算机程序构成 数据库系统:指一个环境,在此环境中,用户的应用系统可以顺利运行。 视图:指一个人看(即“视”)某个物体所得到的图像。 6.数据模型的三个评价标准、三个要素、分类? 三个评价标准:①比较真实描述显示世界。②易为用户所理解。③易于在计算机上实现。 三个要素:①数据结构②数据操作③数据约束 分类:①概念数据模型②逻辑数据模型③物理数据模型 7.传统的三个数据模型是指什么? 层次数据模型,网状数据模型,关系数据模型。 8.数据库语言的作用,一般应包含哪几个子语言? 数据库语言是DBMS提供给用户定义结构,操纵数据和管理DBMS的一个界面。 数据库语言包括数据定义子语言(DDL),数据操纵子语言(DML),数据控制子语言(DCL) 9.SQL语言的使用方式? 一,用户直接在RDBMS控制台上,使用SQL语言中的SQL命令交互,即SQL的交互式使用;二,用户通过开发的应用系统与RDBMS交互。 10.数据字典的作用? 数据字典是DBMS中的一个特殊文件,用于存储数据库的一些说明信息,即元数据。11.数据管理的发展分哪三个阶段?数据库技术的发展经历了哪几代?

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

第8章关系查询处理和查询优化 1 .试述查询优化在关系数据库系统中的重要性和可能性。 答:重要性:关系系统的查询优化既是RDBMS 实现的关键技术又是关系系统的优点所在。它减轻了用户选择存取路径的负担。用户只要提出“干什么”,不必指出“怎么干”。查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化’夕做得更好。 可能性:这是因为:( l )优化器可以从数据字典中获取许多统计信息,例如关系中的元组数、关系中每个属性值的分布情况、这些属性上是否有索引、是什么索引(B +树索引还是HASH 索引或惟一索引或组合索引)等。优化器可以根据这些信息选择有效的执行计划,而用户程序则难以获得这些信息。( 2 )如果数据库的物理统计信息改变了,系统可以自动对查询进行重新优化以选择相适应的执行计划。在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。( 3 )优化器可以考虑数十甚至数百种不同的执行计划,从中选出较优的一个,而程序员一般只能考虑有限的几种可能性。( 4 )优化器中包括了很多复杂的优化技术,这些优化技术往往只有最好的程序员才能掌握。系统的自动优化相当于使得所有人都拥有这些优化技术。 2 .对学生一课程数据库有如下的查询:SEI 王CT Cn 即ne FROM Student , Cou 拐e , SC WHERE Student . Sno = SC . Sno AND SC . Cllo = Coll 拐e . Cllo AND Stu 击nt . Sdept = ! 15 ! ; 此查询要求信息系学生选修了的所有课程名称。试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。 答:

数据库实用教程答案(第三版)董健全 清华大学出版社

数据库实用教程答案(第三版).doc 第1、2章 1.1 名词解释: ◆ DB:数据库(Database),DB是统一管理的相关数据的集合。DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。 ◆ DBMS:数据库管理系统(Database Management System),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。 ◆ DBS:数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。 ◆ 1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,好么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。 ◆ 1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:N”。 ◆ M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:N”。 ◆ 数据模型:表示实体类型及实体类型间联系的模型称为“数据模型”。它可分为两种类型:概念数据模型和结构数据模型。 ◆ 概念数据模型:它是独门于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。 ◆ 结构数据模型:它是直接面向数据库的逻辑结构,是现实世界的第二层抽象。这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。它主要有:层次、网状、关系三种模型。 ◆ 层次模型:用树型结构表示实体间联系的数据模型 ◆ 网状模型:用有向图结构表示实体类型及实体间联系的数据模型。 ◆ 关系模型:是由若干个关系模式组成的集合,其主要特征是用二维表格结构表达实体集,用外鍵表示实体间联系。

数据库系统基础教程第八章答案

Section 1 Exercise 8.1.1 a) CREATE VIEW RichExec AS SELECT * FROM MovieExec WHERE netWorth >= 10000000; b) CREATE VIEW StudioPres (name, address, cert#) AS SELECT https://www.doczj.com/doc/7a7597142.html,, MovieExec.address, MovieExec.cert# FROM MovieExec, Studio WHERE MovieExec.cert# = Studio.presC#; c) CREATE VIEW ExecutiveStar (name, address, gender, birthdate, cert#, netWorth) AS SELECT https://www.doczj.com/doc/7a7597142.html,, star.address, star.gender, star.birthdate, exec.cert#, https://www.doczj.com/doc/7a7597142.html,Worth FROM MovieStar star, MovieExec exec WHERE https://www.doczj.com/doc/7a7597142.html, = https://www.doczj.com/doc/7a7597142.html, AND star.address = exec.address; Exercise 8.1.2 a) SELECT name from ExecutiveStar WHERE gender = ‘f’; b) SELECT https://www.doczj.com/doc/7a7597142.html, from RichExec, StudioPres where https://www.doczj.com/doc/7a7597142.html, = https://www.doczj.com/doc/7a7597142.html,; c) SELECT https://www.doczj.com/doc/7a7597142.html, from ExecutiveStar, StudioPres WHERE https://www.doczj.com/doc/7a7597142.html,Worth >= 50000000 AND StudioPres.cert# = RichExec.cert#; Section 2 Exercise 8.2.1 The views RichExec and StudioPres are updatable; however, the StudioPres view needs to be created with a subquery. CREATE VIEW StudioPres (name, address, cert#) AS SELECT https://www.doczj.com/doc/7a7597142.html,, MovieExec.address, MovieExec.cert# FROM MovieExec WHERE MovieExec.cert# IN (SELECT presCt# from Studio); Exercise 8.2.2 a) Yes, the view is updatable. b)

数据库系统概论课后答案{王珊版}

2 .使用数据库系统有什么好处? 答: 使用数据库系统的好处是由数据库管理系统的特点或优点决定的。使用数据库系统的好处很多,例如,可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担,等等。使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由DBMS 来完成。用一个通俗的比喻,使用了DBMS 就如有了一个好参谋、好助手,许多具体的技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑的设计,而不必为数据管理的许许多多复杂的细节操心。还有,当应用逻辑改变,数据的逻辑结构也需要改变时,由于数据库系统提供了数据与程序之间的独立性,数据逻辑结构的改变是DBA 的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序,从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为DBMS 在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性、多用户并发控制、故障恢复等,都由DBMS 执行。总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。读者可以在自己今后的工作中结合具体应用,认真加以体会和总结。 3 .试述文件系统与数据库系统的区别和联系。 答: 文件系统与数据库系统的区别是:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。 文件系统与数据库系统的联系是:文件系统与数据库系统都是计算机系统中管理数据的软件。解析文件系统是操作系统的重要组成部分;而DBMS 是独立于操作系统的软件。但是DBMS 是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文件系统来实现的。 4 .举出适合用文件系统而不是数据库系统的例子;再举出适合用数据库系统的应用例子。答: ( l )适用于文件系统而不是数据库系统的应用例子数据的备份、软件或应用程序使用过程中的临时数据存储一般使用文件比较合适。早期功能比较简单、比较固定的应用系统也适合用文件系统。 ( 2 )适用于数据库系统而非文件系统的应用例子目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都使用数据库。例如,一个工厂的管理信息系统(其中会包括许多子系统,如库存管理系统、物资采购系统、作业调度系统、设备管理系统、人事管理系统等),学校的学生管理系统,人事管理系统,图书馆的图书管理系统,等等,都适合用数据库系统。希望读者能举出自己了解的应用例子。 5 .试述数据库系统的特点。 答: 数据库系统的主要特点有: ( l )数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。解析注意这里的“整体’夕两个字。在数据库系统中,数

数据库课后题答案 第八章 管理SQL Server的安全性

第八章SQL Server的安全性 要点: SQL Server 2000两级权限管理机制 登陆帐户和服务器角色 数据库用户和数据库角色 权限的管理 第一节SQL Server 2000安全性概述 作为一种数据库管理系统,SQL Server2000系统中存储了用户大量的业务数据,这些数据都是用户的商业机密。这些商业数据必须得到安全保障。安全性管理是数据库管理系统的一个重要组成部分。安全性就是确保只有授权的用户才能使用数据库中的数据和执行相应的操作,安全性管理包括两个方面的内容,一是用户能否登录系统和如何登录的管理,二是用户能否使用数据库中的对象和执行相应操作的管理。SQL Server2000提供了一套完整的安全机制。 一、认证进程和认证模式 认证进程就是指当用户访问数据库系统时,系统对该用户帐号和口令的确认过程,认证的内容包括确认用户的帐号是否有效、是否能访问系统、能访问系统中的哪些数据等。认证模式就是指系统选择何种认证进程确认用户的方式。 用户必须使用一个登录帐号,才能连接到SQL Server系统中。SQL Server 系统通过两种认证进程来确认用户的身份,这两种认证进程是:(1)WINDOWS认证进程 (2)SQL Server认证进程 当SQL Server在WINDOWS环境中运行时,系统管理员必须指定系统的认证模式类型。认证模式类型有两种: (1)WINDOWS认证模式 (2)混合模式 WINDOWS认证模式只允许使用WINDOWS认证进程。这时,用户不能指SQL Server的登录帐号。混合认证模式既允许使用WINDOWS认证进程,又允许使用SQL Server认证进程。在混合认证模式中,当某个用户希望登录SQL Server系统时,系统是采用WINDOWS认证进程还是采用SQL Server

第一章 数据库系统基础知识 答案

第 一 章 数 据 库 系 统 基 础 知 识一、选择题 秋: .根据关系模型的有关理论,下列说法中不正确的是。 .二维表中的每一列均有唯一的字段名 .二维表中不允许出现完全相同的两行 .二维表中行的顺序,列的顺序可以任意交换 .二维表中行的顺序,列的顺序不可以任意交换

年(春) . 是一个。 . 数据库系统 . 数据库管理系统 . 数据库 . 数据库管理员 . 实体模型反映实体及实体之间的关系,是人们的头脑对现实世界中客观事物及其 相互联系的认识,而是实体模型的数据化,是观念世界的实体模型在数据世界中的 反映,是对对现实世界的抽象。 . 数据模型 . 物理模型 . 逻辑模型 . 概念模型 年(春) . 数据库系统与文件系统的最主要区别是 A.数据库系统复杂,而文件系统简单 B.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 C.文件系统管理的数据量较小,而数据库系统可以管理庞大的数据量 D.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决 . 关系模型的基本结构是。 .树形结构.无向图.二维表.有向图 秋: . 目前数据库管理系统()有许多不同的产品。在下列产品中,不属于()公司开发的是. . . . 年春 . 在下列叙述中,错误的是。 .关系型数据库中的每一个关系都是一个二维表 .在关系模型中,运算的对象和运算的结果都是二维表 .二维表中不允许出现任何数据冗余 是一种关系型数据库管理系统产品 .关键字是关系模型中的重要概念。当一个二维表(表)的主关键字被包含到另一个二维表(表)中时,它就称为表的。 .主关键字 .候选关键字.外部关键字 .超关键字 . 在关系模型中,关系运算分为传统集合的关系运算和专门的关系运算。在下列关系运算中,不属于专门的关系运算(即属于传统集合的关系运算)的是。 .投影 .联接 .选择 .合并 年(秋) .下列不属于关系代数运算的是。 . 查询. 投影 . 选择 . 联接 .实体是信息世界的术语,与之对应的数据库术语是。 . 文件.数据库. 记录. 字段 年春: .关系模型中,超关键字。 . 可由多个任意属性组成 . 能由一个属性组成,其值能唯一标识该关系模式中任何一个元组 . 可由一个或多个属性组成,其值能唯一标识该关系模式中任何一个元组

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

第八章数据库并发控制 一、选择题 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 ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。 DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。解析 DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。目前,专门研制 DBMS 的厂商及其研制的DBMS 产品很多。著名的有美国 IBM 公司的 DBZ 关系数据库管理系统和 IMS 层次数据库管理系统、美国 Oracle 公司的 orade 关系数据库管理系统、 s 油 ase 公司的 s 油ase 关系数据库管理系统、美国微软公司的 SQL Serve ,关系数据库管理系统等。 2 .使用数据库系统有什么好处? 答: 使用数据库系统的好处是由数据库管理系统的特点或优点决定的。使用数据库系统的好处很多,例如,可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担,等等。使用数据库系统可以大大提高应用开

第1章数据库基础知识

第1章数据库基础知识 数据库是存放数据及相关信息的仓库,是事务处理、信息管理等应用系统的基础,数据管理系统通过将大量的数据按一定的数据模型组织起来,提供存储、维护、检索数据的功能,使应用系统可以方便地、及时地、准确地从数据库中获取所需的信息。 本章主要内容: ●数据处理的相关概念 ●数据库系统的组成 ●数据模型的相关概念 ●关系型数据库的相关概念 1.1 数据管理 1.1.1 数据与信息 1.信息 一般意义上,信息是指事物存在的方式和运动状态的表现形式。这里的“事物”泛指存在于人类社会、思维活动和自然界中一切可能的对象。“存在方式”是指事物的内部结构和外部联系。“运动状态”则是指事物在时间和空间上变化所展示的特征、态势和规律。概括地讲,信息是对客观事物的反映。 现实生活中,人们经常接触各种各样的信息,并根据这些信息做出反映。例如,在超市挑选某种奶粉时,首先要了解该奶粉的价格、质量及包装等,然后根据这些信息决定是否购买;再如,选修一门课程时,可以根据课程教师、课程性质及它的作用来决定是否选修等。 2.数据 数据是指表达信息的物理符号。在计算机中,数据是指能被计算机存储和处理的、反映客观事物的物理符号序列。数据反映信息,而信息则依靠数据表达。 表达信息的符号不仅可以是数字、字母、文字和其他特殊字符组成的文本形式的数据,还可以是图形、图像、动画、影像、声音等多媒体数据。 在计算机中,主要使用磁盘、光盘等外部存储器来存储数据,通过计算机软件和应用程序来管理与处理数据。 3.数据与信息的关系 数据与信息是两个既有联系,又有区别的概念。数据是信息的符号表示或载体,信息则是数据的内涵,是对数据的语义解释;数据是物理性的,是被加工的对象,而信息是对数据

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