武汉大学数据库系统概论 第十六讲 范式及无损分解.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:37 大小:1.9MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

武汉大学数据库系统概论 第十六讲 范式及无损分解.pdf

武汉大学数据库系统概论第十六讲范式及无损分解.pdf

预览

免费试读已结束,剩余 27 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第十六讲范式及无损分解1本讲主要目标学完本讲后,你应该能够了解:1.第二范式、第三范式、BC范式的定义,以及范式之间的包含关系;2.对于一个关系模式,判断其最高属于第几范式,并使用基本的模式分解方法,将1NF分解为2NF,将2NF分解为3NF;3.分解的无损连接性和保持函数依赖性的概念;4.使用规范化方法设计数据库的逻辑结构时,并不是要使得到的数据库模式都达到最高范式,而是还需要平衡查询效率和更新代价。2一.范式:2NF、3NF和BCNF二.多值依赖三.范式:4NF四.无损分解五.规范化回顾六.其它设计考虑3范式:2NF、3NF和BCNF4范式:2NF、3NF和BCNF1.范式(NormalForms)范式的定义:关系数据库中符合某一级别的关系模式的集合。所谓“第几范式”,是表示关系的某一种级别,R为第几范式就可以写成R∈xNF各范式之间的联系有5NF4NFBCNF3NF2NF1NF并不总是需要达到最高范式5范式:2NF、3NF和BCNF2.实例例,有一个关系模式S-L-C(S#,SD,SL,C#,G),其中S#为学生的学号,SD为学生所在系,SL为学生的住处,并且每个系的学生住在同一个地方,C#为课程号,G为成绩。这里键为(S#,C#)。函数依赖有:FS#→SD,(S#,C#)→G图示S#→SL,PS#SDSD→SL,(S#,C#)→SDGPC#SL(S#,C#)→SL6范式:2NF、3NF和BCNF3.第一范式(INF)第一范式(FirstNormalForm,简写为1NF)——如果一张表不含有多值属性(有时称为重复字段)和内部结构(比如记录类型)的列,则称该表为第一范式关系模式S-L-C(S#,SD,SL,C#,G)∈1NF关系模式S-L-C存在更新异常、插入异常和删除异常7范式:2NF、3NF和BCNF4.第二范式(2NF)第二范式(SecondNormalForm,简称2NF)——若R∈INF,且每一个非主属性完全函数依赖于键,则R∈2NF。S#SDS-L-C:GC#SL分析:存在非主属性对键的部分函数依赖结果:S-L-C∈1NF,但S-L-C∉2NF分解:将S-L-C分解为:S-L(S#,SD,SL),和S-C(S#,C#,G)8范式:2NF、3NF和BCNF4.第二范式(2NF)S-CS-LS#S#SDGC#SL分析:S-C的键为(S#,C#),S-L的键为S#,不存在非主属性对键的部分函数依赖。结果:S-C∈2NF;S-L∈2NFS-C和S-L中消除了1NF问题:中的某些更新异常,但仍然存在更新异常9范式:2NF、3NF和BCNF4.第二范式(2NF)在S-L(S#,SD,SL)和S-C(S#,C#,G)中☆一个学生修很多课程√☆一个系有很多学生,且×同系学生住在一个地方☆一个学生转系√☆一个学生转系×☆插入一个尚未选课的学√生信息☆一个新系创建但新生尚×未注册☆一个学生只选修了一门√课,但现在决定不选了☆一个系所有学生毕业了×结论:2NF可以消除一些1NF中存在的更新异常,但不能彻底消除更新异常10范式:2NF、3NF和BCNF5.第三范式(3NF)第三范式(ThirdNormalForm,简称3NF)——若R∈2NF,且每一个非主属性不传递函数依赖于键,则R∈3NF。S-CS-LS#S#SDGC#SL分析:S-C的键为(S#,C#),不存在非主属性对键的传递函数依赖。S-L的键为S#,存在非主属性对键的传递函数依赖S#→SL。结果:S-C3NF;S-L3NF分解:将S-L分解为:S-D(S#,SD)和D-L(SD,SL)11范式:2NF、3NF和BCNF5.第三范式(3NF)S-DD-LS#SDSDSL分析:S-D的键为S#,D-L的键为SD,不存在非主属性对键的传递函数依赖。结果:S-D∈3NF;D-L∈3NF问题:S-D和D-L中消3NF存在更除了前面的更新异常吗?新异常了吗?12范式:2NF、3NF和BCNF5.第三范式(3NF)在S-D(S#,SD)和D-L(SD,SL)中:☆一个系有很多学生,且√同系学生住在一个地方3NF不能彻底消☆一个学生转系√除更新☆一个新系创建但新生尚√异常未注册☆一个系所有学生毕业了√结论:3NF可以消除一些2NF中存在的更新异常,13范式:2NF、3NF和B