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

第八章1 数据库复习

第八章1 数据库复习
第八章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

锁时就被拒绝,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.试证明,若并发事务遵守两段锁协议,则对这些事务的并发调度是可串行化的。

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

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

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

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

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

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

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

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

x ?∈X 需要Xlock x ①

T 2需要Slock x 或Xlock x ②

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

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

会释放锁。

这时如果w X ?∈或Y ,T 2已获得w 的锁,则出现死锁;

否则,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的并发控制机制。

01数据库原理第一章复习题

第一章绪论单元复习题 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在括号中)(1)数据库管理系统是() A)一种编译程序系统 B)在操作系统支持下的系统软件 C)操作系统的一部分 D)一种应用软件系统 (2)数据库系统的数据共享是指() A)多个用户共享一个数据文件中的数据 B)多个用户使用同一种语言共享数据 C)多个应用、多种语言、多个用户共享数据 D)同一个应用的多个程序共享数据 (3)在数据库方式下,信息处理中占据中心位置的是() A)磁盘B)程序C)数据D)内存 (4)储蓄所有多个储户,储户在多个储蓄所存取款,储蓄所与储户之间是() A)一对一的联系B)一对多的联系C)多对一的联系D)多对多的联系 (5)下列关于E-R模型的叙述中,哪一条是不正确的?() A)在E-R图中,实体类型用矩形表示,属性用椭圆形表示,联系类型用菱形表示 B)实体类型之间的联系通常可以分为1∶1,1∶n和m∶n三类 C) 1∶1联系是1∶n联系的特例,1∶n联系是m∶ n联系的特例 D)联系只能存在于两个实体类型之间 (6)ER模型是数据库的设计工具之一,它一般适用于建立数据库的() 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)数据的逻辑独立性

数据库系统概论部分答案

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

数据库原理复习资料整理

