我有一個表 「位置」 至極媒體鏈接存在數據庫規範化:外鍵=主鍵?
- PositionID(PK)INT
- PositionText
- ...
現在我要創建一個新表 「PositionComment」 (我不允許編輯表格位置,所以我必須創建一個新的表格)。 關係是1:0..1(通過代碼獲取,1個位置只能有1個註釋)。
,所以我需要在這個新表的主鍵 - 但是:
對於規範化的規則:
我必須使外鍵=主鍵,因爲它是1: 0..1 例如:
- PositionID(PK,FK到位置表)
- CommentText
OR
我一定要做出自己的主鍵 如:
- CommentID(PK)
- PositionID(FK到位置表)
- CommentText
不同之處在於,在第一個建議中,我在第二個表中使用了不同的PK作爲PK ...但在第二個建議中,我有一個double Ident ifier,因爲CommentID和PositionID對於1行是唯一的...
如何對規則化進行此操作,爲什麼?
就DBA而言,「通過代碼保證」等同於「完全不保證」:-)但是,如果您將它作爲新表的主鍵,則它是有保證的。通過DB。它應該在哪裏。 – paxdiablo
我會去第二個選項。如果未來的關係發生變化以適應一對多的情況呢? – danish