vfp课件—关系数据库理论.ppt_第1页
vfp课件—关系数据库理论.ppt_第2页
vfp课件—关系数据库理论.ppt_第3页
vfp课件—关系数据库理论.ppt_第4页
vfp课件—关系数据库理论.ppt_第5页
已阅读5页,还剩17页未读, 继续免费阅读

下载本文档

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

文档简介

1、数据库原理与应用教程,第6章 关系数据库理论,6.1 函数依赖 6.2 关系规范化 6.3 关系模式的分解准则,6.1 函数依赖,定义:如果有一个关系模式R(A1,A2,An),X 和Y为A1,A2,An的子集,那么对于关系R中的任意一个X值,都只有一个Y 值与之对应,则称X函数决定Y,或Y函数依赖于X。 例:Student(Sno, SName, Sdept, Sage) SnoSName, SnoSdept, SnoSage 例: SC(Sno, Cno, Grade) (Sno, Cno)Grade,一些术语和符号,1. 如果XY,但Y不包含于X,则称XY是非平凡的函数依赖。如不作特别说

2、明,我们总是讨论非平凡函数依赖。 2. 如果Y不函数依赖于X,则记作X/Y。 3. 如果XY,则称X为决定因子。 4. 如果XY,并且YX,则记作XY。,一些术语和符号(续),5. 如果XY,并且对于X的一个任意真子集X 都有X /Y,则称Y完全函数依赖于X,记作:,6.如果XY(非平凡函数依赖,并且Y/X)、YZ,则称Z传递函数依赖于X。,如果XY成立,则称Y部分函数依赖于X,记作:,示例,例1:有关系模式:SC(Sno,Sname,Cno,Credit,Grade) 则函数依赖关系有: SnoSname (Sno, Cno) Sname (Sno, Cno) Grade,示例,例2:有关系

3、模式:S(Sno,Sname,Dept,Dept_master) 函数依赖关系有: Sno,由于:Sno Dept ,Dept Dept_master 所以有:Sno Dept_master,Sname,为什么要讨论函数依赖,存在问题,数据冗余问题 数据更新问题 数据插入问题 数据删除问题,6.2 关系规范化,6.2.1 关系模式中的码 6.2.2 范式,6.2.1 关系模式中的码,1候选码:设K为R (U,F)中的属性或属性组,若K fU,则K为R候选码。(K为决定R全部属性值的最小属性组)。 主码:关系R (U,F)中可能有多个候选码,则选其中一个作为主码。 全码:候选码为整个属性组。 主

4、属性与非主属性: 在R (U,F)中,包含在任一候选码中的属性称为主属性,不包含在任一候选码中的属性称为非主属性,示例,例:SC(SNO,CNO,Grade) 候选码:(SNO,CNO),也为主码 主属性:SNO,CNO,非主属性:Grade 例:教师_课程(教师号,课程号,授课学年) 语义:一个教师在一个学年可以讲授多门课程,而且一门课程在一个学年也可以由多个教师讲授,同一个学年可开始多门课程。 候选码:(教师号,课程号,授课学年) 称这样的表为全码表,6.2.1 关系模式中的码(续),外码:用于关系表之间建立关联的属性(组)。 定义:若R(U,F)的属性(组)X(X属于U)是另一个关系S的

5、主码,则称X为R的外码。,6.2.2 范式,关系数据库中的关系要满足一定的要求,满足不同程度要求的为不不同的范式。,第一范式,第一范式:不包含重复组的关系。,第二范式,2.第二范式:如果R(U,F)1NF,并且R中的每个非主属性都完全函数依赖于主码,则R(U,F)2NF 例: S-L-C(Sno,Sdept,SLOC,Cno,Grade) 有:Sno P SLOC,不是2NF。,分解办法,首先,对于组成主码的属性集合的每一个子集,用它作为主码构成一个表。 然后,将依赖于这些主码的属性放置到相应的表中。 最后,去掉只由主码的子集构成的表。,分解示例,对于S-L-C表,首先分解为如下形式的三张表:

6、 S-L(Sno,)C(Cno,) S-C(Sno, Cno,) 然后,将依赖于这些主码的属性放置到相应的表中 S-L(Sno,Sdept, Sloc) C(Cno) S-C(Sno, Cno, Grade) 最后,去掉只由主码的子集构成的表,最终分解为: S-L(Sno,Sdept, Sloc) S-C(Sno, Cno, Grade),S-L(Sno,Sdept, Sloc)存在问题,数据冗余 :有多少个学生就有多少个重复的Sdept和SLOC; 插入异常:当新建一个系时,若还没有招收学生,则无法插入;,第三范式,定义:如果R(U,F)2NF,并且所有非主属性都不传递依赖于主码,则R(U,F)3NF。 对S-L(Sno,Sdept,SLOC) Sno传递SLOC, 不是3NF,分解过程,对于不是候选码的每个决定因子,从表中删去依赖于它的所有属性; 新建一个表,新表中包含在原表中所有依赖于该决定因子的属性; 将决定因子作为新表的主码。 S-L分解后的关系模式为: S-D(Sno, Sdept) S-L(Sdept, Sloc),总结,3NF消除了很大一部分数据冗余和更新异常,在通常的数据库设计中,一般要求达到3NF即可。 规范化的过程是通过把范式程度低的关系模式分解为若干个范式程度高的

温馨提示

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

评论

0/150

提交评论