第一章 1.四大基本概念: 数据:数据库中存储的基本对象,它是描述事物的符号记录。种类有:文字、图形、图象、声音等。特点是:数据与其语义是不可分的。 数据库:(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。其特点是:数据按一定的数据模型组织、描述和储存;可为各种用户共享;冗余度较小;数据独立性较高;易扩展。(特点:永久存储、有组织、可共享) 数据库管理系统:是位于用户与操作系统之间的一层数据管理软件。 数据库管理系统的主要功能:数据定义功能;数据组织、存储和管理;数据操纵功能;数据库的事物管理和运行管理;数据库的建立和维护功能;其他功能。 数据库系统:是指在计算机系统中引入数据库后的系统。一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。 在不引起混淆的情况下常常把数据库系统简称为数据库。 2.数据管理技术的三个阶段及其特点 人工管理阶段:特点:1、数据不保存。 2、没有软件系统对数据进行管理。 3、这一时期没有文件的概念,数据的组织方式必须由程序员自行设计。 4、一组数据对应一组程序,数据是不共享的。 5、数据不具有独立性,当数据结构发生变化时,应用程序要变化。 文件系统阶段:特点:1、数据可以长期保存。 2、由文件系统管理数据。 3、数据共享性差, 冗余度大—文件是面向应用的。 4、数据独立性差—是不具有弹性的无结构的数据集合,文件之间是孤立的,不能反映事物间联系。 数据库系统阶段:特点:数据的管理者:DBMS 数据面向的对象:现实世界 数据的共享程度:共享性高 数据的独立性:高度的物理独立性和一定的逻辑独立性 数据的结构化:整体结构化 数据控制能力:由DBMS统一管理和控制 3、数据库系统的特点:数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据有DBMS统一管理和控制。 4、数据模型的组成要素:数据结构、数据操作和完整性约束。 数据结构是对系统静态特性的描述。 数据操作是对系统动态特性的描述。 5、概念模型: 基本概念:实体:客观存在并可相互区别的事物称为实体。 属性:实体所具有的某一特性称为属性。 码:唯一标识实体的属性集称为码。 域:属性的取值范围称为该属性的域。 实体型:具有相同属性的实体具有的共同的特征和性质,即: 用实体名及其属性名集合来抽象和刻画同类实体。

第八章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-6参考答案

实验一SQL Server使用初步 一、实验目的 1、熟悉SQL Server2000的组成及基本功能。 2、掌握SQL Server2000的登录及注册。 3、掌握SQL Server2000企业管理器的使用方法。 4、熟悉查询分析器的基本使用。 二、实验预习 1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些? 答:DBMS是位于用户和操作系统之间的一层数据管理软件。常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。 2、SQL Server 2000(2005)的安装步骤? 答:以企业版安装为例,步骤为: 将企业版安装光盘插入光驱后,出现以下提示框。请选择“安装 SQL Server 2000 组件” 出现下面对话框后,选择 "安装数据库服务器" 。 选择 "下一步",然后选择 "本地计算机" 进行安装。 在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。 "高级选项" 中的内容均可在安装完成后进行调整。 在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。 在“安装定义”窗口,选择“服务器和客户端工具”选项进行安装。 在“实例名”窗口,选择“默认”的实例名称。 在“安装类型”窗口,选择“典型”安装选项,并指定“目的文件夹”。 在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。 在 "身份验证模式" 窗口,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。 最后按“下一步”即可完成安装。 检测安装:如果安装成功,应该能成功启动SQL Server,并且能和SQL Server 客户端连接上。 可以通过服务管理器来进行启动。

数据库原理简答题总结复习过程

数据库原理简答题总 结

数据库原理简答题总结 第一章数据库概论 1.人工管理阶段数据管理的特点: (1)数据不保存在机器中 (2)无专用的软件对数据进行管理 (3)只有程序的概念,没有文件的概念 (4)数据面向程序 2.文件系统阶段数据管理的特点: (1)数据可长期保存在外存的磁盘上 (2)数据的逻辑结构和物理结构有了区别 (3)文件组织已呈多样化。有索引、链接和散列文件 (4)数据不再属于某个特定的程序,可重复使用。 3.文件系统显露出三个缺陷: (1)数据冗余性 (2)数据不一致性 (3)数据联系弱 4.数据库阶段的管理方式具有以下特点: (1)采用复杂的数据模型表示数据结构 (2)有较高的数据独立性 (3)数据库系统为用户提供方便的用户接口 (4)系统提供四方面的数据控制功能 (5)对数据的操作既可以以记录为单位,又可以以数据项为单位 5.数据描述三个领域之间的关系: 从事物的特性到计算机中的数据表示,经历了三个领域:现实世界、信息世界、机器世界。(1)现实世界:存在于人们头脑之外的客观世界,称为现实世界。 (2)信息世界:是现实世界在人们头脑中的反映。 (3)机器世界:信息世界的信息在机器世界中以数据形式存储。 信息世界中数据描述的术语有:实体、实体集、属性、实体标识符

机器世界中数据描述的术语有:字段、记录、文件、关键码 它们的对应关系是: 在数据库中每个概念都有类型和值之区分,类型是概念的内涵,值是概念的外延 6.数据描述的两种形式: 数据描述有物理描述和逻辑描述两种形式。 物理数据描述指数据在存储设备上的存储方式,物理数据是实际存放在存储设备上的数据。 逻辑数据描述指程序员或用户用以操作的数据形式,是抽象的概念化数据。 数据管理软件的功能之一,就是要把逻辑数据转换成物理数据,以及把物理数据转换成逻辑数据。 7.物理存储介质层次: 8.数据模型的种类: 目前广泛使用的数据模型可分为两种类型:概念数据模型、结构数据模型 概念数据模型:是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构; 它是现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具; 这一类中著名的模型是“实体联系模型”,简称“ER”模型。 结构数据模型:是直接面向数据库的逻辑结构; 它是现实世界的第二层抽象,涉及到计算机系统和数据库管理系统; 这一类中的例子有层次、网状、关系、面向对象等模型。 9.结构数据模型的三个组成部分: 数据结构、数据操作、数据完整性约束是结构数据模型的三个组成部分。 数据结构:是指对实体类型和实体间联系的表达和实现

数据库实验一

实验一基本表的定义、删除与修改 一、实验目的: 熟练掌握基本表的定义、删除与修改,为后继学习作准备。 二、实验属性(验证性) (1)了解并掌握SQL SERVER 2005管理控制器的使用; (2)掌握基本表的定义、删除与修改。 三、实验仪器环境与要求 1.每人一台计算机。 2.计算机安装有SQL SERVER2005。 四、实验要求(预习、实验前、实验中、实验后等要求) 1.预习教材第三章,熟悉SQL语句。 2.熟悉SQL SERVER 2005,能使用管理控制器的使用。 3.能够熟练使用SQL语句进行表的创建、删除与修改。 五、实验原理 SQL语言基本应用。 六、实验步骤: (1)启动SQL SERVER 2005。 (2)启动SQL SERVER 2005查询分析器; (3) 创建数据库; (5) 创建如下表: 1 定义基本表 1.1、学生表Student,每个属性名的意义为Sno-学号字符型长度为10、Sname-姓名字符型长度为20、Ssex-性别字符型长度为4、Sage-年龄为整型、Sdept-所在系字符型长度为15。这里要求Sno为主码,Sname不能为空值,且取值唯一。 create table student (Sno char(10) primary key, Sname char(20) unique, Ssex char(4), Sage smallint, Sdept char(15) );

1.2、建立表课程表Course,其属性名意义分别为Cno-课程号、字符型长度为15, Cname-课程名、字符型长度为20, Pre_Cno-先修课程号、字符型长度为15, Credits-学分、整型。Cno 为主码。 create table course (Cno char(15) primary key, Cname char(20), Pre_Cno char(15) references course(Cno), Ccredit smallint, ); 1.3选课表SC。其中的属性名意义分别为Sno-学号、字符型长度为10,Cno-课程号、 字符型长度为15和Grade-考试成绩、整型。Sno和Cno为主码。 create table sc ( Sno char(10) references student(Sno), Cno char(15) references course(Cno), Grade smallint, primary key (Sno, Cno), )

电大数据库系统及应用,形考册第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)。

