㈠ 模式分解中怎么实现无损连接并保持函数依赖性
∵(BE)+=ABCDE, B+=BC不属于ABCDE, E+=E不属于ABCDE
∴BE为R的关键字.
考虑A→C,不包含关键字
∴将R分解为R11(AC)R12(ABDE)
F11的函数依赖为,睁祥F12的函数依备腊赖为
∵F11∈BCNF,F12不属于BCNF,继续分解
将的R12分解仿早滑为R21(AD),R22(ABE)
F21的函数依赖为,F22的函数依赖为
∵R21∈BCNF,R22∈BCNF
∴R的一组BCNF模式分解为R11(AC),R21(AD),R22(ABE)
注:分解的结果可能不唯一.
㈡ 数据库中函数 依赖问题 无损连接性。
ST为候孝禅选码,CR为非主属性,不存在非主属性对候选码的部分函数依赖,但存在传递函数依赖,ST→C故而是2NF。
因为P1∩P2=C,P1-P2=TR,P2-P1=S,C→TR,C→S均不悔慎举成碧碧立,故这个分解不具有无损连接性。
π
p1(F)∪π
p2
(F)={TR→C}
与F不等价,故不保持函数依赖。
㈢ F={A→D,E→D,D→B,BC→D,DC→A},BCD关于F的投影
解:
1、在函数依赖集F中,未被函数决定的属性有:CE,必包含于码中。
∵(CE)+=CEDBA=U ∴ 候选码只有:CE
∵E →D 属性D部分依赖与码CE,∴ R是1NF
2、依赖集F已经是极小依赖集,且所有属性都在依赖中出现,根据保持函数依赖地转换成3NF的算法,将每个函数依赖中包含的属性局游组成一个关系模式,得到分解:
{AD,ED,DB,BCD,ACD} 因为 AD包含于ACD中,去掉AD得:
{ED,DB,BCD,ACD} 因为 AD包含于ACD中,去掉AD得:
再并上一个候选码{CE}得到即保持函数依赖又有无损连接性的分解:
{ED,DB,BCD,ACD,CE}
3、
∵码是CE,F={A →D,E →D,D →B,BC →D,DC →A}
R不是BCNF。
任选一不符合BCNF要求的函数依赖:A →D 进行分解得:
R1(AD) F1={A →D} 码是A,该模式是BCNF
R2(ABCE) F2={CE→A,A→B} 码是CE,该模式不是BCNF,继续分解
选A→B分解得:
R21(AB) F21={A→B} 码是A,慧陵该模式是BCNF
R22(ACE) F22={CE→A} 码是CE,该模式是BCNF
具有无损连接性的BCNF分解为:
{R1,R21,R22}
4、根据推理规则,从FD导出MVD,得R的MVD集合:
{A →→D,E →→D,D →→B,BC →→D,DC →→A}
R不是4NF。
任选一桐碧销不符合4NF要求的MVD:A →→D 进行分解得:
R1(AD) M1={A →→D} 码是A,该模式是4NF
R2(ABCE) M2={CE→→A,A→→B} 码是CE,该模式不是4NF,继续分解
选A→→B分解得:
R21(AB) M21={A→→B} 码是A,该模式是4NF
R22(ACE) M22={CE→→A} 码是CE,该模式是4NF
具有无损连接性的4NF分解为:
{R1,R21,R22}
㈣ 请问如何求3nf和bcnf
p保持函数依赖的3NF范式分解:算法1
⑴对R<U,F>中的F进行最小化处理
⑵不在F中出现的属性组巧锋成一个关系模式,并从U中去掉这些属性
⑶若存在X->A</F, 有XA=U, 则r={R}, 终止算法
⑷否则,对于具有相同左部的函数依赖分成一组,假设有K组,记为F1,F2,…,Fk, Fi的所有属性构成Ui, 若UiÍUj(i¹j), 则去掉Ui,
⑸这样得到的一个分解r={R1<U1,F1>, R2<U2,F2>, …, Rk<Uk,Fk>}构成了R<U,F>的一个保持函数依赖的分解
p具有无损连接性和保持函数依赖的3NF范式分解:算法2
⑴设X是关系模式R<U,F>的关键字
⑵通过算法1得到一个分解r
⑶t= r U {R*<X, Fx>}
⑷若存在一个Uj, 有XÍUj, 则将R*<X, Fx>从t中去掉
⑸t是一个具有无损连接和保持函数依赖的3NF分解
p具有无损连接性的BCNF范式分解:算法3
⑴r={R<U,F>}
⑵检查r中的每个关系模式是否孝丛晌为BCNF,若是算法终止
⑶设r中Ri<Ui,Fi>不属于BCNF, 那么必存在X->A<Fi+(A</X), X不是Ri的关键字,对Ri进行分解:s={S1,S2}, Us1=XA, Us2=Ui-{XA}, 以代替Ri<Ui,Fi>, 返回第二步
你这题的结果
关键字A,CF
3NF
R1(BGC) R2(ABGD) R3(ACF) R4(ACG) R5(ADEF)R6(ACB)
BCNF
上面 R2(ABGD) 中有 ABG->D,A->G 所以 R22(AG),R21(ABD)
R3(ACF)中 CF->A,A->C,所以R31(AC),R32(CF)
最终结果
R1(BGC) R22(AG),R21(ABD)R31(AC),R32(CF)R4(ACG) R5(ADEF)R6(ACB)
以上结果我郑缺也拿不太准,只供参考
㈤ 将R分解成3NF,使其既具有无损连接性又有函数依赖保持性。(只需要第三问的详细解题步骤)
(1)R的候选码为BD
(2)拆睁册
①将F中旅宏的函数依赖都分解为右部为单属性的函数早碰依赖.
F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A}
②去掉F中冗余的函数依赖.
判断A→C是否冗余.
设:G1={C→A,B→A,B→C,D→A,D→C,BD→A},得(A)G1+=A
∵C不属于(A)G1+∴ A→C不冗余
判断C→A是否冗余.
设:G2={A→C,B→A,B→C,D→A,D→C,BD→A},得(A)G2+=C
∵A不属于(C)G1+∴ C→A不冗余
㈥ 模式分解中怎么实现无损连接并保持函数依赖性
判别的方法并不茄余麻烦
画张表 慢慢的按要求推就行了。
例CS->G C->T TH->O HI->C HS->I
{R1(CSG),R2(CT) R3(THI),R4(HIC),R5(HSI)}
构表(下面可能会出现变形)
表1
C T H I S G
R1(CSG) a1 b12 b13 b14 a5 a6
R2(CT) a1 a2 b23 b24 b25 b26
R3(THI) b31 a2 a3 a4 b35 b36
R4(HIC) a1 b42 a3 a4 b45 b46
R5(HSI) b51 b52 a3 a4 a5 b56
(对于不会画表的。这里介绍一下。左别有的例如R1(CSG)则c下面为a1,没有的t下面就为弯拦b+他的行列数即b12)
根据C->T 则1 2 4 行中的c全为a1 然后将 1 2 4 行的T全部转成a2,(前题是T的124行中到少有一个为a2的。不然全转成最上面一行即第一行的.)
转后成表2
C T H I S G
R1(CSG) a1 a2 b13 b14 a5 a6
R2(CT) a1 a2 b23 b24 b25 b26
R3(THI) b31 a2 a3 a4 b35 b36
R4(HIC) a1 a2 a3 a4 b45 b46
R5(HSI) b51 b52 a3 a4 a5 b56
HI->C 则三四五行的HI一样。即将C的3,4,5行转成a1(再多说一次,这里C的3,4,5行中有a1才可以转成a1,没有就照最上面一行(3)转颤闹滚)
转后成表3
C T H I S G
R1(CSG) a1 a2 b13 b14 a5 a6
R2(CT) a1 a2 b23 b24 b25 b26
R3(THI) a1 a2 a3 a4 b35 b36
R4(HIC) a1 a2 a3 a4 b45 b46
R5(HSI) a1 b52 a3 a4 a5 b56
HS中没有相等的,跳过.
再CS->G 发现15行相等
则G的15行变为a6
C T H I S G
R1(CSG) a1 a2 b13 b14 a5 a6
R2(CT) a1 a2 b23 b24 b25 b26
R3(THI) a1 a2 a3 a4 b35 b36
R4(HIC) a1 a2 a3 a4 b45 b46
R5(HSI) a1 b52 a3 a4 a5 a6
再C->T 最T全变为a2
C T H I S G
R1(CSG) a1 a2 b13 b14 a5 a6
R2(CT) a1 a2 b23 b24 b25 b26
R3(THI) a1 a2 a3 a4 b35 b36
R4(HIC) a1 a2 a3 a4 b45 b46
R5(HSI) a1 a2 a3 a4 a5 a6
到这里发现最后一行变为了a1 a2 a3 a4 a5 a6,则验证了这个为无损链接的。
㈦ 数据库的无损连接判断
无损连接是指分解后的关系通过自然连接可以恢复成原来的关系,即通过自然连接得到的关系与原来的关系哗局碰相比,既不多出信息、又不丢失信息。保持函数依赖分解是指在模式的分解乱谈过程中,函数依赖不能丢失的腊乱特性,即模式分解不能破坏原来的语义。
判断是否无损连接的方法:
若关系模式R(U,F)中,被分解为p={R1, R2}是R的一个分解,若R1∩R2 → R1 - R2或者R1∩R2 → R2 - R1,则为无损连接
下面来看个例题
设有关系模式R(U,V,W,X,Y,Z),其函数依赖集:F={U→V,W→z,Y→U,WY→X},现有下列分解:p={UVY,WXYZ}
判断分解p是否为无损连接
首先计算 R1∩R2 为Y,R1-R2为UV因为 Y→U,U→V,因此Y→UV。
所以为无损连接
㈧ 怎么判断关系数据库分解无损连接和保持函数依赖
题目怎么错了,真逗,不懂就瞎说
这是数据库比较常见的无损分解和判断是否函数依赖
答肆历案是不携春是无损分解,不保持函数依赖
大家可以网络一下
教你如何判断无损连接和函数辩雹耐依赖
轻松学会哈哈
㈨ 如何将一个关系模式分解成无损连接的BCNF
∵(BE)+=ABCDE,,B+=BC不属于ABCDE,E+=E不属于ABCDE。
∴BE为R的关键字。
考虑A→C,不包含关键字。
∴将R分解为R11(AC)R12(ABDE)F11的函数依赖为{A→C},F12的函数依赖为(AD)。
∵F11∈BCNF,F12不属于BCNF,继续分解。
将的R12分解为R21(AD),R22(ABE)。
F21的函数依赖为{A→D},F22的函数依赖为{BE→A}。
∵R21∈BCNF,R22∈BCNF。
∴R的一组BCNF模式分解为R11(AC),R21(AD),R22(ABE)。
注:分解的结果可能不唯一。
(9)无损连接函数方法扩展阅读:
推导:
设R(U)是一个属性集U上的关系模式,X和Y是U的子集。
若对于R(U)的任意两个可能的关系r1、r2,若r1[x]=r2[x],则r1[y]=r2[y],或者若r1[y]不等于r2[y],则r1[x]不等于r2[x],称X决定Y,或者Y依赖X。
上面一段话是某些教材上的话,比较不好理解。比如在设计学生表时,一个学生的亏租学号能决定学生的姓名,也可称姓名属性依赖于学号,对于现实来说,就是如果知道一个学生的学号,就一定能知道学生的姓名。
这种情况就是姓名依赖于学号,这就是函数依赖,函数依赖又分为非平凡依赖,平凡依赖;从性质上还销纯兆可以分为完全函数依赖、部分函数依赖和传递函数依赖。
Y=f(x)
1、数据依赖
在计算机科学中,数据依赖是指一种状态,当程序结构导致数据引用之前处理过的数据时的状态。其中最重要的是函数依赖和多值依赖。
2、函数依赖
设X,Y是关系R的两个属性集合,当任何时刻R中的任意两个元组中的X属性值相同时,则它们的Y属性值也相同,则称X函数决定Y,或Y函数依赖裤悔于X。
3、平凡函数依赖
当关系中属性集合Y是属性集合X的子集时(Y⊆X),存在函数依赖X→Y,即一组属性函数决定它的所有子集,这种函数依赖称为平凡函数依赖。
㈩ 请举一个模式分解的例子,要求实现无损连接,但不能保持函数依赖。
关系模式R(U,F),U={A,B,C,D,E},F={C→A,D→A,,A→E,AC→B},分解P={R1(ABCE),R2(BCD)}满足哪扰毕李芹具有无损连接,但不能保持函数依李模赖。