数据库复习⑩

2016年6月19日

13:40

Main Transactions 事务

1.Transaction Concept 事务的概念

A transaction is a unit of program execution that accesses and possibly updates various data items.

事务是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。

2.事务的开始以及结束

事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。

COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。

ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续进行,系统将事务中对数据库的所有以完成的操作全部撤消,滚回到事务开始的状态。

3.ACID Properties事务的特性(ACID特性)

A:原子性(Atomicity)

Either all operations of the transaction are properly reflected in the database or none are

事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。

B:一致性(Consistency)

Execution of a transaction in isolation preserves the consistency of the database.

事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

C:隔离性(Isolation)

Although multiple transactions may execute concurrently, each transaction must be unaware of other concurrently executing transactions. Intermediate transaction results must be hidden from other concurrently executed transactions.

一个事务的执行不能被其他事务干扰。

D:持续性/永久性(Durability)

After a transaction completes successfully, the changes it has made to the database persist, even if there are system failures.

一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

4.Transaction State事务的状态

Active 初始化的状态

Partially committed 在最后一条语句被执行前的状态

Failed 正常的运行无法继续处理的状态

Aborted在事务被回滚,数据库中存储的数据状态回退到最原始的状态。

Committed 在成功完成该事务之后的状态

5. Concurrent Executions事务的并发运行

Multiple transactions are allowed to run concurrently in the system. Advantages are:

increased processor and disk utilization

reduced average response time

多个事务允许同时在一个系统下运行,具有以下的优点:

增加处理器和磁盘的利用率

缩短了平均响应时间

6.Schedule 调度表/进度表

Schedule – a sequences of instructions that specify the chronological order in which instructions of concurrent transactions are executed

进度表是有顺序的指令集合,明确了并发调度时并发事务的指令执行的时间顺序。

7.Conflict Serializability 可串行化的

检验是否可以串行化调度的方法:

Precedence graph 前驱图

Recoverable Schedules可恢复的调度

Cascading Rollbacks 级联回滚

相关博文链接:http://www.cnblogs.com/zpfbuaa/p/5479733.html

时间: 2024-11-05 14:56:32

数据库复习⑩的相关文章

数据库复习7——恢复

数据库复习 CH14 恢复 13.1 恢复的概念 数据库系统中恢复是指让数据库从发生某些"失败"后的不一致的状态恢复到正常的一致状态的行为,恢复的基础是冗余(物理上冗余,非逻辑上) 这些失败包括了: 事务失败:包括逻辑错误(事务不满足某些条件不能执行)和系统错误(DBMS强制终止事务,如事务发生死锁) 系统崩溃:断电.物理硬件损坏.软件系统(如OS)崩溃,本章假设系统崩溃不会改变非易失存储器 磁盘失败:磁盘存储发生错误,本章假设可利用检查和监测磁盘失败 大体上,恢复策略分成两个步骤:

数据库复习5——安全性

数据库复习 CH7 安全性 7.1 数据库安全性介绍 如果说完整性是针对授权用户的数据库保护措施,那么安全性就是针对非授权用户的数据库保护措施 安全性问题涉及的层面很多,非法用户可以从以下各层面对数据库的窃取或篡改: 层面 窃取或篡改行为 应对措施 数据库系统 获取高级用户数据库权限 身份验证,权限和可获取数据对等 操作系统 获取操作系统root权限想干啥就能干啥,不仅仅限于对数据库的操作了 提升操作系统安全级别 网络 通过网络窃听和身份伪装也能窃取线上机密数据 身份验证和加密传输 物理 物理上

数据库复习10——PL/SQL

数据库复习 CH10 PL/SQL 10.1 PL/SQL简介 PL/SQL是Oracle对SQL的过程化的扩展,PL/SQL可以实现SQL相关的过程化程序,并且能够以存储过程和函数的方式让一段SQL业务逻辑驻留在SQL服务器中,以便减少客户机计算任务并减少网络I/O 10.2 PL/SQL编程基础 (1)简介 PL/SQL编程框架为: DECLARE <Variable List> BEGIN <Extented SQL Execution> EXCEPTION <Exce

