一、关系处理查询和查询优化
1、查询优化——代数优化(指关系代数表达式的优化),物理优化(指存取路径和底层操作算法的选择)。
2、RDBMS查询分4个阶段
~1、查询分析——即判断查询语句是否符合SQL语法规则。
~2、查询检查——一般用查询树来表示扩展的关系代数表达式。此过程中要把数据库对象的外部名称转换为内部表示。
~3、查询优化——可以是基于代价,基于规则,基于语义的。
~4、查询执行——由代码生成器生成执行这个查询计划的代码。
二、数据库恢复技术
1、事务——是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,不可分割。
具有原子性、一致性、隔离性、和持续性。
2、故障的种类——事务内部的故障、系统故障、介质故障、计算机病毒。
3、数据转储——1.静态转储—在系统中无运行事务时进行,得到的是一个数据一致性的副本。
2.动态转储—指转储期间运行对数据库进行存取或修改。但转储结束时后援副本上的数据并不保证正确效。
3.海量转储—每次转储全部数据库。
4.增量转储—每次只转储上一次转储后更新过的数据。
4、日志文件——是用来记录事务对数据库的更新操作的文件。(操作的类型和操作对象等信息不必放入)
两条原则—1.登记的次序严格按并发事务执行的时间次序。2.必须先写日志文件,后写数据库。
5、事务故障的恢复—是系统自动完成的,对用户是透明的。
6、系统故障的恢复—由系统在重新启动时自动完成的,不需要用户干预。
7、介质故障的恢复—恢复方法是重装数据库,然后重做已完成的事务。需要DBA介入。
8、具有检查点的恢复技术—恢复子系统必须搜索日志,确定哪些事务需要REDO,那些事务需要UNDO。
9、数据库镜像—可以用于并发操作,即当一个用户对数据加排它锁修改数据时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁。
三、并发控制
1、为了保证事务的隔离性和一致性,DBMS需要对并发操作进行正确调度。
2、封锁—活锁(先来先服务)、死锁(1.采取一定措施来预防。2.允许发生死锁,采用一定手段定期诊断,若有则解除)
死锁的预防—一次封锁法、顺序封锁法、超时法、等待图法。
3、可串行化——是并发事务正确调度的准则。
冲突操作——指不同的事务对同一个数据的读写和写写操作。
冲突可串行化调度是可串行化调度的充分条件,不是必要条件。
4、两段锁协议——事务分为两个阶段。1是获得封锁即扩展阶段。(事务可以申请获得任何数据项上任何类型的锁,但是不能释放任何锁) 2是释放封锁即收缩阶段。(事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁)。 事务遵守两段锁协议是可串化调度的充分条件,而不是必要条件。
5、封锁粒度—封锁对象的大小。粒度越大,数据库所能够封锁的数据单元就越少,并发度越小,系统开销也越小。
6、意向锁——如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁;对任一结点加锁时,必须先对它的 上层结点加意向锁。
本文详细介绍了数据库管理系统中的关键概念和技术,包括查询处理与优化、数据库恢复机制、并发控制等内容。重点讲解了查询优化的不同阶段、恢复技术的实现方法以及并发操作的控制策略。
1万+

被折叠的 条评论
为什么被折叠?