自考04735数据库系统原理复习资料

《数据库原理及应用》复习重点 第一章数据库系统基本概念 要求、目标: 了解和掌握数据管理技术的发展阶段,数据描述的术语,数据抽象的四个级别,数据库管理系统的功能,数据库系统的组成。 一、数据管理技术的发展 1.分为四个阶段:人工管理阶段、文件系统阶段、数据库阶段和高级数据库阶段。 2.数据库阶段数据管理的特点: 1)采用数据模型表示复杂的数据结构。 2)有较高的数据独立性。 3)数据库系统为用户提供了方便的用户接口。 4)提供四方面的数据控制功能:数据库的恢复、数据库的并发控制、数据的完整性、数据安全性。 5)增加了系统的灵活性。 3.数据库(DB):是长期存储在计算机内、有组织的、统一管理的相关数据的集合。 4.数据库管理系统(DBMS):是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。 5.数据库系统(DBS):是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。 二、数据描述 1.分为三个阶段:概念设计、逻辑设计和物理设计。 2.概念设计中的术语: 1)实体:客观存在,可以相互区别的事物称为实体。 2)实体集:性质相同的同类实体的集合。 3)属性:实体有很多特性,每一个特性称为属性。 4)实体标识符(关键码或键):能惟一标识实体的属性或属性集。 以上概念均有类型和值之分。 3.逻辑设计中的术语: 1)字段(数据项):标记实体属性的命名单位称为字段或数据项。 2)记录:字段的有序集合。 3)文件:同一类记录的集合。 4)关键码:能惟一标识文件中每个记录的字段或字段集。 以上概念均有类型和值之分。 4.概念设计和逻辑设计中术语的对应关系: 概念设计逻辑设计 实体—记录 属性—字段(数据项) 实体集—文件 实体标识符—关键码 5.实体之间联系的元数:与一个联系有关的实体集个数。常用二元联系。二元联系的类型有三种:一对一联系、一对多联系、多对多联系。 6.一对一联系:如果实体集E1中每个实体至多和实体集E2中的一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1”。 7.一对多联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体间有联系,而E2中每个实体至多和E1中一个实体有联系,那么称E1对E2的联系是“一对多联系”,记为“1:N”。 8.多对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体间有联系,反之亦然,那么称E1和E2的联系是“多对多联系”,记为“M:N”。 三、数据抽象的级别 1.数据模型:描述数据库的结构和定义,对现实世界的数据进行抽象。 2.从现实世界的信息到数据库存储的数据以及用户使用的数据是一个逐步抽象过程,根据数据抽象的级别定义了四种模型:概念模型、逻辑模型、外部模型和内部模型。 3.概念模型:表达用户需求观点的数据全局逻辑结构的模型。 4.逻辑模型:表达计算机实现观点的DB全局逻辑结构的模型。

