计算机等级考试四级数据库技术复习笔记2.docx

上传人:b****5 文档编号:8564976 上传时间:2023-01-31 格式:DOCX 页数:29 大小:39.75KB
下载 相关 举报
计算机等级考试四级数据库技术复习笔记2.docx_第1页
第1页 / 共29页
计算机等级考试四级数据库技术复习笔记2.docx_第2页
第2页 / 共29页
计算机等级考试四级数据库技术复习笔记2.docx_第3页
第3页 / 共29页
计算机等级考试四级数据库技术复习笔记2.docx_第4页
第4页 / 共29页
计算机等级考试四级数据库技术复习笔记2.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

计算机等级考试四级数据库技术复习笔记2.docx

《计算机等级考试四级数据库技术复习笔记2.docx》由会员分享,可在线阅读,更多相关《计算机等级考试四级数据库技术复习笔记2.docx(29页珍藏版)》请在冰豆网上搜索。

计算机等级考试四级数据库技术复习笔记2.docx

计算机等级考试四级数据库技术复习笔记2

2011年计算机等级考试四级数据库技术复习笔记(5)

  第五章关系数据库逻辑设计

  5.1概述

  5.2基本概念

  5.2.1关系模型

  1、关系模型采用一个二维表格在计算机中组织、存储、处理和管理数据。

  

(1)关系名(数据库名):

由字母数字组成;

  

(2)属性名;

  (3)关系模式和关系:

描述模式描述关系的静态结构,由模式名、关系模式所包含的属性及属性值所满足的条件组成模式定义。

  (4)元组:

描述关系中的行;

  (5)域:

它定义关系的每个属性取值的类型;

  (6)主码:

能够惟一标识关系中每一个元组的属性或属性组;

  (7)关系的数学定义:

关系模式是建立在集合集论的基础上的,用数学的概念定义关系有;

  (A)定义一:

域是值的集合,同一个域中的值具有相同的数据类型;

  (B)定义二:

  (C)定义三:

  (D)当关系引用了属性名后关系具有以下属性:

  [1]不能有重复的元组;

  [2]元组上下无序;

  [3]按属性名引用时属性左右无序;

  [4]所有属性值都是原子项(不可再分);

  (8)总结:

关系是一张二维表,表中的一行被称为一个元组,一列称为属性,由一组域值组成。

关系是元组的集合,关系中的每个元组在数学上被定义为这个关系所涉及的全部域值中笛卡儿积的一个元素。

  5.2.2关系数据库

  1、关系数据库是按照二维表组织和存储的相互关联的关系的集合,关系数据库模式是关系模式的集合;

  5.2.3关系的完整性

  1、关系的完整性(完整性约束):

是对关系的某种约束规则和关系满足的定义。

通常这组约束规则用来限定和检查数据库所含实例的合法性和正确性;

  2、完整性约束分静态和动态两种,静态完整性约束是基于关系模式的,主要有主码、外码约束和域约束组成;动态完整性约束是基于企业的业务规则的。

  3、静态完整性约束规则:

  

(1)主码约束:

主码必须满足:

  (A)惟一性:

在一个关系中不存在两个元组,它们具有相同的主码值;

  (B)最小性:

不存在从组成主码的属性集中去掉一个属性,还仍能保持数据的惟一性;

  

(2)外码约束:

(3)用户定义的完整性:

5.3关系数据库设计理论

  5.3.1问题的提出

  究竟一个关系数据库包含哪些属性是合理的,如何评价一个关系模式设计的优劣?

  5.3.2函数依赖

  函数依理论利用一个关系中属性之间的依赖关系评价和优化关系模式,以保证存储到数据库中的关系具有较好特性;

  1、函数依赖:

  

(1)设R(U)为一关系模式,X和Y为属性全集U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数决定Y”或“Y函数依赖于X”,并记作X

  Y,其中X称为决定因素,因为根据函数依赖定义,给定一个X,就能惟一决定一个Y。

  

(2)这里讨论的函数关系与数学上的不同,是不能计算的,是一个关系中属性之间存在的依赖关系;它是一种语义范畴的概念,只能根据两个属性之间的语义来确定一个函数依赖是否存在。

  2、完全与部分函数依赖:

  

