数据库期末考试简答题题型

第1章 绪论

1 .试述数据、数据库、数据库系统、数据库管理系统的概念。 答:

( l)数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。

( 2 ) 数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。

( 3 )数据库系统( DataBase Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具) 、应用系统、数据库管理员构成。

4) 数据库管理系统( DataBase Management Sytem ,简称 DBMS ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。 5 .试述数据库系统的特点。

( l )数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一

( 2 )数据的共享性高,冗余度低

(3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。数据独立性高

(4)数据由 DBMS 统一管理和控制数据库的共享是并发的共享,即多

个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。

6 .数据库管理系统的主要功能有哪些?

答:

( l )数据定义功能;

( 2 )数据存取功能;

(5)数据操作功能

( 3 )数据库运行管理;

( 4 )数据库的建立和维护功能

19 .试述关系数据库的特点。

答:

关系数据模型具有下列优点: ( l )关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。

(2)所以其数据结构简单、清晰,用户易懂易用

( 3 )关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,但是查询效率往往不如非关系数据模型。

21 .定义并解释以下术语:模式、外模式、内模式、 DDL 、 DML 模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。 DDL :数据定义语言,用来定义数据库模式、外模式、内模式的语言。 DML :数据操纵语言,

22:什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?

答:

数据与程序的逻辑独立性:当模式改变时,由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据与程序的逻辑独立性。

数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。

数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

24 . DBA 的职责是什么?

答:

负责全面地管理和控制数据库系统。具体职责包括: ① 决定数据库的信息内容和结构; ② 决定数据库的存储结构和存取策略; ③ 定义数据的安全性要求和完整性约束条件; ④ 监督和控制数据库用和运行; ⑤数据库的改进和重组重构

第2章 关系数据库

5.设有一个SPJ 数据库,包括S ,P ,J ,SPJ 四个关系模式:

1) 求供应工程J1零件的供应商号码SNO :

πSno (σjno=‘J1’(SPJ))

2) 求供应工程J1零件P1的供应商号码SNO :

πSno (σSno=‘J1’∧P no=’P1’(SPJ))

3) 求供应工程J1零件为红色的供应商号码SNO :

πSno (σPno=‘P1‘ (σCOLOR=’红‘ (P)∞SPJ))

4) 求没有使用天津供应商生产的红色零件的工程号JNO : πJno (SPJ)- πJNO (σcity=‘天津’∧Color=‘红‘ (S∞SPJ ∞P)

5) 求至少用了供应商S1所供应的全部零件的工程号JNO : πJno ,Pno (SPJ)÷ πPno (σSno=‘S1‘ (SPJ))

第3章 关系数据库标准语言SQL

1 .试述 sQL 语言的特点。

(l)综合统一(2)高度非过程化(3)面向集合的操作方式。

(4)以同一种语法结构提供两种使用方式。(5)语言简捷,易学易用。 ( 4 )求没有使用天津供应商生产的红色零件的工程号 JNO ;

SELECT distinct JNO

FROM SPJ

WHERE JNO NOT IN

(SELECT JNO

FROM SPJ,P,S

WHERE S.CITY='天津' AND

COLOR='红' AND

S.SNO=SPJ.SNO AND

P.PNO=SPJ.PNO)。

7 .试述视图的优点。

( l )视图能够简化用户的操作; ( 2 )视图使用户能以多种角度看待同一数据; ( 3 )视图对重构数据库提供了一定程度的逻辑独立性; ( 4 )视图能够对机密数据提供安全保护。(5)适当的运用视图可以更加清晰的表达查询

第4章 数据库安全性

1 .什么是数据库的安全性?

答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

5 .试述实现数据库安全性控制的常用方法和技术。

答:实现数据库安全性控制的常用方法和技术有:

( l )用户标识和鉴别

( 2 )存取控制

( 3 )视图机制:

( 4 )审计

( 5 )数据加密

( c ) 每个职工只对自己的记录有SELECT 权力。

GRANT SELECT

ON 职工

