西工大数据库复习参考_第1页
西工大数据库复习参考_第2页
西工大数据库复习参考_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据是描述事物的符号记录。数据的形式本身并不能完全表达其内容,需要经过语义解释。信息是关于现实世界事物存在方式或运动状态的反映。

数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释;

数据表示了信息,而信息只有通过数据形式才能被计算机理解和接受。

数据库:

指长期存储在计算机内的、有组织的、可共享的数据集合。

数据库管理系统:

是位于用户与操作系统之间的一层数据管理软件。

数据库系统:它是包含数据库的具体应用系统,由支持该应用系统的某一具体的数据库、数据库管理系统和应用程序三部分组成。

事务:是通过访问数据库完成用户特定任务的程序片段,是对数据库一系列访问组成的逻辑单位。

数据逻辑独立性:当数据的总体逻辑结构改变时,通过对映像的相应改变可以保持数据的局部逻辑结构不变,应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必修改。

数据物理独立性:当数据的存储结构改变时,通过对映像的改变可以保持数据的逻辑结构可以不变,从而应用程序也不必改变。

关系模式规范化:通过模式分解把属于低级范式的关系模式转换为几个属于高级范式的关系模式的集合的过程。

死锁:当两个或多个事务相互等待对方所拥有的锁被释放时,所产生的僵持局面。

数据模型:在数据库中用数据模型这个工具来抽象、表示和处理现实世界的数据和信息。通俗地讲数据模型就是现实世界的模拟。

SQL:Structured

Query

Language,一种对关系数据库中的数据进行定义和操作的句法,为大多数关系数据库管理系统所支持的工业标准。结构化查询语言,是标准的数据库语言。

视图:是命名的、从基本表导出的虚表,它是物理上并不存在,存在的只是它的定义。

串行调度:每个事务的操作连续执行,各事务之间的操作没有任何重叠的调度。

Cluster

index:

聚簇索引也叫簇类索引,是一种对磁盘上实际数据重新组织以按指定的一个或多个列的值排序。

1.

数据库设计的步骤:

需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行和维护。

2.

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

3.

数据库封锁类型:

共享锁:如果事务在数据项上加一个共享锁,那么该事务只能读而不能更新数据项。

互斥锁:如果事务在数据项上加一个互斥锁,那么该事务既可读也可更新数据项。

4.

查询优化的一般步骤:

对于给定的查询选择代价最小的操作序列,使查询过程既省时间,又具有较高的效率

将查询转换成为某种内部表示,通常是语法树

根据一定的等价变换规则将语法数转换成标准形式

选择最低层的操作算法

生成查询计划

5.

事务遵守两段锁协议和事务调度可串行化的关系:

如果事务中所有的加锁操作都在事务的第一个解锁操作之前进行,那么这个事务是遵循两段锁协议的。

或者:具体如下:

1)数据在对一个数据项进行操作之前,必须先获得对该数据项的锁。根据访问类型,锁可以是读或写锁。

2)一旦事务释放了一个锁,它就不能再获得任何新锁。

根据该协议,每个事务可以被分为两个阶段:第一阶段是增长阶段,在这个阶段,事务获得它所需要的所有锁(不一定是同时),但不释放其中任何一个;第二阶段是收缩阶段,在这个阶段,事务释放它所拥有的锁,但不能在请求任何新锁。

两段锁协议和事务可串行化调度的关系:如果一个调度中的每个事务都遵循两段锁协议,那么该调度必然是冲突可串行化的。

事务遵守两段锁协议是可串行化调度的充分条件,而不是必要条件。

6.

什么是死锁?如何用有向图的方法检测死锁?

当两个或多个事务相互等待对方所拥有的锁被释放时,所产生的僵持局面。

通常可以用等待图方法来进行死锁检测。WFG是有向图G=(N,E),生成规则如下:1.为每个事务创建一个结点。2.

如果事务Ti等待对一个当前被事务Tj加锁的数据项进行加锁,则创建一条有向边Ti->Tj。当且仅当WFG中包含一个循环时存在死锁。

7.

数据库更新策略,并说明是否需要undo和redo过程,各种策略的优缺点

数据库的两种更新策略决定了是否需要Undo过程:

1)

Immediate

Updates

Modified

pages

can

be

flushed

to

the

stable

database

before

a

transaction

reaches

its

commit

point.

Undo

actions

are

needed

in

the

event

of

a

system

failure.

2)

Deferred

Updates

Transaction

updates

are

