求屬性集閉包例題 設(shè)關(guān)系模式r的函數(shù)依賴集f包含如下函數(shù)依賴,求DC的閉包?
設(shè)關(guān)系模式r的函數(shù)依賴集f包含如下函數(shù)依賴,求DC的閉包?Ab->C的Ab閉包是{ABC}C->A結(jié)合上一步{ABC}BC->D結(jié)合上一步{ABCD}ACD->B結(jié)合上一步{ABCD}
設(shè)關(guān)系模式r的函數(shù)依賴集f包含如下函數(shù)依賴,求DC的閉包?
Ab->C的Ab閉包是{ABC}C->A結(jié)合上一步{ABC}BC->D結(jié)合上一步{ABCD}ACD->B結(jié)合上一步{ABCD}D->eg結(jié)合上一步{abcdeg}be-C結(jié)合上一步{abcdeg}CG->bd結(jié)合上一步{abcdeg}ce->ag結(jié)合上一步{abcdeg}所以R的候選代碼是ab
已知關(guān)系模式R<U,F(xiàn)>,其中u={a,B,C,D,e};F={ab→C,B→D,C→e,EC→B,AC→B}。求(AB)F,設(shè)x(0)=AB;(1)計(jì)算x(1):逐個(gè)掃描F集合中的每個(gè)函數(shù)依賴項(xiàng),找出左邊是a、B或AB的函數(shù)依賴項(xiàng),得到兩個(gè)結(jié)果:AB→C、B→D。所以x(1)=AB∪CD=ABCD。(2) 因?yàn)閤(0)≠x(1),我們找出左部是ABCD子集的函數(shù)依賴,得到ab→C,B→D,C→e,AC→B,那么x(2)=x(1)∪BCDE=ABCDE。(3) 因?yàn)閤(2)=u,算法停止,所以(AB)f=ABCDE。求屬性集X(X?U)關(guān)于函數(shù)依賴集f對(duì)U的閉包XF輸入:X,f輸出:XF步驟:(1)設(shè)X(0)=X,I=0(2)求B,其中B={a |(?V)(?W)(V→W?f∧V?X(I)∪a?W)};(3)X(I 1)=B∪X(I)(4)判斷X(I 1)=X(I)(5)如果相等或X(I)=U,則X(I)為XF,算法停止。(6) 如果不是,I=I,返回步驟(2)。對(duì)于算法6。五十、 設(shè)AI=| x(I)|,{AI}構(gòu)成一個(gè)步長(zhǎng)大于1的嚴(yán)格遞增序列,序列的上界為| u |,因此算法最多終止| u |-| x |。
數(shù)據(jù)庫(kù)閉包的計(jì)算?
R(a,B,C,d)是一種關(guān)系模式,其函數(shù)依賴集F={a→B,C→d},ρ={R1(AB),R2(CD)}。計(jì)算了R1和R2,檢驗(yàn)了分解的保函數(shù)依賴性。解決方法:找到最小依賴集1,判斷a→B是否冗余。如果是冗余的,設(shè)g={C→D},則a的閉包是a.B不屬于a的閉包,因此a→B不是冗余的。同樣,C→D不是冗余的,所以最低的函數(shù)依賴集是f={a→B,C→D},所以getρ={R1(AB),R2(CD)}
數(shù)據(jù)庫(kù)保持函數(shù)依賴的判定步驟,最好有例子?
你好!首先,我們可以看到,C→D對(duì)R2保持函數(shù)依賴,而a→D、B→D對(duì)R1和R2不保持函數(shù)依賴,因此進(jìn)一步判斷的算法如下:對(duì)于F上的每個(gè)α→β,使用以下過(guò)程:①設(shè)結(jié)果=α,②t=(結(jié)果∩RI)∩RI;結(jié)果=結(jié)果∪t(第二個(gè)為RI)step={R1(…),R2(…),…,RN(…)},此步驟遍歷分解的關(guān)系模式)應(yīng)該注意,這里的屬性閉包是在函數(shù)依賴集F下計(jì)算的。如果結(jié)果包含β的所有屬性,然后函數(shù)依賴性α→β被保持(當(dāng)且僅當(dāng)F的所有依賴性在上述過(guò)程中被保持)。
首先判斷a→D:對(duì)于R1,讓result=a,result∩R1=a,a=ad,t=a∩R1=a,result=a;對(duì)于R2,讓result=a,result∩R2=空集,空集不能閉合,那么t=空集,result=a??梢园l(fā)現(xiàn)無(wú)論R1還是R2,最終結(jié)果都是a,不包含D,所以a→D不保持。在這里,可以得出結(jié)論,分解并不保持功能依賴性。對(duì)于B→D,使用相同的方法:對(duì)于R1,讓result=B,result∩R1=B,B=BD,t=B∩R1=B,result=B;對(duì)于R2,讓result=B,result∩R2=空集,空集沒(méi)有閉包,t=空集,result=B;result不包含D,因此不保留B→D,分解也不保持函數(shù)依賴性。