高级数据库技术第1章-数据库系统及其理论基础课件_第1页
高级数据库技术第1章-数据库系统及其理论基础课件_第2页
高级数据库技术第1章-数据库系统及其理论基础课件_第3页
高级数据库技术第1章-数据库系统及其理论基础课件_第4页
高级数据库技术第1章-数据库系统及其理论基础课件_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

第1章数据库系统及其理论基础

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

●第一类用户:应用程序员●第二类用户:最终用户●第三类用户:数据库管理员..6/6/202381.1.2数据库体系结构

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

数据库系统体系结构三级模式实质上是对数据的3个级别抽象,它的基本意义在于将DBS中数据的具体物理实现留给物理模式,使得用户与全局设计者不必关心数据库的具体实现与物理背景。为了能够保证在数据库系统内部实现这3个抽象层次的联系和转换,还必须在这3个模式之间提供两个(两级)映射,这就是概念模式/内模式映射和外模式/概念模式映射。..6/6/2023211.概念模式/内模式映射该映射定义了概念视图和数据库的对应关系,它说明了概念记录和字段在内部层次怎样表示。如果数据库的存储结构发生改变,即变动了存储结构的定义,概念模式/内模式映射也必须进行相应的改变,以保证概念模式能够保持不变(这是数据库管理员的工作)。..6/6/2023222.外模式/概念模式映射该映射定义了特定的外部视图和概念视图之间的对应关系。一般而言,这两层之间存在的差异与概念模式和内模式之间的差异类似。..6/6/202323..6/6/2023241.2数据模型

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

概念数据模型(ConceptualDataModel)也称为信息模型。概念数据模型的实质是面向用户的模型,它是用户所容易理解的现实世界特征的数据抽象,其基本特征是按用户观点对数据和信息进行建模,与具体DBMS无关。概念数据模型作为数据库设计员与用户之间进行交流的语言,服务于数据库设计的应用目的。..6/6/202326概念数据模型经过转换就可以变为DBMS支持的逻辑数据模型,进而在DBMS中得以实现。最常用和最著名的概念模型是实体-联系(E-R)模型,简称E-R模型。E-R模型的图示形式就称为E-R图。E-R图提供了用图形表示实体型、属性和联系的方法..6/6/202327实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。..6/6/2023281.2.2结构数据模型

结构数据模型(StructureDataModel)又称为逻辑数据模型(LogicDataModel),它是既面向用户又面向系统的数据模型,其特征是按计算机系统观点对数据和信息进行建模,服务于DBMS的应用实现。..6/6/202329一般来说,结构数据模型是严格定义的一组概念的集合,主要由数据结构、数据操作和完整性约束3部分组成,通常称为数据模型3要素。..6/6/2023301.数据结构数据结构用于描述系统的静态特性,研究与数据类型、内容、性质有关的对象,例如关系模型中的域、属性、关系等。一般认为,数据结构是计算机数据组织方式和数据之间联系的框架描述,而数据文件中的数据就按照这种框架描述进行组织。..6/6/2023312.数据操作数据操作是指对数据库中各种对象的实例(或取值)所允许执行的操作的集合,其中包括操作方法及相应操作规则,它是对数据库动态特性的描述。在数据库中,数据操作主要有数据查询和数据更新(插入、删除和修改)两大类。..6/6/2023323.完整性约束数据的约束条件是一组完整性规则(约束条件)的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。..6/6/2023331.2.3层次模型

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

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

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

面向对象模型(Object-orientedModel)是近几年来迅速崛起并得到很大发展的一种数据模型,该模型在吸取层次、网状和关系等各种模型优点并借鉴了面向对象的设计方法,可以表达上述几种模型难以处理的许多复杂数据结构。例如,对于非传统的数据领域中CAD、工程领域和多媒体等复杂、嵌套递归数据关系等具有极强的表达能力。面向对象数据模型是面向对象概念与数据库技术相结合的产物。..6/6/202352面向对象模型能描述复杂的现实世界,具有较强的灵活性、可扩充性和可重用性。应用该模型可以使数据库具有结构清晰、对象具有独立性,便于维护、需求变更时程序与数据库重用率高,修改少等优点。它的动态特性描述、对象标识符、类的普化与特化、类的聚合与分解和消息功能等都比前面介绍的概念模式要好。面向对象模式可以说既可以作为一种概念模型,又可以依据其直接构造结构数据模型。..6/6/2023531.3数据库理论基础

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

在一个数据库中构造“好的”、“合适”的关系模式,本身涉及一系列的理论与方法,形成了关系数据库的模式设计理论和技术。由于合适的关系模式要符合一定的规范化要求,所以又称其为关系数据库的规范化理论。..6/6/202355函数依赖设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。..6/6/202356函数依赖可以分为3种基本情形:(1)平凡与非平凡函数依赖如果X→Y,但Y不是X的子集,则称X→Y是非平凡函数依赖(NontrivialFunctionalDependence),否则称为平凡函数依赖(TrivialFunctionalDependence)。..6/6/202357(2)部分与完全函数依赖如果X→Y,但对于X中的任意一个真子集X',都有Y不依赖于X',则称Y完全依赖(FullFunctionalalDependency)于X,否则称为Y不完全依赖于X。如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖(PartialFunctionalDependency)..6/6/202358(3)传递与直接函数依赖设有两个非平凡函数依赖X→Y和Y→Z,而且X不函数依赖于Y,则称Z传递函数(TransitiveFunctionalDependency)依赖于X。..6/6/202359范式第一范式—1NF:如果一个关系模式R中每个属性值都是一个不可分解的数据量,则称该关系模式满足第一范式(FirstNormalForm),记为R∈1NF。..6/6/202360第二范式—2NF:如果关系模式R(U)∈1NF,并且R(U)中的每一个非主属性完全函数依赖于R(U)的候选键,则称该关系模式R(U)满足第二范式,记为R(U)∈2NF。..6/6/202361第三范式—3NF:如果关系模式R(U)∈1NF,且R(U)中的每一个非主属性都不传递依赖于R的候选键,则称关系模式R(U)属于第三范式,记为R(U)∈3NF。..6/6/202362Boyce-Codd范式——BCNF:设关系模式R(U)∈1NF,如果R(U)中每一个属性都不传递依赖于R(U)的候选键,则称关系模式R(U)满足Boyce-Codd范式,简称BC范式,记为R(U)∈BCNF。..6/6/202363多值依赖与4NF多值依赖设有关系模式R(U),X、Y是属性集U中的两个子集,而r是R(U)中任意给定的一个关系。如果有下述条件成立,则称Y多值依赖(MultivaluedDependency)于X,记为X→→Y:对于关系r在X上的一个确定的值(元组),都有r在Y中一组值(元组的集合)与之对应。Y的这组对应值(元组的集合)与r在属性集Z=U-X-Y中的属性值无关。..6/6/202364第四范式—4NF对于R(U)中的任意两个属性子集X和Y,当X→→Y是非平凡多值依赖时,X必为超键,则称R(U)满足第四范式,记为R(U)∈4NF。..6/6/2023651.3.2数据库完整性

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

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

温馨提示

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

评论

0/150

提交评论