[問題] [資料庫]主鍵與外鍵的疑問

作者: skywillnosky (Alfred)   2015-04-04 16:45:27
在上唐老師的課解釋主鍵與外鍵時說
有些主鍵或外鍵是要共同識別
例如
學校名稱, 科系 => 同時兩個一起才能識別唯一性
可是我困惑的是,主鍵不是只能選一個嗎?
如果照這樣說的話誰才是主鍵?
有資料庫可以同時設定兩個主鍵嗎?
還是說實際資料庫在設計時,會想辦法避免這種狀況
也就是會想辦法讓上面的例子變成候選鍵,替代鍵
然後生出一個唯一識別的自動流水號?
回到小弟真正的問題,在畫圖時(包含ER圖跟Table)
有辦法畫上述"兩個再一起才能識別"的情境嗎?
難道是兩個欄位同時畫底線?
作者: e4653303 (小烏賊)   2015-04-04 17:12:00
主鍵只能有一個,不可能有第二個。我不知道你的表單除了這兩個欄位還有其他的什麼,可能要你都標示出來,主鍵有唯一性,代表不可能重複。
作者: skywillnosky (Alfred)   2015-04-04 17:18:00
還有其他候選鍵,抱歉,小弟只是舉例,沒有想這麼多不過小弟大概了解E大的意思
作者: ko74652 (Reese lin)   2015-04-04 17:20:00
學校名稱,科系 組成 一個'複合主鍵'像二元多對多 兩個實體PK合起來為一個複合pk其中 每個鍵又都是FK 參考到原本實體的PK像是 訂單 產品 兩個實體 多對多的關係其中 關係上又有一個普通屬性 >>數量 此時 畫表格時訂單編號跟產品編號 成為複合PK 決定 該產品在訂單的數量訂單編號跟產品編號 一個底線PK 然後兩個虛線FK訂單編號產品編號 是一個完整PK 你課還沒上完吧兩個實體 又一個 多對多 所以會產生三個關聯表第三張就是訂單產品 PK{產品編號,訂單編號}FK 有兩個 一個是 訂單編號 一個是產品編號你自己想想看 一張訂單上有多個產品假如只知道訂單編號 怎麼會知道哪項產品數量有多少所以一定要是產品編號+訂單編號 我才知道 我訂幾個啊
作者: skywillnosky (Alfred)   2015-04-04 20:36:00
原來如此OTZ
作者: long202 (龍)   2015-04-06 11:51:00
提振士氣,以樂觀改變環境。提昇自我,以責任改變心境。提醒反觀,以慎獨用心若鏡。提志千里,以真理引導路徑。提起信心,以恆誠建立衝勁。

Links booklink

Contact Us: admin [ a t ] ucptt.com