数据库重难点(无损连接和范式)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

模式分解的几个重要事实:若只要求分解具有“无损连接性”,一定可以达到4NF;若要求分解要“保持函数依赖”,可以达到3NF,但不一定能达到BCNF;若要求分解既要“保持函数依赖”,又要具有“无损连接性”,可以达到3NF,但不一定能达到BCNF;试分析下列分解是否具有无损联接和保持函数依赖的特点:设R(ABC),F1={A→B}在R上成立,ρ1={AB,AC}。首先,检查是否具有无损联接特点:第1种解法--算法4.2:ABCABa1a2b13ACa1b22a3ABCa1a2b13a1a2a3(1)构造表(2)根据A→B进行处理结果第二行全是a行,因此分解是无损联接分解。第2种解法:(定理4.8)R1(AB)∩R2(AC)=AR2-R1=B∵A→B,∴该分解是无损联接分解。然后,检查分解是否保持函数依赖πR1(F1)={A→B,以及按自反率推出的一些函数依赖}πR2(F1)={按自反率推出的一些函数依赖}F1被πR1(F1)所蕴涵,∴所以该分解保持函数依赖。范式当查询涉及到针对“否定”特征含义的查询要求,如“不”、“没有”等字眼,一般要用差运算表示。针对“全部”特征含义的查询要求,如“全部”、“至少”、“包含”等字眼,一般要用除法运算。?1NF:R(A,B,C,D)依赖集(abca-d)因为d部分依赖于ab所以属于1NF不属于2NF2NF:R(A,B,C,D)依赖集(abcc—d)因为d传递依赖与AB但是不存在部分依赖所以属于2N不属3NF3NF:R(A,B,C,D)依赖集(abcab—d,d-a)因为即不存在部分依赖也不存在传递依赖所以属于3NF但是因为d-a因为d是非主属性所以不属于BCNF1、第一范式(1NF):一个关系模式R的所有属性都是不可分的基本数据项。2、第二范式(2NF):关系模式R属于第一范式,且每个非主属性都完全函数依赖于键码。3、第三范式(3NF):关系模式R属于第一范式,且每个非主属性都不传递递依赖于键码。4、BC范式(BCNF):关系模式R属于第一范式,且每个属性都不传递依赖于键码。**码的快速求解:1、【L类、N类至少有一种】根据定理,L、N类必为侯选码之一,如果L+包含全部R,则L为唯一侯选。R类不在任何侯选码中。L+N类且(L+N)+包含所有R,则L+N为唯一侯选。2、【只有LR类】将F右部单一化后,取左边出现频率最多的属性X,求X+,若包含R中所有属性,则X为侯选码。找能决定X的属性Y,求Y+。单个完后找两两结合,依次类推。(侯选码不参与结合)?eg:如设有关系模式R(A,B,C,D,E),其上的函数依赖集F={A→BC,CD→E,B→D,E→A},求出R的所有候选码。?根据上述方法,具体求解步骤如下:把F右部单一化后F={?A→B,A→C,CD→E,B→D,E→A?};根据判断,A作为确定因素在左部出现的频率最高,求A+=ABCDE,又有E→A,求E+=ABCDE而CD→E,求(CD)+=ABCDE,可以得出属性A,E,CD为候选码;除去A,E,CD外,根据一般求解法求两个属性组合的闭包,可以得到(BC)+=ABCDE,最后可以算出R的候选码为:A,E,CD,BC。

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功