数据库复习6——事务

数据库复习 CH13 事务 13.1 事务的概念 事务是作为单个逻辑工作单元执行的一系列数据库操作,这些操作可能会修改多个表中的多个元组 事务正常执行的结构是: begin; SQL execution 1 SQL execution 2 ... SQL execution N commit; begin标志开始一个事务,多个SQL语句就是事务逻辑工作单元,commit(提交)是结束当前事务并提交事务内数据变更,让其生效 数据库一致性在事务上表现的比较特殊,具体来说:事务执行的过程中可以让数据库

数据库复习4——视图

数据库复习 CH6 视图 6.1 视图的概念 视图是从一个或多个表(或视图)导出的虚表,DBMS仅在数据字典中存放视图的定义,而视图的数据仍然实际存储于导出它的基表中 Tutorial D中定义视图的基本语句如下: VAR <view_name> VIEW (<relational_condition>) {<property_list>}; 那么视图有什么作用呢? 为hidden data提供安全性,即屏蔽某些不希望外界用户看到的机密数据 提供一种简写的方式,有了视图

数据库复习1——数据库体系结构和关系系统

数据库复习 CH2 数据库体系结构 2.1 数据库体系结构层次 数据库体系结构可以分成3个层次: 外部层次 概念层次 内部层次 外部层次是指每个用户用不同的高级语言来访问数据库所面对的接口,概念层次数据库信息的表示以及模的式定义(包括安全性和完整性约束等等),而内部层次就是的存储表示(非物理记录也非机器相关),数据库的设计需要保证这三个层次之间的独立性: 概念层和内部层之间物理数据的独立性 外部层和概念层之间逻辑数据的独立性 2.2 DBA和DBMS DBA(数据库管理员)必须很好的了解企业的数

数据库复习笔记(一)

为了解决冗余 这个地方一直有问题,不知道是什么原因?敲on primary老是出错 把数据库保存到某个磁盘的某个目录下的某个文件,下次可以用记事本打开这个.sql的文件,要运行则需要将这些内容拷贝到新建的 "新建查询"中 切换数据库using School 在特定的数据库中建表,注意有时需要人为的选择 都没有数据的脚本 生成数据库的脚本 生成表的脚本 在每一段的后面加一个go,是批处理的意思 这是什么意思? 若有重复的行则会自动去除,所以只会增加3行 修改数据类型的两种方法 先删除表,

数据库复习笔记(二)

update语句 备份的两种方法 1.把数据库脱机分离,然后拷贝出来 2 备份完之后需要还原才可以用备份的数据库 具体要做的时候再参考视频资料. 替换语句 即使表中的内容全部删掉,插入的时候还是继续编号 数据库复习笔记(二)

数据库复习2——SQL基础

数据库复习 CH4 SQL SQL(Structured Query Language,结构化查询语言)是通用的关系数据库系统操作语言,下面从几个方面来复习SQL基础 4.1 DDL SQL语句可根据其操作性质分成三类: DDL(Data Definition Language) DCL(Data Constraint Language) DML(Data Manipulation Language) DCL完成完整性和安全性的约束,也可以看作从属于DDL,下面介绍DCL除外的DDL部分SQL语

数据库复习11——关系模式与范式

数据库复习 CH11 关系模式与范式 11.1 关系模式的设计 数据库模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,关系型数据库的模式又叫关系模式,我所理解的关系模式就是数据库中表结构的定义以及多张表之间的逻辑联系 关系模式的设计就是根据一个具体的应用,把现实世界中的关系用表的形式来表示的逻辑设计过程,不规范的关系模式设计会带来以下的问题: 数据冗余 更新异常 插入异常 删除异常 举ppt中例子说明四种问题,如下表中描述了老师信息(一个老师一个地址,可以教多门课,一门课只有一名老