版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 数据库管理一、本章重要概念(1)事务的定义,COMMIT和ROLLBACK的语义,事务是由若干数据库操作组成的一个逻辑工作单位,是一个不可分割的工作单位。一个应用程序可以包括多个事务。事务以BEGIN TRANSACTION语句的成功执行开始,以COMMIT或ROLLBACK语句的成功执行结束。COMMIT(提交)语句表示一事务的全部操作都已成功,它对DB的所有更新可真正写到DB中。ROLLBACK(回退)语句表示事务没有成功地完成全部操作,系统将撤消该事务对DB已作的更新事务的ACID性质事务有四个重要性质:原子性、一致性、隔离性和持久性。通常称为“ACID性质”。原子性(atomi
2、city):事务对数据库的更新要么全部起作用,要么完全不起作用。DBMS的事务管理子系统一致性(consistency):事务将数据库从一个一致性状态转变为另一个一致性状态。程序员(正确地编写事务)DBMS的完整性子系统隔离性(isolation ):事务相互隔离,在多个事务并发执行时,任一事务的更新操作在该事务成功提交前对其他事务都是不可见的。DBMS的并发控制子系统持久性(durability):事务一旦成功提交,其对数据库的更新就永久有效,不会因系统崩溃等而丢失。DBMS的恢复管理子系统 事务的状态变迁图。(2)存储器类型,稳定存储器的实现,数据传送过程。(3)恢复的定义、系统能把数据库
3、从被破坏、不正确的状态、恢复到最近一个正确的状态,DBMS的这种能力称为数据库的可恢复性。基本原则和实现方法,恢复的基本策略:冗余(数据重复存储)实现方法:备份 定期对数据库复制或转储(静态转储和动态转储,海量转储和增量转储)。日志 执行事务时,记录其开始、结束和对DB的每次更新操作。故障的类型,事务故障非预期事务故障:运算错误、数据错误、死锁等,故障事务夭折可预期事务故障:在事务中可预期出错的地方所加的ROLLBACK语句系统故障:硬件、系统软件出错,停电等,事务执行被打断,内存中数据被破坏介质故障:磁头、磁盘控制器或磁盘损坏,盘上数据丢失,病毒破坏等,DB遭破坏检查点机制,DBMS定时设置
4、检查点,在检查点时刻才真正做到把对DB的修改写到磁盘,并在日志文件写入一条检查点记录。根据日志文件建立重做队列和事务撤消队列。对重做队列中的事务进行REDO处理,对撤消队列中的事务进行UNDO处理。REDO和UNDO操作,运行记录优先原则。(4) 并发操作带来的三个问题,丢失更新问题:一事务所作的更新操作因另一事务的操作而丢失。读“脏数据”问题:又称为未提交依赖,指一事务取用了别的事务未提交随后又被撤消的数据。不一致分析问题:指事务从数据库中读取了处于不一致状态的数据,并因此进行了不一致的分析。 X锁、排它型封锁(写锁,X封锁):一个事务对数据对象加了X锁后,在它释放X锁之前不允许其他事务再对
5、该数据对象加任何锁。共享型锁(读锁,S封锁) :一个事务对数据对象加了S锁后,允许其他事务再对该数据对象加S锁,但在它释放S锁之前不允许其他事务加X锁。 PX协议、事务若要更新数据,则必须先提出对此数据对象的X封锁请求;事务如果未获准X封锁,那么进入等待状态,直至获准在此数据对象上的X封锁,才能继续执行。PX协议可以解决因多事务同时更新同一数据对象而引起的更新丢失问题。任何事务T在更新记录R之前必须先执行“XFIND R”操 作,以获得对R的X锁,才能读或写记录R;如果未获准X锁,那么这个事务进入等待状态。一直到获准X锁,事务才能继续做下去。(如果过早地解锁,有可能使其他事务读了未提交数据(且
6、随后被回退),引起丢失其他事务的更新。PXC协议,是在“PX协议”上再加一规定:解除X锁的操作合并到事务的结束(COMMIT或ROLLBACK)操作中。PXC协议可以解决因事务ROLLBACK而引起的更新丢失问题。 S锁、PS协议、PSC协议,PS:任何要更新记录R的事务必须先执行“SFIND R”操作, 以获得对R的S锁.当事务获准对R的S锁后,若要更新记录R必须用 “UPDX R”操作,这个操作首先把S锁升级为X锁,若成功则更新记录,否则这个事务进入等待队列。PSC:PS协议加上S锁的解除操作应该合并到事务的结束 (COMMIT或ROLLBACK)操作中。活锁、出现某个事务永远处于等待状态
7、得不到执行的现象。避免活锁的一个简便方法是采用“先来先服务”排队的策略。封锁子系统按请求在时间上的先后次序对事务排序,数据对象上原有的锁一释放,即执行队列中第一个事务的封锁请求。饿死和死锁,出现若干事务因循环等待而无法继续执行的现象。并发调度,串行调度,并发调度的可串行化,两段封锁法,事务的执行次序称为“调度”。若多个事务依次执行,则称为事务的串行调度。若设法(例如利用分时的方法)多个事务同时被处理(即交错执行),则称为事务的并发调度。在应用环境中,事务的任一串行调度都是有效的(正确的),但是事务的并发调度不一定是正确的,有可能产生前面提到的不一致性问题。可串行化概念如果一个并发调度与某一串行
8、调度具有相同的执行结果,那么称这个并发调度是“可串行化的调度”(即正确的并发调度),否则是不可串行化的调度。两段封锁协议 事务在对数据对象存取之前必须先获得对此数据对象的封锁,事务在解除了一个锁之后不再获得任何锁。SQL中事务的存取模式和隔离级别。事务的存取模式READ ONLY(只读型)READ WRITE(读写型)事务的隔离级别SERIALIZABLE(可串行化)REPEATABLE READ (可重复读)READ COMMITED(读提交数据)READ UNCOMMITED(读未提交数据)(5) 完整性的定义,是指数据的正确性、有效性和相容性。完整性子系统的功能,完整性子系统:DBMS中
9、执行完整性检查的子系统。其功能:监督事务的执行,测试其是否违反完整性约束条件;若有违反,则按进行预定的处理。完整性规则的组成。每个规则包括三部分:触发条件 规定何时执行本规则进行检查;约束条件 又称谓词,定义应满足的条件;否则子句 规定不满足条件时该作的处理。域完整性规则:定义属性取值范围。域联系的规则:定义属性间的联系、影响和约束。关系完整性规则:定义更新操作对值的影响和限制。SQL中的三大类完整性约束,完整性约束分为三大类:域约束用“CREATE DOMAIN”语句定义新的域,并可出现CHECK子句。非空值约束(NOT NULL)基于属性的检查子句(CHECK):基本表约束主键约束可用主键
10、约束来描述实体完整性规则。主键约束可用两种形式表示:主键子句和主键短语。主码可在定义关系的CREATE TABLE语句中使用PRIMARY KEY关键字加以定义。有两种定义主键的方法,一种是在属性后增加关键字,另一种是在属性表中加入额外的定义主键的子句:PRIMARY KEY(主键属性名表)使用关键字UNIQUE,说明该属性(或属性组)的值不能重复出现。外键约束FOREIGN KEY(列名序列1). REFERENCES <参照表> (<列名序列2>) ON DELETE <参照动作> ON UPDATE <参照动作> 参照动作可以有五种方式:
11、NO ACTION(无影响) CASCADE(级联方式) RESTRICT(受限方式) SET NULL(置空值) SET DEFAULT(置缺省值) 检查约束 对单个关系的元组值加以约束。对表内元组说明约束时,在CREATE TABLE语句中的属性表、主码、外部码的说明之后加上CHECK子句。每当对元组进行插入或修改操作时,都要对CHECK子句的条件表达式求值,如果条件为假,违背了约束,系统将拒绝该插入或修改操作。CHECK子句的一般格式为: CHECK <条件>断言定义:CREATE ASSERTION 断言名 CHECK(条件)撤消:DROP ASSERTION 断言名断言也
12、可以在关系定义中用检查子句形式定义,但是检查子句不一定能保证完整性约束彻底实现,而断言能保证不出差错。SQL3中的触发器技术。触发器(Trigger)是一个能由系统自动执行对数据库修改的语句。触发器有时也称为主动规则(Active Rule)或事件条件动作规则(EventConditionAction Rule,ECA规则)。(1)触发时间: BEFORE、 AFTER、 INSTEAD OF ;(2)触发事件:有三类- UPDATE、DELETE、INSERT(3)目标表名: 当目标表的数据被更新(插入、删除、修 改)时, 将激活触发器。(4) 旧值和新值的别名表: REFERENCES子句
13、触发器有两类:元组级触发器和语句级触发器。 元组级触发器 带 “FOR EACH ROW” 子句, 而语句级触发器没有; 元组级触发器对每一个修改的元组都要检查一次, 而语句级触发器对SQL语句的执行结果去检查。 语句级触发器,不能直接引用修改前后的元组,但可以引用修改前后的元组集。旧的元组集由被删除的元组或被修改元组的旧值组成,而新的元组集由插入的元组或被修改元组的新值组成。INSTEAD OF 表示:在触发事件发生时,只要满足WHEN条件,就执行动作部分的操作,而触发事件的操作不再执行。 (6) 安全性的定义、级别,定义是指保护DB,防止不合法的使用,以免数据的泄漏、非法更改和破坏。安全性
14、级别设置安全措施所牵涉的层次。分成环境级、职员级、OS级、网络级和DBS级等五个级别。这里只讨论DBS级的安全性问题。权限,权限的授予、转授与回收授权 可根据需要把在某对象上的某些权限授予特定的用户。转授 若拥有转授权,则允许把已获得的权限再转授给其他用户。回收 也可以撤消已授给某用户的某些权限。权限的种类:读插入修改删除SQL中的安全性机制(视图、SQL用户权限及操作)视图 视图是虚表,视图机制使DBS具有三个优点:数据安全性、逻辑独立性、用户操作简便性。 SQL中的用户权限及操作六类权限:SELECT,INSERT,DELETE,UPDATE,REFERENCES,USAGE。 授权(GR
15、ANT)语句:将关系和视图操作权授予特定用户回收(REVOKE)语句:回收已授给某用户的权限。第十章 对象数据库系统 一、本章重要概念(1) 新一代DBS的两条途径:ORDBS和OODBS。ORDB中的SELECT语句(SQL3标准):引入了路径表达式、嵌套与解除嵌套等概念。在传统的关系数据模型基础上,提供元组、数组、集合一类丰富的数据类型以及处理新的数据类型操作的能力,并且有继承性和对象标识等面向对象特点。OODB中的SELECT语句(ODMG标准OQL):有了更多的扩充,并与宿主语言语句混合起来,可以表达更为复杂的查询操作。(2) 平面关系模型,嵌套关系模型,复合对象模型,引用类型,对象联系图的成分及表示方法,对象联系图数据的泛化/细化,继承性。数据的泛化细化:对概念之间联系进行抽象的一种方法。 “泛化”:称较高层上抽象是较低层上抽象的“泛化”。(在较低层上抽象表达与之联系的较高层上的抽象, ) “细化”:称较低层上抽象是较高层上抽象的“细化”。这种细化联系是一种“是”(is a)的联系。子类具有继承性,继承超类的特征,而子类本身又有其它的特征。泛化/细化联系用泛化边(双线箭头)表示,泛化边从子类指向超类。(3) OO的数据类型系统:基本类型,五种复合类型,引用类型。一、基本数据类型:整型、浮点型、字符型、字符串、布尔型和枚举型;二、复合类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商丘市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(预热题)
- 2026年三明市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)有答案详解
- 玉溪市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(完整版)
- 2025年广东省辅警考试真题及答案
- 2026年南宁市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)参考答案详解
- 亳州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(考试直接用)
- 2025年高危儿风险因素考核试题及答案
- 秦皇岛市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(全优)
- 安庆市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(黄金题型)
- 2025年云南省特种作人员取证培训以及特种设备作业人员取证培训考试黑火药制造作业复习题及答案
- 河北农业大学分子生物学题库(带答案)
- 瑞幸咖啡副店长认证考试题库
- 某校水、电、气、暖安全管理制度(4篇)
- 第十三届全国交通运输行业公路收费及监控员职业技能竞赛考试题库(真题导出)
- 桑叶种植技术
- 形势与政策(西北师范大学)知到智慧树章节答案
- 2024-2025学年广东省深圳市龙华区八年级(上)期中语文试卷
- 年产5000吨全生物可降解地膜生产线项目可行性研究报告模板-立项拿地
- 酒店式公寓物业服务方案
- BEC商务英语(中级)听力模拟试卷7(共250题)
- 5G网络覆盖优化方案
评论
0/150
提交评论