高级数据库技术第1章-绪论课件_第1页
高级数据库技术第1章-绪论课件_第2页
高级数据库技术第1章-绪论课件_第3页
高级数据库技术第1章-绪论课件_第4页
高级数据库技术第1章-绪论课件_第5页
已阅读5页,还剩191页未读 继续免费阅读

下载本文档

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

文档简介

高级数据库技术汤庸叶小平汤娜吉永杰高等教育出版社(课件制作中山大学叶小平胡苏)12/24/20221高级数据库技术汤庸叶小平汤娜吉永杰12/21/202第1章绪论

1.1数据库系统基本概念1.1.1数据库系统数据库系统(DatabaseSystem,DBS)是指一个计算机存储记录信息的系统,即:●DBS首先是一个计算机系统。●该系统的目标是存储数据信息并支持用户检索和更新所需要的数据信息。12/24/20222第1章绪论

1.1数据库系统基本概念12/21/202在人们的使用当中,DBS通常有下述两种含义。●DBS的个体含义:指一个具体的数据库管理系统软件和它建立起来的数据库。●DBS的学科含义:指研究、开发、建立、维护和应用数据库系统所涉及的理论、方法和技术所构成的科学领域。在这一含义下,数据库系统是软件研究领域的一个重要的分支,常称为数据库领域。本书中DBS正是基于这种学科含义的。12/24/20223在人们的使用当中,DBS通常有下述两种含义。12/21/20数据库系统由数据库、数据库管理系统、支持数据库运行的软、硬件环境以及用户相互独立而又相互联系的四部分组成。12/24/20224数据库系统由数据库、数据库管理系统、支持数据库运行的软、硬件(1)数据库数据库可以看作是一个电子文件柜,它是基于计算机系统的持久性数据的“仓库”或者“容器”。是一个长期存储在计算机内、有组织的和可共享的数据集合。其特点是集中了各种应用的数据,并对其进行统一的构造与存储,同一数据库可以为不同的应用服务。12/24/20225(1)数据库12/21/20225(2)数据库管理系统(DBMS)数据库是一个多级系统结构,需要一组软件提供相应的工具进行数据的管理和控制,以达到保证数据的安全性和一致性的基本要求。这样一组软件就是数据库管理系统(DatabaseManagementSystem,DBMS)。它具有数据组织定义、数据操作与查询优化、数据控制及数据维护、数据管理以及提供各种接口等功能。12/24/20226(2)数据库管理系统(DBMS)12/21/20226(3)支持数据库系统的硬件/软件平台●硬件平台数据库系统中的硬件平台可以有狭义和广义之分。狭义硬件平台是指数据存储和数据处理所必不可少的硬件设施广义硬件平台是指具有广泛应用和较强功能的硬件设施12/24/20227(3)支持数据库系统的硬件/软件平台12/21/20227●软件平台操作系统数据库系统开发工具接口软件12/24/20228●软件平台12/21/20228(4)用户一般认为,存在着三类数据库用户

●第一类用户:应用程序员●第二类用户:最终用户●第三类用户:数据库管理员12/24/20229(4)用户12/21/202291.1.2数据库体系结构

在实际应用当中,DBS的种类很多,它们可以支持不同的数据模型,使用不同的数据库语言,建立在不同的操作系统之上,数据的存储结构也各不相同,但它们在体系结构上通常都具有相同的特征,即采用三级模式结构(早期微机上的小型数据库系统除外)并提供两级映像功能。掌握数据库的三级结构及其联系与转换应当是深入学习和掌握数据库理论、技术与方法的必由之路。12/24/2022101.1.2数据库体系结构

在实际应用当中,DBS的种类很多模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,其主体就是数据模型,此外,一般还包括允许的各种操作、数据完整性和安全性等方面的控制。模式的一个具体值称为模式的一个实例(Instance)。同一模式可以有很多实例。模式是相对稳定的,而实例是经常变动的;模式反映数据的结构及其联系,而实例反映数据库某一时刻的状态。12/24/202211模式(Schema)是数据库中全体数据的逻辑结构和特征的描述DBS体系结构分为三层:外模式、概念模式和内模式。1.外模式(1)外模式概念外模式(ExternalSchema),也称用户模式(User’sSchema)或子模式(Subschema)。外模式就是用户所看到的数据视图,它最接近用户,是用户和数据库系统的接口,是用户给出的对数据的描述。12/24/202212DBS体系结构分为三层:外模式、概念模式和内模式。12/21(2)外模式的不惟一性不同的用户由于需求的不同,看待数据的方式也会不同,对数据的保密要求及使用的程序设计语言也会不同,从而不同用户的外模式的描述方式一般是互不相同的。12/24/202213(2)外模式的不惟一性12/21/202213(3)外模式DDL在一般的DBMS中都提供相关的外模式描述语言(外模式DDL)。外模式DDL在嵌入形式下和用户选用的程序设计语言具有相容的语法格式。例如在PowerBuild中使用外模式DDL必须符合PowerBuild的语法要求。12/24/202214(3)外模式DDL12/21/2022142.概念模式(1)概念模式概念模式(ConceptualSchema),也称公共逻辑模式或逻辑模式,它是介于内模式和外模式之间的层次,与结构数据模型对应。概念模式是数据库系统中全局数据逻辑结构和特征的描述,是全体用户的公共数据视图,这种描述是一种抽象描述,不涉及具体硬件平台与软件环境。12/24/2022152.概念模式12/21/202215(2)概念模式DDLDBMS提供概念模式的DDL语言——概念DDL来严格定义概念模式。定义模式时不仅要定义数据的逻辑结构,而且还要定义数据之间的联系,定义与数据有关的安全性和完整性要求。12/24/202216(2)概念模式DDL12/21/2022163.内模式(1)内模式概念内模式(InternalSchema)也称为存储模式(StorageSchema)或物理模式(PhysicalSchema),是数据库物理结构和存储方式的描述,即数据库的“内部视图”。内部视图是整个数据库的底层表示,它由内部记录型中各个类型的值组成。12/24/2022173.内模式12/21/202217(2)内模式不深入到设备级内模式虽然称为物理模式,但它的物理性质主要表现在操作系统级和文件级上,本身并不深入到设备级上(如磁盘及磁盘操作),内部视图仍然不是物理层,它不涉及物理记录的形式,例如物理块或页,也不考虑具体设备的柱面与磁道大小。12/24/202218(2)内模式不深入到设备级12/21/202218(3)内模式DDLDBMS一般提供相关的内模式描述语言(内模式DDL)来严格定义内模式。当前,许多DBMS产品基本上都可以自动完成内模式的大部分定义工作,几乎不需要用户介入。当用户使用内模式DDL定义模式的同时,通常DBMS也就自动完成了相应的内模式的定义工作。12/24/202219(3)内模式DDL12/21/2022194.三种模式的关系在数据库系统体系结构当中,内模式处于最低层,它最接近于反映数据在计算机物理结构中的实际存储形式;概念模式处于中层,它反映了设计者的数据全局逻辑要求;而外模式处于最外层,它反映了用户对数据的实际要求。12/24/2022204.三种模式的关系12/21/202220在关系系统当中,一般成立:概念模式一定是关系的,在该层可见的实体是关系的表和关系的操作符。外部视图也是关系的或接近是关系的。内模式不是关系的,因为该层的实体不是关系表的照搬。事实上,不管是什么系统,其内模式都是一样的(如存储记录、指针、索引、哈希表等),关系模式与内模式无关。12/24/202221在关系系统当中,一般成立:12/21/2022211.1.3数据库二级映射

