作为对上一个问题的后续跟进: Normalizing a variety of properties with similar data types
我现在创建了这个设置: http://schemabank.com/p/VwWHn
我的问题是我是否正确使用这种方法?我正在使用的设置是否有明显的错误,或者我缺少的规范化概念?我正在尝试在实际场景中使用的实用方法,所以如果有更好的方法来配置这个数据库,我会很高兴听到它。
答案 0 :(得分:1)
如何添加以下表格:
这样,如果您添加国家/地区或评级类型,则无需更改表格结构。
答案 1 :(得分:1)
您可能希望拥有一个platforms_data表,该表允许您将游戏与多个平台相关联。这可能是一个有意识的选择,没有这个,但我想我会提到它。
另一件事是,对于发布日期,我假设您有一个单独的release_dates表,以便您可以按发布日期选择所有。如果这不是您计划的一部分,那么您可能不需要额外的表格,只能将其包含在游戏模型中。
另一件需要考虑的事情是游戏经常在不同的日期在不同的国家发布。由于您已经将多个国家/地区纳入架构以进行评级,因此您可以考虑添加国家/地区表并删除您所在国家/地区的评级表。然后你可以有一个评级表,每个评级都有一个国家作为外键。然后你只需要创建一个ratings_data表来将游戏与各种评级联系起来。您还可以使用country_id添加到release_date_data表。这种方法允许您扩展和添加更多国家/地区,而无需每次都更改您的架构。