版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章数据库管理一、本章重要概念1)事务的定义, COMMIT 和 ROLLBACK 的语义,事务是由若干 数据库操作 组成的 一个逻辑工作单位 ,是一个不可分割的工作单位。一个应用程序可以包括多个事务。事务以BEGINTRANSACTION语句的成功执行开始,以COMMIT或ROLLBACK语句的成功执行结束。COMMIT (提交)语句表示一事务的全部操作都已成功,它对 DB 的所有更新可真正写到 DB 中。ROLLBACK (回退)语句表示事务没有成功地完成全部操作,系统将撤消该事务对 DB 已作的更新事务的 ACID 性质事务有四个重要性质:原子性、一致性、隔离性和持久性。通常称为“AC
2、ID性质”。原子性( atomicity):事务对数据库的更新要么全部起作用,要么完全不起作用。DBMS 的事务管理子系统一致性( consistency):事务将数据库从一个一致性状态转变为另一个一致性状态。程序员(正确地编写事务)DBMS 的完整性子系统隔离性( isolation ):事务相互隔离,在多个事务并发执行时,任一事务的更新操作在该事务成功提交前对其他事务都是不可见的。DBMS 的并发控制子系统持久性( durability ):事务一旦成功提交,其对数据库的更新就永久有效,不会因系统崩溃等而丢失。 DBMS 的恢复管理子系统事务的状态变迁图。2)存储器类型,稳定存储器的实现,
3、数据传送过程。3)恢复的定义、系统能把数据库从被破坏、不正确的状态、恢复到最近一个正确的状态,DBMS的这种能力称为数据库的可恢复性。基本原则和实现方法,恢复的基本策略:冗余(数据重复存储)实现方法:备份定期对数据库复制或转储 (静态转储和动态转储, 海量转储和增量转储)。日志执行事务时,记录其开始、结束和对DB 的每次更新操作。故障的类型,事务故障非预期事务故障:运算错误、数据错误、死锁等,故障事务夭折可预期事务故障:在事务中可预期出错的地方所加的ROLLBACK 语句系统故障: 硬件、系统软件出错,停电等,事务执行被打断,内存中数据被破坏介质故障: 磁头、磁盘控制器或磁盘损坏,盘上数据丢失
4、,病毒破坏等,DB遭破坏检查点机制,DBMS 定时设置检查点, 在检查点时刻才真正做到把对DB 的修改写到磁盘, 并在日志文件写入一条检查点记录。根据日志文件建立重做队列和事务撤消队列。对重做队列中的事务进行REDO 处理,对撤消队列中的事务进行UNDO 处理。REDO 和 UNDO 操作,运行记录优先原则。( 4)并发操作带来的三个问题,丢失更新问题: 一事务所作的更新操作因另一事务的操作而丢失。读“脏数据”问题: 又称为未提交依赖,指一事务取用了别的事务未提交随后又被撤消的数据。不一致分析问题: 指事务从数据库中读取了处于不一致状态的数据,并因此进行了不一致的分析。锁、排它型封锁(写锁,
5、X 封锁):一个事务对数据对象加了X 锁后,在它释放 X 锁之前不允许其他事务再对该数据对象加任何锁。共享型锁(读锁, S 封锁) :一个事务对数据对象加了 S 锁后,允许其他事务再对该数据对象加 S 锁,但在它释放 S 锁之前不允许其他事务加 X 锁。PX协议、事务若要更新数据,则必须先提出对此数据对象的X 封锁请求;事务如果未获准 X 封锁,那么进入等待状态,直至获准在此数据对象上的X 封锁,才能继续执行。PX 协议可以解决因多事务同时更新同一数据对象而引起的更新丢失问题。任何事务 T 在更新记录 R 之前必须先执行“ XFIND R ”操作,以获得对 R 的 X 锁,才能读或写记录R;如
6、果未获准 X 锁,那么这个事务进入等待状态。一直到获准X 锁,事务才能继续做下去。(如果过早地解锁,有可能使其他事务读了未提交数据(且随后被回退),引起丢失其他事务的更新。PXC 协议,是在“ PX 协议”上再加一规定:解除X 锁的操作合并到事务的结束(COMMIT或 ROLLBACK )操作中。 PXC 协议可以解决因事务 ROLLBACK 而引起的更新丢失问题。S 锁、 PS 协议、 PSC 协议,PS:任何要更新记录R 的事务必须先执行 “ SFIND R”操作 ,以获得对 R 的 S 锁 .当事务获准对 R 的 S 锁后 ,若要更新记录 R 必须用“UPDXR”操作 ,这个操作首先 把
7、 S 锁升级为 X 锁,若成功则更新记录,否则这个事务进入等待队列。PSC:PS 协议加上 S 锁的解除操作应该合并到事务的结束(COMMIT 或 ROLLBACK )操作中。活锁、出现某个事务永远处于等待状态得不到执行的现象。避免活锁的一个简便方法是采用“先来先服务” 排队的策略。 封锁子系统按请求在时间上的先后次序对事务排序,数据对象上原有的锁一释放,即执行队列中第一个事务的封锁请求。饿死和死锁,出现若干事务因循环等待而无法继续执行的现象。并发调度,串行调度,并发调度的可串行化,两段封锁法,事务的执行次序称为“调度” 。若多个事务依次执行,则称为事务的串行调度 。若设法(例如利用分时的方法
8、)多个事务同时被处理(即交错执行) ,则称为事务的并发调度 。在应用环境中,事务的任一串行调度都是有效的(正确的) ,但是事务的并发调度不一定是正确的,有可能产生前面提到的不一致性问题。可串行化概念如果一个并发调度与某一串行调度具有相同的执行结果, 那么称这个并发调度是“可串行化的调度” (即正确的并发调度),否则是不可串行化的调度。两段封锁协议事务在对数据对象存取之前必须先获得对此数据对象的封锁,事务在解除了一个锁之后不再获得任何锁。SQL 中事务的存取模式和隔离级别。事务的存取模式READ ONLY (只读型)READ WRITE (读写型)事务的隔离级别SERIALIZABLE (可串行
9、化)REPEATABLE READ(可重复读)READ COMMITED (读提交数据)READ UNCOMMITED (读未提交数据)5)完整性的定义,是指数据的正确性、有效性和相容性。完整性子系统的功能,完整性子系统: DBMS 中执行完整性检查的子系统。其功能:监督事务的执行,测试其是否违反完整性约束条件;若有违反,则按进行预定的处理。完整性规则的组成。每个规则包括三部分:触发条件 规定何时执行本规则进行检查;约束条件 又称谓词,定义应满足的条件;否则子句 规定不满足条件时该作的处理。域完整性规则:定义属性取值范围。域联系的规则:定义属性间的联系、影响和约束。关系完整性规则:定义更新操作
10、对值的影响和限制。SQL 中的三大类完整性约束,完整性约束分为三大类:域约束用“ CREATE DOMAIN ”语句定义新的域 ,并可出现 CHECK 子句。非空值约束( NOT NULL )基于属性的检查子句 (CHECK):基本表约束主键约束可用主键约束来描述实体完整性规则。 主键约束可用两种形式表示: 主键子句和主键短语。主码可在定义关系的 CREATE TABLE 语句中使用 PRIMARY KEY 关键字加以定义。有两种定义主键的方法, 一种是在属性后增加关键字, 另一种是在属性表中加入额外的定义主键的子句:PRIMARY KEY( 主键属性名表 )使用关键字 UNIQUE ,说明该
11、属性(或属性组)的值不能重复出现。外键约束FOREIGNKEY (列名序列REFERENCES ONDELETE 参照动作 ONUPDATE 参照动作1).( 2)参照动作可以有五种方式:NO ACTION (无影响)CASCADE (级联方式)RESTRICT(受限方式)SETNULL (置空值)SETDEFAULT (置缺省值) 检查约束对单个关系的元组值加以约束。对表内元组说明约束时,在 CREATE TABLE 语句中的属性表、主码、外部码的说明之后加上 CHECK 子句。每当对元组进行插入或修改操作时, 都要对 CHECK 子句的条件表达式求值, 如果条件为假, 违背了约束, 系统将
12、拒绝该插入或修改操作。CHECK 子句的一般格式为:CHECK 断言定义:CREATE ASSERTION 断言名CHECK (条件)撤消:DROP ASSERTION 断言名断言也可以在关系定义中用检查子句形式定义, 但是检查子句不一定能保证完整性约束彻底实现,而断言能保证不出差错。 SQL3 中的触发器技术。触发器( Trigger)是一个能由系统自动执行对数据库修改的语句。触发器有时也称为主动规则(Active Rule )或事件条件动作规则 (Event ConditionActionRule,ECA 规则)。(1)触发时间 : BEFORE、 AFTER 、 INSTEADOF ;(
13、2)触发事件 :有三类 - UPDATE 、 DELETE 、INSERT(3)目标表名 : 当目标表的数据被更新 (插入、删除、修改)时 , 将激活触发器。(4)旧值和新值的别名表 : REFERENCES 子句触发器有两类:元组级触发器和语句级触发器。元组级触发器带 “ FOREACHROW ” 子句,而语句级触发器没有;元组级触发器对每一个修改的元组都要检查一次,而语句级触发器对SQL 语句的执行结果去检查。语句级触发器,不能直接引用修改前后的元组,但可以引用修改前后的元组集。旧的元组集由被删除的元组或被修改元组的旧值组成,而新的元组集由插入的元组或被修改元组的新值组成。INSTEAD
14、OF 表示:在触发事件发生时 ,只要满足 WHEN 条件,就执行动作部分的操作,而触发事件的操作不再执行。6)安全性的定义、级别,定义是指保护 DB ,防止不合法的使用,以免数据的泄漏、非法更改和破坏。安全性级别设置安全措施所牵涉的层次。分成环境级、职员级、 OS 级、网络级和 DBS 级等五个级别。这里只讨论DBS 级的安全性问题。权限,权限的授予、转授与回收授权可根据需要把在某对象上的某些权限授予特定的用户。转授若拥有转授权,则允许把已获得的权限再转授给其他用户。回收也可以撤消已授给某用户的某些权限。权限的种类:读插入修改删除SQL 中的安全性机制(视图、SQL 用户权限及操作 )视图视图
15、是虚表,视图机制使DBS 具有三个优点:数据安全性、逻辑独立性、用户操作简便性。SQL 中的用户权限及操作六类权限: SELECT,INSERT, DELETE ,UPDATE,REFERENCES, USAGE。授权( GRANT )语句:将关系和视图操作权授予特定用户回收( REVOKE )语句:回收已授给某用户的权限。第十章对象数据库系统一、本章重要概念1)新一代 DBS 的两条途径: ORDBS 和 OODBS 。ORDB 中的 SELECT 语句( SQL3 标准):引入了路径表达式、嵌套与解除嵌套等概念。在传统的关系数据模型基础上,提供元组、 数组、集合一类丰富的数据类型以及处理新
16、的数据类型操作的能力,并且有继承性和对象标识等面向对象特点。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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广西机电职业技术学院单招综合素质考试备考题库含详细答案解析
- 2026年黑龙江交通职业技术学院单招职业技能考试模拟试题含详细答案解析
- 2026年绍兴职业技术学院单招职业技能考试备考试题含详细答案解析
- 2026年武汉警官职业学院单招职业技能考试模拟试题含详细答案解析
- 2026年山西工程职业学院单招综合素质笔试模拟试题含详细答案解析
- 2026年黑龙江三江美术职业学院单招职业技能考试备考题库含详细答案解析
- 2026年阳泉师范高等专科学校高职单招职业适应性测试模拟试题及答案详细解析
- 2026年湖北科技学院继续教育学院单招综合素质考试备考试题含详细答案解析
- 2026年江西省农业科学院高层次人才招聘21人参考考试试题及答案解析
- 2026年湖南科技职业学院单招职业技能考试模拟试题含详细答案解析
- 市政工程述职报告
- 公文写作实例培训
- 2026年中考语文一轮复习:统编教材古诗词曲鉴赏85篇 常考必背知识点汇编
- 海事组织航标知识培训课件
- 网吧安全生产知识培训课件
- 2025-2030高端汽车品牌营销策略与消费者画像分析报告
- 心肺复苏指南2025版
- 发酵车间安全知识培训课件
- 2026届江西省南昌一中英语高三上期末教学质量检测试题
- 电梯井消防知识培训总结课件
- 2025高中英语学业水平考试会考复习必背词汇表
评论
0/150
提交评论