数据库系统体系结构三级模式实质上是对数据的3个级别抽象,它的基本意义在于将DBS中数据的具体物理实现留给物理模式,使得用户与全局设计者不必关心数据库的具体实现与物理背景。为了能够保证在数据库系统内部实现这3个抽象层次的联系和转换,还必须在这3个模式之间提供两个(两级)映射,这就是概念模式/内模式映射和外模式/概念模式映射。12/24/2022221.1.3数据库二级映射

数据库系统体系结构三级模式实质上1.概念模式/内模式映射该映射定义了概念视图和数据库的对应关系,它说明了概念记录和字段在内部层次怎样表示。如果数据库的存储结构发生改变,即变动了存储结构的定义,概念模式/内模式映射也必须进行相应的改变,以保证概念模式能够保持不变(这是数据库管理员的工作)。12/24/2022231.概念模式/内模式映射12/21/2022232.外模式/概念模式映射该映射定义了特定的外部视图和概念视图之间的对应关系。一般而言,这两层之间存在的差异与概念模式和内模式之间的差异类似。12/24/2022242.外模式/概念模式映射12/21/20222412/24/20222512/21/2022251.2数据模型

数据模型(datamodel)是一种抽象模型。数据是现实世界中事物及其特征的抽象,数据模型则是数据特征的抽象。事物个体特征通过各个事物个体之间的相互关系表现出来,数据模型从本质上来说,是数据间相互联系或者说约束条件的描述。数据模型正是从一般抽象的层面上模拟和描述了数据库系统的静态特征、动态行为和约束条件。12/24/2022261.2数据模型

数据模型(datamodel)是一种抽象1.2.1概念数据模型

概念数据模型(ConceptualDataModel)也称为信息模型。概念数据模型的实质是面向用户的模型,它是用户所容易理解的现实世界特征的数据抽象,其基本特征是按用户观点对数据和信息进行建模,与具体DBMS无关。概念数据模型作为数据库设计员与用户之间进行交流的语言,服务于数据库设计的应用目的。12/24/2022271.2.1概念数据模型