(1)在关系模式R(U)中,如果XàY成立,并且对X的任何真子集X’不能函数决定Y,则称Y对X是完全函数依赖,被记作X---f---àY。

  

(2)若XàY,但Y不完全函数依赖于X,则称Y对X是部分函数依赖,记作X--pàY;

  3、传递函数依赖:

  在关系R(U)模式中,如果X决定Y,(Y不属于X),Y不决定X,Y决定Z,则称Z对X传递函数依赖。

  4、平凡与非平凡函数依赖:

  

(1)若X决定Y,但Y属于X,则称XàY是平凡函数依赖,否则称非平凡函数依赖;

  

(2)即平凡函数依赖,仅当其右边的属性集是左边属性集的子集时成立;

  (3)非平凡函数依赖,仅当其右边的属性集至少有一个属性不属于左边有集合时成立;

  (4)完全非平凡函数依赖:

仅当其右边的属性集中属性都不在左边的集合时成立;

  5、码:

  

(1)在关系模式R(U)中,K为R的属性或属性组,若K函数决定A1.A2….An,则K为关系模式R的候选码,包含在候选码中的属性称为主属性,否则为非主属性;

  

(2)若一个关系的候选码不止一个,则选定其中一个作为关系R的主码;

  (3)关系的码属性除了必须完全函数决定关系的所有其他属性外,还必须满足最小化规则,即在关系模式R(U)中,不存在一个K的真子集能够函数决定R的其他属性。

  6、函数依赖的推理规则:

  

(1)自反律:

若Y(包含于)X(包含于)U,则XàY成立;

  

(2)增广律:

若XàY,且Z(包含于)U,则XZàYZ成立;

  (3)传递律:

若XàY,YàZ,则XàZ成立;

  (4)合并规则:

若XàY,XàZ成立,则XàYZ;

  (5)分解规则:

若XàY和Z(包含于)Y成立,则XàZ也成立;

  (6)伪传递规则:

若XàY,YWàZ,则XWàZ成立;

  7、属性集闭包:

  

(1)设F是属性集U上的函数依赖集,X为U的一个子集,那么对于F,属性集X关于F的闭包(用X+表示)为:

X+={A|XàA}

  

(2)由属性集团包的定义可知,若想判断函数依赖XàY是否成立,只要计算X关于函数依赖集F的闭包,若Y是X闭包中的一个元素则XàY成立;

  8、确定关系的码:

  

(1)利用迭代算法计算X+,步骤如下:

  (A)选X作为闭包X+的初值X(0);

  (B)由X(i)计算X(i+1)时,它是由X(0)并上属性集合A所组成,其中A满足下列条件:

Y(包含于)X(i),且F中存在函数依赖YàZ,而A(包含于)Z。

因为U是有穷的,所以会得到X(i)=X(i+1),此时X(i)为所求的X+。

  5.3.3规范化设计方法

  1、第一范式:

  

(1)定义:

设关系模式R(F,U),如果R的每一个属性都是不可分的数据项,则此关系模式为第一范式;

  

(2)一个给定关系和第一范式(1NF)的区别:

  (A)一个关系中的数据按照行和列的形式组织,每个元组具有相同数目的属性个数,且每一个元组的属性值具有统一的数据类型和长度;元组或属性的排列与顺序无关,每个元组必须通过一个属性或属性组惟一识别;

  (B)第一范式实际上对关系增加了一个约束,即关系中元组的每个属性都只取一个值,第一范式是对关系模式的基本要求,不满足第一范式的数据库就不是关系数据库。

  2、第二范式:

  

(1)定义:

若关系模式R(F,U)是1NF,且每个非主属性完全函数依赖于码,则称R为第二范式,即在2NF中不存在非主属性对码的部分依赖;

  

(2)仅满足第一范式关系会存在种种问题,要消除必须用更高级的范式标准来设计,称为标准化;

  (3)具体做法是将大的关系分解成多个小的关系,使分解后的关系满足更高级范式的要求。

  (4)第二范式实际上对关系增加了一个约束,就是关系中的每一个属性必须完全依赖于主码,即在第一范式的基础上,消除非主属性对主码的部分函数依赖可达到2NF;

  3、第三范式:

  

