我必須再次參加DB設計的在線課程,因爲我得到了一個非常懶惰的老師,我認爲他教會了我們所有的東西,並且我繼續發現他沒有。設計兩個具有相同ID的數據庫表?好的做法?
我正在設計一個小型數據庫,其中兩個特定的表提出了這個問題。
我有一個名爲「運動員」的表,其中存儲運動員信息,另一個名爲「EntryInfo」的表格存儲一個人的目標,如果他是另一名運動員的轉診。
運動員沒有辦法可以有一個以上的進入信息,所以我認爲idAthlete既適用於「運動員」也適用於「EntryInfo」,但我不知道這是否正確。現在我有以下問題:
1)在試圖保持「運動員」表儘可能乾淨我沒有在「運動員」表從一開始就包括這個「EntryInfo」,但它可以在同一張桌子上。這是處理它的最好方法嗎?關於DB設計中的良好實踐,他們應該在1或2個表格中?
2)如果it's更好地保持它在兩個單獨的表,我能得到idAthlete的PK中運動員表(身份證,增量),並把它還可作爲進入信息只作爲一個PK FK?或者是否有更好的做法來增加PK身份idEntryInfo on EntryInfo表中帶有FK idAthlete?
我知道這是一個基本的問題,我知道我應該學習DB設計和規範化(我會這麼做)。
我會建議保留這些信息在第二個表之間的同步鍵。但在那裏你的第二個想法。意思是你希望idAthlete成爲Athlete表的外鍵。這樣當項目擴展並且您需要爲每個運動員容納多個EntryInfo行時,您的設計無需修改即可支持此行。 –
你說他們就像他們是不同的實體,這可能是保持他們分開的好論據。然而,在另一方面,如果像你所說的那樣,你知道兩者之間存在1:1的映射關係,保留兩個具有相同主鍵的表就像是你爲自己增加了更多的工作。 – Xedni
感謝你們倆。 Xedni這是我主要的疑問。此條目信息來自培訓師處理其客戶的表單,表單上的信息對於開始時的人員非常有用,並且一旦添加記錄就不會改變。 我想我可以去任何一種方式,但不知道什麼是最好的標準做法。 – TikalDog