概念数据模型(Conceptual概念数据模型经过转换就可以变为DBMS支持的逻辑数据模型,进而在DBMS中得以实现。最常用和最著名的概念模型是实体-联系(E-R)模型,简称E-R模型。E-R模型的图示形式就称为E-R图。E-R图提供了用图形表示实体型、属性和联系的方法12/24/202228概念数据模型经过转换就可以变为DBMS支持的逻辑数据模型,进实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。12/24/202229实体型:用矩形表示,矩形框内写明实体名。12/21/20221.2.2结构数据模型

结构数据模型(StructureDataModel)又称为逻辑数据模型(LogicDataModel),它是既面向用户又面向系统的数据模型,其特征是按计算机系统观点对数据和信息进行建模,服务于DBMS的应用实现。12/24/2022301.2.2结构数据模型

结构数据模型(StructureD一般来说,结构数据模型是严格定义的一组概念的集合,主要由数据结构、数据操作和完整性约束3部分组成,通常称为数据模型3要素。12/24/202231一般来说,结构数据模型是严格定义的一组概念的集合,主要由数据1。数据结构数据结构用于描述系统的静态特性,研究与数据类型、内容、性质有关的对象,例如关系模型中的域、属性、关系等。一般认为,数据结构是计算机数据组织方式和数据之间联系的框架描述,而数据文件中的数据就按照这种框架描述进行组织。12/24/2022321。数据结构12/21/2022322。数据操作数据操作是指对数据库中各种对象的实例(或取值)所允许执行的操作的集合,其中包括操作方法及相应操作规则,它是对数据库动态特性的描述。在数据库中,数据操作主要有数据查询和数据更新(插入、删除和修改)两大类。12/24/2022332。数据操作12/21/2022333。完整性约束数据的约束条件是一组完整性规则(约束条件)的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。12/24/2022343。完整性约束12/21/2022341.2.3层次模型

1.层次模型的基本结构层次模型用树形结构来表示各类实体以及实体间的联系。每个结点表示一个记录类型,结点之间的连线表示记录类型间的联系,这种联系只能是父子联系。每个记录类型可包含若干个字段,这里,记录类型描述的是实体,字段描述实体的属性。12/24/2022351.2.3层次模型

1.层次模型的基本结构12/21/20任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。限制:只有一个结点没有双亲结点,称之为根结点根以外的其它结点有且只有一个双亲结点这就使得层次数据库系统只能处理一对多的实体关系。12/24/202236任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义2.多对多联系在层次模型中的表示用层次模型表示多对多联系,必须首先将其分解成一对多联系。分解方法有两种:冗余结点法和虚拟结点法。12/24/2022372.多对多联系在层次模型中的表示12/21/202237系号系名系主任名系室号室名室主任课程号课程名学时数任课教员教研室课程姓名年龄职称办公室专长教员12/24/202238系号系名系主任名系室号室名室主任课程号课程名学时数任课教员教层次数据模型的操纵与完整性约束层次数据模型的操纵主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次模型的完整性约束条件。进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。进行更新操作时,应更新所有相应记录,以保证数据的一致性。12/24/202239层次数据模型的操纵与完整性约束12/21/2022391.2.4网状模型

网状数据模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种联系(称之为复合联系)。12/24/2022401.2.4网状模型

网状数据模型是一种比层次模型更具普遍性的网状模型概念建立在连通有向图基础之上,它满足以下两个条件:模型中允许一个以上的结点无双亲。模型中一个结点可以有多于一个的双亲。12/24/202241网状模型概念建立在连通有向图基础之上,它满足以下两个条件:1两个结点之间具有两种以上联系工人设备工人与设备12/24/202242工人设备工人与设备12/21/202242一对多的网状模型学号姓名系别课程号学分课程名学号课程号成绩学生选课课程12/24/202243学号姓名系别课程号学分课程名学号课程号成绩学生选课课12/2网状模型的数据操作与数据约束网状数据模型不像层次模型那样具有严格的完整性约束条件,但网状模型在模式DDL中提供了定义网状数据库完整性的若干概念和语句,主要有:。12/24/202244网状模型的数据操作与数据约束12/21/202244支持记录键的概念,而键(key)是唯一标识记录的数据项集合。保证一个联系中双亲记录和子女记录之间是一对多联系。支持双亲记录和子女记录之间的某些约束条件,例如在例1-4中,当插入一条选课记录时,只有数据库中存在该学生及其课程时,系统才认为是合法操作12/24/202245支持记录键的概念,而键(key)是唯一标识记录的数据项集合。网状模型的优缺点网状模型的主要优点能够更为直接地描述现实世界。具有良好的性能和较高的存取效率。网状模型的主要缺点结构比较复杂,不利于最终用户掌握。其DDL和DML语言复杂,用户不易使用。12/24/202246网状模型的优缺点12/21/2022461.2.5关系模型

关系模型的数据结构关系模型是用二维表格表示实体集的结构数据模型,其数据结构具有下述特征:在关系模型中,基本的数据结构是表格,表格由行和列组成。表格简单直观,用户只需要用简单的查询语句就能够对关系数据进行操作,不需涉及数据的存储结构、访问技术等细节。12/24/2022471.2.5关系模型

关系模型的数据结构12/21/20224关系模型与层次和网状模型等非关系模型的根本区别在于关系模型是用“键”而不是用指针导航数据,记录之间联系通过表格中的键实现。由于表格可以看作一个集合,同时表格中的行又可以看作一个命题,因此集合论与数理逻辑的理论与方法就能够引入到关系模型中来,关系模型就成为一种数学化的模型。12/24/202248关系模型与层次和网状模型等非关系模型的根本区别在于关系模型是关系模型的数据操作关系模型的数据操作主要包括查询和更新(插入、删除和更新)两类。关系数据操作具有两个显著特点:关系数据操作是集合操作,即数据操作的对象和操作结果均为若干元组的集合(关系);而在非关系数据操作中,操作对象和结果一般而言都是单个记录。关系模型将操作中存取路径向用户屏蔽起来,用户只要说明“干什么”而不必关注“怎样干”,大大提高数据独立性和用户进行数据操作的效率。12/24/202249关系模型的数据操作12/21/202249关系模型的数据约束对关系模型中的数据操作必须满足关系完整性约束条件,这些约束条件可以分为3类:实体完整性、参照完整性和用户定义的完整性。12/24/202250关系模型的数据约束12/21/202250关系模型的优缺点关系模型的优点关系模型是规范化的,建立在严格的数学与逻辑基础之上。关系模型的数据结构简单清晰,用户易懂易用,这主要是由于实体和实体间联系表现为关系,数据操作的对象和所得到的结果都是关系,关系模型涉及到的概念单一明了。关系模型存储路径对用户透明,具有更好的数据独立性和安全保密性。12/24/202251关系模型的优缺点12/21/202251关系模型的不足之处由于关系模型中数据存储路径对用户“透明”,随之带来数据查询效率往往不及非关系模型,为了提高关系数据的查询性能,必须对用户的查询请求进行必要的优化,从而增加了开发数据库管理系统的负担。12/24/202252关系模型的不足之处12/21/2022521.2.6面向对象模型

面向对象模型(Object-orientedModel)是近几年来迅速崛起并得到很大发展的一种数据模型,该模型在吸取层次、网状和关系等各种模型优点并借鉴了面向对象的设计方法,可以表达上述几种模型难以处理的许多复杂数据结构。例如,对于非传统的数据领域中CAD、工程领域和多媒体等复杂、嵌套递归数据关系等具有极强的表达能力。面向对象数据模型是面向对象概念与数据库技术相结合的产物。12/24/2022531.2.6面向对象模型

面向对象模型(Object-orie面向对象模型能描述复杂的现实世界,具有较强的灵活性、可扩充性和可重用性。应用该模型可以使数据库具有结构清晰、对象具有独立性,便于维护、需求变更时程序与数据库重用率高,修改少等优点。它的动态特性描述、对象标识符、类的普化与特化、类的聚合与分解和消息功能等都比前面介绍的概念模式要好。面向对象模式可以说既可以作为一种概念模型,又可以依据其直接构造结构数据模型。12/24/202254面向对象模型能描述复杂的现实世界,具有较强的灵活性、可扩充性1.3数据库理论基础

本节简要回顾数据库(主要是关系数据库)中几个重要的基础理论:关系数据库规范化理论、数据库完整性、数据库事务处理、数据索引技术与查询处理。12/24/2022551.3数据库理论基础

本节简要回顾数据库(主要是关系数据库)1.3.1关系数据库规范化

在一个数据库中构造“好的”、“合适”的关系模式,本身涉及一系列的理论与方法,形成了关系数据库的模式设计理论和技术。由于合适的关系模式要符合一定的规范化要求,所以又称其为关系数据库的规范化理论。12/24/2022561.3.1关系数据库规范化

在一个数据库中构造“好的”、“函数依赖设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。12/24/202257函数依赖12/21/202257函数依赖可以分为3种基本情形:(1)平凡与非平凡函数依赖如果X→Y,但Y不是X的子集,则称X→Y是非平凡函数依赖(NontrivialFunctionalDependence),否则称为平凡函数依赖(TrivialFunctionalDependence)。12/24/202258函数依赖可以分为3种基本情形:12/21/202258(2)部分与完全函数依赖如果X→Y,但对于X中的任意一个真子集X',都有Y不依赖于X',则称Y完全依赖(FullFunctionalalDependency)于X,否则称为Y不完全依赖于X。如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖(PartialFunctionalDependency)12/24/202259(2)部分与完全函数依赖12/21/202259(3)传递与直接函数依赖设有两个非平凡函数依赖X→Y和Y→Z,而且X不函数依赖于Y,则称Z传递函数(TransitiveFunctionalDependency)依赖于X。12/24/202260(3)传递与直接函数依赖12/21/202260范式第一范式—1NF:如果一个关系模式R中每个属性值都是一个不可分解的数据量,则称该关系模式满足第一范式(FirstNormalForm),记为R∈1NF。12/24/202261范式12/21/202261第二范式—2NF:如果关系模式R(U)∈1NF,并且R(U)中的每一个非主属性完全函数依赖于R(U)的候选键,则称该关系模式R(U)满足第二范式,记为R(U)∈2NF。12/24/202262第二范式—2NF:如果关系模式R(U)∈1NF,并且R(U)第三范式—3NF:如果关系模式R(U)∈1NF,且R(U)中的每一个非主属性都不传递依赖于R的候选键,则称关系模式R(U)属于第三范式,记为R(U)∈3NF。12/24/202263第三范式—3NF:如果关系模式R(U)∈1NF,且R(U)中Boyce-Codd范式——BCNF:设关系模式R(U)∈1NF,如果R(U)中每一个属性都不传递依赖于R(U)的候选键,则称关系模式R(U)满足Boyce-Codd范式,简称BC范式,记为R(U)∈BCNF。12/24/202264Boyce-Codd范式——BCNF:设关系模式R(U)∈1多值依赖与4NF多值依赖设有关系模式R(U),X、Y是属性集U中的两个子集,而r是R(U)中任意给定的一个关系。如果有下述条件成立,则称Y多值依赖(MultivaluedDependency)于X,记为X→→Y:对于关系r在X上的一个确定的值(元组),都有r在Y中一组值(元组的集合)与之对应。Y的这组对应值(元组的集合)与r在属性集Z=U-X-Y中的属性值无关。12/24/202265多值依赖与4NF12/21/202265第四范式—4NF对于R(U)中的任意两个属性子集X和Y,当X→→Y是非平凡多值依赖时,X必为超键,则称R(U)满足第四范式,记为R(U)∈4NF。12/24/202266第四范式—4NF12/21/2022661.3.2数据库完整性

通常所讲到的数据库的完整性(Integrity)的基本含义是指数据库的正确性、有效性和相容性,其主要目的是防止错误的数据进入数据库。正确性:正确性是指数据的合法性,例如数值型数据中只能含有数字而不能含有字母。有效性:有效性是指数据是否属于所定义域的有效范围。相容性:相容性是指表示同一事实的两个数据应当一致,不一致即是不相容。12/24/2022671.3.2数据库完整性

通常所讲到的数据库的完整性(InteDBMS必须提供一种功能使得数据库中数据合法,以确保数据的正确性;同时还要避免非法的不符合语义的错误数据的输入和输出,以保证数据的有效性;另外,还要检查先后输入数据是否一致,以保证数据的相容性。检查数据库中数据是否满足规定的条件称为“完整性检查”。数据库中数据应当满足的条件称为“完整性约束条件”,有时也称为完整性规则。12/24/202268DBMS必须提供一种功能使得数据库中数据合法,以确保数据的正完整性规则关系模型的完整性规则就是对关系的某种约束条件。关系模型中有3类完整性规则,即实体完整性规则、参照完整性规则和用户定义完整性规则。实体完整性规则和参照完整性规则是任何一个关系模型都必须满足的完整性约束条件,被称为关系模型的两个不变性,通常由DBMS自动支持。12/24/202269完整性规则12/21/202269实体完整性规则(EntityIntegrityRule):当属性A是基本关系R的主属性时,属性A不能取空值。12/24/202270实体完整性规则(EntityIntegrityRule)参照完整性规则(ReferenceIntegrityRule):如果属性或属性组F是基本关系R的外键,它与基本关系S的主键Ks相对应(这里R和S不一定是两个不同的关系),则对于R中每个元组在F上的取值应当满足:或者取空值,即F的每个属性值均为空值。或者等于S中某个元组的主键值。12/24/202271参照完整性规则(ReferenceIntegrityRu用户完整性规则(UserdefinedIntegrityRule):它针对一个具体的应用环境,反映其涉及到数据的一个必须满足的特定的语义要求。用户完整性规则的要点是针对数据环境由用户具体设置规则,它反映了具体应用中数据的语义要求。12/24/202272用户完整性规则(UserdefinedIntegrity1.3.3数据库的事务处理

所谓事务(Transaction),就是构成单一逻辑工作单元的操作集合。例如,一条或一组SQL语句构成一个事务,运行过程中整个程序也是一个事务。事务的根本特征是集中了数据库应用方面的若干操作,这些操作构成了一个操作序列,序列中的操作要么全做,要么全不做,整个序列是一个不可分割的操作单位。12/24/2022731.3.3数据库的事务处理

所谓事务(Transaction1.3.1事务的ACID性质

DBMS在数据管理过程中需要保证事务的“并发执行”,也要保证事务本身的有效性,同时还要有相应的措施进行数据库故障恢复,这样就必须采取必要措施来分别维持事务的一些重要特性。在事务处理过程中,事务必须具有的重要特性可以由“ACID”性质刻画,其中ACID是由下述讨论中的4个英文单词的第一个字母组成。12/24/2022741.3.1事务的ACID性质

DBMS在数据管理过程中需要(1)原子性(Atomicity)(2)一致性(Consistency)(3)隔离性(Isolation)(4)持久性(Durability)12/24/202275(1)原子性(Atomicity)12/21/2022751.3.2事务的基本操作与活动状态

事务操作可以看作由若干个部分组成。事务开始(BeginTransaction):事务开始执行。事务读写(Read/WriteTransaction):事务进行数据操作。事务提交(CommitTransaction):事务完成所有数据操作,同时保存操作结果,它标志着事务的成功完成。事务回滚(RollbackTransaction):事务未完成所有数据操作,重新返回到事务开始,它标志着事务的撤销。12/24/2022761.3.2事务的基本操作与活动状态

事务操作可以看作由若干

事务活动过程12/24/20227712/21/2022771.3.4数据索引与查询处理

1.4.1索引设计索引(Index)设计是数据库物理设计的基本问题,对关系选择有效的索引对提高数据库的访问效率有很大的作用。索引也是按照关系的某些属性列建立的,它主要用于常用的或重要的查询中。12/24/2022781.3.4数据索引与查询处理

1.4.1索引设计12/21.4.2查询处理与优化查询处理是关系数据库系统最主要的功能。关系数据库的查询一般都使用SQL语句实现。对于同一个用SQL表达的查询要求,通常可以对应于多个不同形式但相互“等价”的关系代数表达式。12/24/2022791.4.2查询处理与优化12/21/202279关系数据库中,查询优化技术有两个基本要点:设置一个查询优化器,从该优化器上输入关系语言,例如SQL的查询语句,经优化器处理后产生优化的查询表达式。使用优化的查询表达式进行查询操作,从而提高查询的效率。12/24/202280关系数据库中,查询优化技术有两个基本要点:12/21/202查询优化的一般准则(1)选择优先操作规则:及早进行选择操作。(2)投影优先操作规则:及早进行投影操作。(3)笛卡尔乘积“合并”规则:尽量避免单纯进行笛卡尔乘积操作。12/24/202281查询优化的一般准则12/21/2022811.4数据库新技术概述

1.4.1数据模型的新特征现代应用所涉及的范围很广泛,所呈现出的特征行为非常复杂,对数据库的要求也十分多样,例如数据库要有主动性,数据库能表达数据的时间属性等。现代应用对数据库的要求的一个具体体现是对数据模型的要求。数据模型主要是指数据库的数据结构、对数据的操作以及数据的约束条件。现代数据库对数据模型的新要求主要体现在以下方面。12/24/2022821.4数据库新技术概述

1.4.1数据模型的新特征121.数据特征(1)多维性(2)易变性(3)多态性12/24/2022831.数据特征12/21/2022832.数据结构在数据结构的表示方面,现代应用的要求更高。(1)数据类型不仅要求能表达传统的基本数据类型,如整型、实型和字符型等,还要求能表达更复杂的数据类型,如集合、向量、矩阵、时间类型和抽象数据类型等。12/24/2022842.数据结构12/21/202284(2)数据之间的联系数据之间有了各种复杂的联系,如n-元联系;多种类型之间的联系,如时间、空间、模态联系;非显式的联系,如对象之间隐含的关系。12/24/202285(2)数据之间的联系12/21/202285(3)数据的表示除了表示结构化、格式化的数据,还要表示非结构化、半结构化的数据,非格式、超格式的数据。12/24/202286(3)数据的表示12/21/2022863.数据的操作对数据的操作在现代应用中也表现出了新的特征,主要有:(1)数据操作的类型数据操作的类型不仅包含通常意义下的插入、删除、修改和查询,还要进行各种其他类型的特殊操作,如执行、领域搜索、浏览和时态查询等。另外还要能够进行用户自己定义的操作。12/24/2022873.数据的操作12/21/202287(2)数据的互操作性要求数据对象可以在不同模式下的交互操作,数据可以在不同模式的视图下进行交互作用。12/24/202288(2)数据的互操作性12/21/202288(3)数据操作的主动性传统数据库中的数据操作都是被动的、单向的,即只能由应用程序控制数据操作,其作用方向只能是应用程序到数据;而现代应用要求数据使用的主动性和双向作用,即数据的状态和状态变迁可主动地驱动操作,除了应用作用于数据外,数据也可以作用于应用。12/24/202289(3)数据操作的主动性12/21/2022891.4.2数据库系统的新要求

1.提供强有力的数据建模能力2.提供新的查询机制3.提供强有力的数据存储与共享能力4.提供复杂事务管理机制5.提供先进的图形设施6.提供时态处理机制7.提供触发器或主动能力12/24/2022901.4.2数据库系统的新要求

1.提供强有力的数据建模1.4.3数据库新技术的范畴

高级数据库或曰现代数据库是一种范畴,并非是一个具体的数据库技术。这给现代数据库的概念蒙上了面纱,到底什么是现代数据库系统?它们和网状、层次、关系数据库系统有什么关系?经过现代数据库技术的多年发展,人们对现代数据库系统达成了几点共识:现代数据库系统应该支持数据管理、对象管理和知识管理。现代数据库系统必须保持或继承关系数据库系统的技术。现代数据库系统必须对其他系统开放。12/24/2022911.4.3数据库新技术的范畴

高级数据库或曰现代数据库是对于现代数据库这样一个大的范畴,可以从不同角度进行一些分类,下面是一种从数据库的技术特征方面的分类。12/24/202292对于现代数据库这样一个大的范畴,可以从不同角度进行一些分类,1.在整体方面有较大的技术改进相对于传统的数据库而言,在数据模型及其语言、事务处理与执行模型、数据库组织与物理存储等各层上都集成了新的技术、工具与机制的有:对象数据库技术时态数据库技术实时数据库技术主动数据库技术12/24/2022931.在整体方面有较大的技术改进12/21/2022932.在体系结构方面集成新技术在数据库原理上面无根本的变化,但是在系统的体系结构方面采用和集成了新的技术的有:内存数据库技术并行数据库技术分布式数据库技术数据仓库技术12/24/2022942.在体系结构方面集成新技术12/21/2022943.在应用功能方面的增强数据库原理也没有根本性的变化,而是以一定的应用特性为出发点,在某些方面采用和引入一些非传统数据库技术,从而增强了系统对有关应用的支持能力,尤其表现在数据模型、数据库语言和数据库查询处理方面。属于这类的有:12/24/2022953.在应用功能方面的增强12/21/202295工程数据库技术统计数据库技术空间数据库技术知识库技术多媒体数据库技术12/24/202296工程数据库技术12/21/2022961.4.4现代数据库实现途径

现代数据库是支持现代(非传统)应用、满足除传统应用要求以外还有特殊要求的数据库。由于应用特征及其要求的变化多样,加之数据库工作者的不同立场、观点、策略和方法,从而形成了现代数据库世界百花齐放的景象。12/24/2022971.4.4现代数据库实现途径

现代数据库是支持现代(非传1.借鉴面向对象的方法和技术2.数据库技术和多学科的有机结合3.面向应用领域的设计12/24/2022981.借鉴面向对象的方法和技术12/21/202298高级数据库技术汤庸叶小平汤娜吉永杰高等教育出版社(课件制作中山大学叶小平胡苏)12/24/202299高级数据库技术汤庸叶小平汤娜吉永杰12/21/202第1章绪论

1.1数据库系统基本概念1.1.1数据库系统数据库系统(DatabaseSystem,DBS)是指一个计算机存储记录信息的系统,即:●DBS首先是一个计算机系统。●该系统的目标是存储数据信息并支持用户检索和更新所需要的数据信息。12/24/2022100第1章绪论

1.1数据库系统基本概念12/21/202在人们的使用当中,DBS通常有下述两种含义。●DBS的个体含义:指一个具体的数据库管理系统软件和它建立起来的数据库。●DBS的学科含义:指研究、开发、建立、维护和应用数据库系统所涉及的理论、方法和技术所构成的科学领域。在这一含义下,数据库系统是软件研究领域的一个重要的分支,常称为数据库领域。本书中DBS正是基于这种学科含义的。12/24/2022101在人们的使用当中,DBS通常有下述两种含义。12/21/20数据库系统由数据库、数据库管理系统、支持数据库运行的软、硬件环境以及用户相互独立而又相互联系的四部分组成。12/24/2022102数据库系统由数据库、数据库管理系统、支持数据库运行的软、硬件(1)数据库数据库可以看作是一个电子文件柜,它是基于计算机系统的持久性数据的“仓库”或者“容器”。是一个长期存储在计算机内、有组织的和可共享的数据集合。其特点是集中了各种应用的数据,并对其进行统一的构造与存储,同一数据库可以为不同的应用服务。12/24/2022103(1)数据库12/21/20225(2)数据库管理系统(DBMS)数据库是一个多级系统结构,需要一组软件提供相应的工具进行数据的管理和控制,以达到保证数据的安全性和一致性的基本要求。这样一组软件就是数据库管理系统(DatabaseManagementSystem,DBMS)。它具有数据组织定义、数据操作与查询优化、数据控制及数据维护、数据管理以及提供各种接口等功能。12/24/2022104(2)数据库管理系统(DBMS)12/21/20226(3)支持数据库系统的硬件/软件平台●硬件平台数据库系统中的硬件平台可以有狭义和广义之分。狭义硬件平台是指数据存储和数据处理所必不可少的硬件设施广义硬件平台是指具有广泛应用和较强功能的硬件设施12/24/2022105(3)支持数据库系统的硬件/软件平台12/21/20227●软件平台操作系统数据库系统开发工具接口软件12/24/2022106●软件平台12/21/20228(4)用户一般认为,存在着三类数据库用户

●第一类用户:应用程序员●第二类用户:最终用户●第三类用户:数据库管理员12/24/2022107(4)用户12/21/202291.1.2数据库体系结构

在实际应用当中,DBS的种类很多,它们可以支持不同的数据模型,使用不同的数据库语言,建立在不同的操作系统之上,数据的存储结构也各不相同,但它们在体系结构上通常都具有相同的特征,即采用三级模式结构(早期微机上的小型数据库系统除外)并提供两级映像功能。掌握数据库的三级结构及其联系与转换应当是深入学习和掌握数据库理论、技术与方法的必由之路。12/24/20221081.1.2数据库体系结构

在实际应用当中,DBS的种类很多模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,其主体就是数据模型,此外,一般还包括允许的各种操作、数据完整性和安全性等方面的控制。模式的一个具体值称为模式的一个实例(Instance)。同一模式可以有很多实例。模式是相对稳定的,而实例是经常变动的;模式反映数据的结构及其联系,而实例反映数据库某一时刻的状态。12/24/2022109模式(Schema)是数据库中全体数据的逻辑结构和特征的描述DBS体系结构分为三层:外模式、概念模式和内模式。1.外模式(1)外模式概念外模式(ExternalSchema),也称用户模式(User’sSchema)或子模式(Subschema)。外模式就是用户所看到的数据视图,它最接近用户,是用户和数据库系统的接口,是用户给出的对数据的描述。12/24/2022110DBS体系结构分为三层:外模式、概念模式和内模式。12/21(2)外模式的不惟一性不同的用户由于需求的不同,看待数据的方式也会不同,对数据的保密要求及使用的程序设计语言也会不同,从而不同用户的外模式的描述方式一般是互不相同的。12/24/2022111(2)外模式的不惟一性12/21/202213(3)外模式DDL在一般的DBMS中都提供相关的外模式描述语言(外模式DDL)。外模式DDL在嵌入形式下和用户选用的程序设计语言具有相容的语法格式。例如在PowerBuild中使用外模式DDL必须符合PowerBuild的语法要求。12/24/2022112(3)外模式DDL12/21/2022142.概念模式(1)概念模式概念模式(ConceptualSchema),也称公共逻辑模式或逻辑模式,它是介于内模式和外模式之间的层次,与结构数据模型对应。概念模式是数据库系统中全局数据逻辑结构和特征的描述,是全体用户的公共数据视图,这种描述是一种抽象描述,不涉及具体硬件平台与软件环境。12/24/20221132.概念模式12/21/202215(2)概念模式DDLDBMS提供概念模式的DDL语言——概念DDL来严格定义概念模式。定义模式时不仅要定义数据的逻辑结构,而且还要定义数据之间的联系,定义与数据有关的安全性和完整性要求。12/24/2022114(2)概念模式DDL12/21/2022163.内模式(1)内模式概念内模式(InternalSchema)也称为存储模式(StorageSchema)或物理模式(PhysicalSchema),是数据库物理结构和存储方式的描述,即数据库的“内部视图”。内部视图是整个数据库的底层表示,它由内部记录型中各个类型的值组成。12/24/20221153.内模式12/21/202217(2)内模式不深入到设备级内模式虽然称为物理模式,但它的物理性质主要表现在操作系统级和文件级上,本身并不深入到设备级上(如磁盘及磁盘操作),内部视图仍然不是物理层,它不涉及物理记录的形式,例如物理块或页,也不考虑具体设备的柱面与磁道大小。12/24/2022116(2)内模式不深入到设备级12/21/202218(3)内模式DDLDBMS一般提供相关的内模式描述语言(内模式DDL)来严格定义内模式。当前,许多DBMS产品基本上都可以自动完成内模式的大部分定义工作,几乎不需要用户介入。当用户使用内模式DDL定义模式的同时,通常DBMS也就自动完成了相应的内模式的定义工作。12/24/2022117(3)内模式DDL12/21/2022194.三种模式的关系在数据库系统体系结构当中,内模式处于最低层,它最接近于反映数据在计算机物理结构中的实际存储形式;概念模式处于中层,它反映了设计者的数据全局逻辑要求;而外模式处于最外层,它反映了用户对数据的实际要求。12/24/20221184.三种模式的关系12/21/202220在关系系统当中,一般成立:概念模式一定是关系的,在该层可见的实体是关系的表和关系的操作符。外部视图也是关系的或接近是关系的。内模式不是关系的,因为该层的实体不是关系表的照搬。事实上,不管是什么系统,其内模式都是一样的(如存储记录、指针、索引、哈希表等),关系模式与内模式无关。12/24/2022119在关系系统当中,一般成立:12/21/2022211.1.3数据库二级映射

数据库系统体系结构三级模式实质上是对数据的3个级别抽象,它的基本意义在于将DBS中数据的具体物理实现留给物理模式,使得用户与全局设计者不必关心数据库的具体实现与物理背景。为了能够保证在数据库系统内部实现这3个抽象层次的联系和转换,还必须在这3个模式之间提供两个(两级)映射,这就是概念模式/内模式映射和外模式/概念模式映射。12/24/20221201.1.3数据库二级映射

数据库系统体系结构三级模式实质上1.概念模式/内模式映射该映射定义了概念视图和数据库的对应关系,它说明了概念记录和字段在内部层次怎样表示。如果数据库的存储结构发生改变,即变动了存储结构的定义,概念模式/内模式映射也必须进行相应的改变,以保证概念模式能够保持不变(这是数据库管理员的工作)。12/24/20221211.概念模式/内模式映射12/21/2022232.外模式/概念模式映射该映射定义了特定的外部视图和概念视图之间的对应关系。一般而言,这两层之间存在的差异与概念模式和内模式之间的差异类似。12/24/20221222.外模式/概念模式映射12/21/20222412/24/202212312/21/2022251.2数据模型

数据模型(datamodel)是一种抽象模型。数据是现实世界中事物及其特征的抽象,数据模型则是数据特征的抽象。事物个体特征通过各个事物个体之间的相互关系表现出来,数据模型从本质上来说,是数据间相互联系或者说约束条件的描述。数据模型正是从一般抽象的层面上模拟和描述了数据库系统的静态特征、动态行为和约束条件。12/24/20221241.2数据模型

数据模型(datamodel)是一种抽象1.2.1概念数据模型

概念数据模型(ConceptualDataModel)也称为信息模型。概念数据模型的实质是面向用户的模型,它是用户所容易理解的现实世界特征的数据抽象,其基本特征是按用户观点对数据和信息进行建模,与具体DBMS无关。概念数据模型作为数据库设计员与用户之间进行交流的语言,服务于数据库设计的应用目的。12/24/20221251.2.1概念数据模型

概念数据模型(Conceptual概念数据模型经过转换就可以变为DBMS支持的逻辑数据模型,进而在DBMS中得以实现。最常用和最著名的概念模型是实体-联系(E-R)模型,简称E-R模型。E-R模型的图示形式就称为E-R图。E-R图提供了用图形表示实体型、属性和联系的方法12/24/2022126概念数据模型经过转换就可以变为DBMS支持的逻辑数据模型,进实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。12/24/2022127实体型:用矩形表示,矩形框内写明实体名。12/21/20221.2.2结构数据模型

结构数据模型(StructureDataModel)又称为逻辑数据模型(LogicDataModel),它是既面向用户又面向系统的数据模型,其特征是按计算机系统观点对数据和信息进行建模,服务于DBMS的应用实现。12/24/20221281.2.2结构数据模型

结构数据模型(StructureD一般来说,结构数据模型是严格定义的一组概念的集合,主要由数据结构、数据操作和完整性约束3部分组成,通常称为数据模型3要素。12/24/2022129一般来说,结构数据模型是严格定义的一组概念的集合,主要由数据1。数据结构数据结构用于描述系统的静态特性,研究与数据类型、内容、性质有关的对象,例如关系模型中的域、属性、关系等。一般认为,数据结构是计算机数据组织方式和数据之间联系的框架描述,而数据文件中的数据就按照这种框架描述进行组织。12/24/20221301。数据结构12/21/2022322。数据操作数据操作是指对数据库中各种对象的实例(或取值)所允许执行的操作的集合,其中包括操作方法及相应操作规则,它是对数据库动态特性的描述。在数据库中,数据操作主要有数据查询和数据更新(插入、删除和修改)两大类。12/24/20221312。数据操作12/21/2022333。完整性约束数据的约束条件是一组完整性规则(约束条件)的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。12/24/20221323。完整性约束12/21/2022341.2.3层次模型

1.层次模型的基本结构层次模型用树形结构来表示各类实体以及实体间的联系。每个结点表示一个记录类型,结点之间的连线表示记录类型间的联系,这种联系只能是父子联系。每个记录类型可包含若干个字段,这里,记录类型描述的是实体,字段描述实体的属性。12/24/20221331.2.3层次模型

1.层次模型的基本结构12/21/20任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。限制:只有一个结点没有双亲结点,称之为根结点根以外的其它结点有且只有一个双亲结点这就使得层次数据库系统只能处理一对多的实体关系。12/24/2022134任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义2.多对多联系在层次模型中的表示用层次模型表示多对多联系,必须首先将其分解成一对多联系。分解方法有两种:冗余结点法和虚拟结点法。12/24/20221352.多对多联系在层次模型中的表示12/21/202237系号系名系主任名系室号室名室主任课程号课程名学时数任课教员教研室课程姓名年龄职称办公室专长教员12/24/2022136系号系名系主任名系室号室名室主任课程号课程名学时数任课教员教层次数据模型的操纵与完整性约束层次数据模型的操纵主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次模型的完整性约束条件。进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。进行更新操作时,应更新所有相应记录,以保证数据的一致性。12/24/2022137层次数据模型的操纵与完整性约束12/21/2022391.2.4网状模型

网状数据模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种联系(称之为复合联系)。12/24/20221381.2.4网状模型

网状数据模型是一种比层次模型更具普遍性的网状模型概念建立在连通有向图基础之上,它满足以下两个条件:模型中允许一个以上的结点无双亲。模型中一个结点可以有多于一个的双亲。12/24/2022139网状模型概念建立在连通有向图基础之上,它满足以下两个条件:1两个结点之间具有两种以上联系工人设备工人与设备12/24/2022140工人设备工人与设备12/21/202242一对多的网状模型学号姓名系别课程号学分课程名学号课程号成绩学生选课课程12/24/2022141学号姓名系别课程号学分课程名学号课程号成绩学生选课课12/2网状模型的数据操作与数据约束网状数据模型不像层次模型那样具有严格的完整性约束条件,但网状模型在模式DDL中提供了定义网状数据库完整性的若干概念和语句,主要有:。12/24/2022142网状模型的数据操作与数据约束12/21/202244支持记录键的概念,而键(key)是唯一标识记录的数据项集合。保证一个联系中双亲记录和子女记录之间是一对多联系。支持双亲记录和子女记录之间的某些约束条件,例如在例1-4中,当插入一条选课记录时,只有数据库中存在该学生及其课程时,系统才认为是合法操作12/24/2022143支持记录键的概念,而键(key)是唯一标识记录的数据项集合。网状模型的优缺点网状模型的主要优点能够更为直接地描述现实世界。具有良好的性能和较高的存取效率。网状模型的主要缺点结构比较复杂,不利于最终用户掌握。其DDL和DML语言复杂,用户不易使用。12/24/2022144网状模型的优缺点12/21/2022461.2.5关系模型

关系模型的数据结构关系模型是用二维表格表示实体集的结构数据模型,其数据结构具有下述特征:在关系模型中,基本的数据结构是表格,表格由行和列组成。表格简单直观,用户只需要用简单的查询语句就能够对关系数据进行操作,不需涉及数据的存储结构、访问技术等细节。12/24/20221451.2.5关系模型

关系模型的数据结构12/21/20224关系模型与层次和网状模型等非关系模型的根本区别在于关系模型是用“键”而不是用指针导航数据,记录之间联系通过表格中的键实现。由于表格可以看作一个集合,同时表格中的行又可以看作一个命题,因此集合论与数理逻辑的理论与方法就能够引入到关系模型中来,关系模型就成为一种数学化的模型。12/24/2022146关系模型与层次和网状模型等非关系模型的根本区别在于关系模型是关系模型的数据操作关系模型的数据操作主要包括查询和更新(插入、删除和更新)两类。关系数据操作具有两个显著特点:关系数据操作是集合操作,即数据操作的对象和操作结果均为若干元组的集合(关系);而在非关系数据操作中,操作对象和结果一般而言都是单个记录。关系模型将操作中存取路径向用户屏蔽起来,用户只要说明“干什么”而不必关注“怎样干”,大大提高数据独立性和用户进行数据操作的效率。12/24/2022147关系模型的数据操作12/21/202249关系模型的数据约束对关系模型中的数据操作必须满足关系完整性约束条件,这些约束条件可以分为3类:实体完整性、参照完整性和用户定义的完整性。12/24/2022148关系模型的数据约束12/21/202250关系模型的优缺点关系模型的优点关系模型是规范化的,建立在严格的数学与逻辑基础之上。关系模型的数据结构简单清晰,用户易懂易用,这主要是由于实体和实体间联系表现为关系,数据操作的对象和所得到的结果都是关系,关系模型涉及到的概念单一明了。关系模型存储路径对用户透明,具有更好的数据独立性和安全保密性。12/24/2022149关系模型的优缺点12/21/202251关系模型的不足之处由于关系模型中数据存储路径对用户“透明”,随之带来数据查询效率往往不及非关系模型,为了提高关系数据的查询性能,必须对用户的查询请求进行必要的优化,从而增加了开发数据库管理系统的负担。12/24/2022150关系模型的不足之处12/21/2022521.2.6面向对象模型

面向对象模型(Object-orientedModel)是近几年来迅速崛起并得到很大发展的一种数据模型,该模型在吸取层次、网状和关系等各种模型优点并借鉴了面向对象的设计方法,可以表达上述几种模型难以处理的许多复杂数据结构。例如,对于非传统的数据领域中CAD、工程领域和多媒体等复杂、嵌套递归数据关系等具有极强的表达能力。面向对象数据模型是面向对象概念与数据库技术相结合的产物。12/24/20221511.2.6面向对象模型

面向对象模型(Object-orie面向对象模型能描述复杂的现实世界,具有较强的灵活性、可扩充性和可重用性。应用该模型可以使数据库具有结构清晰、对象具有独立性,便于维护、需求变更时程序与数据库重用率高,修改少等优点。它的动态特性描述、对象标识符、类的普化与特化、类的聚合与分解和消息功能等都比前面介绍的概念模式要好。面向对象模式可以说既可以作为一种概念模型,又可以依据其直接构造结构数据模型。12/24/2022152面向对象模型能描述复杂的现实世界,具有较强的灵活性、可扩充性1.3数据库理论基础

本节简要回顾数据库(主要是关系数据库)中几个重要的基础理论:关系数据库规范化理论、数据库完整性、数据库事务处理、数据索引技术与查询处理。12/24/20221531.3数据库理论基础

本节简要回顾数据库(主要是关系数据库)1.3.1关系数据库规范化

在一个数据库中构造“好的”、“合适”的关系模式,本身涉及一系列的理论与方法,形成了关系数据库的模式设计理论和技术。由于合适的关系模式要符合一定的规范化要求,所以又称其为关系数据库的规范化理论。12/24/20221541.3.1关系数据库规范化

在一个数据库中构造“好的”、“函数依赖设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。12/24/2022155函数依赖12/21/202257函数依赖可以分为3种基本情形:(1)平凡与非平凡函数依赖如果X→Y,但Y不是X的子集,则称X→Y是非平凡函数依赖(NontrivialFunctionalDependence),否则称为平凡函数依赖(TrivialFunctionalDependence)。12/24/2022156函数依赖可以分为3种基本情形:12/21/202258(2)部分与完全函数依赖如果X→Y,但对于X中的任意一个真子集X',都有Y不依赖于X',则称Y完全依赖(FullFunctionalalDependency)于X,否则称为Y不完全依赖于X。如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖(PartialFunctionalDependency)12/24/2022157(2)部分与完全函数依赖12/21/202259(3)传递与直接函数依赖设有两个非平凡函数依赖X→Y和Y→Z,而且X不函数依赖于Y,则称Z传递函数(TransitiveFunctionalDependency)依赖于X。12/24/2022158(3)传递与直接函数依赖12/21/202260范式第一范式—1NF:如果一个关系模式R中每个属性值都是一个不可分解的数据量,则称该关系模式满足第一范式(FirstNormalForm),记为R∈1NF。12/24/2022159范式12/21/202261第二范式—2NF:如果关系模式R(U)∈1NF,并且R(U)中的每一个非主属性完全函数依赖于R(U)的候选键,则称该关系模式R(U)满足第二范式,记为R(U)∈2NF。12/24/2022160第二范式—2NF:如果关系模式R(U)∈1NF,并且R(U)第三范式—3NF:如果关系模式R(U)∈1NF,且R(U)中的每一个非主属性都不传递依赖于R的候选键,则称关系模式R(U)属于第三范式,记为R(U)∈3NF。12/24/2022161第三范式—3NF:如果关系模式R(U)∈1NF,且R(U)中Boyce-Codd范式——BCNF:设关系模式R(U)∈1NF,如果R(U)中每一个属性都不传递依赖于R(U)的候选键,则称关系模式R(U)满足Boyce-Codd范式,简称BC范式,记为R(U)∈BCNF。12/24/2022162Boyce-Codd范式——BCNF:设关系模式R(U)∈1多值依赖与4NF多值依赖设有关系模式R(U),X、Y是属性集U中的两个子集,而r是R(U)中任意给定的一个关系。如果有下述条件成立,则称Y多值依赖(MultivaluedDependency)于X,记为X→→Y:对于关系r在X上的一个确定的值(元组),都有r在Y中一组值(元组的集合)与之对应。Y的这组对应值(元组的集合)与r在属性集Z=U-X-Y中的属性值无关。12/24/2022163多值依赖与4NF12/21/202265第四范式—4NF对于R(U)中的任意两个属性子集X和Y,当X→→Y是非平凡多值依赖时,X必为超键,则称R(U)满足第四范式,记为R(U)∈4NF。12/24/2022164第四范式—4NF12/21/2022661.3.2数据库完整性

通常所讲到的数据库的完整性(Integrity)的基本含义是指数据库的正确性、有效性和相容性,其主要目的是防止错误的数据进入数据库。正确性:正确性是指数据的合法性,例如数值型数据中只能含有数字而不能含有字母。有效性:有效性是指数据是否属于所定义域的有效范围。相容性:相容性是指表示同一事实的两个数据应当一致,不一致即是不相容。12/24/20221651.3.2数据库完整性

通常所讲到的数据库的完整性(InteDBMS必须提供一种功能使得数据库中数据合法,以确保数据的正确性;同时还要避免非法的不符合语义的错误数据的输入和输出,以保证数据的有效性;另外,还要检查先后输入数据是否一致,以保证数据的相容性。检查数据库中数据是否满足规定的条件称为“完整性检查”。数据库中数据应当满足的条件称为“完整性约束条件”,有时也称为完整性规则。12/24/2022166DBMS必须提供一种功能使得数据库中数据合法,以确保数据的正完整性规则关系模型的完整性规则就是对关系的某种约束条件。关系模型中有3类完整性规则,即实体完整性规则、参照完整性规则和用户定义完整性规则。实体完整性规则和参照完整性规则是任何一个关系模型都必须满足的完整性约束条件,被称为关系模型的两个不变性,通常由DBMS自动支持。12/24/2022167完整性规则12/21/202269实体完整性规则(EntityIntegrityRule):当属性A是基本关系R的主属性时,属性A不能取空值。12/24/2022168实体完整性规则(EntityIntegrityRule)参照完整性规则(ReferenceIntegrityRule):如果属性或属性组F是基本关系R的外键,它与基本关系S的主键Ks相对应(这里R和S不一定是两个不同的关系),则对于R中每个元组在F上的取值应当满足:或者取空值,即F的每个属性值均为空值。或者等于S中某个元组的主键值。12/24/2022169参照完整性规则(ReferenceIntegrityRu用户完整性规则(UserdefinedIntegrityRule):它针对一个具体的应用环境,反映其涉及到数据的一个必须满足的特定的语义要求。用户完整性规则的要点是针对数据环境由用户具体设置规则,它反映了具体应用中数据的语义要求。12/24/2022170用户完整性规则(UserdefinedIntegrity1.3.3数据库的事务处理

所谓事务(Transaction),就是构成单一逻辑工作单元的操作集合。例如,一条或一组SQL语句构成一个事务,运行过程中整个程序也是一个事务。事务的根本特征是集中了数据库应用方面的若干操作,这些操作构成了一个操作序列,序列中的操作要么全做,要么全不做,整个序列是一个不可分割的操作单位。12/24/20221711.3.3数据库的事务处理

所谓事务(Transaction1.3.1事务的ACID性质

DBMS在数据管理过程中需要保证事务的“并发执行”,也要保证事务本身的有效性,同时还要有相应的措施进行数据库故障恢复,这样就必须采取必要措施来分别维持事务的一些重要特性。在事务处理过程中,事务必须具有的重要特性可以由“ACID”性质刻画,其中ACID是由下述讨论中的4个英文单词的第一个字母组成。12/24/20221721.3.1事务的ACID性质

DBMS在数据管理过程中需要(1)原子性(Atomicity)(2)一致性(Consistency)(3)隔离性(Isolation)(4)持久性(Durability)12/24/2022173(1)原子性(Atomicity)12/21/2022751.3

温馨提示

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

评论

0/150

提交评论