(1)定义:

若关系R(U,F)为第一范式,且不存在非主属性对主码的传递函数依赖,则称R为第三范式;

  

(2)第三范式是在第二范式的基础上对关系又增加了一个约束,就是关系中的每一个非主属性必须只依赖于主码。

即2NF的基础上,消除非主属性对主码的传递函数依赖可达到3NF。

4、改进的第三范式:

  

(1)定义:

如果关系模式R是1NF,且每个属性既不相存在部分函数依赖也不存在传递函数依赖于候选码,则称R是改进的第三范式(BCNF)。

  5、多值依赖与4NF:

  

(1)多值依赖:

表示关系中属性(如A、B、C)之间的依赖,对于A的每个值,都存在一个B或C的值的集合,而且B和C的值相互独立,记为:

AààB、AààC

  

(2)第四范式:

如果关系模式R属于1NF,对于R的每个非平凡的多值依赖XàY(Y不属于X),X含有候选码,则R是第四范式。

即是从BCNF范式中消除主码内的独立依赖集(非平凡多值依赖)可达4NF;

  6、连接依赖与5NF

  

(1)连锁依赖:

设关系模式R,R的属性子集为R1、R2、R3、R4、R5、R6、R7….,当且仅当R的每个合法值等于R1、R2、R3、R4、R5、R6、R7…的投影连接时,称R满足连接依赖;

  

(2)第五范式:

设R是一个满足5NF的关系模式,当且仅当R的每一个非平凡连接依赖都被R的候选码所蕴含,即从4NF中消除非候选码所蕴含的连接依赖为5NF;

  7、总结:

  

(1)范式表达了关系模式满足的条件,也是衡量关系模式设计优劣的标准;

  

(2)利用范式进行规范化设计的目的是消除数据冗余,避免出现异常,使结构更合理;

  (3)规范化设计的基本过程是对关系进行的分解,消除属性间不合理的数据依赖,用一组等价的子关系代替原有的关系;

  (4)数据库规范化的程序越高,其关系表就越多,从而增加了表之间连接运算的代价,影响了数据库的执行速度和性能。

所以通常关系模式规范化工作仅做到3NF,这样既使关系中不合理的属性基本消除,规范化程度也不太高,保证数据库有较好的性能。

  5.4数据库模式设计

  5.4.1初始关系模式的设计

  1、把ER图转换成关系模式:

  

(1)把ER模型中的每个实体集转换成一个同名的关系,实体集的属性就是关系的属性,实体集的码就是关系的码;

  

(2)把ER模型中的每个联系转换成一个关系,与该联系相连的各实体集的码以及联系的属性转换成为关系的属性。

  (A)若联系为1:

1,则每个实体集的码均是该关系的候选码;

  (B)若联系为1:

n,则关系的码为n端实体集的码;

  (C)若联系为m:

n,则关系的码为各实体集码的组合;

  (3)合并具有相同码的关系

  2、检查确认对象:

检查转换后的每个关系名和属性名是否符合数据库设计关于统一命名的约定;

  5.4.2优化关系模式

  1、模式分解原则:

  

(1)分解具有无损连接性:

分解后的关系能够恢复成原来的关系;

  

(2)分解保持函数依赖:

  (A)无损连接和保持函数依赖是用于衡量一个模式分解是否导致原有模式中部分信息丢失的两个标准;

  (B)当一个关系被分解后会出现几种结果,既有无损连接,又能保持函数依赖是较理想的分解结果,意味着在分解的过程中没有丢失原有模式的任何信息;

  (C)一般情况下,分解到3NF就足够了,但在3NF关系下,仍存在一定程度上的更新异常或不一致的隐患,但与数据库性能比较起来是可以忽略的,因为在数据库设计过程中通过增加一些数据约束,就可以解决3NF引起的数据问题了。

  3、优化属性:

确定各字段的类型和长度;

  4、确认模式满足需要:

  5.4.3数据完整性设计

  1、指定义数据库中存储的数据值满足的约束条件,通过对存储的数据值的约束维护关系的完整性。

  2、数据值满足条件分为:

  

(1)域约束:

限制指定列的取值及范围;

  

(2)主码约束:

定义每个关系的主码值不空,且惟一;

  (3)引用完整性约束:

