关系模式的规范化课件.ppt

关系模式的规范化课件.ppt

ID:58491648

大小:81.50 KB

页数:11页

时间:2020-09-22

关系模式的规范化课件.ppt_第1页
关系模式的规范化课件.ppt_第2页
关系模式的规范化课件.ppt_第3页
关系模式的规范化课件.ppt_第4页
关系模式的规范化课件.ppt_第5页
资源描述:

《关系模式的规范化课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一个关系只要其分量都是不可分的数据项,它就是规范化的关系,但这只是最基本的规范化。规范化程度可心有6个不同级别,即6个范式。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫关系模式的规范化。4.3.1关系模式规范化的步骤在4.2中已经看到,规范化程度过低的关系不一定能够很好地描述现实世界,可能会存在插入异常、删除异常、修改复杂、数据冗余等问题,解决方法就是对其进行规范化,转换成高级范式。规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分

2、离”,即采用“一事一地”的模式设计原则,让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概念就把它“分离”出去。因此所谓规范化实质上是概念的单一化。关系模式规范化的基本步骤如图4-10所示。①对1NF关系进行投影,消除原关系中非主属性对码的函数依赖,将1NF关系转换为若干个2NF关系。②对2NF关系进行投影,消除原关系中非主属性对码的传递函数依赖,从而产生一组3NF关系。4.3关系模式的规范化③对3NF关系进行投影,消除原关系中主属性对码的部分函数依赖和传递函数依赖(也就是说,使决定属性都成为投影的候

3、选码),得到一组BCNF关系。1NF↓消除非主属性对码的部分函数依赖消除决定属性2NF集非码的非平↓消除非主属性对码的传递函数依赖凡函数依赖3NF↓消除主属性对码的部分和传递函数依赖BCNF↓消除非平凡且非函数依赖的多值依赖4NF↓消除不是由候选码所蕴含的连接依赖5NF图4-10规范化以上三步也可以合并为一步:对原关系进行投影,消除决定属性不是候选码的任何函数依赖。④对BCNF关系进行投影,消除原关系中非平凡函数依赖的多值依赖,从而产生一组4NF关系。⑤对4NF关系进行投影,消除原关系中不是由候选码所蕴含的连接依赖,

4、即可得到一组5NF关系。5NF是最终范式。诚然,规范化程度过低的关系可能会存在插入异常、删除异常、修改复杂、数据冗余等问题,需要对其进行规范化,转换成高级范式。但这并不意味着规范化程度越高的关系模式就越好。在设计数据库模式结构时,必须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式。这也就是说,上面的规范化步骤可以在其中任何一步终止。4.3.2关系模式的分解关系模式的规范化过程是通过对关系模式的分解来实现的,但是把低一级的关系模式分解为若干个高一级的关系模式的方法并不是唯一的。在

5、这些分解方法中,只有能够保证分解后的关系模式与原关系模式等价的方法才有意义。将一个关系模式R分解为若干个关系模式R1,R2,…,Rn(其中U=U1∪U2∪…∪Un,且不存在Ui⊈Uj,Ri为F在Ui上的投影),意味着相应地将存储在一个二维表t中的数据分散以若干个二维表t1,t2,…,tn中去(其中ti是t在Ui上的投影)。例如,对于2.2.2节例子中的关系模式SL(Sno,sdept,Sloc),SL中有下列函数依赖:Sno→SdeptSdept→SlocSno→S

6、loc我们已经知道SL∈2NF,该关系模式存在插入异常、删除异常、数据冗余度大和修改复杂的问题。因此需要分解该关系模式,使成为更高范式的关系模式。分解方法可以有很多种。假设下面是该关系模式的一个关系:SL第一种分解方法是将SL分解为下面3个关系模式:SN(Sno)SD(Sdept)SO(Sloc)分解后的关系为:SNSDSOSnoSdeptSloc9500195002950039500495005CSISMAISPHABCBBSno9500195002950039500495005SdeptCSISMAPHSlocA

7、BCSN,SD,和SO都是规范化程度很高的关系模式(5NF)。但分解后的数据丢失了许多信息,例如,无法查询95001学生所在系或宿舍。因此这种分解方法是不可取的。如果分解后的关系可以通过自然连接恢复为原来的关系,那么这种分解就没有丢失信息。第二种分解方法是将SL分解为下面两个关系模式:NL(Sno,Sloc)DL(Sdept,sloc)分解后的关系为NLDLSnoSloc9500195002950039500495005ABCBBSdeptSlocCSISMAPHABCB对NL和DL关系进行自然连接的结果为NDLLN

8、DLL比原来的SL关系多了两个元组(95002,B,PH)和(95005,B,IS)。因此也无法知道原来的SL关系中究竟有哪些元组,从这个意义上说,此分解方法仍然丢失了信息。第三种分解方法是将SL分解为下面二个关系模式:ND(Sno,Sdept)NL(Sno,Sloc)SnoSlocSdept95001950029500295003950049

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。