我有一个包含两个表,游戏和地区的数据库。我的目标是跟踪每个地区的游戏发布日期。
当然,区域不会经常变化,但是为游戏中的每个区域创建一个新列,或者在它们之间创建一个release_dates表会更好吗?
如果我在它们之间创建一个新表格,我如何确保每个地区/游戏对只有一个发布日期?
答案 0 :(得分:3)
我会使用release_dates表。这样可以防止游戏桌中出现NULL值,例如,某个特定区域没有获得释放。
在release_dates表中,您可以将region_id设为外键,将game_id设为外键,然后将(game_id,region_id)设为release_dates表的 primary 键。这将确保每个(game_id,region_id)组合只出现一次。
答案 1 :(得分:0)
这是一种多对多的关系。包含game_id和region_id的中间联结表是正确的解决方案。