定义不同模式的属性间满足的条件,及一个关系模式中属性间可能满足的条件;

  5.4.4安全模式和外模式的设计

  1、根据选定的DBMS支持的安全控制特征来确定;

  2、根据不同用户对数据库存取特点定义相关的外模式;

2011年计算机等级考试四级数据库技术复习笔记(6)

  第六章存储技术与数据库物理设计

  6.1文件组织

  6.1.1数据库的物理结构

  1、数据库中的应用数据是以文件形式存储在外存上的,文件在逻辑上被组织成记录的序列,即每个DB文件可看作是逻辑记录的集合;

  2、一个文件在磁盘上占有一定的物理存储空间,文件中的每个逻辑记录被映射存储到某个特定的磁盘块上,一个文件在物理上可以看作是由存放文件记录的一系列磁盘块组成,称为物理文件;

  3、文件的逻辑记录与磁盘间的映射关系是由操作系统或DBMS来管理的,当需要对一个文件的逻辑记录进行操作时,先要根据这种映射关系找到该逻辑记录所在的磁盘块,然后再进行操作。

  4、从数据库物理结构角度需要解决如下问题:

  

(1)文件的组织;

  

(2)文件的结构;

  (3)文件的存取;

  (4)索引技术;

  6.1.2文件组织

  1、数据库与文件的对应关系

  

(1)在外存中,数据库以文件形式组织,文件由逻辑记录组成,记录由多个域组成;

  

(2)一个关系数据库包括一张或多张关系表,关系表与文件的对应关系有如下方式:

  (A)每张关系表单独用一个文件来存储,由DBMS通过OS的文件管理功能来管理;

  (B)现代中大型DBMS是由OS直接分配一块大的磁盘空间,DBMS将该磁盘空间作为数据库磁盘文件直接管理,DB的所有关系表都存储在该文件中;

  

(1)关系表在逻辑上由一系列元组组成,元组由多个属性组成,每个元组可以用磁盘文件中的一个逻辑记录来存储,记录包括多个域,对应元组的多个属性;

  2、文件记录格式:

  

(1)数据库文件通常采用两种逻辑记录格式:

定长记录格式和变长记录格式;

  6.2文件结构与存取

  6.2.1堆文件

  1、堆文件也称无序文件,记录随机在存储在文件物理空间是,新插入的记录存储在文件的末尾;

  2、堆文件常常用作存储那些将来使用,但目前不清楚如何使用的记录,为了实现文件记录的有效存取,堆文件经常与附加的存取路径一起使用;

  3、查找操行平均需要搜索(B+1)/2个磁盘块,效率比较低;

  4、插入操作十分简单,先读文件头,找到最末磁盘地址,将最末磁盘块读入内存,将需插入的新记录写入磁盘块的末端,最后将修改过的磁盘块写回磁盘;

  5、删除比较复杂,可以先找到被删除记录所在的磁盘块,读入内存后在内存缓冲区删除记录,最后再写回磁盘;也可以在每个记录的磁盘空间增加一个删除标志位,当需要删除记录时,将标示位置1;

  6.2.2顺序文件

  1、顺序文件按照文件记录在查询码上的取值的大小顺序排列各个记录;

  2、顺序文件的每个记录中有一个指针字段,根据查询码大小用指针将各个记录按序连接起来;

  3、文件建立时,应尽量使记录的物理顺序与查找码的顺序一致,以减少访问磁盘块的次数;

  4、根据查询条件对顺序文件进行查询时,如查询条件定义在查找码上,则使用二分法查找技术快速找到记录,如条件不在查找码上,则必须从头到尾依次扫描磁盘块,与堆文件一致,所以顺序文件的访问效率也不高;

  5、顺序文件插入工作包括定位和插入:

  

(1)定位:

在指针链中找到插入的位置,即插入记录在哪个记录的前面;

  

(2)插入:

如有自由空间,则在该位置插入新记录,如没有自由空间,则只能插入溢出块中,重新调整记录指针链关系,保证记录顺序;

  6.2.3聚集文件

  1、聚集文件是一种具有多种记录类型文件,存储了来自多个关系表的数据,每个关系表对应文件中的一种记录类型;

  2、当数据库中数据量效大时,对数据库查询需要多次访问磁盘文件,严重影响性能指标,为了降低多表操作时的磁盘访问次数,提高多表查询速度,可采用聚集文件;

  3、聚集文件将不同关系表中有关联关系的记录存储在同一磁盘块内,从而减少多表查询时磁盘块的访问次数,提高处理速度;

  6.2.4索引文件

  是一种利用索引技术技术快速文件访问的文件组织和存取方法;

  6.2.4散列文件

  是一种利用散列函数支持快速文件访问的文件组织和存取方法;

6.3索引技术

  6.3.1基本概念

  1、索引技术:

是一种快速文件访问技术,它将一个文件的每个记录在某个或某些域(属性)上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文件记录的机制;它的关键是建立取值域到记录的物理地址刘的映射关系,这种映射关系叫索引;

  2、索引技术分类:

  

(1)有序索引技术:

利用索引文件实现记录域(查找码)取值到记录物理地址间的映射关系,索引文件由索引记录组成,每个记录中记载一个索引项,索引项记录了某个特定的查找码值和具有该值的数据文件记录的物理地址;

  

(2)散列技术:

利用一个散列函数实现记录域取值到记录物理地址间的直接映射关系;

  (3)有序索引:

有序索引作为基于索引文件的索引技术,需要考虑两个问题:

(1)如何组织索引文件中的索引记录;

(2)如何从索引文件出发,访问数据文件中的数据记录;

  (A)当需要采用有序索引机制快速访问数据文件时,首先要为该数据文件建立一个索引文件,它是索引记录和索引项的集合;

  (B)索引文件建立的方法:

首先选定某些记录域作为查找码,然后建立数据记录在查找码上的取值与物理地址间的映射关系,组成索引项。

所有索引项作为索引记录存储在索引文件中,索引文件根据某个特定的查找码值的顺序组织为顺序文件;

  (C)一个数据文件可以有多个查找码和索引文件;

  6.3.2有序索引的分类及特点

  1、聚集索引与非聚集索引

  

(1)对数据文件和它的一个特定的索引文件,如果数据文件中数据记录的排列顺序与索引文件中索引项的排列顺序相一致,则该索引文件称为聚集索引,否则称为非聚集索引;

  

(2)在一个数据文件上除了建立一个聚集索引外,还可建立多个非聚集索引;

  2、稠密索引和稀疏索引

  如果数据文件中的每个查找码都在索引文件中都对应一个索引记录,称为稠密索引,如果只一部分对应,则称为稀疏索引;

  3、主索引和辅索引

  在数据文件包含主码的属性集上建立索引称为主索引,在非主码属性上建立的索引称为辅索引;

  4、单层索引和多层索引

  

(1)单层索引(线性索引):

索引项根据键值在索引文件中顺序排列,组织成一维线性结构,每个索引项直接指向数据文件中的数据记录;

  

(2)当数据文件很大时,即使采用稀疏索引,建成的索引文件也很大,导致效率低下,为解决该问题,可对索引文件中的索引项本身再建立一级稀疏索引,组成2层索引结构;进一步地,可建立多层树型索引结构来快速定位;

  6.4散列技术

  6.4.1散列文件

  1、散列是一种快速查找技术,它利用定义在文件记录上的查找码,通过计算一个散列函数,以散列函数值作为记录的物理地址,实现对文件记录直接快速访问。

  2、首先指定文件记录的一个域作为查找码(散列域),然后定义一个查找码上的函数(散列函数),函数的输入为查找码值,输出为物理地址;

  3、一般使用桶作为基本的存储单位,一个桶可存放多个文件记录,物理地址可以是记录所在的桶号,散列函数的输出可以是桶号;

  6.4.2散列函数

  1、散列方法依赖于好的散列函数,它应该尽可能均匀地将查找码分布到各个桶中,具体要满足如下两个条件:

  

(1)地址的分布是均匀的;

  

(2)地址的分布是随机的;

  6.4.3桶溢出

  1、产生桶溢出的两个原因:

  

(1)文件初始设计时,为文件记录预留的存储空间不足;

  

