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

第八章数据库复习

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

第八章并发控制

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

锁时就被拒绝,T2只能等待T1释放A上的锁后才能获得对A的X锁,这时它读到的A是T1更新后的值,再按此新的A值进行运算。这样就不会丢失T1的更新。

T1T2

①Xlock A

②读A=16

Xlock A

③A←A-1 等待

写回A=15 等待

Commit 等待

Unlock A 等待

④获得Xlock A

读A=15

A←A-1

写回A=14

⑤Commit

Unlock A

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

6.什么是封锁协议?不同级别的封锁协议的主要区别是什么?

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

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

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

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

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

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

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

二级封锁协议除防止了丢失修改,还可进一步防止读“脏”数据。在二级封锁协议中,由于读完数据后立即释放S锁,所以它不能保证可重复读。

在三级封锁协议中,无论是读数据还是写数据都加长锁,即都要到事务结束时才释放封锁。所以三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。

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

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

答:

T1 T2 T3 T4

lock R···

·lock R ··

·等待Lock R ·

Unlock 等待·Lock R

·等待Lock R 等待

·等待·等待

·等待Unlock R 等待

·等待·Lock 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两个事务永远不能结束,形成死锁。

T1T2

Lock R1·

·Lock R2

··

Lock R2 ·

等待·

等待Lock R1

等待等待

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

答:活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。避免活锁的简单方法是采用先来先服务的策略。当多个事

务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。

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

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

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

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

不过,预防死锁的策略不大适合数据库系统的特点,具体原因可参见《概论》8.4。11.请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?

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

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

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

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

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

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

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

T1:A:= A+2;

T2:A:=A * 2;

T3:A:=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)请给出一个可串行化的调度,并给出执行结果

答:

T1T2T3

Slock A

Y=A=0

Unlock A

Xlock A

Slock A

A=Y+2 等待

写回(=2)等待

Unlock A 等待

Y=A=2

Uulock A

Xlock A

Slock A

A=Y*2 等待

写回A=(4) 等待

Unlock A 等待

Y=A=4

Unlock A

Xlock A

A=Y**2

写回A(=16)

Unlock A

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

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

答:

T1T2T3

Slock A

Y=A=0

Unlock A

Slock A

Y=A=0

Xlock A

等待Unlock A

A=Y+2

写回A(=2)Slock A

Unlock A 等待

Y=A=2

Unlock A

Xlock A

Xlock A

等待Y=Y**2

等待写回A(=4)

等待Unlock A

A=Y*2

写回A(=0)

Unlock A

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

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

T1 T2 T3

Slock A

Y=A=0

Xlock A

A=Y+2 Slock A

写回(A=2)等待

Unlock A 等待

Y=A=2

Xlock A

Uulock A 等待Slock A

A=Y*2 等待

写回(A=4)等待

Unlock A 等待

Y=A=4

Unlock A

Xlock A

A=Y**2

写回A(=16)

Unlock A

Unlock A

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

答:

T1 T2 T3

Slock A

Y=A=0

Slock A

Y=A=0

Xlock A

等待

Xlock A

等待

Slock A

Y=A=0

Xlock A

等待

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

不失一般性,假设这组潜在冲突对象中{A1,A 2,…,A i}均符合情况(1)。

Y={A i+1,…,A n}符合所情况(2)。

?∈X需要Xlock x①

x

T2需要Slock x或Xlock x ②

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

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

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

这时如果w X

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

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

可串行化的。

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

因此,若并发事务遵守两段锁协议,在不发生死锁的情况下,对这些事务的并发调度一定是可串行化的。

证毕。

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

T1 T2

Slock B

读B=2

Y=B

Unlock B

Xlock A

Slock A

A=Y+l 等待

写回A=3 等待

Unlock A 等待

等待

Slock A

读A=3

X=A

Unlock A

Xlock B

B=X+1

写回B=4

Unlock B

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

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

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

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

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

引进意向锁后,系统对某一数据对象加锁时不必逐个检查与下一级结点的封锁冲突了。例如,事务T要对关系R加二锁时,系统只要检查根结点数据库和R本身是否已加了不相

容的锁(如发现已经加了IX,则与X冲突),而不再需要搜索和检查R中的每一个元组是否加了X锁或S锁。

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

答:IS锁

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

IX锁

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

SIX锁

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

相容矩阵

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

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

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

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

第八章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

数据库系统概论部分答案

第一章 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 )

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

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/9d11327723.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/9d11327723.html,, star.address, star.gender, star.birthdate, exec.cert#, https://www.doczj.com/doc/9d11327723.html,Worth FROM MovieStar star, MovieExec exec WHERE https://www.doczj.com/doc/9d11327723.html, = https://www.doczj.com/doc/9d11327723.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/9d11327723.html, from RichExec, StudioPres where https://www.doczj.com/doc/9d11327723.html, = https://www.doczj.com/doc/9d11327723.html,; c) SELECT https://www.doczj.com/doc/9d11327723.html, from ExecutiveStar, StudioPres WHERE https://www.doczj.com/doc/9d11327723.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/9d11327723.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)

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