WHEN USER( )=NAME TO ALL;

( g )用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。

CREATE VIEW 部门工资

AS

GRANT SELECT

ON 部门工资

TO 杨兰; SELECT 部门. 名称,MAX(工资),MIN(工资),A VG(工资) FROM 职工, 部门 WHERE 职工. 部门号=部门. 部门号 GROUP BY 职工. 部门号

第5章 数据库完整性

1什么是数据库的完整性?

答:

数据库的完整性是指数据的正确性和相容性。

2 .数据库的完整性概念与数据库的安全性概念有什么区别和联系? 答:

数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进出( Garba : e In Garba : e out )所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

第6章 关系数据库理论

1 .理解并给出下列术语的定义:

函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key )、1 NF 、2NF 、3NF 、BCNF 、多值依赖、4NF 。

定义1:设R(U)是属性集U 上的关系模式。X ,Y 是属性集U 的子集。若对于R(U)的任意一个可能的关系r ,r 中不可能存在两个元组在X 上的属性值相等,而在Y 上的属性值不等,则称X 函数确定Y 或Y 函数依赖于X ,记作X →Y 。(即只要X 上的属性值相等,Y 上的值一定相等。)

术语和记号:

X →Y ,但Y 不是X 的子集,则称X →Y 是非平凡的函数依赖。若不

特别声明,总是讨论非平凡的函数依赖。

X →Y ,但Y 是X 的子集,则称X →Y 是平凡的函数依赖。 若X →Y ,则X 叫做决定因素(Determinant)。

若X →Y ,Y →X ,则记作X ←→Y 。

若Y 不函数依赖于X X → Y。

定义2:在R(U)中,如果 X →Y ,并且对于X X ’,

都有X ’ → Y,则称Y 对X 完全函数依赖

若X →Y ,但Y 不完全函数依赖于X ,则称Y 对X 部分函数依赖

定义3:若关系模式R 的每一个分量是不可再分的数据项,则关系模式R 属于第一范式(1NF)。

定义4:若关系模式R ∈1NF ,且每一个非主属性完全函数依赖于码,则关系模式R ∈2NF 。(即1NF 消除了非主属性对码的部分函数依赖则成为2NF) 。

定义5:R 中若不存在这样的码X 、属性组Y 及非主属性Z(Z不是Y 的子集) 使得X →Y ,Y → X,Y → Z成立,则称R∈3NF 。

定义6:关系模式R∈1NF 。若X →Y 且Y 不是X 的子集时,X 必含有码,则R∈BCNF 。

定义7:关系模式R∈1NF ,如果对于R 的每个非平凡多值依赖X →→Y(Y不是X 的子集,Z=U-X-Y不为空) ,X 都含有码,则称R∈4NF 。

2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。 学生:学号、姓名、出生年月、系名、班号、宿舍区。

班级:班号、专业名、系名、人数、入校年份。

系:系名、系号、系办公地点、人数。

学会:学会名、成立年份、办公地点、人数。

语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在?

解:(1)关系模式如下:

学生:S(Sno,Sname ,Sbirth ,Dept ,Class ,Rno)

班级:C(Class,Pname ,Dept ,Cnum ,Cyear)

系:D(Dept,Dno ,Office ,Dnum)

学会:M(Mname,Myear ,Maddr ,Mnum)

(2)每个关系模式的最小函数依赖集如下:

A 、学生S (Sno,Sname ,Sbirth ,Dept ,Class ,Rno) 的最小函数依赖集如下:

Sno →Sname ,Sno →Sbirth ,Sno →Class ,Sno →Rno

Class →Dept ,

DEPT →Rno

传递依赖如下:

由于Sno →Dept →Sno ,Dept →Rno(宿舍区)

所以Sno 与Rno 之间存在着传递函数依赖。

由于Class →Dept Dept → Class,Dept →Rno

所以Class 与Rno 之间存在着传递函数依赖。 由于Sno →Class Class →Sno ,Class →Dept