(2)散列函数的均匀分布性不好;

  2、设计散列函数时,应根据文件大小决定物理空间,一般应有20%余量,再设计合适的桶数目和桶大小,尽可能留有一些空闲桶,降低桶溢出的可能性;

  3、桶溢出的现象是难免的,需要DBS采用相应的桶溢出处理机制;

  4、散列方法的缺点:

为了避免桶溢出。

必须选一合适的散列函数,但这比较复杂,而且不象索引文件那样可以据数据记录变化动态调整。

 6.5数据字典

  1、数据字典(系统目录)中存储了数据库对象的各类描述信息和DBMS所需的控制信息,全称数据库元数据;

  2、数据库对象的各类描述信息:

包括外模式、模式、内模式以及它们之间的映射的描述;

  3、DBMS所需的控制信息:

包括查询优化、安全性检查、用户权限验证等;

  4、数据字典主要包括:

  

(1)关系模式信息;

  

(2)与视图描述有关的信息;

  (3)关系的存储结构和存取方法信息;

  (4)完整性约束信息;

  (5)安全性有关信息;

  (6)数据库运行统计信息;

  6.6数据库物理设计

  6.6.1设计步骤和内容

  1、数据库物理结构设计:

在具体的硬件环境、OS、DBMS约束下,根据数据库逻辑设计结果,设计合适的数据库物理结构。

目标是存储空间占用少、访问效率高和维护代价低;

  2、一旦选定了硬件平台、OS和DBMS,数据库的数据存储和存取方式等可用的物理模式也就随之确定了;

  3、数据库物理设计主要包括以下步骤:

  

(1)数据库逻辑模式调整:

将数据库逻辑模式及其视图转换为DBMS支持的基本表和视图,并利用DBMS提供的完整性机制设计业务规则;

  

(2)文件组织与存取设计:

配置基本表的文件组织形式,据实际情况为基本表设计合适的存取方法和路径;

  (3)数据分布设计:

  (4)安全模式设计:

  (5)确定系统配置:

  (6)物理模式评估:

  6.6.2数据库逻辑模式调整

  1、物理数据库设计首先需要根据数据库逻辑结构信息,设计目标DBMS平台支持的基本表的模式信息,这些模式信息代表了所要开发的具体目标数据库的结构,这个过程称为数据库逻辑模式调整,主要包括如下设计内容:

  

(1)实现目标数据库基本表和视图:

采用目标DBMS所支持的建表方法,设计基本表及其面向模型的完整性约束;

  

(2)设计基本表业务规则;

  6.6.3DB文件组织与存取设计

  1、分析事务的数据访问特性

  

(1)使用事务-基本表交叉引用矩阵,分析系统内数据库事务对各个基本表的访问情况,确定事务访问了哪些基本表,对这些基本表执行了何种操作,并进一步分析各操作涉及到的基本表属性;

  

(2)估计各事务的执行频率;

  (3)对每张基本表,汇总所有作用于该表上的各事务的操作频率信息;

  2、了解并选择数据库文件结构

  

(1)如果数据库中的一个基本表中的数据量很少,并且操作非常频繁,该基本表可采用堆文件组织方式;

  

(2)顺序文件支持基于查找码的顺序访问,也支持快速二分查找;

  (3)如果用户查询是基于散列域值的等值匹配,特别是如果访问顺序是随机的,散列文件比较合适。

但散列文件组织不适合以下情况:

  (A)基于散列值域的非精确查询;

  (B)基于非散列域进行查询时;

  (4)B-树和B+树文件是实际数据库系统中使用非常广泛的索引文件结构,适合于定义在大数据量基本表上、基于查找码的等值查询等;

  (5)如果某此重要而频繁的用户查询经常需要进行多表连接操作,可考虑将这些基本表组织为聚集文件;

  3、设计存取路径:

  

(1)为数据库文件设计合理的物理存储位置;

  

(2)为基本表设计索引机制:

索引可以提高文件存取速度,改善访问性能,但索引由DBMS管理,它的建立、维护需要一定的系统开销,数据的操作会引起索引的重新调整,还占用一定的存储空间,可根据如下原则决定是否为一个基本表建立索引:

  (A)对于经常需要查询、连接、统计操作,且数据量大的基本表可考虑建立索引,而对于经常执行插入、删除、更新操作或

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1