722第六章 关系数据理论2.ppt
《722第六章 关系数据理论2.ppt》由会员分享,可在线阅读,更多相关《722第六章 关系数据理论2.ppt(39页珍藏版)》请在三一办公上搜索。
1、第六章 关系数据理论2,复习上节课内容,关系模型概念回顾关系、关系模型、关系数据库、定义关系模式中可能存在的异常(示例)数据冗余、插入异常、删除异常、更新复杂关系模式中存在异常的原因数据依赖(定义、分类)、函数依赖关系模式的规范化函数依赖(平凡、非平凡、完全、部分、传递函数依赖),例:模式R(Sno,Sname,Sdept,Mname,Cno,Cname,Grade),根据其语义,有如下函数依赖关系:语义1:每个学生只会有一个学号;SnoSname语义2:系与学生是一对多的关系;SnoSdept语义3:系与系主任是一对一的关系;SdeptMname语义4:每门课程只有一个课程号;CnoCnam
2、e语义5:每个学生学习每门课程有一个成绩;(Sno,Cno)FGrade可推出:Sno 传递 Mname省略部分函数依赖:如(Sno,Cno)PSname等,本次课内容,关系模式相关定义关系模式规范化1NF2NF3NFBCNF,一、关系模式相关定义,定义6.4:设K为R(U,F)中的属性或属性组合。若K F U,则K称为R的侯选码(Candidate Key);若候选码多于一个,则选定其中的一个做为主码(Primary Key);主属性与非主属性包含在任何一个候选码中的属性,称为主属性(Prime attribute)不包含在任何码中的属性称为非主属性(Nonprime attribute)或
3、非码属性(Non-key attribute)最简单情况:一个属性是码;最极端情况:整个属性组是码,也称全码(ALL-KEY);,定义6.5:关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码;如在SC(Sno,Cno,Grade)中,Sno不是码,但Sno是关系模式S(Sno,Sdept,Sage)的码,则Sno是关系模式SC的外部码;主码与外部码一起提供了表示关系间联系的手段。,二、关系模式规范化,关系模式的好与坏,用什么标准衡量?这个标准就是模式的范式(Normal Forms,简记为NF);范式是符合某
4、一种级别的关系模式的集合;范式的种类与数据依赖有着直接的联系,基于FD的范式有1NF、2NF、3NF、BCNF等多种。某一关系模式R为第n范式,可简记为RnNF。,各范式之间的关系,如果一个关系满足某个范式要求,则它也会满足较其级别低的所有范式的要求。一个低一级范式的关系模式,通过模式分解(投影运算)可以转化为若干个高一级范式的关系模式的集合,这个过程叫做规范化;用几个简单的关系去取代原来结构复杂的关系的过程叫做关系规范化。规范化理论是围绕着范式建立的。,关系规范化目的:使结构合理,使数据冗余尽量小,减少插入,删除和更新异常;方法:将关系模式投影分解成多个关系模式,但关系模式的分解不是唯一的;
5、要求:分解后的关系模式集合应当与原关系模式“等价”,既具有无损连接性,又保持函数依赖特性”.,1)第一范式1NF,第一范式(1NF)当且仅当一个关系R中,每一个分量都是不可再分的数据项时,R1NF;要求属性是原子的;第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库;但是满足第一范式的关系模式并不一定是一个好的关系模式。,2)第二范式2NF,定义6.6 若R1NF,且每一个非主属性完全函数依赖于码,则R2NF;例1:判断关系模式S-L-C(Sno,Sdept,Sloc,Cno,Grade)是否满足2NF,其中Sloc为学生住处,假设每个系的学生住在同一个地方;第一
6、步:判断S-L-C是否为第一范式;第二步:确定候选码(sno,cno);第二步:确定所有函数依赖有:snosdept,sno sloc,(sno,cno)Psdept,(sno,cno)Psloc,(sno,cno)FGrade;得出结论:和2NF定义相违背,故S-L-C不是2NF;,例2.判断关系模式 sc(sno,sname,cno,grade)是否满足2NF;第一步:判断sc是否为第一范式;第二步:确定候选码(sno,cno);第三步:确定所有函数依赖有:snosname,(sno,cno)P sname,(sno,cno)Fgrade;得出结论:和2NF定义相违背,故sc不是2NF;,
7、一个关系模式不是2NF,就会产生以下问题(S-L-C):(1)插入异常:假设Sno95102,SdeptIS,SlocN的学生还未选课,因课程号是主属性,因此该学生的信息无法插入SLC。(2)删除异常:假定某个学生本来只选修了3号课程这一门课。现在因其他原因,3号课程也不选修了。因课程号是主属性,此操作将导致该学生信息的整个元组都要删除。(3)数据冗余度大:如果一个学生选修了10门课程,那么他的Sdept和Sloc值就要重复存储了10次。,(4)修改复杂:例如学生转系,在修改此学生元组的Sdept值的同时,还可能需要修改住处(Sloc)。如果这个学生选修了K门课,则必须无遗漏地修改K个元组中全
8、部Sdept、Sloc信息。原因:非主属性Sdept、Sloc部分函数依赖于码。解决方法:S-L-C分解为两个关系模式,以消除这些部分函数依赖;SC(Sno,Cno,Grade)S-L(Sno,Sdept,Sloc),分解成2NF模式集的方法:投影分解法S-L-C函数依赖图为:SC(Sno,Cno,Grade)和S-L(Sno,Sdept,Sloc),例2.分解关系模式 sc(sno,sname,cno,grade)为2NF;函数依赖图为:可分解为:,模式S(sno,sname)模式SC(sno,cno,grade),采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一定程度上减轻
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 722第六章 关系数据理论2 722 第六 关系 数据 理论

链接地址:https://www.31ppt.com/p-5613116.html