数据库的四个基本概念:数据、数据库、数据库管理系统和数据库系统
数据库系统的三级模式和二级映射
数据库系统外部的体系结构
数据模型
关系数据库中的关系操作
SQL是什么?它有什么特点?
数据定义之基本表的定义/创建、修改和删除
数据定义之索引的创建、修改与删除
数据查询之单表查询。详细解释WHERE、OEDER BY、GROUP BY 和 HAVING
关系的完整性(实体完整性、参照完整性、用户定义的完整性)
事务(包括事务的基本概念和特性解释)
当出现故障,造成事务在运行过程中被强行停止从而影响数据库中数据的正确性,使得数据库的状态不是正确的。这时就需要数据库恢复机制将数据库的状态恢复到某一已知的正确状态。
遇到故障后,数据库要么被破坏,要么数据不正确。
数据库恢复技术能够保证事务的一致性。
恢复的基本原理是:冗余。利用存储在系统别处的冗余数据来重建数据库中已被破坏或不正确的那部分数据。虽然恢复技术的基本原理很简单,但实现技术的细节确相当复杂。
恢复机制涉及的关键问题有两点:
建立冗余数据最常用的技术是数据转储和登录日志文件。通常这两个方法是一起用的。
转储的含义
:转储是指数据库管理员定期地将整个数据库复制到磁带、磁盘或其他存储介质上保存起来的过程。这些备用的数据文本称为后备副本(backup)。
恢复过程
:数据库遭到破坏后可以将后备副本重新装入,重装后备副本只能将数据库恢复到转储时的状态,要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新事务。
转储过程
:转储可以分为静态转储和动态转储。
什么是日志文件
:日志文件(log file)记录了事务对数据库的更新操作。
不同的数据库系统采用的日志文件格式并不完全一样。概括起来主要有两种格式:以记录为单位的日志文件和以数据块为单位的日志文件。
以记录为单位的日志文件的内容
:
以上共同构成日志文件中的一条记录。具体来说,每个日志记录的内容主要包括:
必须先写日志文件,后写数据库。
恢复操作就是要撤销故障发生时未完成的事务,重做已完成的事务。
为什么
:利用日志技术进行数据库恢复时,恢复子系统必须搜索日志,确定哪些事务需要重做,哪些事务需要撤销。一般来说会检查所有的日志记录,但是搜索整个日志将耗费大量的时间。其次有很多需要重做处理的事务实际上已经在数据库中执行了,然而恢复子系统又重新执行了这些操作,浪费了大量时间。为了解决这些问题,又发展了具有检查点(checkpoint)的恢复技术。这种技术在日志文件中增加检查点记录(checkpoint),增加一个重新开始文件,并让恢复子系统在登录日志文件期间动态地维护日志。
检查点记录的内容
包括:建立检查点时刻所有正在执行的事务清单和这些事务最近一个日志记录的地址。
重新开始文件的内容
:记录各个检查点记录在日志文件中的地址。
系统出现故障时,恢复子系统将根据事务的不同状态采取不同的恢复策略。
例如:
恢复策略:
从上面这个例子中就能充分体会到什么叫恢复操作就是要撤销故障发生时未完成的事务,重做已完成的事务。