(完整版)数据库原理及应用习题(有答案)

数据库系统概论复习资料 第一章 一选择题: 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是数据库系统阶段。 2.数据库的概念模型独立于具体的机器和DBMS 。 3.数据库的基本特点是数据可以共享(或数据结构化) 、数据独立性、数据冗余小,易扩充、统一管理和控制。 4. 数据库是存储在计算机内有结构的数据的集合。 5.数据库中存储的是数据以及数据之间的联系。 6. 数据库中,数据的物理独立性是指用户的应用程序与存储在磁盘上数据库中的数据是相互独立的。 7. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指多种应用、多种语言、多个用户相互覆盖地使用数据集合。 8.据库系统的核心是数据库管理系统。 9. 下述关于数据库系统的正确叙述是数据库系统减少了数据冗余。 10. 将数据库的结构划分成多个层次,是为了提高数据库的逻辑独立性和物理独立性。 11. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是 DBS包括DB和DBMS 。 12. 在数据库中,产生数据不一致的根本原因是数据冗余。 13. 数据库管理系统(DBMS)是系统软件。 14. 数据库管理系统(DBMS)的主要功能是定义数据库。 15. 数据库系统的特点是数据共享、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。16.据库系统的最大特点是数据的三级抽象和二级独立性。 17. 数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作,这种功能称为数据操纵功能。 18. 数据库管理系统是在操作系统支持下的系统软件。 19.据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是模式 20.数据库系统的数据独立性是指不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序。 21.信息世界中的术语,与之对应的数据库术语为记录。 22.层次型、网状型和关系型数据库划分原则是数据结构。 23.传统的数据模型分类,数据库系统可以分为三种类型层次、网状和关系。 24. 层次模型不能直接表示 m :n关系。

王珊《数据库系统概论》(第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)执行其他操作,进行违约处理以保证数据的完整性。

数据库实验1认识数据库管理系统

《数据库技术》 实验指导书徐州师范大学计算机科学与技术学院

