2010-12-09 117 views
0

我有一個包含兩個表,遊戲和區域的數據庫。我的目標是跟蹤每個地區的遊戲發佈日期。當然,地區不會經常改變,但是最好爲遊戲中的每個地區創建一個新的列,或者在它們之間創建一個release_dates表?一對一關係/唯一密鑰對

如果我在它們之間創建一個新表格,我如何確保每個區域/遊戲對只有一個發佈日期?

回答

3

我會去與release_dates表。如果某個特定區域沒有獲得發行版,這可以防止在遊戲表中需要NULL值。

在您的release_dates表中,您可以使region_id爲外鍵,game_id爲外鍵,然後使(game_id,region_id)爲release_dates表的主鍵鍵。這將確保每個(game_id,region_id)組合僅出現一次。

+0

+1我將交叉引用表命名爲`games_regions`,因爲將來可以添加更多的列,而不會使表名稱變得混亂。另外,這是一個更常見的方式來命名交叉表(與`games_x_regions`一起)。 – webbiedave 2010-12-09 23:22:13

0

這是一個多對多的關係。包含game_id和region_id的中間聯結表是正確的解決方案。