第八章数据库并发控制 一、选择题 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. 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。

电大数据库系统及应用,形考册第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)执行其他操作,进行违约处理以保证数据的完整性。

数据库课后题答案 第八章 管理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

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

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

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

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

第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 ! ; 此查询要求信息系学生选修了的所有课程名称。试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。 答:

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

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

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

第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 .使用数据库系统有什么好处? 答: 使用数据库系统的好处是由数据库管理系统的特点或优点决定的。使用数据库系统的好处很多,例如,可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担,等等。使用数据库系统可以大大提高应用开

数据库原理及应用第八章课后习题答案

习题8 1、什么是数据库的安全性? 数据库的安全性是指数据库的任何数据都不允许受到恶意的侵害或未经授权的存取或修改。主要内涵包括三个方面: ①保密性:不允许未经授权的用户存取数据。 ②完整性:只允许被授权的用户修改数据。 ③可用性:不应拒绝已授权的用户对数据进行存取。 2、什么是数据库的完整性? 数据库的完整性是指数据库中数据的正确性和一致性。数据库的完整性对数据库应用系统非常重要。 3、什么是数据库的完整性约束条件? 为了保证数据库中的数据完整性,SQL Server设计了很多数据完整性约束:实体完整性、域完整性、参照完整性、用户定义完整性。 4、DBMS的完整性控制机制应具有哪些功能? 1)数据库的完整性约束能够防止合法用户向数据库中添加不合语义的数据。 2)完整性控制机制易于理解,可以降低应用程序的复杂性,提高运行效率。 3)合理的数据完整性设计,能够兼顾数据库的完整性和系统的性能。 完善的数据库完整性,有助于尽早发现应用程序的错误。 5、DBMS在实现参照完整性时需要考虑哪些方面? 强制参照完整性时,SQL Server将防止用户执行下列操作: 1)在主表中没有关联的记录时,将记录添加或更改到相关表中。 2)更改主表中的值,导致相关表中生成孤立记录。 3)从主表中删除记录,但仍存在于该记录匹配的相关记录。 6、在关系系统中,当操作违反实体完整性、参照完整性和用户定义完整性约束条件时,一 般是如何处理的? 系统可以采用以下的策略加以处理: 1)拒绝(NO ACTION)执行:不允许该操作执行,该策略一般为默认策略。 2)级联(CASCADE)操作:当删除或修改被参照表的一个元组造成了与参照表不一致,则删除或修改参照表中的所有造成不一致的元组。 3)设置为空值(SET-NULL):当删除或修改被参照表的一个元组造成了与参照表不一致,则将参照表中的所有造成不一致的元组的对应属性设置为空值。 7、数据库安全性和计算机系统的安全性有什么关系? 计算机系统中,安全措施是一级一级层层设置。

第8章 数据库习题参考答案