applied

to

the

database

after

the

transaction

has

reached

its

commit

point.

There

is

no

need

for

undo

actions

in

the

event

of

a

system

failure.

1)

Force

Propagation

All

modified

pages

are

propagated

during

the

commit

processing

of

the

modifying

transaction.

Since

a

transaction

is

not

committed

until

all

its

modified

pages

are

written

back

to

the

stable

database.

There

is

no

need

for

redo

actions

in

the

event

of

a

system

failure.

2)

No-Force

Propagation

Pages

modified

by

committed

transaction

might

not

have

been

propagated

to

the

stable

database.There

is

a

need

for

redo

actions

in

the

event

of

a

system

failure.

8.

简述数据库概念设计中的深坑陷阱,给出可能产生的原因和解决方法,并举例说明。

当一个模型暗示某些实体类型之间存在联系,而这些实体的实例的出现之间却不存在相应的通路。在关联实体的通路上存在一个或多个多样性最小为零的联系时,可能会产生深坑陷阱。解决方法:建立实体间的直接联系。

9.

简述数据库概念设计的扇形陷阱,给出产生原因和解决方法。

当一个模型暗示某些实体类型之间存在联系,而这些实体的实例的出现之间却不存在相应的通路。在关联实体的通路上存在一个或多个多样性最小为零的联系时,可能会产生深坑陷阱。解决方法:调整实体间的联系次序。

10.

日志从缓冲区到二级存储设备要遵循的两个规则?

1)UNDO规则(Undo

Rule

)或叫WAL

(Write-Ahead

Logging)

principle

事务对数据的更新要在相关日志信息写入文件之后写入文件。

这样,Log保证记录了未提交事务的Undo信息

2)REDO规则(Redo

Rule

在事务提交时,只有当事务相关的Log信息写入了文件之后,事务提交才算完成。

这样,Log保证记录了提交事务的Redo信息

这两条保证了在系统崩溃时,对于提交事务和未提交事务都能得到相应恢复。

11.

简述可串行化调度和正确调度。

答:事务集合并发执行,调度是可串行化的当且仅当它能够产生和某一串行调度相同的结果。可串行化的调度称为正确调度。

12.

在开发具有多个用户视图的数据库应用程序时,在设计过程中对于多个用户视图的处理通常有3种方法?简述这3中方法,并说明在什么情况下该使用哪种方法。

答:三种方法分别为:集中式方法;视图集成方法和两种方法的结合。

当各用户视图的需求存在明显重叠,并且数据库应用不是非常复杂时,适合采用集中式方法;当各用户视图之间存在明显区别,而整个数据库应用程序相当复杂时,适合采用视图集成方法。

1.

List

all

employees

whose

salary

more

than

$10000

σsalary>10000(Staff)

List

all

students

in

information

system

department

σsDept=‘IS’(Student)

List

all

male

students

whose

age

no

less

than

20

σsAge≥20

sSex=‘M’(Student)

2.

List

all

students

with

name

and

department

attributes

ΠsName,sDept(Student)

3.

List

the

course

numbers

which

elected

by

student

whose

number

is

‘070001’

cNo(

sNo=‘070001’

(SC))

Course

4.

List

the

students

who

have

elected

course

‘001’

or

‘002’

ΠsNo(cNo=‘001’

cNo=‘002’(SC))

Student

(ΠsNo(cNo=‘001’(SC)

)∪

ΠsNo(cNo=‘002’(SC)))

Student

5.

List

the

students

who

have

elected

course

‘001’

and

‘002’

(ΠsNo,cNo(SC)÷

cNo=‘001’

cNo=‘002’(C))

Student(ΠsNo(

cNo=‘001’

(SC))

∩ΠsNo(

cNo=‘002’

(SC)))

Student

6.

List

the

students

who

have

elected

course

‘001’

but

have

not

elected

course

‘002’

(ΠsNo(cNo=‘001’(SC))

-

ΠsNo(cNo=‘002’(SC)))

Student

7.

List

the

students

who

have

not

elected

course

‘001’

(ΠsNo(Student)

-

ΠsNo(cNo=‘001’(SC)))

Student

8.

List

the

student

who

have

only

elected

course

‘001’

(ΠsNo(SC)

-

ΠsNo(cNo≠‘001’(SC)))

Student

(ΠsNo(

cNo=‘001’(

SC))

-

ΠsNo(SC

-

cNo=‘001’(SC)))

Student

9.

Produce

a

statu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论