数据库系统基础

本文详细介绍了数据库管理系统中的关键概念和技术,包括查询处理与优化、数据库恢复机制、并发控制等内容。重点讲解了查询优化的不同阶段、恢复技术的实现方法以及并发操作的控制策略。

一、关系处理查询和查询优化

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、意向锁——如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁;对任一结点加锁时,必须先对它的        上层结点加意向锁。




                          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值