数据库管理第三章.ppt_第1页
数据库管理第三章.ppt_第2页
数据库管理第三章.ppt_第3页
数据库管理第三章.ppt_第4页
数据库管理第三章.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库系统基础,第1,3章关系数据库设计理论,1,规范化问题2,函数依赖关系3,关系范式,数据库系统基础,2,3.1规范化问题,数据库相关数据集合。这不仅包括数据本身,还包括数据之间的连接,即数据模型等。提供了适当的数据模型组织方法、关系数据库中必须由多个关系模式组成的数据集以及每个关系模式中包含的属性。这是数据库逻辑设计中需要解决的问题。基于数据库系统,3,关系数据库设计理论主要包括数据依赖、范式、模式设计方法三个茄子方面。不适当的关系模式可能会有以下问题:删除更新重复数据消除异常插入异常。基于数据库系统,4,如:设置与教师职务的关系模式教师职务(职员编号、姓名、职称、地址、系统编号、科系名

2、称、地址、课程编号、课程名称、教育级别、学分)详细信息请参阅下表(关系)基于数据库系统,7,每当教师开设一个课程,教师的职称、地址等信息就会反复存储。一般来说,所有教师都开设几门茄子,数据重复是不可避免的。一个系里有很多教师,表的数据冗余度很大。(重复数据消除)、基于数据库系统、8、重复存储数据会导致更新出现问题。如果三个科目的教师更改地址,则所有三个元组的地址都必须更新,如果修改了一个元组的地址,则可能会发生数据不匹配。一个部门更改办公室地址会导致更多要修改的数据杨怡。(更新以上),以数据库系统为基础,9,如果学校新调一名教师,暂时做任何课程基调。新教师不能插入到牙齿表中,因为缺少关键字的一

3、部分,关键字不允许空值。他开课程后才能插入是不合理的。(插入例外),基于数据库系统,10,与插入例外不同,如果一些教师致力于科学研究,不承担教育任务,就要从当前数据库中删除相关记录。那么,关于牙齿教师的其他信息将无法记载,这也是非常不合理的现象。(删除异常)、基于数据库系统、11、插入、删除或修改元组时发生的不需要的异常情况是由于关系模式设计不正确而引起的。用以下四个茄子关系模式替换其中一个原始关系模式,将基本解决上述四个茄子方面。数据库系统基础,12,教师(职工编号,姓名,职称,地址,系)科系(系,诫命,系地址)课程(课程编号,课程名称,学分)讲座(职工编号,课程编号)必要时进行自然联接,将

4、恢复原始关系模式。基于数据库系统,依赖13,3.2函数,现实世界的事物徐璐连接,徐璐受到限制。牙齿连接分为两类茄子,一类是实体和实体之间的连接。另一个类别是实体内属性之间的连接。在概念模型和数据模型中讨论了实体之间的联系,用数据模型描述了概念模型。函数依赖是讨论属性之间的连接。基于数据库系统的、14、1、属性之间的连接实体内部属性之间的互连、属性之间的连接也分为三个茄子类别。一对一连接一对多连接、基于数据库系统、15、在关系模式下,属性值之间的这种相互依赖、相互约束的连接称为数据依赖。数据依赖类型有两种主要茄子类型:函数依赖和多值依赖。、基于数据库系统、16、2、函数依赖函数依赖反映了实体内部

5、属性之间的联系,是关系模式分解的指导和依据。函数依赖项完整的函数依赖项传递依赖项,基于数据库系统,17,1。定义函数从属关系:特性集的全集A1、A2、An、R(U)是特性集U的关系模式。x,y是u的子集。R(U)的所有引用关系R牙齿X的每个引用都有唯一的Y引用,则Y函数从属X或X函数确定Y、X Y、X称为决定性因素。基于数据库系统,18,实例1:关系模型R(职工编号,基本工资,奖金),职工编号是唯一的基本工资金额或奖金金额,即一个人不能获得两个茄子工资或奖金,但是几个人的工资可以相同。基于数据库系统,19,设置属性A对应于职工编号,属性B对应于底薪,属性C对应于奖金,每个A的值对应于B的值和C

