本章开始新的一节,电子档下载地址如下:
数据库系统的实现技术教程下载系统实现技术本章主要涉及实现DBMS时的具体技术。在DBS运行时,系统有一个“系统目录”,用于存放数据库结构的描述。DBS运行的最小逻辑工作单位是“事务”,所有对数据库的操作,都要以事务作为一个整体单位来执行或撤销。
DBMS对DB的监控,称为数据库的管理,有时也称为数据库的保护。对数据库的管理主要通过四个方面实现:数据库的恢复、并发控制、完整性控制和安全性控制。
RDBMS系统目录的存储内容关系名,属性名,属性域(数据类型)
各种约束,主键,辅助键,外键,空值/非空值
视图的外部级描述,存储结构和索引的内部级描述
安全性和授权规则
数据完整性规则
注意:这些数据都以表格的形式存在
数据库事务定义:
事务(transaction)是构成单一逻辑工作单元的操作集合
性质:
原子性(Atomicity):事务是一个不可分割的工作单元
一致性(Consistency) :即数据不会应事务的执行而遭受破坏
隔离性(Isolation) :在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样
持久性(Durability) :一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中
事务提交和事务撤销事务的所有操作都完成了,则事务提交(COMMIT),否则事务撤销(ROLLBACK)
BEGIN TRANSACTION标志事务开始执行
BEGIN TRANSACTION和COMMIT或ROLLBACK一起保证了事务的四个性质
对数据库访问的两个基本操作:读和写,但完成写操作后,数据可能暂时放在内存中,而非直接写进数据库。
存储器类型1,易失性存储器(volatile storage)
例:内存、cache存储器
2,非易失性存储器(nonvolatile storage)
例:磁盘和磁带
3,稳定存储器(stable storage)
这是一个理论上的概念。存储在稳定存储器中的信息是决不会丢失的。
4,稳定存储器的实现
数据备份
数据银行
块和块的操作块、物理块和缓冲块
块的操作
input(A):把物理块A的内容传送到内存的缓冲块中。
OutPut(B):把缓冲块B的内容传送到磁盘中恰当的物理块中
恢复的基本原则和实现方法1,基本原则 :“冗余”,即数据库重复存储
2,具体实现方法
平时做好两件事:转储和建立日志
1),周期地(比如一天一次)对整个数据库进行拷贝,转储到另一个磁盘或磁带一类存储介质中。
2),建立日志数据库。记录事务的开始、结束及数据每一次插入、删除和修改前后的值,并写到“日志”库中。
一旦发生数据库故障,分两种情况进行处理
1),如果数据库已被破坏,则装入last数据库备份,再利用日志库将这两个数据库状态之间的所有更新重新做一遍。
2),如果数据库未被破坏,但某些数据不可靠,则撤消所有不可靠的修改,把数据库恢复到正确的状态。
故障类型和恢复方法1,事务故障(恢复由系统自动进行)
可以预期的事务故障,如存款余额透支等(加入判断和ROLLBACK语句)
非预期事务故障,如运算溢出、数据错误、死锁等(由系统直接对该事务执行UNDO处理)
2,系统故障(软故障) (恢复由系统自动进行)
硬件故障、软件错误或掉电等等(需要重新启动来恢复到正确的状态)
对未完成事务作UNDO处理
对已提交事务但更新还留在缓冲区的事务进行REDO处理
3,介质故障(硬故障) (恢复需要DBA配合执行)
磁盘物理故障或遭受病毒破坏 P261恢复过程
检查点方法什么是检查点方法
检查点方法的恢复算法
1,根据日志文件建立事务重做队列和事务撤销队列
2,对重做队列中的事务进行REDO处理,对撤消队列中的事务进行UNDO处理