所以Sno 与Dept 之间存在着传递函数依赖。

B 、班级C(Class,Pname ,Dept ,Cnum ,Cyear) 的最小函数依赖集如下:

Class →Pname ,Class →Cnum ,Class →Cyear ,Pname →Dept. 由于Class →Pname ,Pname →Class ,Pname →Dept 所以C1ass 与Dept 之间存在着传递函数依赖。

C 、系D(Dept,Dno ,Office ,Dnum) 的最小函数依赖集如下:

Dept →Dno ,Dept →Office ,Dept →Dnum

Dno →Dept ,Dno →Office ,Dno →Dnum

根据上述函数依赖可知,Dept 与Office ,Dept 与Dnum 之间不存在传递依赖。

D 、学会M(Mname,Myear ,Maddr ,Mnum) 的最小函数依赖集如下:

Mname →Myear ,Mname →Maddr ,Mname →Mnum

该模式不存在传递依赖。

(3)各关系模式的候选码、外部码,全码如下:

A 、学生S 候选码:Sno ;外部码:Dept 、Class ;无全码

B 、班级C 候选码:Class ;外部码:Dept ;无全码

C 、系D 候选码:Dept 或Dno ;无外部码;无全码

D 、学会M 候选码:Mname ;无外部码;无全码

第10章 数据库恢复技术

1.试述事务的概念及事务的4 个特性。

答:

事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

事务具有4 个特性:原子性(Atomicity ) 、一致性(consistency ) 、隔离性( Isolation )和持续性(Durability )。

4 .数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?

答:

数据库系统中可能发生各种各样的故障,大致可以分以下几类:

(1)事务内部的故障;

(2)系统故障;

(3)介质故障;

(4)计算机病毒。

事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。

8 .登记日志文件时为什么必须先写日志文件,后写数据库? 答:

把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。

如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO 操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。

8 .登记日志文件时为什么必须先写日志文件,后写数据库? 答:

把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。

如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO 操作,并不会影响数据库的正确性。

所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。

9 .针对不同的故障,试给出恢复的策略和方法。(即如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?)

答:

事务故障的恢复:

事务故障的恢复是由DBMS DBMs 执行恢复步骤是:

自动完成的,对用户是透明的。

(1)反向扫描文件日志(即从最后向前扫描日志文件) ,查找该事务的更新操作;

(2)对该事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库;

(3)继续反向扫描日志文件,做同样处理;

(4)如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。

系统故障的恢复:

系统故障可能会造成数据库处于不一致状态:一是未完成事务对数据库的更新可能已写入数据库;二是已提交事务对数据库的更新可能还留在缓冲区,没来得及写入数据库。因此恢复操作就是要撤销(UNDO )故障发生时未完成的事务,重做(REDO )已完成的事务。 系统的恢复步骤是:

(1)正向扫描日志文件,找出在故障发生前已经提交的事务队列(REDO 队列) 和未完成的事务队列(UNDO 队列) 。

(2)对撤销队列中的各个事务进行UNDO 处理。

进行UNDO 处理的方法是,反向扫描日志文件,对每个UNDO 事务的更新操作执行逆操作,即将日志记录中“更新前的值”Before Image )写入数据库。( 3 )对重做队列中的各个事务进行REDO 处理。 进行REDO 处理的方法是:正向扫描日志文件,对每个REDO 事务重新执行日志文件登记的操作。即将日志记录中“更新后的值”Afte , Image )写入数据库。

介质故障的恢复:

介质故障是最严重的一种故障。

恢复方法是重装数据库,然后重做已完成的事务。具体过程是: ( 1 ) DBA 装入最新的数据库后备副本(离故障发生时刻最近的转储副本) , 使数据库恢复到转储时的一致性状态;

( 2 ) DBA 装入转储结束时刻的日志文件副本;

( 3 ) DBA 启动系统恢复命令,由DBMS 完成恢复功能,即重做已完成的事务。

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 做任何修改。

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

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

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

第1章 绪论

