Database-Design

關係、依賴和範式

  • August 16, 2013

我在理解關係和依賴關係方面存在一些問題。我將展示兩個範例以及我想知道的內容:

假設GTX {G,T,X}具有以下依賴關係的關係:

G,X -> T
T -> X

或者這個:

關係{W,X,Y,Z}

X,Y -> Z
Z -> W
  • 那麼對於我的問題,如何正確繪製這種關係的依賴關係圖?(非常感謝教程或/和解釋)
  • 如何查看主鍵是什麼?(我知道什麼是pk)
  • 關係的範式是什麼?

我一直無法完全理解這一點,並且總是被我找到的教程弄糊塗。我感謝所有的答案!

從一組 FD 中,只能推斷出一組候選鍵。

“主鍵”是您選擇作為“主”的那組候選鍵中的一個特定成員。並且沒有科學規則告訴你應該選擇哪一個 - 你可以選擇任意一個鍵並將其標記為“主要”。

在您的第一個範例中,您應該最終得到一組候選鍵

{ {TG} {GX} }

在第二個範例中,您應該得到一組單例候選鍵

{ {XY} }

至於如何到達key集合,可以看一下https://stackoverflow.com/questions/5735592/determine-keys-from-functional-dependencies/5736174#5736174

您給出的關係表明 X 和 Y 取決於 Z。所以 Z 應該是表中的主鍵,Z、X、Y 作為列。Z 再次依賴於 W。所以在另一個表中,W 應該是主鍵,Z 應該是與第一個表相關的外鍵。

引用自:https://dba.stackexchange.com/questions/48243