数据库原理及应用第2章关系数据库系统结构_第1页
数据库原理及应用第2章关系数据库系统结构_第2页
数据库原理及应用第2章关系数据库系统结构_第3页
数据库原理及应用第2章关系数据库系统结构_第4页
数据库原理及应用第2章关系数据库系统结构_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

2020/5/31,数据库技术及应用,1,第2章关系数据库系统结构,关系模型的数据模式关系代数关系的完整性规则关系数据库的规范化数据库存储技术,2020/5/31,数据库技术及应用,2,关系数据库系统的特点,简单明了的数据模型。具有严禁的理论基础。实体表示方法和实体之间联系的表示方法一致。处理多对多的联系方便。使用的关系数据语言功能强大。,2020/5/31,数据库技术及应用,3,关系模型的数据模式,关系数据结构关系操作和关系数据语言,2020/5/31,数据库技术及应用,4,关系模型的数据模式,关系数据库系统是支持关系模型的数据库系统。关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系模型的数据结构非常单一,在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。关系模型允许定义三类完整性约束:实体完整性、参照完整性、和用户定义的完整性。,2020/5/31,数据库技术及应用,5,关系数据结构,关系模型的数据结构很单一,就是关系,它是建立在集合代数基础上的。在关系数据库中,关系模型是型,关系是值,关系模式是对关系的描述。,2020/5/31,数据库技术及应用,6,术语,关系。一个关系实质上是一张二维表,每个关系有一个关系名。在计算机里,一个关系存储为一个文件。元组。表中的行称为元组,每一行为一个元组,对应存储文件中的一个记录值。属性。表中的列称为属性,每一列有一个属性名,属性值相当于记录中的数据项或者字段值。域。属性的取值范围称为域,即不同元组对同一个属性的取值所限定的范围,或称为属性的值域。每一个属性都对应一个值域,不同的属性也可以有相同的值域。,2020/5/31,数据库技术及应用,7,术语,关系模式。对关系的描述称为关系模式,一个关系模式对应一个关系文件的结构。其格式为:关系名(属性名1,属性名2,属性名n)。笛卡儿积。设一组域D1,D2,Dn(n2),允许有相同的域,这一组域D1,D2,Dn的笛卡儿积为:D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n,其中每一个元素(d1,d2,dn)叫作一个n元组或简称元组,元组中的每一个值di叫作一个分量。,2020/5/31,数据库技术及应用,8,关系中的键,主键:关系有一个重要的性质,即在任何关系中,不能有两个完全相同的元组。确定了主键的值,就能唯一地确定一个元组。主键可以为单个属性,也可以为属性的组合。候选键:凡是在一个关系中具有主键特性的属性或属性组,均称为候选键。因为它们都具有被选为主键的条件,所以一个关系可能有多个候选键,但只能选其中一个为主键。外键:当关系中的某个或某些属性由另一个关系的主键构成时,则该属性或属性组称为外键。,2020/5/31,数据库技术及应用,9,关系的性质,任意两个元组(两个行)不能完全相同。关系中元组(行)的次序是不重要的,可以任意交换。属性(列)的次序也是不重要的,可以任意交换。同一列中的分量,必须来自同一个域,是同类型的数据。属性必须有不同的名称,但不同的属性可以出自相同的域,即它们的分量可以取值于同一个域。每一个分量必须是原子的,即是不可再分的数据项。,2020/5/31,数据库技术及应用,10,关系操作,关系模型中常用的关系操作包括:选择、投影、连接、除、并、交、差等查询操作和增加、删除、修改操作两大部分。查询的表达能力是其中最主要的部分。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。,2020/5/31,数据库技术及应用,11,关系数据语言,数据库操作语言包括查询和增加、删除、修改两大部分功能。查询的表达方式是数据操纵语言中最主要的部分。关系的数据操纵语言按照表达查询的方式可以分为两大类。用对关系的运算来表达查询的方式称为关系代数。用谓词来表达查询要求的方式称为关系演算。,2020/5/31,数据库技术及应用,12,关系代数,传统的集合运算专门的关系运算,2020/5/31,数据库技术及应用,13,关系代数,关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的。任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。所以运算对象、运算符、运算结果是运算的三大要素。关系代数的运算对象是关系,运算结果亦为关系。关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符。,2020/5/31,数据库技术及应用,14,关系代数运算符,2020/5/31,数据库技术及应用,15,传统的集合运算,传统的集合运算是二目运算,包括并、差、交、广义笛卡儿积四种运算。当并、差、交用于关系运算时,参加运算的关系必须是相容的和可并的,即它们应有相同的目n(即两个关系都有n个属性),且相应的属性值来自同一个域。两个分别为n目和m目关系R和S的广义笛卡儿积是一个(n+m)目的关系,关系中的每一个元组的前n列是关系R中的一个元组,后m列是关系S中的一个元组。,2020/5/31,数据库技术及应用,16,专门的关系运算,专门的关系运算,包括选择、投影、连接和除。选择是一种单目运算,操作对象仅有一个关系,其作用是在关系的水平方向上选取符合给定条件的子集。投影是一种单目运算,其作用为在关系的垂直方向上选取含有给定属性的子集。连接是一种二目运算,即操作对象有两个关系,其作用是按照给定的条件,把两个关系中的所有元组按一切可能的组合方式拼接起来。除是一种二目运算,用文字表示为:。,2020/5/31,数据库技术及应用,17,关系的完整性规则,数据完整性由完整性规则来定义,关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。,2020/5/31,数据库技术及应用,18,实体完整性,实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。实体完整性规则是对关系中的主属性值的约束,规定关系中的元组在组成主键的属性上不能有空值。基本关系的所有主属性都不能取空值,而不仅是主键整体不能取空值。,2020/5/31,数据库技术及应用,19,实体完整性规则的说明,实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。现实世界中的实体是可区分的,即它们具有某种唯一性标识。相应地,关系模型中以主键作为唯一性标识。主键中的属性即主属性不能取空值。,2020/5/31,数据库技术及应用,20,参照完整性,参照完整性规则:若属性(属性组)F是关系R的外键,它与关系S的主键Ks相对应(关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主键值。,2020/5/31,数据库技术及应用,21,用户定义的完整性,用户定义的完整性是针对某一具体关系数据库的约束条件。这是针对某一具体数据的约束条件,由应用环境决定。它反映某一具体应用所涉及的数据必须满足的语义要求。用户定义的完整性通常是定义对关系中除主键与外键属性之外的其他属性取值的约束,即对其他属性的值域的约束。,2020/5/31,数据库技术及应用,22,关系完整性的操作,当执行插入操作时,首先检查实体完整性规则,插入行在主键属性上的值,是否已经存在。当执行删除操作时,一般只需要检查参照完整性规则。当执行更新操作时,先执行删除操作,再执行插入操作,即上述两种情况的结合。,2020/5/31,数据库技术及应用,23,关系数据库的规范化,数据库逻辑设计的一个有力工具就是关系数据库的规范化。规范化就是一系列规则,用于检验数据库逻辑设计的正确性,它可以帮助用户避免一些不完善的数据库设计存在的问题。,2020/5/31,数据库技术及应用,24,不完善的关系模式,数据冗余信息内容有限不一致的数据更新异常(不一致性的危险)插入异常删除异常,2020/5/31,数据库技术及应用,25,函数依赖,函数依赖是最重要的数据依赖,类似于变量之间的单值函数关系。函数依赖XY的定义为:对于X的每一个具体值,Y有唯一的具体值与之对应,则称Y函数依赖于X,或X函数决定Y,X称做决定因素。,2020/5/31,数据库技术及应用,26,部分函数依赖,设XY是关系模式的一个函数依赖,如果存在X的真子集X,使得XY成立,则称Y部分依赖于X,否则,称Y完全依赖于X。,2020/5/31,数据库技术及应用,27,传递函数依赖,在同一关系模式中,如果存在非平凡的函数依赖XY,YZ,而不存在YX,则称Z传递依赖于X。,2020/5/31,数据库技术及应用,28,关系数据库的规范化,关系数据库的规范化主要有三种标准的规范化规则。如果一个数据库设计符合第n个规则(n=1,2,3),就称它满足第n范式。或者说,关系模式要满足一定的条件,不同程度的条件称做不同的范式。,2020/5/31,数据库技术及应用,29,第1范式,第1范式(1NF)每个属性值都是不可再分的最小数据单位。关系模式的最低要求的规则是元组的每个分量必须是不可分的数据项,这叫做第1范式,简称1NF,是最基本的规范化。,2020/5/31,数据库技术及应用,30,第2范式,第2范式(2NF)非主属性不部分依赖于关系的主键。在第1范式的基础上进一步增加一些规则,则为第2范式。其定义为:在第1范式基础上,关系的每一个非主属性完全依赖于主键。第2范式就是不允许关系模式的属性之间有这样的函数依赖XY,其中X是键的真子集,Y是非主属性。即不允许有非主属性对健的部分函数依赖。,2020/5/31,数据库技术及应用,31,第3范式,第3范式(3NF)属性不依赖于关系的非主属性。在第2范式的基础上,每一个非主属性都不传递依赖于键,则为第3范式。第3范式就是不允许关系模式的属性之间有这样的非平凡函数依赖XY,其中X不包含键,Y是非主属性。X不包含键有两种情况,一种情况X是键的真子集,这是第2范式所不允许的,另一种情况X不是键的真子集,这是第3范式所不允许的。,2020/5/31,数据库技术及应用,32,BCNF范式,Boyce-Codd(BCNF)范式所有属性都不传递依赖于关系的任何候选键。BCNF是3NF的进一步规范化,即限制条件更严格。其定义为:如果关系模式的所有属性都不传递依赖于关系的任何候选键,则称关系属于BCNF范式。,2020/5/31,数据库技术及应用,33,数据库存储技术,物理存储介质记录的存储结构文件组织,2020/5/31,数据库技术及应用,34,物理存储介质,内存一般不能用来存储持久数据;另外,内存储器存储单位数据的成本要比辅助存储器高得多。在当前技术条件下,采用多级存储器是不可避免的。目前,用得最多的辅助存储器是磁盘。磁盘上的数据划分为大小相等的物理块。每个物理块间须留有间隙,以便在磁盘初始化时写入控制信息,用以识别和选择后续的物理块。磁盘和内存交换数据也是以物理块为单位的,即每次访问磁盘,至少存取一个物理块。,2020/5/31,数据库技术及应用,35,记录的物理表示,定位法:每个字段按其最大可能长度分配固定长的位置,数据从左向右填入,多余的部分添以空格符。相对法:各个字段不是分配固定长的空间,而是用特殊的字符分开,例如用?或%隔开。用此法表示的记录是变长的。计数法:在每个字段的开始,加上一个定长的字段,表示该字段的长度。,2020/5/31,数据库技术及应用,36,记录的分配,连续分配法:将一个文件的块分配在磁盘的连续空间上,块的次序也就是它们存储的次序。链接分配法:物理块不一定分配在磁盘上的连续区域,各物理块用指针链接。聚簇(簇集)分配法:这是上面两种方法的结合,把文件分为若干聚簇。所谓聚簇是物理上邻接的若干物理块,聚簇以指针链接。索引分配法:每个文件有一个逻辑块号与其物理块地址对照的索引。通过索引,可以查看文件中任一块的地址。,2020/5/31,数据库技术及应用,37,数据压缩技术,消零或空格符法:数据中常常出现一串零或空格符,可用一个特殊符号和一个表示零或空格个数的数字表示。串型代替法:对于反复出现的字符串可用一个省略符代替,在转换时,须查串型表。,2020/5/31,数据库技术及应用,38,文件组织,数据库实现的基础是文件,对数据库的任何操作最终要转化为对文件的操作。所以在数据库物理组织中,基本的问题是如何设计文件组织或者利用操作系统提供的基本的文件组织方法,即如何利用基本的文件组织方法来实现数据库组织。,2020/5/31,数据库技术及应用,39,数据库中需要存储的信息,数据描述。即数据外模式、模式、内模式。数据本身。数据之间的联系。存取路径。,2020/5/31,数据库技术及应用,40,数据字典的组织,数据字典的特点是数据量比较小(与数据本身比较)、使用频繁,因为任何数据库操作都要参照数据字典的内容。数据字典在网状、层次数据库中常常用一个特殊的文件来组织。数据字典按不同的内容在逻辑上组织为若干张表,在物理上就对应若干个文件而不是一个文件。,2020/5/31,数据库技术及应用,41,数据库对文件的要求,DBMS为了实现其功能,

温馨提示

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

评论

0/150

提交评论