SCUT数据库复习题.doc
文本预览下载声明
数据库技术与其他学科的内容相结合,出现了哪些新型的数据库系统?
面向对象数据库系统:将数据作为对象存储,包含在对象中的是完成每一项数据库事务处理指令,这些对象可能包含不同类型的数据,对象可以共享和重用。
分布式数据库系统:物理上分散在计算机网络各结点上,而逻辑上属于同一个系统的数据集合,具有数据的分布性和数据库间的协调性两大特点。
并行数据库系统:在并行机上运行的具有并行处理能力的数据库系统,是并行技术与数据库技术结合的产物。
知识库系统和主动数据库系统:在传统数据库基础上,结合人工智能技术和面向对象技术产生的数据库新技术。
多媒体数据库系统:是多媒体技术与数据库技术的结合,能表示和处理多种媒体数据,反映和管理各种媒体数据的特性,提供比传统数据库管理系统更强的适合非格式化数据查询的搜索功能
模糊数据库系统:存储以???种形式表示的模糊数据,数据结构和数据联系、数据上的运算和操作等都是模糊的,精确数据可以看成是模糊数据的特例
其他的还有Web数据库系统和移动数据库系统等。
目前数据库的发展趋势是什么?
(1)XML/RDBMS混合数据将在未来得到快速的发展
(2)数据集成和数据仓库将向内容管理过渡
(3)主数据管理将在未来成为一个新的热点。
(4)数据仓库将在内容展现和战术性分析方面发展
(5)基于Internet的自动化管理
(6)PHP将成为拨动数据库产品采用率的杠杆
(7)数据库将与业务语义的数据内容融合
以oracle 为例,了解数据库的体系结构(通知该题不用整理)
基于锁的协议有几种?什么是基于时间标签的协议?什么是基于验证的协议?
基于锁的协议即两段锁协议,是指指所有事务必须分两个阶段对数据项加锁和解锁。具体又分为:基本2PL、保守2PL 、严格2PL和 精确2PL
基于时间标签的协议:事务被施加了一个基于时间戳的顺序 要求并发控制器检查事务对每个DB对象的读写请求看是否能遵循基于时间戳的串行顺序。
以上这个原则性要求,可具体表达为:对任两事务Ti和Tj,若Ti先于Tj,即TS(Ti)TS(Tj),则必须确保在执行期间,当事务Ti的动作ai与Tj的动作aj冲突时,总有ai先于aj。如果有某个动作违反了这个串行顺序原则,则相关事务就必须被中止撤销。
每个事务开始启动时,要附上一个时间标记(timestamp)。后启动事务的标记值大于先启动事务的标记值。
对每个数据库数据项Q,要设置两个时间标记:
读时间标记tr,表示成功读过该数据的所有事务的时间标记的最大值。
写时间标记tw:表示成功写过该数据的所有事务的时间标记的最大值。
基于验证的协议:基于验证是一种基于优化的并发控制,允许事务不经过封锁直接访问数据,并在“适当的时候”检查事务是否以可串行化的方式运转(这个“适当时候”主要指事务开始写DB对象之前的、一个称被为“有效确认”的、很短的瞬间阶段)。
事务T的执行过程分为三个阶段:
读阶段:事务正常执行所有操作,此时数据修改放在局部临时变量中而不更新数据库。
检验阶段:进行有效性检查,T和已经比它先提交的事务进行比较,发现是否有冲突。
写阶段:如果检验阶段发现无冲突,则事务提交,否则卷回T。
每个事务T的三个阶段对应三个时间标签:
start(T):开始执行时间
validation(T):开始进入验证的时间
finish(T):完成写阶段的时间
注意:(1)不同的事务的三个阶段可以交叉执行,但三个阶段的顺序不能改变。(2)事务最终执行的调度顺序是按照事务的进入验证的时间标签来排。
处理死锁的方法有哪些?
处理死锁的两种基本方法:预防法和检测法。
预防法:TB已对某数据对象加锁,而TA对该数据对象申请加锁时,选择某事务卷回重执,避免死锁出现。卷回策略分为等待-死亡策略(若老则等年轻,若年轻则卷回)和击伤等待策略(若年轻则等老,若老则年轻卷回)
检测法:基于等待图。每个活跃事务对应图中的一个节点,如果事务Ti正等待事务Tj所持有的某个锁,则有一条从Ti对应节点指向Tj对应节点的边。它可清晰表达事务等待其它事务持有锁的情况。封锁管理器通过维护等待图来检测死锁循环。
什么是多版本并发控制技术?
定义:这种技术维护同一数据项的多个版本,把正确的版本分配给事务的读操作。与其他技术不同的是,这种技术从不拒绝读操作。
目标:事务只读DB元素时无需等待
方法:维护最近被修改对象的多个版本(每个版本都带有一个写时间戳),当读事务T到来时,让它读TS(T)之前的最近的版本。
什么是数据锁转换?什么是锁升级?
数据锁转换(lock conversion):
是指在特定的条件下,允许已经对数据项X持有锁的事务把锁从一种锁定状态变换到另一种状态。Oracle会尽可能在最低级别锁定(即限制最少的锁),如果必要,会把这个锁转换为一
显示全部