数据库原理与应用(第2版)高凯 全书总结ppt课件_第1页
数据库原理与应用(第2版)高凯 全书总结ppt课件_第2页
数据库原理与应用(第2版)高凯 全书总结ppt课件_第3页
数据库原理与应用(第2版)高凯 全书总结ppt课件_第4页
数据库原理与应用(第2版)高凯 全书总结ppt课件_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全书总结,1,数据库学科体系,基础知识,系统,数据库设计,使用,管理,设计,理论,方法,技术,应用,研究范畴,学习深度与广度,新技术,关系数据库,学科内容丰富,研究领域宽泛多层次多类型多视角的立体化的学科体系:理论、技术、系统、应用不同的专业和不同类型的学生应该有不同的内容和要求,2,数据库学科体系,模型是主线:数据模型是主线模型的3个要素(P3)重点是关系模型系统是核心:数据库管理系统是核心存储管理与优化查询语言(语言功能、查询优化)事务处理与数据保护应用是动力:数据库应用是学科发展的动力,关系模型数据结构-DDL数据操作-QUERY+DML数据约束-DDL,DCL关系数据理论,数据库应用数据库设计方法数据库设计理论数据库设计工具,3,第1章绪论,4,数据、信息的概念,数据处理与数据管理,数据管理的三个阶段,数据库系统的组成,数据库系统外部体系结构参见计算机系统结构,数据库管理系统DBMS提供的数据控制功能,DBMS的工作模式,4个数据模型,DBMS,数据库,核心,数据库系统内部体系结构,三级模式,两级映象,数据库管理系统DBMS的组成,5,数据库技术的产生和发展,6,典型数据库系统的组成,数据库系统的内部体系结构模式结构,数据库系统的三级模式结构数据库系统的二级映象与数据独立性,8,数据库系统的三级模式结构,数据库系统的二级映象与数据独立性,DBMS在三级模式之间提供了两级映象功能,保证了数据库系统中的数据能够具有较高的逻辑独立性与物理独立性。,外模式/模式映象,模式/内模式映象,保证了数据与程序间的逻辑独立性,确保了数据的物理独立性,10,数据库管理系统(DBMS),DBMS的主要功能数据定义功能数据操作功能数据库运行管理功能数据库的建立和维护功能数据通信接口数据的组织、存储和管理,11,DBS,DBMS,核心,数据定义查询更新各种控制,DBMS组成,访问DBMS,数据库分类,DBMS的数据存取的过程,数据库系统的特点,数据结构化数据共享性高,冗余小,易扩充数据独立性高有统一的数据控制功能,16,数据模型,数据模型的定义现实世界、信息世界和计算机世界的概念数据模型的分类概念模型E-R图逻辑模型(也称数据模型)层次模型、网状模型、关系模型、面向对象模型物理模型,17,数据模型的组成要素,数据结构,数据操作,数据的完整性约束,层次结构,网状结构,关系结构,查询,插入,删除,修改,更新,正确,有效,相容,18,四种典型的数据模型,层次模型(HierarchicalModel)网状模型(NetworkModel)关系模型(RelationalModel)面向对象模型(Object-orientedModel),19,关系模型,关系模型的数据结构及有关概念,20,小型数据库系统:Foxpro、Access,大型数据库系统:Oracle、SQLServer、Informix、Sybase,关系,二维表,元组,属性,域:属性的取值范围,(男,女),北京林业大学软件教研室,关系模型的数据操纵与完整性约束关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。关系模型把对数据的存取路径隐蔽起来,用户只要指出“干什么”,而不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户操作效率。关系模型的优缺点,21,有严格的数学理论根据,用关系描述实体间的联系,具有更高的数据独立性、更好的安全保密性,优点,有时,查询效率不如非关系模型,缺点,数据库系统的发展,22,关系数据模型,格式化数据模型(层次数据模型和网状数据模型),面向对象的数据模型,支持三级模式的体系结构;用存取路径来表示数据之间的联系;独立的数据定义语言;导航的数据操纵语言。,概念单一,实体以及实体之间的联系都用关系来表示;以关系代数为基础,形式化基础好;数据独立性强,数据的物理存取路径对用户隐蔽;关系数据库语言是非过程化的,大大降低了用户编程的难度。,支持面向对象的数据模型;保持或继承第二代数据库系统的优点;具有开放性。,第一代,第二代,第三代,传统数据库缺点:面向机器的语法数据模型;数据类型简单、固定;结构与行为完全分离;被动响应;事务处理能力较差。,数据库技术与其他技术的结合,23,第2章关系数据库基础,25,关系数据结构,关系操作,关系完整性约束,查询,更新,插入,删除,修改,关系模型,26,关系模型的数据结构及其形式化定义,关系的形式化定义及其有关概念域、笛卡尔积、关系关系的性质每个元素是不可分的数据项,不能“表中套表”每列分量来自同一域,数据类型必须相同不同列名字必须不同,不同列数据域可相同。列的顺序可任意交换行的顺序可任意交换关系模式、关系数据库与关系数据库模式,2020/5/30,27,关系的键与关系的完整性,候选键、主关系键、主属性、非主属性、全码、外部关系键关系的完整性,28,关系代数及其运算符,关系代数是一种抽象的查询语言关系代数的运算对象与运算结果都是关系关系代数运算符,*,,D),(d)为R和S的等值连接(C=D),(e)为R和S的等值连接(R.B=S.B),(f)为R和S的自然连接。,(a),(b),2020/5/30,33,(c),(d),(f),(e),2020/5/30,34,除法(Division)RS=trX|trRy(S)Yx除法运算同时从行和列的角度进行运算,适合于包含“全部”之类的短语的查询。,Yx为x在R中的象集,x=trX,例2-13查询选修了全部课程的学生学号和姓名。SNo,CNo(SC)CNo(C)*SNo,SN(S)例2-14查询至少选修了C1课程和C3课程的学生学号。SNo,CNo(SC)CNo(CNo=C1CNo=C3(C)只有S4同学的象集至少包含了C1和C3课程,因此,查询结果为S4。,检索选修课程包含“程军”老师所授课程之一的学生学号(S),检索学生“刘丽”所学课程中有不及格课程的课程号、课程名称和分数,检索选修了“程军”老师所授所有课程的学生学号(S),C.C#,C.CNAME,SC.GRADE(S.SNAME=刘丽(S)GRADE60(SC)C),S#,C#(SC)C#(TEACHER=程军(C)),35,36,第3、4章SQL的数据定义和完整性约束、SQL的数据查询,SQLServer数据库管理系统平台,数据定义,数据操纵,数据控制,SQL语言、企业管理器、查询分析器,数据库、数据表、索引、视图、角色与权限,创建、修改、删除、查看,SQLServer数据库管理系统的主要功能,38,1SQL语言的基本概念与特点,SQL语言的发展及标准化SQL语言的基本概念基本表、视图SQL语言的主要特点类似于英语的自然语言,简洁易用一种非过程的、面向集合的语言既是自含式语言,又是嵌入式语言数据查询、数据定义、数据操纵和数据控制,39,SQL语言支持的关系数据库的三级模式结构,40,2了解SQLServer,SQLServer是一个关系数据库管理系统,企业版(EnterpriseEdition)标准版(StandardEdition)个人版(PersonalEdition)开发者版(DeveloperEdition),SQLServer的系统和实例数据库,系统数据库:master、model、msdb、tempdb实例数据库:pubs、Northwind,41,42,3创建与使用数据库,用EnterpriseManager和SQL语句两种方法创建数据库修改数据库删除数据库查看数据库,4创建与使用数据表,SQLServer数据类型整数、精确数值、近似浮点数、精确数值、近似浮点数、日期时间、字符串、Unicode字符串、二进制、货币、标记创建、修改、删除、查看数据表定义数据表的约束数据的完整性:正确性、有效性、相容性SQLServer数据完整性机制约束(Constraint)、默认(Default)、规则(Rule),44,5创建与使用索引,索引的作用索引的分类聚集索引与非聚集索引唯一索引复合索引创建、修改、删除、查看索引,45,6数据查询,SELECT命令的格式与基本使用条件查询=,=,AND,OR,NOTBETWEEN,AND,IN,LIKE,ISNULL常用库函数:AVG、SUM、MAX、MIN、COUNTGROUPBY分组查询ORDERBY查询排序连接查询(JOIN)、子查询、合并查询将查询结果存储到表中,46,7数据操纵,添加数据:INSERTINTO修改数据:UPDATE删除数据:DELETE,47,8视图,视图是虚表,其数据不进行存储,其记录来自基本表,只在数据库中存储其定义。创建视图、修改视图、删除视图、更新视图,48,9数据控制,权限与角色权限:系统权限、对象权限角色的概念和使用权限与角色的授予与收回,2020/5/30,49,第5章关系数据库编程基础,2020/5/30,50,1Transact-SQL程序设计,在标准SQL的基础上进行扩充得到的SQLServer专用的结构化SQL主要的用途是设计服务器端的能够在后台执行的程序块与一般的高级语言的语法要素基本一致,主要有注释、变量与常量、运算符、函数与表达式、流程控制语句、批处理等也提供了一些常用的命令(backup、execute、checkpoint等)和库函数(sum,avg等),存储过程、触发器等,2020/5/30,51,2存储过程,系统存储过程,扩展存储过程,用户自定义存储过程,存储过程是一组为了完成特定功能的SQL语句集。存储过程的优点:存储过程的分类:模块化的程序设计高效率的执行减少网络流量可以作为安全机制使用,2020/5/30,52,查看存储过程,重新命名存储过程,删除存储过程,执行存储过程,修改存储过程,sp_helptext存储过程名称,sp_rename原存储过程名,新存储过程名,DROPPROCEDUREprocedure,n,ALTERPROCEDUREprocedure_name,EXECprocedure_name,2020/5/30,53,3触发器,触发器的概念、分类与作用触发器是一种特殊类型的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。触发器有4个要素:名称、定义的目标、触发条件、触发逻辑触发器的种类:AFTER、INSTEADOF触发器的作用,2020/5/30,54,查看触发器,重新命名触发器,删除触发器,修改触发器,sp_helptext触发器名称,sp_rename原触发器名,新触发器名,DROPTRIGGERtrigger,n,ALTERTRIGGERtrigger_name,关系型数据库编程基础总结,嵌入式SQL的实现方式、使用规定及使用技术,面向对象应用程序访问数据库的常用接口及使用方法,面向对象应用程序一般都通过API接口实现嵌入式SQL的功能,这种方法不需要专用的SQL预编译程序。DAOODBCJDBCOLEDBADOADO.NETT-SQL基本语法SQLServer的存储过程SQLServer的触发器。,重点掌握基本概念、方法和设计思想,并能运用这些方法解决实际问题。,55,2020/5/30,56,第6章关系数据及其规范化理论,2020/5/30,57,规范化问题的提出,57,教学管理数据库SCD(SNo,SN,Age,Dept,MN,CNo,Score),57,数据冗余插入异常删除异常更新异常,根本原因:属性间存在着数据依赖关系,包罗万象,不合理的关系模式存在的存储异常问题,2020/5/30,58,函数依赖,函数依赖平凡函数依赖、非平凡的函数依赖完全函数依赖与部分函数依赖传递函数依赖,2020/5/30,59,关系模式的范式及关系规范化,规范化的基本思想消除关系模式中的数据冗余消除数据依赖中的不合适的部分解决数据插入、删除时发生异常现象范式(NormalForm)的概念1NF、2NF、3NF、BCNF4NF,2020/5/30,60,关系模式的规范化,关系规范化的定义关系模式规范化的目的和原则使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。基本原则就是遵循“一事一地”的原则关系规范化的原则保证分解后的关系模式与原关系模式是等价的无损连接性、函数依赖保持,2020/5/30,61,一个好的关系模式应该具备以下四个条件:(1)尽可能少的数据冗余;(2)没有插入异常;(3)没有删除异常;(4)没有更新异常。,SCD(SNo,SN,Age,Dept,MN,CNo,Score),S(SNo,SN,Age,Dept),SC(SNo,CNo,Score),D(Dept,MN),关系模式分解:,2020/5/30,62,关系模式规范化的步骤,规范化过程,2020/5/30,63,第7章数据库设计,1数据库设计概述2系统需求分析3概念结构设计4逻辑结构设计5物理结构设计6数据库实施7数据库运行和维护,2020/5/30,64,主要步骤,数据库设计的任务、内容和特点任务:根据用户需求研制数据库结构的过程。内容:特点:结构与行为设计相结合,反复探寻,逐步求精设计方法:直观设计、计算机辅助设计法、规范设计法、自动化设计法,2020/5/30,65,1数据库设计概述,基于E-R模型的数据库设计方法基于3NF的数据库设计方法基于视图的数据库设计方法,2020/5/30,66,数据库设计的步骤,按规范设计法可将数据库设计分为六个阶段1系统需求分析阶段2概念结构设计阶段3逻辑结构设计阶段4物理结构设计阶段5数据库实施阶段6数据库运行与维护阶段,2020/5/30,67,2系统需求分析,任务方法:自顶向下、自底向上数据流图:数据字典:,最终形成的数据流图和数据字典为系统分析报告的主要内容,这是下一步进行概念结构设计的基础。,2020/5/30,68,3概念结构设计,将需求分析得到的用户需求抽象为信息结构,即概念模型。概念模型的特点E-R模型是最著名、最实用的一种概念模型概念结构设计的方法,2020/5/30,69,需求分析,DFD,DD,数据抽象,局部视图设计,视图集成,逻辑结构设计,局部E-R图,全局E-R图,征求用户意见,2020/5/30,70,全局E-R模型设计视图集成的方法有两种:多元集成法,一次性将多个局部E-R图合并为一个全局E-R图。二元集成法,首先集成两个重要的局部E-R图,以后用累加的方法逐步将一个新的E-R图集成进来。,局部E-R图,合并(消除冲突),优化(消除不必要的冗余),基本E-R图,初步E-R图,分析,规范化理论,2020/5/30,71,4逻辑结构设计,初始关系模式设计,概念结构设计,关系模式规范化,模式评价,是否修正,以DBMS语法描述,模式修正,物理设计,是,否,转换原则将E-R图转换为关系模型实际上就是将实体、属性和联系转换成关系模式。在转换中要遵循以下原则:(1)一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。(2)一个联系转换为一个关系模式,与该联系相连的各实体的键以及联系的属性均转换为该关系的属性。该关系的键有三种情况:如果联系为1:1,则每个实体的键都是关系的候选键如果联系为1:n,则n端实体的键是关系的键如果联系为n:m,则各实体键的组合是关系的键,2020/5/30,72,初始关系模式设计,2020/5/30,73,关系模式规范化,确定范式级别,实施规范化处理,需求分析阶段,概念结构设计阶段,逻辑结构设计阶段,用数据依赖概念分析和表示各个数据项之间的联系,以规范化理论为指导,确定关系键,消除初步E-R图中冗余的联系,从E-R图向数据模型转换过程中,用模式合并与分解方法达到规范化级别,模式评价功能评价功能评价指对照需求分析的结果,检查规范化后的关系模式集合是否支持用户所有的应用要求。性能评价对实际性能进行估计,包括逻辑记录的存取数、传送量以及物理结构设计算法的模型等。模式改进,2020/5/30,74,模式评价与改进,合并,分解,2020/5/30,75,5物理结构设计,数据库的物理结构设计可分为两步:确定物理结构,在关系数据库中主要指存取方法和存储结构;评价物理结构,评价的重点是时间和空间效率。确定物理结构存储记录结构的设计聚集索引,2020/5/30,76,访问方法的设计访问方法是为存储在物理设备(通常指辅存)上的数据提供存储和检索能力的方法。访问路径的设计分成主访问路径与辅访问路径的设计。数据存放位置的设计为了提高系统性能,应该根据应用情况将数据的易变部分、稳定部分、经常存取部分和存取频率较低部分分开存放。系统配置的设计DBMS产品一般都提供了一些系统配置变量、存储分配参数,供设计人员和DBA对数据库进行物理优化。系统为这些变量设定了初始值,但是这些值不一定适合每一种应用环境,在物理结构设计阶段,要根据实际情况重新对这些变量赋值,以满足新的要求。,2020/5/30,77,6数据库实施,数据库实施是指根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。,建立实际数据库结构,装入数据,应用程序编码与调试,数据库试运行,整理文档,2020/5/30,78,7数据库运行和维护,数据库运行和维护阶段的主要任务包括以下三项内容:(1)维护数据库的安全性与完整性;(2)监测并改善数据库性能;(3)重新组织和构造数据库。只要数据库系统在运行,就需要不断地进行修改、调整和维护。一旦应用变化太大,数据库重新组织也无济于事,这就表明数据库应用系统的生命周期结束,应该建立新系统,重新设计数据库。,2020/5/30,79,备份和还原,备份和还原的含义备份内容:数据库结构和数据备份对象:用户数据库+系统数据库备份设备是指备份内容的存储介质disk(硬盘文件)最常用tape(磁带)pipe(命名管道)备份方法:使用SQL或企业管理器,2020/5/30,80,备份的类型,数据库备份,事务日志备份,差异备份,文件和文件组备份,数据库备份是指对所有的数据以及数据库对象备份,事务日志备份是指对数据库发生的事务进行备份,差异备份是指将最近一次数据库备份以来发生的数据变化备份起来,文件或文件组备份是指对数据库文件或文件组进行备份,只有进行了完全备份后才能进行差异备份以及事务日志备份,2020/5/30,81,数据库的还原,将数据库的备份加载到系统中,是与备份相对应的操作。备份是还原的基础,没有备份就无法还原。还原的类型简单还原:在进行数据库还原时仅使用数据库备份或差异备份,而不涉及事务日志备份。完全还原:通过使用数据库备份和事务日志备份将数据库还原到发生失败的时刻。大容量日志记录还原:在性能上要优于简单还原和完全还原模型,能尽量减少批操作所需的存储空间。还原方法:使用SQL或企业管理器,2020/5/30,82,1数据库的安全性控制(防止非法访问)2完整性控制(防止错误的数据进入数据库)3数据库的恢复(挽救措施),第8章数据库安全性,本章要点,安全性的概念数据库系统的安全机制存取控制自主存取控制(DAC)GRANT语句REVOKE语句强制存取控制(MAC)基于角色的访问控制,83,本章要点,其它安全控制方法视图机制审计数据加密统计数据库安全性数据库安全机制的设计目标试图破坏安全的人所花费的代价得到的利益SQLServer和Oracle的安全控制,84,2020/5/30,85,1数据库的安全性,数据库安全性的含义指保护数据库以防止非法使用所造成的数据泄露、更改或破坏。安全性控制的一般方法,安全性控制是指要尽可能地杜绝所有可能的数据库非法访问。用户标识和鉴定、用户存取权限控制、数据加密、审计等。,图安全控制模型,2020/5/30,北京林业大学软件教研室,86,SQLServer2000的数据安全性机制,为了实现安全性,SQLServer2000对用户的访问进行两个阶段的检验身份验证阶段(Authentication):决定了用户能否连接(或登录)到SQLServer2000服务器。权限许可确认阶段(PermissionValidation):决定了经过了身份验证后的用户连接到SQLServer2000服务器可以执行的具体操作,包括服务器上的操作和具体的数据库上的操作。,在SQLServer中,登录服务器的登录账号(LoginName);查看服务器的登录账号使用EnterpriseManager使用存储过程,SQLServer的登录账号和服务器角色(第一道屏障),EXECsp_helplogins,87,创建服务器的登录账号利用EnterpriseManage利用存储过程例5-1建立了一个名称为Mike的登录账号。EXECsp_addloginMike,m1934,Teach,NULL,EXECsp_addlogin登录账号名称,密码,默认数据库名,使用的语言,88,更改登录账号的属性利用EnterpriseManage使用存储过程sp_password可改变登录账号的密码例5-3将Mike账号的密码由原来的m1934改为mike1934。EXECsp_passwordm1934,mike1934,Mike使用存储过程sp_addsrvrolemember可以将登录账号加入服务器的角色中例5-4将登录账号Mike加入到dbcreator服务器角色中。EXECsp_addsrvrolememberMike,dbcreator,EXECsp_password旧密码,新密码,登录账号名称,EXECsp_addsrvrolemember登录账号,服务器角色名称,89,删除登录账号使用EnterpriseManager使用存储过程例5-5从数据库Teach中删除Mike登录账号。EXECsp_droploginMikeSQLServer的服务器角色角色(Role)是对权限集中管理的一种机制,将不同的权限组合在一起就形成了一种角色。服务器角色是执行服务器级管理操作的用户权限的集合。,sp_droplogin登录账号,90,SQLServer在安装过程中默认创建的服务器角色及其权限,91,数据库的用户账号当一个数据库的用户创建时,必须关联一个登录账号。每个登录账号在一个数据库中只能有一个用户账号,但每个登录账号可以在不同的数据库中各有一个用户账号。,SQLServer的数据库用户账号和数据库角色(第二道屏障),92,查看数据库的用户账号使用EnterpriseManagersp_helpuser创建数据库的用户账号使用EnterpriseManagersp_adduser登录账号,用户账号,所属的数据库角色,93,设置数据库用户账号的权限对数据库对象的操作,具体含义如下SELECT:对表或者视图进行查询。INSERT:在表或者视图中插入记录。UPDATE:对表或者视图中的数据进行修改。DELETE:删除表或者视图中的数据。EXEC:执行存储过程。DRI:可对表的外键加以限制,以完成表的参照完整性。,94,删除数据库用户账号使用EnterpriseManagersp_dropuser用户账号例5-8从数据库中删除ZHANGSAN用户账号。EXECsp_dropuserZHANGSAN数据库角色数据库角色是对数据库对象操作的权限的集合。数据库角色可分为两种:固定的标准数据库角色(系统创建的)应用程序角色,95,SQLServer固定的数据库角色,96,查看数据库角色创建新的数据库角色sp_addrole角色名,拥有者删除数据库角色sp_droprole角色名创建数据库应用程序角色sp_setapprole应用程序角色名,密码用户和角色的权限问题用户权限继承角色的权限用户分属不同角色,EXECsp_addroleMyrole,dbo,EXECsp_droproleMyrole,EXECsp_setapproleApprole,11111,97,2020/5/30,98,2完整性控制,数据库完整性的含义保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作防止合法用户使用数据库时向数据库中加入不符合语义的数据完整性规则的组成触发条件、约束条件、违约响应立即执行约束、延迟执行约束,2020/5/30,99,完整性约束的分类,从约束条件使用的对象分,值的约束和结构的约束对数据类型、数据格式、取值范围和空值等进行规定结构的约束即对数据之间联系的约束函数依赖约束实体完整性约束参照完整性约束统计约束静态约束和动态约束,关系的两个不变性,从约束对象的状态分,声明式数据完整性将数据所需符合的条件融入到对象定义中,这样SQLServer会自动确保数据符合事先制定的条件。特点可使声明式数据完整性成为数据定义的一部分。使用约束、默认值与规则实施声明式数据完整性。程序化数据完整性通过编程保障数据完整性特点:程序化数据完整性可通过程序语言及工具在客户端或服务器端实施。SQLServer可以使用存储过程或触发器实施程序化数据完整性。,2020/5/30,100,数据完整性的实施,2020/5/30,101,3数据库的恢复,数据库恢复的含义基本原理:利用冗余数据来恢复方法:登记日志、数据转储三类故障的恢复方法事务故障及恢复、系统故障及恢复和介质故障及恢复,第9章数据恢复技术和并发控制,102,本章要点,事务基本概念定义事务的SQL语句性质数据库恢复恢复的定义、原则和方法故障的种类及恢复方法具有检查点的恢复技术数据库镜像,103,本章要点,并发控制并发操作带来的数据不一致性封锁活锁和死锁并发调度的可串行性两段锁协议封锁的粒度,104,ACID特性,(Atomicity)(Consistency)(Isolation)(Durability),ACID,105,登记日志文件的原则,登记的次序严格按并行事务执行的时间次序必须先写日志文件,后写数据库写日志文件操作:把表示这个修改的日志记录写到日志文件写数据库操作:把对数据的修改写到数据库中,106,基本封锁类型,排它锁又称为写锁(Exclusivelock,简记为X锁)若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。共享锁又称为读锁(Sharelock,简记为S锁)若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。,107,封锁协议,在事务并发操作对数据对象加锁时,还需要约定一些规则,即何时申请X锁或S锁、持锁时间、何时释放等,称这些规则为封锁协议。对封锁方式规定不同的规则,就形成了各种不同的封锁协议。,108,2020/5/30,109,并发控制与封锁,数据库并发的含义事务的含义及事务的ACID特性并发操作导致的数据不一致性丢失数据、读脏数据、不可重读锁:排他锁(X锁)、共享锁(S锁)三级封锁协议死锁和活锁死锁的预防及消除,封锁、封锁类型及其含义,封锁就是事务T在对某个数据对象操作之前,先向系统发出请求,对其加锁,这样事务T就对这个数据对象有了一定的控制,其他事务就不能更新此数据,直到事务T释放它的锁为止。基本的封锁的类型有排它锁(“X”锁)和共享锁(“S”锁)两种。若事务T对数据A加上X锁,则只允许事务T读取和修改数据A,其他事务都不能再对A加任何类型的锁,直到T释放A上的锁。若事务T对数据A加上S锁,则其他事务只有再对A加S锁,而不能加X锁,直到T释放A上的锁。,110,2020/5/30,111,数据库的恢复,数据库恢复的含义基本原理:利用冗余数据来恢复方法:登记日志、数据转储三类故障的恢复方法事务故障及恢复、系统故障及恢复和介质故障及恢复,小结,如果数据库只包含成功事务提交的结果,就说数据库处于一致性状态。保证数据一致性是对数据库的最基本的要求。事务是数据库的逻辑工作单位DBMS保证系统中一切事务的原子性、一致性、隔离性和持续性,112,恢复中最经常使用的技术:数据库转储和登记日志文件恢复的基本原理:利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库提高恢复效率的技术检查点技术可以提高系统故障的恢复效率可以在一定程度上提高利用动态转储备份进行介质故障恢复的效率镜像技术镜像技术可以改善介质故障的恢复效率,小结,113,数据库的并发控制以事务为单位数据库的并发控制通常使用封锁机制两类最常用的封锁活锁和死锁并发控制机制调度并发事务操作是否正确的判别准则是可串行性并发操作的正确性则通常由两段锁协议来保证。两段锁协议是可串行化调度的充分条件,但不是必要条件封锁的粒度多粒度树多粒度封锁,小结,114,2020/5/30,115,分布式数据库,关系型数据库在可扩展性上边面临巨大挑战。传统的关系数据库的事务以及二维关系很难高效扩展到多个存储节点上为解决关系数据库面临的可扩展性、高并发以及性能方面的问题,各种NoSQL数据库出现了,第10章基于关系型数据库的Web应用,116,课

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论