6、的值。因此,属性b和c都函数依赖属性a。如果基本工资39000牙齿等于两个职工编号051和054,则用符号AB,AC表示。基于数据库系统,20,2。完全从属定义: X Y是关系模式R(U)的函数从属。如果x的实际子集x存在,则XY成立。Y部分依赖X,写为X Y。否则,Y完全从属于X,并写为X Y。根据定义,当X是单个属性时,X没有实际子集,因此,如果是XY,则为X Y。基于数据库系统,21,示例:关系模式选择牙齿SCl(S#,C#,GRADE,CREDIT)。其中S#代表学编号,C#代表课程编号,GRADE代表成绩,CREDIT代表学分,因为在牙齿选择关系模型中,一个学生可能有多个课程,一个课

7、程有多个学生选择科目,所以S#或C#都不能单独确定GRADE。成绩只能由属性组合(S#,C#)决定。课程学分学分是C#决定,c CREDIT。因此,定义(S#,c #)grade(s #,c#)credit、S #,c#,grade、credit、基于数据库系统,22,3条件XY,并强调Y X的必要性。如果x,Y相互依赖实际上处于同等位置,则XZ是直接函数依赖连接,而不是传递依赖。基于数据库系统,23,例如,关系模式设置S1(S#、SNAME、D#、DNAME、LOCATION)每个属性分别表示学号、名称、相应的部门和系统地址。存在函数从属关系。S# D#、D# S#、D# LOCATION传

8、播从属关系的定义表明这是S# LOCATION牙齿传播从属关系。事实上,部分依赖必须是传递依赖。在上例中,SCl(S#,C#,GRADE,CEDIT) (S#,C#) C#,C# (S#,C#),C# CREDIT依赖于传播从属关系(在候选关键字定义:关系模式R(U)中,K是U的属性或属性组。如果是K U,则k称为关系R(U)的候选关键字。如果R(U)有多个候选关键字,请选择其中一个作为主键。如果k是属性组,则可以将其称为组合关键字或复合关键字。基于数据库系统,25,包含在候选关键字之一中的属性,称为主属性。候选关键字中未包含的属性称为非主属性。候选关键字有两个茄子特性,即标识的唯一性。也就是

9、说,对于R(U)中的每个元组,一旦确定了K的值,就相应地确定了相应的元组。没有冗馀:如果K是属性组,则K的任何部分都不能唯一标识该元组。这是定义中完全函数依赖的意义。基于数据库系统,26,例如,在学生选择关系模式SC(S#,C#,GRADE,CREDIT)中,属性组(S#,C#)是候选关键字和主关键字。S#,C#是主属性。GRADE,CREDIT是非主属性。基于数据库系统,27,在极端情况下,使用关系模式的完整属性组U作为关键字,称为完整关键字。牙齿时,关系没有非主属性。例如:歌曲关系模型YC(P,W,A),属性P表示演奏者,W表示作品,A表示听众。假设一个演奏者可以演奏多部作品,一部作品可以

10、由多个演奏者演奏。听众也可以欣赏其他作品,牙齿关系模式的代码是(P,W,A),即整个关键字。基于数据库系统,28,2。在外部关键字定义:关系模式R(U)中,如果属性或属性组X不是关系模式R的关键字,但X是其他关系模式的关键字,则X被称为关系模式R(U)的外部关键字。主关键字和外部关键字是表示关系模式之间连接的手段。基于数据库系统,29,如选修课关系数据库,三种茄子关系模式:学生S(S#,SNAME,SEX,ADDRESS),其中S#是主关键字。课程C(C#,CNAME,CREDIT),其中C#是主关键字。选课SC(S#,C#,GRADE),其中(S#,C#)是主关键字,S#和C#分别是外部关键

11、字。学生和课程之间的多对多连接体现在选修课中,三种茄子关系模式之间的关联通过SC的外部关键字S#,C#实现。基于数据库系统,30,3.3关系范式,范式,模式分解标准。规格化:通过模式分解转换为多个高级范式关系模式集合的低级范式关系模式。牙齿过程称为规范化。在关系数据库设计中,关系模式不能任意设置,必须满足特定的规范化要求。关系模式满足称为特定范式关系模式的指定约束。满足不同级别的要求构成了不同的范式级别。数据库系统基础、31和关系模式包括以下范式类型:第一个范式(1NF)第二个范式(2NF)第三个范式(3NF),数据库系统基础,32,1,第一个范式(1NF)定义:关系模式RlNF。非1NF关系

12、模式称为非规范化关系模式。基于数据库系统,33,例如,将下表指定为1NF,基于数据库系统,34,2,辅助范式(2NF)例如,关系模式SCl(S#,C#,GRADE,CREDIT)、基于数据库系统、35、基于数据库系统、36、插入、删除或修改元组时发生的上述异常类似于牙齿章节开头分析的示例。在牙齿情况下,这是因为关系模式中的非主属性credit函数依赖组合关键字(S#,C#)credit,而不是组合关键字(S#,c#)的一部分。基于数据库系统,37,定义:关系模式R(U)的所有非主属性完全函数依赖候选关键字时,关系模式R被记录为第二范式R2NF。要规范化上述非2NF SCl以满足2NF的关系模式

13、,必须删除部分从属关系。SCl(S#,C#,GRADE),C2(C#,CREDIT),基于数据库系统,38,3,3次范式(3NF)例如,关系模式,但是由于系统的冗馀值随着学生的增长而增加,因此仍然有很多插入、删除或修改元组时,也会抛出类似示例3的异常。分析原因,因为关系模式具有传递从属S#LOCATION,(S#D#,D#S#,D#LOCATION)牙齿。基于数据库系统,39,定义:关系模式R(U)的所有非主属性如果与候选关键字没有传递相关性,则关系模式称为满足第三范式。以R3NF格式记录。基于数据库系统,40,投影分解,将S1分成以下两个茄子关系模式,然后满足3NF要求。切记,S(S#,SN

14、AME,D#)、D(D#,DNAME,LOCATION)在投影时渡边杏在S中遗漏外键D#。否则,两个关系模式之间的连接将断开,不能通过自然联接恢复原始关系模式,基于数据库系统、41、部分依赖必须是传递依赖,因此关系模式没有传递依赖,就不能有部分依赖。也就是说,满足3NF的关系模式必须满足2NF。,基于数据库系统,42,将一个关系模式分解为多个关系模式,使分解具有意义,至少需要分解后不丢失原始信息。牙齿信息包括数据本身,以及由函数从属关系表示的数据之间的相互约束。因此,分解的目标是实现更高水平的标准化,但在分解的同时,必须考虑两个茄子问题:元损失连接性和函数依赖性的维护。无损分解所需的充分条件是

15、RlR2R1-R2或R1R2R2-R1、基于数据库系统、43、5、规范化摘要规范化过程从关系模型中逐步消除不适当的数据依赖过程,从而在一定程度上分离模型中的每个关系模式。基于数据库系统,44,1NF郑智薰主属性删除部分函数依赖于关键字2NF郑智薰主属性删除关键字的传递函数依赖于3NF,基于数据库系统,45,例如教师任命和(教师编号,教师姓名,职称,教师地址,系统,系统名称,系统名称,系统名称,系统名称TC(T#,C#,LEVEL)关键字为(T#,C#) TD(T#,TNAME,ADDR,D#,DC)。为了移除传递从属关系,TD附加投影也分解为两种茄子关系模式。T(T#,TNAME,ADDR,D#)关键字T# D(D#,DNAME,LOC)关键字D#,数据库系统基础D#)关键字T# D(D#,D规范的本质是概念单一化。基于数据库系统,51,方法:将关系模式投影分解为两个或多个关系模式。要求:分解的

温馨提示

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

评论

0/150

提交评论