你的問題不清楚。我假設你問關係R(ABCD)中最後四個依賴關係中的哪一個:答案是第三個。這可以通過在原設定的依賴關係的計算的BC
閉合簡單地證明:
BC+ = BC
BC+ = BCD (using BC → D)
BC+ = BCDE (using CD → E)
BC+ = BCDEA (using DE → A)
所以,BC是一個候選鍵,並確定A,使得BC → A
還持有R(ABCD)
。如果您嘗試計算四個依賴關係中所有其他左側的閉包,那麼您將永遠找不到右側,因此它們不會保留在R(ABCD)
中。
爲什麼通過計算行列式的閉包可以得到答案?
讓我們打電話給FS
原始的一組依賴關係F
的投影超過關係S(ABCD)
。因此,爲了定義一組依賴關係的投影,我們有:
FS = {X→Y∈F+ | X,Y⊆ABCD}
問題問是否某些依賴屬於FS。但由於FS的計算需要計算F +,這是一項指數任務,而不是計算它,我們檢查四個相關性X→Y中的每一個,如果它屬於F +。這相當於多項式任務,計算X的閉包並查找Y是否屬於它(我們已經知道依賴關係具有集合ABCD中的所有屬性)。
因此,答案是計算依賴關係的所有左手部分的關閉,並查看右部分是否包含在其中。這僅適用於第三個依賴項。
@philipxy準確的表述是:「將這些FD投影到關係S(A,B,C,D)上。下列哪個FD在投影關係中成立?」 – bkennedy
這是不幸的,你的任務說。這是潦草的寫作。儘管如此,你沒有理由使用它。你爲什麼認爲這意味着什麼?請編輯你的問題,說你正在引用你的任務。如果您確實已經對這些詞的意思進行了定義,請告訴我。否則,請編輯您的問題以表達您的想法。 – philipxy