《数据库知识培训资料cvp.docx》由会员分享,可在线阅读,更多相关《数据库知识培训资料cvp.docx(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库知识数据库管理系统的功能和特征数据库模型(概念模式、外模式、内模式)数据模型,ER图,第一范式、第二范式、第三范式数据操作(集合运算和关系运算)数据库语言(SQL)数据库的控制功能(并发控制、恢复、安全性、完整性)数据仓库和分布式数据库基础知识1、数据库知识1.1数据据管理技技术的发发展数据管管理技术术的发展展阶段:人工阶阶段:数数据处理理方式是是批处理理。其特特点是: 数据据不保存存 没有有专用的的软件对对数据进进行管理理 只有有程序概概念,没没有文件件概念 一组组数据对对应一个个程序,即即数据是是面向程程序的文件系系统阶段段:数据据处理方方式有批批处理,也也有联机机实时处处理。其其特
2、点是是: 数据据可长期期保存在在外存上上 数据据的逻辑辑结构与与物理结结构有了了区别,但但简单 文件件组织已已多样化化,有索索引文件件、链接接文件和和直接存存取文件件等,但但文件之之间相互互独立,没没有联系系 数据据不再属属于某个个特定的的程序,可可重复使使用,但但数据结结构和程程序之间间的依赖赖关系并并未根本本改变。其缺点是: 数据据冗余性性 数据据不一致致性 数据据联系弱弱数据库库阶段:其特点点是: 用关关系模型型表示复复杂的数数据模型型 有较较高的数数据独立立性 数据据库系统统为用户户提供了了方便的的用户接接口 数据据库管理理系统提提供了四四个方面面的数据据控制能能力数数据完整整性、数数
3、据安全全性、数数据库的的并发控控制、数数据库的的恢复数据库的基基本概念念数据库库(DBB):是存存储在一一起的相相关数据据的集合合。DBB能为各各种用户户共享,具具有最小小冗余度度,数据据间联系系密切,而而又有较较高的程程序与数数据的独独立性。数据库库管理系系统(DDBMSS):DBMMS是位位于用户户与操作作系统之之间的一一层数据据管理软软件,为为用户或或应用程程序提供供访问DDB的方方法,包包括DBB的建立立、查询询、更新新及各种种数据控控制。DDBMSS可分为为层次型型、网状状型、关关系型、面面向对象象型。数据库库系统(DBS):即是采用了数据库技术的计算机系统,是实现有组织地、动态存储
4、大量关联数据,方便多用户访问的计算机软件、硬件和数据资源而组成的系统。数据库库技术:研究数数据库的的结构、存存储、设设计、管管理和使使用的一一门软件件学科。1.2数据据模型表示实实体类型型及实体体之间联联系的模模型称为为“数据模模型”。数据据模型是是严格定定义的概概念的集集合,数数据库的的数据模模型应包包括数据据结构(指指对实体体类型和和实体之之间联系系的表达达和实现现)、数数据操作作(指对对数据库库的检索索和更新新两大类类操作)和和完整性性约束(给给出数据据及其所所具有的的制约合合依赖规规则)33个部分分。数据模模型的种种类很多多。目前前广泛使使用的数数据模型型可分为为两种:概念数数据模型型
5、和结构构数据模模型。概念数据模模型这是一一种独立立于任何何计算机机系统的的模型,完完全不涉涉及信息息在计算算机系统统中的表表示,用用于建立立信息世世界的数数据模型型,是现现实世界界的第一一层抽象象,是用用户和数数据库设设计人员员进行交交流的工工具,其其中最著著名的模模型是“实体联联系模型型”(ER模型型)。ER模型直直接从现现实世界界中抽取取出实体体类型及及实体间间联系图图(ERR图)表表示数据据模型。一一般遇到到实际问问题时,总总是先设设计一个个ER模型型,然后后再把EER模型型转换成成与DBBMS关关联的数数据模型型。结构数据模模型(亦亦称基本本数据模模型):这是直直接面向向数据库库的逻辑
6、辑数据结结构,通通常有一一组严格格定义了了语法和和语义的的数据库库语言,用用来定义义、操纵纵数据库库中的数数据。其其主要有有层次、网网状、关关系模型型三种。层次模型型:用树树型(层层次)结结构表示示实体类类型及实实体之间间联系的的数据模模型称为为层次模模型。层层次结构构是一棵棵树,树树的结点点是记录录类型,非非根结点点有且只只有一个个父结点点。上一一层记录录类型和和下一层层记录类类型的联联系是11:M联系。网状模型型:用从从结构(网网络结构构)表示示实体类类型及实实体间联联系的数数据模型型称为网网状模型型。记录录之间的的联系通通过指针针实现,M:N联系容易实现(一个M:N联系可拆成两个1:M联
7、系),查询效率高。关系模型型:用规规范化了了的二维维表格结结构表示示实体集集,用键键表示实实体间联联系。通通常是若若干个关关系模型型组成的的集合。1.3数据据库系统统的结构构n数据库库的数据据体系结结构数据库的数数据体系系结构分分成3个级别别:内部部级、概概念级、外外部级。从从某个角角度看到到的数据据特性称称为数据据视图。 外部部级最接接近用户户,是用用户看到到的数据据特性,用用户的数数据视图图称为外外模型。 概念念级是涉涉及到所所有用户户的数据据定义,也也就是全全局的数数据视图图,称为为概念模模型。 内部部级是最最接近于于物理存存储设备备,涉及及到实际际数据的的存储方方式。物物理存储储的数据
8、据视图称称为内模模型。这些模型用用数据库库的数据据定义语语言(DDDL)描描述后,分分别得到到外模式式、概念念模式、内内模式。为为实现这这个抽抽象级别别的转换换,数据据库和管管理系统统在这级结构构之间提提供了两两层映象象:外模模式概概念模式式映象和和概念模模式内内模式映映象数据库管理理系统的的主要目目标:把把数据作作为可管管理的资资源处理理。数据库管理理系统的的个重重要功能能:数据据库的定定义功能能、数据据库的操操纵功能能、数据据库的保保护功能能、数据据库的维维护功能能、数据据字典。数据库的全全局结构构:DBS的某某些功能能是由计计算机的的OS提供供的,OOS提供供了DBBS最基基本的服服务,
9、因因此 DDBS必必须在OOS基础础上工作作。在DDBS中中就应包包含DBBMS和和OS之间间的界面面。DBS的全全局结构构由数据据库用户户、数据据库管理理系统的的查询处处理器、数数据库管管理系统统的存储储管理器器和磁盘盘存储器器中的数数据结构构等部分分组成。1.4关系系模型和和关系运运算n基本概概述关系数据据库是应应用关系系数据模模型来建建立和处处理数据据库中的的数据。这这其中主主要涉及及几个重重要的概概念。u关关系关关系实际际上就可可以看作作是一个个二维表表。其中中,表的的每一列列称为属属性,并并用属性性名来标标识。每每个属性性的取值值范围,就就是该属属性所对对应的值值域。表表的每一一行称
10、为为元组。约约定该表表的行、列列的次序序的改变变,不改改变关系系的语义义性质。对于一个关关系,应应该具备备下列性性质: 关系系中每一一个属性性值都是是不可分分解的; 关系系中不允允许出现现相同的的元组;不让用用户考虑虑元组的的顺序; 用户户在使用用时应考考虑列的的顺序。u关系模模型关系模型是是目前最最流行的的一种数数据模型型,它是是用二维维表格结结构表示示实体集集,关键键码表示示实体间间的联系系。u关键键字(键键)I.候选选键关系中的某某一属性性或属性性组,若若它的值值可以唯唯一标识识关系中中的一个个元组而而又不含含有多余余的属性性,则称称该属性性或属性性组为候候选关键键字。II.主键关系模式
11、中中用户正正使用的的候选关关键字称称为主关关键字。III. 外关键键字若模式R中中某属性性集是其其他模式式的候选选键,那那么该属属性集对对模式RR而言就就是外关关键字。IV.超键关系模式中中,为唯唯一标识识元组的的属性集集称为超超键。n关系模模型关系模型遵遵循数据据库的33级体系系结构。u关关系模式式数据库的概概念模式式定义为为关系模模式的集集合。每每个关系系模式就就是记录录类型。u关关系子模模式这是对用户户所用到到的那部部分数据据的描述述。除了了指出用用户用到到的数据据外,还还应指出出数据与与模式中中相应数数据的联联系,即即指出子子模式与与模式之之间的对对应性。u关关系存储储模式(关关系内模
12、模式)这是作为文文件看待待的,每每个元组组就是一一个记录录。关系模型有有3个部分分构成:u数数据结构构关系模型采采用的数数据结构构是关系系。u关关系操作作关系模模型提供供一组完完备的关关系运算算,以支支持对数数据库的的各种操操作。关关系运算算的理论论是关系系代数和和关系演演算。u关系的的完整性性在关系模型型中,数数据的约约束条件件通过三三类完整整性约束束条件来来描述。即即:I.实体体完整性性要求关系中中的元组组的主键键值不能能是空值值。II.参照完完整性要求在关系系中不允允许引用用不存在在的实体体。III. 用户定定义的完完整性这是针对某某一具体体数据的的约束条条件,由由应用环环境决定定,例如
13、如属性的的值限制制。n关关系代数数关系查询语语言根据据其理论论基础的的不同分分成两大大类:u关系系代数语语言:查查询操作作是以集集合操作作为基础础的运算算。u关系系演算语语言:查查询操作作是以谓谓词演算算为基础础的运算算。其中,关系系代数是是以集合合代数为为基础发发展起来来的,它它是以关关系为运运算对象象的一组组高级运运算的集集合。关关系代数数的运算算可分为为两类:基本运算操操作:并并、差、笛笛卡尔积积、投影影和选择择。组合运算操操作:交交、联接接、自然然联接和和除。另外,还有有几种扩扩充的关关系代数数操作:外联接接(左外外联接和和右外联联接)、外外部并和和半联接接。以下对几种种常用的的关系运
14、运算作一一个简单单的介绍绍。u基本本运算1.并并设有两个关关系R和S具有相相同的关关系模式式,关系系R和S的并是是由属于于R或属于于S的元组组组成的的集合,记记为RS。形式式定义如如下:RRSttRtS2.差差设有两个关关系R和S具有相相同的关关系模式式,关系系R和S的差是是由属于于R但不属属于S的元组组组成的的集合,记记为RS。形式式定义如如下:RRSttRtS3.笛卡卡儿积设关系R和和S元数分分别为rr和s。定义义R和S的笛卡卡儿积是是一个(r+ss)元的的元组集集合,每每个元组组的前rr个分量量来自RR的一个个元组,后后s个分量量来自SS的一个个元组,记记为RS形式定定义如下下:RStt
15、tr,tstrRtsS若R有m个个元组,S有n个元组,则RS有(mn)个元组。4.投影影该操作是对对关系进进行垂直直分割,消消去某些些列,并并重新安安排列的的顺序,再再删去重重复元组组。5.选选择这个操作是是根据某某些条件件对关系系作水平平分割,即即选择符符合条件件的元组组。条件件可用命命题公式式F表示,FF中的运运算对象象是常数数(用引引号括起起来)或或元组分分量(属属性名或或列的序序号)。运运算符有有算术比比较运算算符(,)和逻逻辑运算算符(,)。F(R)ttRF(tt) trrue为选择运运算符,F(R)表示从R中挑选满足公式F的元组所构成的集合。常量用引号括起来,而属性号或属性名不要用
16、引号括起来。u组合合运算1.交交设有两个关关系R和S具有相相同的关关系模式式,关系系R和S的交是是由属于于R又属于于S的元组组组成的的集合,记记为RS。形式式定义如如下:RRSttRtS2.联联接(又又称联接)从关系R和和S的笛卡卡尔积中中选取属属性值之之间满足足一定条条件的元元组,记记为:RSSi(i+j)(RS) ij这里R的元元数是rr,是算术术比较运运算符。RS操作是在R和S ij的笛卡尔积中挑选第i个分量和第(r+j)个分量满足运算的元组组成的新的关系。3.自然然联接两个关系RR和S的自然然联接用用RS表示,具具体计算算过程如如下:A)计算RSB)设R和S的公共共属性是是A1,A2,
17、A3,.AAk.,挑挑选RS中满足足R.AA1=SS.A11,R.A2,.,R.Ak=S.AAk的那那些元组组C)去掉S.A1,S.AA2,.S.AkRSS可用下下列形式式定义:RSSi11i2,.,imm(R.AA1=SS.A11.R.AAk=SS.Akk(RS)。4.除除法设两个关系系R和S的元数数分别为为r和s(rss0),那那么RS是一个个(rs)元的的元组的的集合。(RS)是满足下列条件的最大关系,其中每个元组t与S中每个元组u组成的新元组必在关系R中。RS的具具体计算算过程如如下:A) T=1,22,.r-ss(R)B) WW=(TTS)-R求出出TS中不在在R的元组组C) V=1
18、,22,.r-s(WW)D) RS=TT-V因此RSS1,2,.r-s (R)- 1,22,.r-ss (1,22,.r-ss (RR) S) -R )。1.5关系系数据库库SQLL语言SQL数据据库的数数据体系系结构SQL数据据库的数数据体系系结构基基本上也也是3级结构构,但术术语与传传统关系系模型术术语不同同。SQQL中,关关系模型型称为“基本表表”,存储储模式称称为“存储文文件”,子模模式称为为“视图”,元组组称为“行”,属性性称为“列”。SQL语言言的组成成一个SQLL数据库库是表的的汇集,它它用一个个或多个个SQLL模式定定义。一个SQLL表由行行集构成成,一行行是列的的序列,每每列
19、对应应一个数数据项。一个表或者者是一个个基本表表,或者者是一个个视图。基基本表是是实际存存储在数数据库的的表,视视图是由由若干基基本表或或其他视视图构成成的表的的定义。SQL包括括了所有有对数据据库的操操作,主主要有44个部分分:数据据定义(SQL DDL)、数据操纵(SQL DML)、访问数据控制、嵌入式SQL语言的规定。SQL DDLL主要是是定义基基本表、视视图、索索引3个部分分:基本表表的定义义、修改改、撤销销基本表的定定义可用用“CREEATEE TAABLEE”语句实实现,增增加属性性可以用用“ALTTER.AADD.”语句,删删除属性性可以用用“ALTTER.DDROPP.”语句
20、;删除已已存在的的表可用用“DROOP TTABLLE.”语语句。视图的定定义和撤撤销视图的定义义可以用用CREEATEE VVIEWW语句实实现。视视图的撤撤消可以以用DRROP VIIEW语语句实现现。索引的定定义和撤撤销索引的定义义可以用用CREEATEE ,用用DROOP撤销销。SQL DMLL 数据据查询语语句SQL的查查询语句句只有SSELEECT语语句。SELEECT查查询语句句在关系代数数中最常常用的式式子是“投影选选择联接接表达式式”:A1,A2,.Ann(F(R11R2.Rm),这这里R11,R2,.Rm为为基本表表,F是公式式,A11,A2,.An为为属性。针针对这个个表
21、达式式,SQQL 设设计了SSELEECT句句型:SELCEET A11,A22,.AnnFROM R11,R22,.RmmWHEREE F在WHERRE子句句的条件件表达式式F中可出出现下列列操作符符和运算算特点:算术比比较符、逻逻辑运算算符、集集合运算算符、集集合成员员资格运运算符、谓谓词和聚聚合函数数。库函数 COOUNTT(*) 计算元元组的个个数COUUNT(列名) 对某一一列中的的值计算算个数。 SUUM(列列名) 求某某一列值值的总和和 AVVG(列列名) 求求某一列列值的平平均值 MAAX(列列名) 求某某一列值值中的最最大值 MIIN(列列名) 求求某一列列值中的的最小值值S
22、ELEECT语语句完整整的句法法SELECCT 目标标表的列列名或列列表达式式序列FROM 基基本表或或(和)视图序序列WHERRE行行条件表表达式GROUUT BBY 列列名序列列HAVIING组组条件表表达式DRDEER BBY 列列名序.前两个句子子是必不不可少的的,后面面的4个句子子可以缺缺省。整整个语句句的语义义如下:从FRROM子子句中列列出的表表,选取取满足WWHERRE子句句中给出出的行条条件表达达式的元元组,然然后按GGROUUP子句句(分组组子句)中中指定列列的值分分组,再再提取满满足HAAVINNG子句句中组条条件表达达式的那那些组,按按SELLECTT子句给给出的列列名
23、或列列表达式式求值输输出。OORDEER子句句(排序序子句)是是对输出出的目标标表进行行排序,可可附加说说明ASSC(升升序)或或DESSC(降降序)SQL DMLL的数据据更新语语句INSERRT 插入入语句DELETTE 删除除语句UPDATTE 修改改语句SQL的的访问控控制SQL的访访问控制制功能主主要是指指对用户户访问数数据的控控制。有有授权语语句和回回收语句句。授权语句的的格式如如下:GRANTT 权限限表ON 表名名TO 用户户名表WITHH GRRANTT OPPTIOON该语句把表表的使用用权授予予指定的的若干用用户。在在有WIITH GRAANT OPTTIONN短语时时,
24、被授授权的用用户还可可将获得得的权限限再转授授给其他他用户。权权限表中中的权限限可以有有:SEELECCT, INSSERTT, DDELEETE, UPPDATTE, EXPPANDD, IINDEEX, ALLL PRRIVIILEGGES。回收语句格格式:REVOKKE 权限表表ON 表名名FROM 用户名名表该语句把已已授给指指定用户户的在指指定表上上的使用用权限收收回。嵌入式SSQL由于SQLL是基于于关系模模型的语语言,而而高级语语言是基基于整数数、实数数、字符符、记录录、数组组等的数数据类型型,因此此两者之之间有很很大的区区别,称称为有缝缝隙。为为了能在在宿主语语言的程程序中嵌嵌
25、入SQQL语句句,有一一些规定定:I.在程序序中要区区分SQQL语句句和宿主主语言的的语句;II.在嵌嵌入的SSQL语语句中可可以引用用宿主语语言的程程序变量量,但主主语言的的语句不不能引用用数据库库中的各各种变量量(属性性名、关关系名),SQL的集合处理方式与宿主语言的单记录处理方式之间的协调用游标技术实现。1.6 数数据库设设计数据库应用用系统的的开发是是一项软软件工程程,但又又有自身身的特点点,所以以称为“数据库库工程”。数据据库系统统从开始始规划、设设计、实实现、维维护到最最后被新新的系统统取代而而停止使使用的整整个期间间,称为为数据库库系统生生存期。此此生存期期可分为为7个阶段段:规
26、划划、需求求分析、概概念设计计、逻辑辑设计、物物理设计计、实现现、运行行和维护护。按照规范设设计的方方法,考考虑数据据库及其其应用系系统开发发全过程程,将数数据库设设计分为为以下六六个阶段段:需求分析析阶段需求收集和和分析,结结果得到到数据字字典描述述的数据据需求(和和数据流流图描述述的处理理需求)。概念结构构设计阶阶段通过对用户户需求进进行综合合、归纳纳与抽象象,形成成一个独独立于具具体DBBMS的的概念模模型,可可以用EE-R图图表示。逻辑结构构设计阶阶段将概念结构构转换为为某个DDBMSS所支持持的数据据模型(例例如关系系模型),并并对其进进行优化化。数据库物物理设计计阶段为逻辑数据据模
27、型选选取一个个最适合合应用环环境的物物理结构构(包括括存储结结构和存存取方法法)。数据库实实施阶段段运用DBMMS提供供的数据据语言(例例如SQQL)及及其宿主主语言(例例如C),根根据逻辑辑设计和和物理设设计的结结果建立立数据库库,编制制与调试试应用程程序,组组织数据据入库,并并进行试试运行。数据库运运行和维维护阶段段数据库应用用系统经经过试运运行后即即可投入入正式运运行。在在数据库库系统运运行过程程中必须须不断地地对其进进行评价价、调整整与修改改。设计一个完完善的数数据库应应用系统统不可能能一蹴而而就,它它往往是是上述六六个阶段段的不断断反复。1.7关系系数据库库规范化化理论为了使数据据库
28、设计计的方法法走向完完备,人人们研究究了规范范化理论论,指导导我们设设计规范范的数据据库模式式。按属属性间依依赖情况况来区分分,关系系规范化化的程度度为第一一范式、第第二范式式、第三三范式、BCNF范式和第四范式等。函数依赖数据依赖是是现实世世界中属属性间联联系和约约束的抽抽象,是是数据的的内在性性质。函数依赖(functional dependency,FD )是一种最重要、最基本的数据依赖。其具体定义如下:设有关系模模式R(U),X和Y是属性性集U的子集集,FDD是行为为XY的一个个命题,只只要r是R的关系系,对rr中任意意两个元元组都有有“X值相等等蕴涵YY值相等等”,那么么函数依依赖X
29、Y在关系系模式RR(U)中成成立。FD与侯选选键之间间的关系系:若存存在X-U,并并且不存存在X的任意意真子集集X1,使使得X11-UU成立,那那么就称称X为关系系的一个个侯选键键。函数依赖还还有几条条推理规规则:自反性;增增广性;传递性性;并规规则;分分解规则则;伪传传递规则则;模式分解解:目的的是消除除冗余和和操作异异常问题题模式分解的的三个定定义:l 分分解具有有“无损连连接性”l 分分解要“保持函函数依赖赖”l 分分解既要要“保持函函数依赖赖”,又要要具有“无损连连接性”。关系模式分分解的两两个特性性实际涉涉及到两两个数据据库模式式的等价价性问题题。包括括数据等等价和依依赖等价价两个方
30、方面:数据等价:两个数数据库实实例应表表示同样样的信息息内容,用用“无损联联接”衡量。依赖等价:两个数数据库模模式应有有相互逻逻辑关系系的函数数依赖集集,此时时数据的的语义是是不会出出现差错错的。例:关系模模式 SS-L-C(SSNO,SDEEPT,SLOOC,CNOO,G)中,SLLOC为为学生的的住处,并并且每个个系的学学生住在在同一个个地方。这里码为(SNOO,CNNO)。函函数依赖赖有:(SNO,CNOO) GG SNOSSDEPPT,(SNO,CNOO) SSDEPPT SSNOSLOOC,(SNO,CNOO) SSLOCCSDEPTTSLOOC用投影分解解把关系系模式SS-L-C分
31、解解为3NNF范式式,且保保持函数数依赖。解法:对RUU,F中的函函数依赖赖集F进行“极小化化处理”。F= SNOO,CNNOG,SNOOSDEEPT,SDEEPTSLOOC 。 R中没没有不在在F中出现现的属性性。不存在XXAF,且XAA=U,接接着做第第 = 4 * GGB2 步。对F按具具有相同同左部的的原则分分组。r=SCC SSNO,CNOO,G ,SNOO,CNNOG,S-DD SSNO,SDEEPT , SNOOSDEEPT,D-L SDDEPTT,SLLOC , SDEEPTSLOOC范式范式(noormaal fformm,NF)是是衡量关关系模式式的优劣劣的标准准。范式式有
32、很多多种,与与数据依依赖有着着直接的的联系。第一范式11NF如果关系模模式R中,每每个分量量是不可可分的数数据项,就就称R属于第第一范式式。第二范式22NF若关系模式式R属于1NNF,且且每个非非主属性性完全函函数依赖赖于候选选关键字字,则称称R属于第第二范式式。第三范式33NF若关系模式式R属于1NNF,且且每个非非主属性性都不传传递依赖赖于R的候选选关键字字,则称称R属于第第三范式式。这里的主属属性是指指键的属属性,而而不是任任何键的的属性就就是非主主属性BC范式BBCNFF若关系模式式R属于1NNF,且且每个属属性都不不传递依依赖于RR的候选选关键字字,则称称R属于BCC范式。由上可知,
33、4种范式之间的关系:BCNF3NF2NF1NF1.8数据据库保护护n概述述在数据库系系统运行行时,DDBMSS要对数数据库进进行监控控,以保保证整个个系统的的正常运运转,保保证数据据库中的的数据安安全可靠靠、正确确有效,防防止各种种错误的的产生,这这就是对对数据库库的保护护,有时时也称为为“数据控控制”。这具具体包括括以下四四个方面面:u数据据库的恢恢复u完整整性控制制(主键键约束,外外键约束束,属性性的值域域约束)u并发发控制(琐琐机制)u安全全性控制制(存储储控制,审审计,视视图保护护和日志志监视)n事事务事务务在数据据库里面面是一个个十分重重要的概概念。数数据库系系统运行行的基本本工作单
34、单位是事事务。它它相当于于操作系系统中的的进程,一一个事务务由应用用程序中中的一组组操作序序列组成成。实际上,事事务可以以看作是是一个原原子,是是一个不不可分割割的操作作序列。事事务中包包括的所所有操作作要么都都执行,要要么都不不执行。事务通常以以BEGGIN TRAANSAACTIION语语句开始始,它主主要涉及及两个语语句。、u事务务提交语语句COOMMIITu事务务回滚语语句ROOLLBBACKK事务的特性性:事务具有四四个特性性:原子子性(AAtommiciity)、一一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为A
35、CID特性。1原子性性:事务务是数据据库的逻逻辑工作作单位,事事务中包包括的诸诸操作要要么都做做,要么么都不做做。2一致性性:事务务执行的的结果必必须是使使数据库库从一个个一致性性状态变变到另一一个一致致性状态态。因此此当数据据库只包包含成功功事务提提交的结结果时,就就说数据据库处于于一致性性状态。如如果数据据库系统统运行中中发生故故障,有有些事务务尚未完完成就被被迫中断断,系统统将事务务中对数数据库的的所有已已完成的的操作全全部撤消消,滚回回到事务务开始时时的一致致状态。3隔离性性:一个个事务的的执行不不能被其其他事务务干扰。即即一个事事务内部部的操作作及使用用的数据据对其他他并发事事务是隔
36、隔离的,并并发执行行的各个个事务之之间不能能互相干干扰。4持续性性:持续续性也称称永久性性(Peermaanennce),指指一个事事务一旦旦提交,它它对数据据库中数数据的改改变就应应该是永永久性的的。接下下来的其其他操作作或故障障不应该该对其执执行结果果有任何何影响。数据库恢复复:尽管数据库库系统中中采取了了各种保保护措施施来防止止数据库库的安全全性和完完整性被被破坏,保保证并发发事务的的正确执执行,但但是计算算机系统统中硬件件的故障障、软件件的错误误、操作作员的失失误以及及恶意的的破坏仍仍是不可可避免的的,这些些故障轻轻则造成成运行事事务非正正常中断断,影响响数据库库中数据据的正确确性,重
37、重则破坏坏数据库库,使数数据库中中全部或或部分数数据丢失失,因此此数据库库管理系系统(恢恢复子系系统)必必须具有有把数据据库从错错误状态态恢复到到某一已已知的正正确状态态(亦称称为一致致状态或或完整状状态)的的功能,这这就是数数据库的的恢复。故障的种类类:一、事务内内部的故故障事务内内部的故故障有的的是可以以通过事事务程序序本身发发现的(见见下面转转帐事务务的例子子),有有的是非非预期的的,不能能由事务务程序处处理的。二、系统故故障系统故故障是指指造成系系统停止止运转的的任何事事件,使使得系统统要重新新启动。例例如,特特定类型型的硬件件错误(CPU故障)、操作系统故障、DBMS代码错误、突然停
38、电等等。这类故障影响正在运行的所有事务,但不破坏数据库。这时主存内容,尤其是数据库缓冲区(在内存)中的内容都被丢失,所有运行事务都非正常终止。发生系统故障时,一些尚未完成的事务的结果可能已送入物理数据库,有些已完成的事务可能有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物理数据库中,从而造成数据库可能处于不正确的状态。为保证数据一致性,恢复子系统必须在系统重新启动时让所有非正常终止的事务回滚,强行撤消(UNDO)所有未完成事务。重做(Redo)所有已提交的事务,以将数据库真正恢复到一致状态。三、介质故故障系统故故障常称称为软故故障(SSoftt Crrashh),介介质故障障称为硬硬故障(Ha
39、rd Crash)。硬故障指外存故障,如磁盘损坏、磁头碰撞,瞬时强磁场干扰等。这类故障将破坏数据库或部分数据库,并影响正在存取这部分数据的所有事务。这类故障比前两类故障发生的可能性小得多,但破坏性最大。四、计算机机病毒计算机机病毒是是具有破破坏性、可可以自我我复制的的计算机机程序。计计算机病病毒已成成为计算算机系统统的主要要威胁,自自然也是是数据库库系统的的主要威威胁。因因此数据据库一旦旦被破坏坏仍要用用恢复技技术把数数据库加加以恢复复。恢复策略:1事务故故障的恢恢复事务务故障是是指事务务在运行行至正常常终止点点前被中中止,这这时恢复复子系统统应利用用日志文文件撤消消(UNNDO)此此事务已已
40、对数据据库进行行的修改改。事务务故障的的恢复是是由系统统自动完完成的,对对用户是是透明的的。系统统的恢复复步骤是是:. 反向向扫描文文件日志志(即从从最后向向前扫描描日志文文件),查查找该事事务的更更新操作作。. 对该该事务的的更新操操作执行行逆操作作。即将将日志记记录中“更新前前的值”写入数数据库。这这样,如如果记录录中是插插入操作作,则相相当于做做删除操操作(因因此时“更新前前的值”为空)。若若记录中中是删除除操作,则则做插入入操作,若若是修改改操作,则则相当于于用修改改前值代代替修改改后值。. 继续续反向扫扫描日志志文件,查查找该事事务的其其他更新新操作,并并做同样样处理。. 如此此处理
41、下下去,直直至读到到此事务务的开始始标记,事事务故障障恢复就就完成了了。 2系统故故障的恢恢复前面已已讲过,系系统故障障造成数数据库不不一致状状态的原原因有两两个,一一是未完完成事务务对数据据库的更更新可能能已写入入数据库库,二是是已提交交事务对对数据库库的更新新可能还还留在缓缓冲区没没来得及及写入数数据库。因因此恢复复操作就就是要撤撤消故障障发生时时未完成成的事务务,重做做已完成成的事务务。系统故故障的恢恢复是由由系统在在重新启启动时自自动完成成的,不不需要用用户干预预。系统的恢复复步骤是是:. 正向向扫描日日志文件件(即从从头扫描描日志文文件),找找出在故故障发生生前已经经提交的的事务(这
42、这些事务务既有BBEGIIN TTRANNSACCTIOON记录录,也有有COMMMITT记录),将将其事务务标识记记入重做做(REEDO)队队列。同同时找出出故障发发生时尚尚未完成成的事务务(这些些事务只只有BEEGINN TRRANSSACTTIONN记录,无无相应的的COMMMITT记录),将将其事务务标识记记入撤消消(UNNDO)队列。. 对撤撤消队列列中的各各个事务务进行撤撤消(UUNDOO)处理理。进行UNDDO处理理的方法法是,反反向扫描描日志文文件,对对每个UUNDOO事务的的更新操操作执行行逆操作作,即将将日志记记录中“更新前前的值”写入数数据库。. 对重重做队列列中的各各个
43、事务务进行重重做(RREDOO)处理理。进行RREDOO处理的的方法是是:正向向扫描日日志文件件,对每每个REEDO事事务重新新执行日日志文件件登记的的操作。即即将日志志记录中中“更新后后的值”写入数数据库。3介质故故障的恢恢复发生介介质故障障后,磁磁盘上的的物理数数据和日日志文件件被破坏坏,这是是最严重重的一种种故障,恢恢复方法法是重装装数据库库,然后后重做已已完成的的事务。具具体地说说就是:. 装入入最新的的数据库库后备副副本(离离故障发发生时刻刻最近的的转储副副本),使使数据库库恢复到到最近一一次转储储时的一一致性状状态。对于动动态转储储的数据据库副本本,还须须同时装装入转储储开始时时刻的日日志文件件副本,利利用恢复复系统故故障的方方法(即即REDDO+UUNDOO),才才能将数数据库恢恢复到一一致性状状态。. 装入入相应的的日志文文件副本本(转储储结束时时刻的日日志文件件副本),重重做已完完成的事事务。即即:首先扫扫描日志志文