1 .试述数据、数据库、数据库系统、数据库管理系统的概念。 答:

( l)数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。

( 2 ) 数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。

( 3 )数据库系统( DataBase Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具) 、应用系统、数据库管理员构成。

4) 数据库管理系统( DataBase Management Sytem ,简称 DBMS ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。 5 .试述数据库系统的特点。

( l )数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一

( 2 )数据的共享性高,冗余度低

(3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。数据独立性高

(4)数据由 DBMS 统一管理和控制数据库的共享是并发的共享,即多

个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。

6 .数据库管理系统的主要功能有哪些?

答:

( l )数据定义功能;

( 2 )数据存取功能;

(5)数据操作功能

( 3 )数据库运行管理;

( 4 )数据库的建立和维护功能

19 .试述关系数据库的特点。

答:

关系数据模型具有下列优点: ( l )关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。

(2)所以其数据结构简单、清晰,用户易懂易用

( 3 )关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,但是查询效率往往不如非关系数据模型。

21 .定义并解释以下术语:模式、外模式、内模式、 DDL 、 DML 模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。 DDL :数据定义语言,用来定义数据库模式、外模式、内模式的语言。 DML :数据操纵语言,

22:什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?

答:

数据与程序的逻辑独立性:当模式改变时,由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据与程序的逻辑独立性。

数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。

数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

24 . DBA 的职责是什么?

答:

负责全面地管理和控制数据库系统。具体职责包括: ① 决定数据库的信息内容和结构; ② 决定数据库的存储结构和存取策略; ③ 定义数据的安全性要求和完整性约束条件; ④ 监督和控制数据库用和运行; ⑤数据库的改进和重组重构

第2章 关系数据库

5.设有一个SPJ 数据库,包括S ,P ,J ,SPJ 四个关系模式:

1) 求供应工程J1零件的供应商号码SNO :

πSno (σjno=‘J1’(SPJ))

2) 求供应工程J1零件P1的供应商号码SNO :

πSno (σSno=‘J1’∧P no=’P1’(SPJ))

3) 求供应工程J1零件为红色的供应商号码SNO :

πSno (σPno=‘P1‘ (σCOLOR=’红‘ (P)∞SPJ))

4) 求没有使用天津供应商生产的红色零件的工程号JNO : πJno (SPJ)- πJNO (σcity=‘天津’∧Color=‘红‘ (S∞SPJ ∞P)

5) 求至少用了供应商S1所供应的全部零件的工程号JNO : πJno ,Pno (SPJ)÷ πPno (σSno=‘S1‘ (SPJ))

第3章 关系数据库标准语言SQL

1 .试述 sQL 语言的特点。

(l)综合统一(2)高度非过程化(3)面向集合的操作方式。

(4)以同一种语法结构提供两种使用方式。(5)语言简捷,易学易用。 ( 4 )求没有使用天津供应商生产的红色零件的工程号 JNO ;

SELECT distinct JNO

FROM SPJ

WHERE JNO NOT IN

(SELECT JNO

FROM SPJ,P,S

WHERE S.CITY='天津' AND

COLOR='红' AND

S.SNO=SPJ.SNO AND

P.PNO=SPJ.PNO)。

7 .试述视图的优点。

( l )视图能够简化用户的操作; ( 2 )视图使用户能以多种角度看待同一数据; ( 3 )视图对重构数据库提供了一定程度的逻辑独立性; ( 4 )视图能够对机密数据提供安全保护。(5)适当的运用视图可以更加清晰的表达查询

第4章 数据库安全性

1 .什么是数据库的安全性?

答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

5 .试述实现数据库安全性控制的常用方法和技术。

答:实现数据库安全性控制的常用方法和技术有:

( l )用户标识和鉴别

( 2 )存取控制

( 3 )视图机制:

( 4 )审计

( 5 )数据加密

( c ) 每个职工只对自己的记录有SELECT 权力。

GRANT SELECT

ON 职工

WHEN USER( )=NAME TO ALL;

( g )用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。