实验一使用数据库管理系统(2学时) 【实验目的】 1.掌握服务管理器的启动和停止方法; 2.掌握注册服务器的步骤; 3.掌握在SQL Server 2008中创建和编辑数据库; 4.掌握备份、附加和分离数据库的方法 【实验要求】 1.熟练掌握SQL Server2008数据库服务器服务启动和注册方法; 2.熟练使用Management Studio界面方式创建及编辑数据库; 3.熟练进行数据库备份、分离附加操作; 4.独立完成实验内容,并提交书面实验报告。 【实验内容】 1. 管理SQL Server 2008服务器,主要包括启动、暂停、停止和重新启动等操作; 2. 注册SQL Server 2008服务器。 3. 使用SQL Server 2008对象资源管理器和SQL语句(新建查询)两种方法,完成学生管理系统数据库的创建,修改数据库属性。 (1)创建一个数据库,要求如下。 ●数据库名“STUDENT”。 ●数据库中包含一个数据文件,逻辑文件名为student_data,磁盘文件名为 student_data.mdf,文件初始容量为10MB,最大容量为100MB,文件容量递增值为5%。 ●事务日志文件,逻辑文件名为student_log,磁盘文件名为student_log.ldf,文件初始 容量为5MB,最大容量为30MB,文件容量递增值为2MB。 (2)对该数据库做如下修改。 ●添加一个数据文件.逻辑文件名为student2_data,磁盘文件名为student2_data.ndf, 文件初始容量为5MB,最大容量为50MB,文件容量递增值为5MB。 ●将日志文件的最大容量增加为50MB.递增值改为3MB。 (3)将学生数据库更名为STU。 (4)备份STUDENT数据库。 (5)删除STUDENT数据库。 (6)还原STUDENT数据库。 4.附加给定的数据库文件并分离创建好的数据库文件。 【实验步骤】 1.管理SQL Server 2008服务器,主要包括启动、暂停、停止和重新启动等

数据库原理复习题 (1)

第一章单项选择题:下列各项中,哪项属于数据库系统最明显的特点(C)。 A)存储容量大 B)处理速度快C)数据共享 D)处理方便 2.数据库系统与文件系统的主要区别是(C)。A)数据库系统复杂,而文件系统简单B)文件系统管理的数据量小,数据库系统可以管理庞大的数据量C)文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决D)文件系统只能管理程序文件,而数据库系统可以管理多种类型的文件3.数据库技术的主要特点不包括(D)。 A)数据的结构化 B)数据的冗余度小 C)数据独立性高D)程序标准化 4.数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是(A)。A)DBS包含DB和DBMS B)DB包含DBS和DBMS C)DBMS包含DB和DBS D)DBS与DB、DBMS指的是相同的东西5.数据库是在计算机中按照一定的数据模型组织、存储和应用的(B)。A)文件的集合 B)数据的集合 C)命令的集合 D)程序的集合6.使用Visual FoxPro开发学校教学管理系统属于计算机的(B)。 A)科学计算应用B)数据处理应用 C)过程控制应用D)计算机辅助教学应用7.在计算机中,简写DBMS指(D)。A)数据库 B)数据库系统 C)数据库管理员D)数据库管理系统8.在开发学校教学管理系统时,设计系统的ER模型属于数据库设计中的(B)阶段。 A)调查分析B)概念设计C)物理设计 D)数据库实施 9.在有关数据管理的概念中,

数据模型是指(C)。 A)文件的集合 B)记录的集合 C)对象及其联系的集合 D)关系数据库管理系统 10.对于现实世界中事物的特征,在描述现实世界的概念数据模型中使用(A)。A)属性描述 B)实体描述 C)表格描述 D)关键字描述11.信息世界的主要对象称为(B)。 A)关系B)实体 C)属性D)记录12.在实体联系模型中,实体所具有的某一特性称之为(A)。A)属性 B)实体型 C)键 D)域 13.每个学生只能属于一个班,每个班只有一个班长,则班级和班长之间的联系是(A)。A)1 :1 B)1 :n C)m : n D)不确定14.下列实体之间的联系中,属于多对多的联系是(A)。A)学生与课程 B)学校与教师 C)班级与班主任 D)商品条形码与商品15.一个公司中有多个部门和多名员工,每个员工只能在一个部门就职,部门和员工的联系类型是(B)。 A)1 : 1 B)1 :n C)m : n D)不确定 16.在概念模型中,一个实体集对应于关系模型中的一个(D)。 A)元组 B)字段 C)属性D)关系 17.把实体联系模型转换为关系模型时,实体之间多对多联系在关系模型中通过(C)。A)建立新的属性实现B)建立新的关键字实现C)建立新的关系实现D)建立新的实体实现18.在关系中,下列说法正确的是(C)。A)元组的顺序很重要 B)属性名可以重名C)任意两个元组不允许重复 D)每个元组的一个属性可以由多个值组成19.在关系中,下列说法正确的是(C)。A)列的顺序很重要B)当指定候选键时列

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

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

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

