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