CREATE VIEW 部门工资

AS

GRANT SELECT

ON 部门工资

TO 杨兰; SELECT 部门. 名称,MAX(工资),MIN(工资),A VG(工资) FROM 职工, 部门 WHERE 职工. 部门号=部门. 部门号 GROUP BY 职工. 部门号

第5章 数据库完整性

1什么是数据库的完整性?

答:

数据库的完整性是指数据的正确性和相容性。

2 .数据库的完整性概念与数据库的安全性概念有什么区别和联系? 答:

数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进出( Garba : e In Garba : e out )所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

第6章 关系数据库理论

1 .理解并给出下列术语的定义:

函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key )、1 NF 、2NF 、3NF 、BCNF 、多值依赖、4NF 。

定义1:设R(U)是属性集U 上的关系模式。X ,Y 是属性集U 的子集。若对于R(U)的任意一个可能的关系r ,r 中不可能存在两个元组在X 上的属性值相等,而在Y 上的属性值不等,则称X 函数确定Y 或Y 函数依赖于X ,记作X →Y 。(即只要X 上的属性值相等,Y 上的值一定相等。)

术语和记号:

X →Y ,但Y 不是X 的子集,则称X →Y 是非平凡的函数依赖。若不

特别声明,总是讨论非平凡的函数依赖。

X →Y ,但Y 是X 的子集,则称X →Y 是平凡的函数依赖。 若X →Y ,则X 叫做决定因素(Determinant)。

若X →Y ,Y →X ,则记作X ←→Y 。

若Y 不函数依赖于X X → Y。

定义2:在R(U)中,如果 X →Y ,并且对于X X ’,

都有X ’ → Y,则称Y 对X 完全函数依赖

若X →Y ,但Y 不完全函数依赖于X ,则称Y 对X 部分函数依赖

定义3:若关系模式R 的每一个分量是不可再分的数据项,则关系模式R 属于第一范式(1NF)。

定义4:若关系模式R ∈1NF ,且每一个非主属性完全函数依赖于码,则关系模式R ∈2NF 。(即1NF 消除了非主属性对码的部分函数依赖则成为2NF) 。

定义5:R 中若不存在这样的码X 、属性组Y 及非主属性Z(Z不是Y 的子集) 使得X →Y ,Y → X,Y → Z成立,则称R∈3NF 。

定义6:关系模式R∈1NF 。若X →Y 且Y 不是X 的子集时,X 必含有码,则R∈BCNF 。

定义7:关系模式R∈1NF ,如果对于R 的每个非平凡多值依赖X →→Y(Y不是X 的子集,Z=U-X-Y不为空) ,X 都含有码,则称R∈4NF 。

2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。 学生:学号、姓名、出生年月、系名、班号、宿舍区。

班级:班号、专业名、系名、人数、入校年份。

系:系名、系号、系办公地点、人数。

学会:学会名、成立年份、办公地点、人数。

语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在?

解:(1)关系模式如下:

学生:S(Sno,Sname ,Sbirth ,Dept ,Class ,Rno)

班级:C(Class,Pname ,Dept ,Cnum ,Cyear)

系:D(Dept,Dno ,Office ,Dnum)

学会:M(Mname,Myear ,Maddr ,Mnum)

(2)每个关系模式的最小函数依赖集如下:

A 、学生S (Sno,Sname ,Sbirth ,Dept ,Class ,Rno) 的最小函数依赖集如下:

Sno →Sname ,Sno →Sbirth ,Sno →Class ,Sno →Rno

Class →Dept ,

DEPT →Rno

传递依赖如下:

由于Sno →Dept →Sno ,Dept →Rno(宿舍区)

所以Sno 与Rno 之间存在着传递函数依赖。

由于Class →Dept Dept → Class,Dept →Rno

所以Class 与Rno 之间存在着传递函数依赖。 由于Sno →Class Class →Sno ,Class →Dept

所以Sno 与Dept 之间存在着传递函数依赖。

