第九、十、十一章什么是事务?具有哪些特性?事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位事物具有ACID特性,即:1)A)事务中包括的操作,要么不做,要么全做2)C)事务执行的结果必须是,是数据库从一个一致性状态变到另一个一致性状态3)I)一个事物的执行不能被其他事物干扰4)D)事务一旦提交,对数据库的改变是永久的ACID可能遭破坏的因素:1)多个事务并行运行时,不同事物的操作交叉执行2)事务在运行过程中被强行停止数据库系统的故障有哪些类型?1)事务故障2)系统故障3)介质故障4)计算机病毒数据库恢复的实现技术:1)数据转储2)登录日志文件并发控制的问题有哪些:1)丢失修改2)不可重复读3)读脏数据数据库恢复策略:事务故障的恢复:1)反向扫描日志文件,查找该事物的更新操作2)对该事物的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库3)继续反向扫描日志文件,查找该事物的其他更新操作,并做同样处理4)如此继续下去,直至读到此事务的开始标记,事务故障恢复就完成了系统故障的恢复:1)正像扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入REDO队列。同时找出故障发生时尚未完成的事务,将其事务标识记入UNDO队列。2)对UNDO队列中的各个事务进行撤销处理。3)对REDO队列中的各个事务进行重做处理。介质故障的恢复:重装数据库,然后重做已完成的事务。简述三级封锁协议的内容以及不同级别的封锁协议能解决哪些数据不一致性问题?一级事物T在修改数据R之前必须先对其加X锁,直到事物结束才释放可防止丢失修改,并保证事务T是可恢复的二级在一级封锁协议基础上增加事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁防止丢失修改,防止读脏数据(无污读问题)三级在一级封锁协议的基础上增加事务T在读取数据R之前必须先对其加S锁,直到事物结束才释放防止丢失修改,防止污读,防止不可重复读解决活锁:先来先服务(后进先出,短任务优先不知道是什么),预防死锁:一次封锁法、顺序封锁法封锁粒度:封锁对象的大小。封锁粒度越大,数据库能封锁的数据单元越少,并发度越小,系统开销也越小。第七章数据库设计分哪几个阶段?数据库设计分以下六个阶段:1)需求分析2)概念结构设计3)逻辑结构设计4)物理结构设计5)数据库实施6)数据库运行和维护第四、五章数据库的不安全因素:1)非授权用户对数据库的恶意存取和破坏2)数据库中重要或敏感的数据被泄露3)安全环境的脆弱性数据库的安全控制:1)用户身份鉴别2)多重存取控制3)审计4)视图5)数据加密数据库的完整性:指数据的正确性和相容性数据库完整性约束条件:1)实体完整性2)参照完整性3)用户定义完整性第一、二、三章数据模型的三大要素:1)数据结构2)数据操作3)完整性约束视图的作用:1)简化用户操作2)是用户能以多种角度看待同一问题3)对重构数据库提供了一定的逻辑独立性4)对机密数据提供安全保护5)适当利用视图可以更清晰的表达查询等级日志文件时必须遵循的两条原则:1)登记的次序严格按并发事务执行的时间次序2)必须先写日志文件后写数据库数据,数据库,数据库管理系统,数据库系统的概念1)数据:描述事物的符号记录2)数据库:长期存储在计算机内的、有组织的、可共享的数据集合3)数据库管理系统:位于用户与操作系统之间的,具有数据定义、数据操纵、数据库的运行管理、数据库的建立和维护功能的,一层数据管理软件4)数据库系统:在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应供系统、数据库管理员和用户构成。视图与基本表的区别与联系:1)视图是从一个或几个基本表导出的表,它与基本表不同,它是一个虚表。2)数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中当基本表中的数据发生变化,从视图中查询出的数据也就随之改变。3)视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制。数据库管理系统有哪些功能?数据库管理系统(DBMS)是位于操作系统与用户之间的一个数据管理软件,它的主要功能包括以下几个方面:1)数据定义功能:DBMS提供数据描述语言(DDL),用户可通过它来定义数据对象。2)数据操纵功能:DBMS还提供数据操纵语言(DML),实现对数据库的基本操作:查询、插入、删除和修改。3)数据库的运行管理功能:这是DBMS运行时的核心部分,它包括并发控制,安全性检查,完整性约束条件的检查和执行,发生故障后的恢复等。4)数据库的建立和维护功能:它包括数据库初始数据的输入及转换,数据库的转储与恢复,数据库的重组功能和性能的监视与分析功能等。