最小函數(shù)依賴集唯一嗎 數(shù)據(jù)庫求解最小覆蓋?
數(shù)據(jù)庫求解最小覆蓋?數(shù)據(jù)庫:查找f={a→B,B→a,B→C,a→C,C→a},最小(最?。┖瘮?shù)依賴集。為了解決這個問題,我們首先來理解這個概念:如果函數(shù)依賴集f滿足以下條件,那么f稱為最小函數(shù)依賴集
數(shù)據(jù)庫求解最小覆蓋?
數(shù)據(jù)庫:查找f={a→B,B→a,B→C,a→C,C→a},最?。ㄗ钚。┖瘮?shù)依賴集。為了解決這個問題,我們首先來理解這個概念:如果函數(shù)依賴集f滿足以下條件,那么f稱為最小函數(shù)依賴集。
也稱為最小依賴集或最小覆蓋。
(1)F中任何函數(shù)依賴項的右側(cè)部分僅包含一個屬性。
(2)
最小函數(shù)依賴集的解法?
求解最小函數(shù)依賴集有三個步驟:1。將F中的所有依賴項轉(zhuǎn)換為右側(cè)的單個元素;2。刪除F;3中所有依賴項左邊的冗余屬性。刪除F中的所有冗余依賴項。F={abd->E,ab->G,B->F,C->j,CJ->I,G->H}1。將F中的所有依賴項轉(zhuǎn)換為右側(cè)的單個元素。這個問題是f={abd->E,ab->G,B->F,C->j,CJ->I}2。刪除F中依賴項左側(cè)的所有冗余屬性。方法是刪除其中一個屬性,看看是否仍然可以推斷出這個問題:abd->E,Remove a,那么(BD)不包含e,所以它不能被刪除。類似地,B和D不是冗余屬性ab->G,也沒有CJ->I,因為C=CJ->I將是C->if={abd->E,ab->G,B->F,C->j,C->I,G-&th}3。刪除F中的所有冗余依賴項。例如,從F中刪除(x->y),然后在F中查找x如果y在x中如果F刪除abd->E,F(xiàn)將等于{ab->G,B->F,C->j,C->I,G-&th},并且(abd)={a,D,B,F(xiàn),G,H},它不包含E。因此它不是冗余的。類似地,(AB)={a,B,f}不包含g,因此它不是冗余的。B={B}不是冗余的,C=因此最小函數(shù)依賴集是f={abd->E,ab->G,B->F,C->j,C->I,G->H}