数据库实验报告(一)

滨江学院 题目数据库实验报告(一) 学生姓名 学号 系部电子工程系 专业通信工程 指导教师林美华 二O一三年十二月十八日

实验一数据库的定义实验 本实验需要2学时。 一、实验目的 要求学生熟练掌握和使用SQL、SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收语句和进行结果分析。 二、实验内容 1 创建数据库和查看数据库属性。 2 创建表、确定表的主码和约束条件。为主码建索引。 3 查看和修改表结构。 4 熟悉SQL Server企业管理器和查询分析器工具的使用方法。 三、实验步骤 1 基本操作实验 (1) 使用企业管理器按教材中的内容建立图书读者数据库。 (2)在企业管理器中查看图书读者数据库的属性,并进行修改,使之符合要求。 (3)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为; 图书(书号,类别,,作者,书名,定价,作者). 读者(编号,,单位,性别,). 借阅(书号,读者编号,借阅日期) 要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。 (4)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。 2 提高操作实验 (一) 将教材中用SQL描述的建立学生--课程操作.在SQL Server企业管理器中实现。库中表结构为: 学生(学号,,年龄,性别,所在系). 课程(课程号,课程名,先行课). 选课(学号,课程号,成绩) 要求: 1)建库、建表和建立表间联系。, 2)选择合适的数据类型。 3)定义必要的索引、列级约束和表级约束. 四、实验方法 l创建数据库 (1)使用企业管理器创建数据库的步骤 1)从“开始”菜单中选择;“程序”“Microsoft SQL2000”“企业管理器”.

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

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

数据库实验1

邮电大学计算机学院 《大型数据库技术》 实验一:MySQL数据库安装配置及基础使用 :侯利萍班级:09 学号:B13040905 2016年 3 月21 日星期一 说明:斜体需要输出的部分。 下载安装MySQL 搜索MySQL下载页面 网址: 查看各种MySQL版本 MySQL主要版本及区别: 所下载版本及版本号: 安装配置MySQL 数据库基本操作 创建数据库 创建一个企业管理系统数据库,命名为enterprisedb,字符集选择utf8. SQL语句:create database enterprisedb; set charset utf8; 输出截图:

创建关系表 创建一雇员表,命名为employee,包括如下字段:雇员工号(从86001 开始递增),,性别,生日,部门名称。(请选择合适的数据类型) SQL语句: create table employe (id int(10) primary key AUTO_INCREMENT,name varchar(10),sex varchar(10),birthday virchar(10)) AUTO_INCREMENT=86001; 输出截图: 插入数据操作 插入10条不同信息的雇员,信息自定,需要符合实际。 SQL语句:insert into employe values("0","zhang","man","1996.1.2","mangager"); insert into employe values("0","","man","1996.1.2","mangager"); insert into employe values("0","","man","1995.1.2","mangager"); insert into employe values("0","胡","woman","1994.1.2","worker"); insert into employe values("0","周","woman","1995.1.1","worker"); insert into employe values("0","","woman","1995.3.1","worker"); insert into employe values("0","王","woman","1995.3.1","seller"); insert into employe values("0","吴","woman","1995.2.1","seller"); insert into employe values("0","吴","man","1995.2.1","seller"); insert into employe values("0","","man","1989.2.1","leader"); insert into employe values("0","田 ","woman","19988.2.1","leader"); 注释:在测试英文中文是否都正常时,多输入一个英文员工。 输出截图:

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