B 、班级C(Class,Pname ,Dept ,Cnum ,Cyear) 的最小函数依赖集如下:

Class →Pname ,Class →Cnum ,Class →Cyear ,Pname →Dept. 由于Class →Pname ,Pname →Class ,Pname →Dept 所以C1ass 与Dept 之间存在着传递函数依赖。

C 、系D(Dept,Dno ,Office ,Dnum) 的最小函数依赖集如下:

Dept →Dno ,Dept →Office ,Dept →Dnum

Dno →Dept ,Dno →Office ,Dno →Dnum

根据上述函数依赖可知,Dept 与Office ,Dept 与Dnum 之间不存在传递依赖。

D 、学会M(Mname,Myear ,Maddr ,Mnum) 的最小函数依赖集如下:

Mname →Myear ,Mname →Maddr ,Mname →Mnum

该模式不存在传递依赖。

(3)各关系模式的候选码、外部码,全码如下:

A 、学生S 候选码:Sno ;外部码:Dept 、Class ;无全码

B 、班级C 候选码:Class ;外部码:Dept ;无全码

C 、系D 候选码:Dept 或Dno ;无外部码;无全码

D 、学会M 候选码:Mname ;无外部码;无全码

第10章 数据库恢复技术

1.试述事务的概念及事务的4 个特性。

答:

事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

事务具有4 个特性:原子性(Atomicity ) 、一致性(consistency ) 、隔离性( Isolation )和持续性(Durability )。

4 .数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?

答:

数据库系统中可能发生各种各样的故障,大致可以分以下几类:

(1)事务内部的故障;

(2)系统故障;

(3)介质故障;

(4)计算机病毒。

事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。

8 .登记日志文件时为什么必须先写日志文件,后写数据库? 答:

把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。

如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO 操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。

8 .登记日志文件时为什么必须先写日志文件,后写数据库? 答:

把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。

如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO 操作,并不会影响数据库的正确性。

所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。

9 .针对不同的故障,试给出恢复的策略和方法。(即如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?)

答:

事务故障的恢复:

事务故障的恢复是由DBMS DBMs 执行恢复步骤是:

自动完成的,对用户是透明的。

(1)反向扫描文件日志(即从最后向前扫描日志文件) ,查找该事务的更新操作;

(2)对该事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库;

(3)继续反向扫描日志文件,做同样处理;

(4)如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。

系统故障的恢复:

系统故障可能会造成数据库处于不一致状态:一是未完成事务对数据库的更新可能已写入数据库;二是已提交事务对数据库的更新可能还留在缓冲区,没来得及写入数据库。因此恢复操作就是要撤销(UNDO )故障发生时未完成的事务,重做(REDO )已完成的事务。 系统的恢复步骤是:

(1)正向扫描日志文件,找出在故障发生前已经提交的事务队列(REDO 队列) 和未完成的事务队列(UNDO 队列) 。

(2)对撤销队列中的各个事务进行UNDO 处理。

进行UNDO 处理的方法是,反向扫描日志文件,对每个UNDO 事务的更新操作执行逆操作,即将日志记录中“更新前的值”Before Image )写入数据库。( 3 )对重做队列中的各个事务进行REDO 处理。 进行REDO 处理的方法是:正向扫描日志文件,对每个REDO 事务重新执行日志文件登记的操作。即将日志记录中“更新后的值”Afte , Image )写入数据库。

介质故障的恢复:

介质故障是最严重的一种故障。

恢复方法是重装数据库,然后重做已完成的事务。具体过程是: ( 1 ) DBA 装入最新的数据库后备副本(离故障发生时刻最近的转储副本) , 使数据库恢复到转储时的一致性状态;

( 2 ) DBA 装入转储结束时刻的日志文件副本;

( 3 ) DBA 启动系统恢复命令,由DBMS 完成恢复功能,即重做已完成的事务。

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 做任何修改。

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

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

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


