关系数据库基本理论

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章关系数据库基本理论及数据库技术发展概述数据库及其应用本章要点:数据模型:层次模型、网状模型、关系模型关系模型:关系代数、数据完整性、关系规范化数据模型的发展:面向对象数据模型数据库体系结构DBMS基本功能与常用DBMS简介数据库技术发展概述:分布式数据库系统、数据仓库、数据挖掘、XML本章章节结构1关系代数2关系数据库的完整性3关系规范化4数据模型的发展5数据库体系结构6数据库管理系统概述7数据库技术发展应用概述8数据模型概述2.1数据模型概述数据模型是数据库技术中极为重要的组成部分,是DBMS的基础。也是数据库系统开发设计的主要依据。三种重要数据模型•在数据库技术发展过程中有三种重要的数据模型,分别是层次模型、网状模型和关系模型。2.1数据模型概述层次模型是最早的数据模型之一,依据层次模型建立的数据库称为层次型数据库。IBM公司的IMS为层次模型式的DBMS。在ER模型向层次模型转换时,实体型对应于记录型,实体集对应于记录结点。层次模型用树型结构表示记录结点及记录型之间的联系。层次模型特点:有且仅有一个结点无父结点(该结点称为根结点);其它结点有且仅有一个父结点。父结点与子结点间是1:n的联系方式。2.1数据模型概述依据网状模型建立的数据库称为网状型数据库,DBTG系统是网状模型的代表。在网状模型中也用记录结点表示实体集。与层次模型不同的是,网状模型用图表示记录结点及记录型之间的联系,没有层次模型中对结点间联系的限制。其特点是:可有一个以上结点无父结点;至少有一个结点有多于一个以上的父结点。2.1数据模型概述关系数据模型是目前最为重要和普遍使用的数据模型。关系模型产生于1970年,经过多年的实践和发展,其理论已日臻完善。在关系模型中表示实体以及实体之间的联系,只用关系一种方式,结构简单,操作方便。2.1数据模型概述数据结构规定数据的存储和表示方式。在关系模型中只有关系这一种结构。数据操作指对数据的运算和操作。在关系模型中有关系代数和关系谓词演算。关系代数与关系谓词演算在功能上是等价的。数据约束指对关系中存放的数据进行限制和约束,以保证存放数据的正确性和一致性。在关系模型中包括实体完整性规则、参照完整性规则和用户定义的完整性规则。数据模型三要素完整描述一个数据模型包括三个要素,即:数据结构、数据操作和数据约束。2.2关系代数一个关系是一张二维表。通常,一个数据库中会包括若干个有关联的表。在数据库中,关系是数据分散和静态的存放形式,各关系中的数据经常要进行操作。对关系的操作称为关系运算。由于关系是元组的集合,所以集合的并、交、差、笛卡儿积等运算也适用于关系。此外,关系还可以进行选择、投影和连接运算。这些运算总称为关系代数。2.2关系代数要求参与运算的关系必须满足以下的两个条件:①关系的度数相同(即属性个数相同);②对应属性取自相同的域(即两个关系的属性构成相同)。在实用时,这两项条件可以理解为参与运算的关系具有相同的关系模式。关系的并、交、差运算12.2关系代数并:设有关系R、S满足上述条件,定义R与S的并(Union)运算:求出由出现在R或出现在S中所有元组(去掉重复元组)的集合组成的关系。记作R∪S。交:设有关系R、S满足上述条件,定义R与S的交(Intersection)运算:求出由同时出现在R中和S中的相同元组的集合组成的关系。记作R∩S。差:设有关系R、S满足上述条件,定义R与S的差(Difference)运算:求出由只出现在R中而未在S中出现的元组的集合组成的关系。记作R-S。2.2关系代数已知R,S关系如表2-1、表2-2所示,则R∪S,R∩S,R-S的结果见表2-3、表2-4、表2-5。运算结果示例2.2关系代数设有关系R(A1,A2,…,An),S(X1,X2,…,Xm)关系笛卡儿积(CartesianProduct)运算记为R×S,运算结果关系的模式是:(A1,A2,…,An,X1,X2,…,Xm)结果关系的元组由R的所有元组与S的所有元组两两互相配对拼接而成。若R的基数为M1,S的基数为M2,则R×S基数为M1×M2。关系的笛卡尔积22.2关系代数已知R,S关系如表2-6、表2-7所示,则R×S结果见表2-8。2.2关系代数2.2关系代数关系的选择(Selection)运算是从一个关系中选取满足条件的元组组成结果关系。这个运算只有一个运算对象,运算的结果和原关系具有相同的关系模式。表示方法是:σ条件表达式(关系名)在选择运算的条件表达式中,条件的基本表示方法是:属性θ值。选择32.2关系代数对于关系R(表2-10),求σA=“a1”ANDB=1(R)。结果见表2-11。2.2关系代数投影(Project)运算是在给定关系中指定若干属性(列)组成一个新关系。结果关系的属性由投影运算式指定,元组是由原关系中的元组去掉没有指定的属性的分量值后剩下的值组成。由于去掉了一些属性,结果中可能出现相同元组,投影运算要去掉结果关系中重复的元组,所以结果关系的元组可能少于原关系。表示方法:π(属性表)(关系名)运算式中的(属性表)即是投影运算指定的要保留的属性。投影4对于关系R(表2-12),求πA,C(R)。结果见表2-13。2.2关系代数2.2关系代数连接(Join)运算是根据给定的连接条件将两个关系中的所有元组一一进行比较,符合连接条件的元组(使连接条件式为True)组成结果关系。结果关系包括两个关系的所有属性。表示方法:关系1关系2连接条件的基本表示方法是:关系1属性θ关系2属性。连接52.2关系代数由于一个关系中不允许属性名相同,所以在结果关系中针对相同的属性,在其前面加上原关系名前缀“关系名.”。在连接条件中使用“=”进行相等比较,这样的连接称为等值连接。2.2关系代数对于关系R(表2-14),S(表2-15),求:结果见表2-16。2.2关系代数与一般的连接相比,自然连接有两个特点:⑴.自然连接是将两个关系中相同的属性进行相等比较;⑵.结果关系中去掉重复的属性。自然连接运算无须写出连接条件,其表示方法是:关系1关系2自然连接62.2关系代数对于关系R(表2-14),S(表2-15),求:RS。结果见表2-17。2.2关系代数关系代数归纳关系的并、交、差、笛卡儿积、选择、投影、一般连接和自然连接,合在一起称为关系代数。关系代数以关系为运算对象,其结果也是关系。在实际运用时根据情况将上述各种运算混合在一起使用,用括号来确定运算顺序。关系代数奠定了关系数据模型的操作基础。其中,投影、选择和连接是关系操作的核心运算。在各种关系型DBMS中,都通过不同的方式实现了关系代数的所有运算功能(主要是SQL)。2.3关系数据库的完整性数据库系统通过各种方式来保证数据的正确性和相容性。数据的相容性也叫一致性,是指存放在不同关系中的同一个数据必须是一致的。在数据库输入和存放数据时,最主要的是要满足三类数据完整性约束规则:实体完整性、参照完整性、用户定义的完整性。2.3关系数据库的完整性在关系中,如果定义了主键,则指定主键的属性值,就能够确定唯一的元组。实体完整性规则:定义了主键的关系中,不允许任何元组的主键属性值为空值。因为关系中的一个元组对应实体联系模型中的一个实体,所以实体完整性规则保证数据库中关系的每个元组(即实体)都是可以区分的。实体完整性12.3关系数据库的完整性参照完整性规则:关系S的主键作为外键出现在关系R中,它在R中的取值只能符合两种情形之一:或者为空值(Null);或者在关系S的主键中存在对应的值。这里,关系R称为参照关系,关系S称为被参照关系。R和S也可以是同一个关系。这一规则也叫引用完整性规则,它用来防止对不存在的数据的引用。参照完整性22.3关系数据库的完整性用户定义的完整性规则:用户根据实际需要对数据库中的数据或者数据间的相互关系可以定义约束条件,所有这些约束构成了用户定义的完整性规则。在用户定义的完整性规则中,比较重要的一种称为域完整性约束:用户对于关系中单个属性取值范围定义的约束条件。关系中每一列属性的取值范围即域(在数据库实现时,域对应数据类型的概念),在实际的数据取值时,可对取值范围做进一步的明确和限制。用户定义完整性32.3关系数据库的完整性关系DBMS都提供了完整性约束的实现机制,Access就提供了自动实现上述完整性的检验功能。在数据库中定义表时,通过定义表的主键自动实现实体完整性约束;通过定义外键和指定参照表自动进行参照完整性检验;在定义每个字段时指定域检验的条件(数据类型、宽度、一个逻辑表达式的检验等),实现域完整性约束。2.4关系规范化将一个系统中的所有数据根据情况存放在不同的关系中,这是关系规范化的要求,即使这些数据是相互关联的。关系规范化理论是数据库设计的指导理论。在关系规范化理论中,将关系划分为不同的规范层级,并对每一级别规定了不同的判别标准。用来衡量这些层级的概念叫范式(NF:NormalForm)。2.4关系规范化关系中不同的属性具有不同的特性。关系属性间的相互关系是由数据的内在性质所决定的。函数依赖反映了属性之间的相互关系。关系中的函数依赖定义是:设有关系S,X、Y是S上的两个属性或属性组,如果对于X的每一个取值,都有唯一一个确定的Y值与之对应,则称属性(组)X函数决定属性(组)Y,或称属性(组)Y函数依赖于属性(组)X,记为:X→Y。这里,X是函数依赖的左部,称为决定因素,Y是函数依赖的右部,称为依赖因素。属性间函数依赖12.4关系规范化平凡的函数依赖:对于关系S中任意的属性或属性组X,如果有X’X(X’是X的子集,或者X’就是X本身),X→X’都成立。其它函数依赖称为非平凡的函数依赖。函数依赖分为部分依赖、完全依赖和传递依赖。部分函数依赖:若X→Y,且Y可由X中的部分属性决定,则称Y部分函数依赖于X。完全函数依赖:若X→Y,且Y不可由X中任意的部分属性决定,则称Y完全函数依赖于X。传递函数依赖:若X→Y,Y→Z,则X→Z成立,这种函数依赖被称为传递的函数依赖。2.4关系规范化关系候选键,指能识别关系中每个元组的属性或属性组。候选键可定义如下:给定关系S,全体属性集合U,X是U的子集。在S中若X→U成立,且没有任何X的真子集X’使X’→U成立,则称X是S的候选键。一个关系中候选键可以不止一个。一个关系中所有候选键的属性称为关系的主属性,其它的属性为非主属性。候选键的定义22.4关系规范化规范化理论用范式来表示关系规范的级别。大多数实际应用要求达到第三范式。用1NF、2NF、3NF分别代表第一、第二、第三范式。1NF定义:如果一个关系R(U)的所有属性都是不可分的原子属性,则R∈1NF。2NF定义:若关系R∈1NF,并且在R中不存在非主属性对候选键的部分函数依赖,即它的每一个非主属性都完全函数依赖于候选键,则R∈2NF。3NF定义:若关系R∈2NF,并且在R中不存在非主属性对候选键的传递的函数依赖,则R∈3NF。范式定义32.4关系规范化①数据冗余度大、修改不便。②数据插入异常。在关系中发生应该存入的数据而不能存入,称为数据插入异常。③数据删除异常。在关系中删除无意义的数据导致有意义的数据被删除,称为数据删除异常。低范式关系缺陷42.4关系规范化关系规范化就是通过消去关系中的部分和传递函数依赖,来提高关系的范式层级。要使关系从1NF变为2NF,就要消去1NF关系中非主属性对候选键的部分函数依赖,从2NF变为3NF,要消去关系中非主属性对候选键的传递函数依赖。低范式关系要成为高范式的关系,通过投影运算分解。数据模型的发展第一代数据模型即层次模型和网状模型,第二代数据模型是关系数据模型。关系模型有坚实理论基础,结构简单,使用方便,应用广泛,成为数据库技术的主流。2.5数据模型的发展①基本数据类型不能满足需要。②数据结构简单。关系模型要求设计符合规范化要求的关系,无复杂的

1 / 55
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功