Sql 网站数据库结构-最佳和最有效的结构

Sql 网站数据库结构-最佳和最有效的结构,sql,database-design,Sql,Database Design,我制作的这个新网站的一个基本功能是允许用户选择他们最喜欢的游戏。因为我希望用户能够搜索到喜欢他们喜欢的相同游戏的人,我希望每个游戏的拼写和布局都是一样的,所以我想简单地为它设置一个下拉菜单。但我的数据结构问题就在这里: 由于每个用户只有一个喜爱的游戏,我是否应该为包含“喜爱的游戏”字段的用户提供一张表?或者,我应该有一个用户表和一个带有链接表的游戏表,在链接表之间存储用户ID和游戏ID吗 如果我也有其他选择,比如最喜欢的体裁,这会是一种有效的方式吗?我只是觉得最终我会得到一个巨大的平面文件数据库

我制作的这个新网站的一个基本功能是允许用户选择他们最喜欢的游戏。因为我希望用户能够搜索到喜欢他们喜欢的相同游戏的人,我希望每个游戏的拼写和布局都是一样的,所以我想简单地为它设置一个下拉菜单。但我的数据结构问题就在这里:

由于每个用户只有一个喜爱的游戏,我是否应该为包含“喜爱的游戏”字段的用户提供一张表?或者,我应该有一个用户表和一个带有链接表的游戏表,在链接表之间存储用户ID和游戏ID吗

如果我也有其他选择,比如最喜欢的体裁,这会是一种有效的方式吗?我只是觉得最终我会得到一个巨大的平面文件数据库,但这似乎是最好的方法,而且为它创建表单会更容易


想法?

如果关系是并且将始终是每个用户的一个收藏夹,那么只需将该列添加到用户表中即可。如果您怀疑在任何时候您可能希望您的用户能够选择多个收藏夹,那么现在就实现链接表。

如果关系是并且将始终是每个用户一个收藏夹,那么只需将该列添加到用户表中即可。如果您怀疑在任何时候您可能希望您的用户能够选择多个收藏夹,那么现在就实施链接表。

这个折衷是您认为现在可以节省多少时间,而不是以后(当需求发生变化时)需要做多少返工。除非你在一个巨大的时间紧缩,否则我会错误地提前计划多个最喜欢的东西。这个权衡是关于你认为你现在可以节省多少时间,而不是你以后要做多少返工(当需求改变时)。除非你在一个巨大的时间紧迫,否则我会错误地提前计划多个最喜欢的。