上海大学数据库期末复习(第八章及第十章)

mac2025-01-11  17

一. 事务

1. DBMS对DB的监控,称为数据库的管理,有时也称为数据库的保护。对数据库的管理主要通过四个方面实现:数据库的恢复,并发控制,完整性控制,安全性控制。(P172)

2. 事务是构成单一逻辑工作单元的操作集合。

3. 事务以BEGIN TRANSACTION语句开始,以COMMIT语句或ROLLBACK(这是一个触发器)语句结束。

 

二. 事务的ACID性质(P173)

1. 原子性:由事务管理子系统实现

2. 一致性:由完整性子系统实现

3. 隔离性:由并发控制子系统实现

4. 持久性:由恢复管理子系统实现

 

三. 数据库的恢复

1. 恢复的定义:系统把数据库从被破坏,不正确的状态,恢复到最近一个正确的状态,DBMS把这种能力称为数据库的可恢复性。

2. 恢复的基本原则和实现方法:转储和建立日志。

 

四. 事务故障 (P175)

1. 事务故障

2. 系统故障

3. 介质故障

 

五. 检查点机制(这个要会做题 P175-P177 老师的习题研讨题上也有相关题目)

 

六. 数据库的并发控制

1. 丢失更新问题

2. 读脏数据问题

3. 不一致分析问题

这三个问题最好看一下书,懂得每个问题具体是什么(P177-P179)

 

七. 封锁机制

1. 两种封锁:排他型封锁和共享型封锁,其中排他性封锁的并发度低,共享型封锁的并发度高。

然后两种封锁以及封锁的相容矩阵最好也看一下书上的例子。(P180-P181)

 

八. 活锁,饿死,死锁(P182)

1. 活锁:系统可能使某个事务永远处于等待状态,得不到封锁的机会,这种现象称为火锁。 解决活锁的简单方法是先来先服务策略。

2. 饿死:有可能存在一个事务序列,其中每个事务都申请对某数据项加S锁,且每个事务在授权加锁后一小段时间内释放封锁,此时若另有一个事务T1欲在该数据项上加X锁,将永远轮不上封锁的机会。这种现象称为饿死。可用授权加锁的方式来避免事务饿死。

3. 死锁:系统中有两个或两个以上的事务都处于等待状态,并且每个事务都在等待其中另一个事务解除封锁,它才能继续执行下去,结果造成任何一个事务都无法继续执行。

 

九. 并发调度的可串行化(P183-184)

1. 事务的调度,串行调度和并发调度:

a. 事务的执行次序称为调度

b. 如果多个事务依次执行,则称为事务的串行调度。

c. 如果利用分时的方法,同时处理多个事务,则称为事务的并发调度。

2. 如果有n个事务串行调度,则有n!种不同的有效调度。如果有n个事务并发调度,可能的并发调度数目远大于n!。

3. 可串行化的概念:每个事务中,语句的先后顺序在各种调度中始终保持一致,在这个前提下,如果一个并发调度的执行结果与某一串行调度的执行结果等价,那么这个并发调度称为可串行化的调度。否则是不可串行化的调度。

4. 两段封锁协议:两段封锁是可串行化的充分条件,不是必要条件。也就是说可串行化的并发调度中,有的事务可能不遵守两段封锁协议。遗憾的是,两段封锁协议仍有可能导致死锁的发生,而且可能会增多。这是因为每个数据都不能及时解除被它封锁的数据。

 

十. 数据库的完整性

1. 数据库的完整性一词是指数据的正确性,有效性,相容性。

2. 数据库的完整性约束:域约束,基本表约束和断言。(P186-190一些sql格式要知道的)

 

十一. 数据库的安全性

1. 数据库的安全性是指保护数据库,防止不合法的使用,以免数据的泄密,更改或破坏。

2. 区分数据库的安全性和完整性:安全性是保护数据以防止非法用户造成的破坏,而完整性是保护数据以防止合法用户无意中造成的破坏,也就是安全性确保用户被限制在其想做的事情内,而完整性确保用户所做的事情是正确的。

3. sql中的安全性机制:视图和用户权限操作。(P193)

 

 

第十章就是一个大题,对象关系数据库,只要老师的研讨题和习题会了就没有问题。

 

 

 

 

 

 

 

 

 

 

最新回复(0)