Ⅰ 資料庫屬性集合的閉包怎麼求
計算屬性集閉包X+的演算法如下:
輸入:X,F
輸出:
X+
迭代演算法的步驟:
①
選取X+的初始值為X
,即X+={X};
②
計算X+,
X+={XZ}
,其中Z要滿足如下條件:
YX+,且F中存在一函數依賴Y→Z。實際上就是以X+中的屬性子集作為函數依賴的決定因素,在F中搜索函數依賴集,找到函數依賴的被決定屬性Z放到X+中。
③
判斷:如果X+沒有變化?或X+等於U?則X+就是所求的結果,演算法終止。否則轉②。
因為U是有窮的,所以上述迭代過程經過有限步驟之後就會終止。
Ⅱ 一道資料庫求閉包的題目
y+={w,x,z,y}閉包就是這個呀
Ⅲ 資料庫中的閉包的意思
閉包是可以包含自由(未綁定)變數的代碼塊;這些變數不是在這個代碼塊或者任何全局上下文中定義的,而是在定義代碼塊的環境中定義。「閉包」 一詞來源於以下兩者的結合:要執行的代碼塊(由於自由變數的存在,相關變數引用沒有釋放)和為自由變數提供綁定的計算環境(作用域)。在 Scheme、Common Lisp、Smalltalk、Groovy、JavaScript、Ruby 和 Python 等語言中都能找到對閉包不同程度的支持。
閉包的價值在於可以作為函數對象 或者匿名函數,對於類型系統而言這就意味著不僅要表示數據還要表示代碼。支持閉包的多數語言都將函數作為第一級對象,就是說這些函數可以存儲到變數中、作為參數傳遞給其他函數,最重要的是能夠被函數動態地創建和返回。
Ⅳ 資料庫閉包怎麼計算
已知關系模式R<U,F>,其中
U={A,B,C,D,E};
F={AB→C,B→D,C→E,EC→B,AC→B}。
求(AB)F+ 。
解 設X(0)=AB;
(1)計算X(1): 逐一的掃描F集合中各個函數依賴,
找左部為A,B或AB的函數依賴。得到兩個:
AB→C,B→D。
於是X(1)=AB∪CD=ABCD。
(2)因為X(0)≠ X(1) ,所以再找出左部為ABCD子集的那些函數依賴,又得到AB→C,B→D, C→E,AC→B,
於是X(2)=X(1)∪BCDE=ABCDE。
(3)因為X(2)=U,演算法終止
所以(AB)F+ =ABCDE。
求屬性集X(X U)關於U上的函數依
賴集F 的閉包XF+
輸入:X,F
輸出:XF+
步驟:
(1)令X(0)=X,i=0
(2)求B,這里B = { A |( V)( W)(V→WF
∧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+l,返回第(2)步。
對於演算法6.l, 令ai =|X(i)|,{ai }形成一個步長大
於1的嚴格遞增的序列,序列的上界是 | U |,因
此該演算法最多 |U| - |X| 次循環就會終止。
Ⅳ 關於資料庫閉包的問題
已知 關系模式E<U,F>,其中U={A,B,C,D,E};F={AB→C,B→D ,C→E,EC→B,AC→B}。
求(AB)F+
解:設X(0)=AB
計算X(1);逐一的掃描F集合中各個函數的一覽,找左部位A,B和AB的函數依賴。得到兩個AB→C,B→D。於是X(1)=AB∪CD=ABCD.
因為X(0)≠X(1),所以再找出左部位ABCD子集的那些函數依賴 又得到,C→E,AC→B
於是X(2)=X(1)∪BE=ABCDE.
因為X(2)已等於全部屬性集合,所以(AB)F+=ABCDE
Ⅵ 資料庫閉包的計算
閉包就是由一個屬性直接或間接推導出的所有屬性的集合,例如:
f={a->b,b->c,a->d,e->f}
由a可直接得到b和d,間接得到c,則a的閉包就是{a,b,c,d}
Ⅶ 資料庫系統原理,閉包求法,在線等。
網上下載一個數據包捕獲軟體,可以安裝,你就可以很清楚地看到,你也可以查看自己的IP路由器上面也可以看出
Ⅷ 資料庫:關系模式R(A,B,C,D,E)...函數依賴F={A-D,E-D,D-B,BC-D,CD-A} 求C的閉包坐等高手。。
①A -> BC, B -> D所以A -> D所以A -> DC -> E
所以呢A -> ABCDE
②E -> A, A -> ABCDE, 所以E -> ABCDE
③CD -> E, 所以呢CD -> ABCDE
④B -> D, BC -> CD,所以呢BC -> ABCDE
能推出abcde而又不包含多餘成分的就是候選鍵 所以上面仨是候選鍵 A+的話是求閉包吧
Ⅸ 資料庫 函數依賴中的閉包問題
1:.將F中的所有依賴右邊化為單一元素
AB->C
C->A
BC->D
ACD->B
BE->C
CE->F
CE->A
CF->B
CF->D
D->E
D->F
2:去掉F中所有冗餘依賴關系.做法為從F中去掉某關系,如去掉(X->Y),然後在F中求X+,如果Y在X+中,則表明x->是多餘的.需要去掉.
去掉AB->C
Ⅹ 關於資料庫閉包的例題
參考我寫的