相关内容

  • 镇宁自治县期末考试情况分析
  • xxx县2013 --2014学年度第二学期期末考试 情 况 分 析 年级: 一年级 学科: 数学 分析人: 一.试题分析(主要从题量.难易程度.知识能力.科学性. 导向性及问题等方面进行分析) 题目涵盖面广,主要涉及到人民币单位的熟悉程度和数的组 成及100以内的数字计算,让学生用学到的数学知识去 ...

  • 期末考试初中语文阅读题型答题模式及思路
  • 期末考试初中语文阅读题型答题模式及思路. 一.分析人物形象 1.从哪些方面分析人物形象?(1)正面描写:外貌描写(容貌.身材.衣着.姿态),心理描写,语言描写(对话.独白),动作描写,神态描写(2)侧面描写(周围人物或环境) 2.描写的作用:①刻画人物的×××性格特征/精神面貌; ②透露人物×××的 ...

  • 英语期末检测分析
  • 2015-2016学年度第二学期期末考试 英语学科质量分析 学校:官湖镇授贤小学 分析人: 邱伟伟 分析时间:2016.6.28 二.教学情况分析: 1.教师教学情况分析: (1)新知识的教学应该注重让学生当堂理解,当堂消化.从学生的答题情况来看,学生对基础知识的掌握普遍表现是掌握得不够牢固.这反馈 ...

  • 八年级地理上册期末考试质量分析报告
  • 八年级地理上册期末考试质量分析报告 昌宁中学 张瑛 本次考试试卷立意较高,敢于大胆创新:内容活而不怪,重而不偏:体现知识与能力并重,理论与实践结合.试卷突出地理学科特点,图文并茂,注重考查学生的读图.识图.填图和空间定位能力,学生能通过对图中信息的获取来解答题目,难度适中:综合题有向中考题型接轨的趋 ...

  • 商务英语期末考试题型及考试范围
  • 商务英语期末考试题型及考试范围 题型: 一.选择题 40道题,共20分.考查内容包括商务知识(主要是老师们自己从课本中出题,有少数几个课后习题).词汇.语法. 二.阅读理解 4篇文章(每篇文章都关于课本中学到的某些商务知识),每篇文章后5个问题(选择题).共40分. 三.术语翻译(英汉互译) 20个 ...

  • 初三物理期末考试试卷质量分析
  • 初三物理期末考试试卷质量分析 初三物理期末考试试卷质量分析:对生活物理关注不够,知识掌握的"应试"成分太多,对实际问题的解决不能触类旁通.教学中应提醒学生身边生活处处有物理知识,注意身边的物理现象.要把物理知识从具体的情景中抽象出来,再还原到具体情景中去. 一. 试卷的基本情况 ...

  • 小学数学期末质量分析
  • 2012-2013年第一学期黄盖湖小学数学 期末质量分析 期末考试已经结束,本次期末考试是对我们数学教学的一次练兵,一次检测.我校把这次考试作为检查教学过程的关键点,认真分析成绩,查找差距及存在的问题等,以求在今后的有限教学时间里,优化教学,完善教学,查缺补漏,总体提高教学质量.现就本次期末考试的基 ...

  • 小学五年级数学期末考试质量分析[1]1
  • 五年级数学期末考试质量分析 一.本次期末考试的命题紧紧围绕北师大版第十册教材的重点进行命题.题型涉及到各章节的知识点.对知识点作重点考察,由重点知识引申出的判断题和实践与应用题紧紧贴近生活,充分体现了数学在生活中的价值,这份试卷放在期末考试中,正迎合了们本次测试的目的. 二.结果及分析 优秀人数:3 ...

  • 九年级历史上期末考试试卷分析[1]
  • 九年级历史上期末考试试卷分析 一.试卷总体结构与特点 1.试卷结构 本卷为闭卷试卷,共四大题,总分100分,题型分选择题和填空题,材料分析题,回答题,分值比为50:10:20:20.1-25题为单项选择题,其中1-小题是考查世界古代史,-25小题是考查世界近代史,第二大题为填空题,第三大题为材料分析 ...