第8章习题参考答案 1. 简要回答下列问题 ⑴什么是存储过程?请分别写出使用对象资源管理器和SQL语句创建存储过程的主要步骤。 答: 存储过程:将一些T-SQL语句打包成一个数据库对象并存储在SQL Server服务器上,等到需要时,就调用这些T-SQL语句包。 --使用对象资源管理器创建存储过程的主要步骤: ①单击“开始”,选择“程序”→“Microsoft SQL Server 2005”→“SQL Server Management Studio”→“对象资源管理器” ②分别展开“数据库”→用户数据库“student”→可编程性→存储过程。 ③右击“存储过程”项,在弹出的菜单中选择“新建存储过程”选项,打开“SQL 编辑器”存储过程模板文件 ④在“SQL编辑器”存储过程模板文件中的相应位置填入存储过程的正文内容。 ⑤单击“SQL编辑器”工具栏上的“分析”按钮,检查语法是否正确。 ⑥单击“SQL编辑器”工具栏的“执行”按钮,创建这一存储过程。 ⑦单击标准工具栏上的保存按钮,保存所创建存储过程的SQL代码。 --使用T-SQL语句创建存储过程的主要步骤: ①创建不带参数的存储过程的命令格式: CREATE PROC[EDURE] procedure_name AS sql_statements ②创建带参数的存储过程的命令格式: CREATE PROC[EDURE] procedure_name [{@parameter data_type}[=DEFAULT][OUTPUT]……. [WITH {RECOMPILE | ENCRYPTION|RECOMPILE, ENCRYPTION}] AS sql_statements ⑵如何将数据传递到一个存储过程中?又如何将存储过程的结果值返回? 答: 可以通过创建带参数的存储过程将数据传递到一个存储过程中; 通过OUTPUT关键字,在定义存储过程的变量后面加上OUTPUT,且在调用存储过程时也需在参数后面加上OUTPUT关键字以输出存储过程的结果值。 ⑶同删除和重建存储过程相比,修改存储过程有什么好处?请分别写出使用对象资源管理器和SQL语句修改存储过程的主要步骤。 答:

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

第二章关系数据库 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

第八章 数据库管理系统基础习题

第八章数据库管理系统基础 一、是非题 1.数据库技术的发展已经历三代,第三代是关系数据库技术时期。 A.对 B. 错 2.数据库管理系统对数据库提供了完整的数据保护控制功能。 A.对 B. 错 3.Access数据库是一种层次型的数据库系统。 A.对 B. 错 4.面向对象数据模型是第三代数据库系统的主要特征。 A.对 B. 错 5.在一个关系中,关键字可以有多个,但主码只能有一个。 A.对 B. 错 6.数据库系统的最大特点是数据的共享性和独立性。 A. 对 B. 错 7.数据库系统的独立性有物理独立性和逻辑独立性两种。 A. 对 B. 错 8.数据表是Access数据库的核心与基础,存放着数据库的数据信息。 A. 对 B. 错 9.概念模型与具体的数据库系统有关系。 A. 对 B. 错 10.目前最常用的数据模型是关系模型。 A. 对 B. 错 11.Access数据库是一种关系数据库,由表记录组成。 A. 对 B. 错 12.对数据库系统最重要的操作是数据控制。 A. 对 B. 错 13.Access数据库系统是一种大型数据库。 A. 对 B. 错 14.数据库设计的第一个阶段是关系设计。 A. 对 B. 错 15.Access数据库管理系统的功能是建立查询、设计窗体和输出报表。 A. 对 B. 错 二、单选题 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

第八章数据库管理系统基础171 在这几个阶段中,数据独立性最高的是______阶段。 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.Access数据库文件管理的多种对象都存放在后缀为______的数据库文件中。 A. .fdb B. .xls C. .dbf D. .mdb 10.现有借阅关系表:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。则该关系模式的关键字是____________。 A. 书号 B. 读者号 C. 书号,读者号 D. 书号,读者号,借期 11.关系数据模型的三个组成部分中不包括______。 A. 完整性规则 B. 数据结构 C. 恢复 D. 数据操作 12.关系模型中,表示实体间N : M联系是通过增加一个______。 A. 属性实现 B. 关系实现 C. 关系或一个属性实现 D. 关系和一个属性实现 13.______可以减少相同数据重复的现象。

数据库系统概论笔记-王珊版

第一章 1.数据库的四个基本概念:数据、数据库、数据库管理系统、数据库系统。 数据:是数据库中存储的基本对象。描述事物的符号称为数据。 数据库:是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库数据具有永久存储、有组织和可共享三个基本特点。 数据库管理系统:是计算机的基础软件。 数据库系统:是由数据库、数据库管理系统、应用程序和人组成的存储、管理、处理和维护数据的系统。 2.数据处理和数据管理。 数据处理:指对各种数据进行手机、存储、加工和传播的一系列活动的总和。 数据管理:指对数据进行分类、组织、编码、存储、检索和维护。 3.数据独立性。 物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的。 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。 4.数据模型------是对现实世界数据特征的抽象(现实世界的模拟)。 数据模型是数据库系统的核心和基础。 概念模型:信息模型,按照用户的观点来对数据和信息建模,主要用于数据库设计。 逻辑模型:按照计算机系统的观点对数据建模。 物理模型:描述数据在计算机内部的表示方式和存取方法。 数据模型组成要素:数据结构、数据操作、数据的完整性约束条件。 5.信息世界中的基本概念。 实体:客观存在并可相互区别的事物。 属性:实体所具有的某一特征。 码:唯一标识实体的属性集。 联系:失误内部以及事物之间是有联系的。实体内部的联系通常是指组成实体的个属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多和多对多等各种类型。 6.数据完整性约束条件。 实体完整性:检查主码值是否唯一,检查主码的各个属性是否为空。实体完整性在

数据库系统概念(database system concepts)英文第六版 课后练习题 答案 第8章

C H A P T E R8 Relational Database Design Exercises 8.1Suppose that we decompose the schema R=(A,B,C,D,E)into (A,B,C) (A,D,E). Show that this decomposition is a lossless-join decomposition if the following set F of functional dependencies holds: A→BC CD→E B→D E→A Answer:A decomposition{R1,R2}is a lossless-join decomposition if R1∩R2→R1or R1∩R2→R2.Let R1=(A,B,C),R2= (A,D,E),and R1∩R2=A.Since A is a candidate key(see Practice Exercise8.6),Therefore R1∩R2→R1. 8.2List all functional dependencies satis?ed by the relation of Figure8.17. Answer:The nontrivial functional dependencies are:A→B and C→B,and a dependency they logically imply:AC→B.There are 19trivial functional dependencies of the form?→?,where???.C does not functionally determine A because the?rst and third tuples have the same C but different A values.The same tuples also show B does not functionally determine A.Likewise,A does not functionally determine C because the?rst two tuples have the same A value and different C values.The same tuples also show B does not functionally determine C. 8.3Explain how functional dependencies can be used to indicate the fol- lowing: 9

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