用于高效存储和检索的数据库结构

时间:2010-10-07 06:16:07

标签: mysql database database-design

我有一个数据库,可以接收与特定足球俱乐部相关的链接和内容,目前我存储内容的方式是2个单独的表,1个存储链接和详细信息,fm_sources,以及另一个存储俱乐部特定信息fm_club,用于对fm_sources内容运行查询以查找相关信息。

问题是,我在一个API中几乎可以保证与1个俱乐部相关的数据,我最好为每个俱乐部设置一个不同的桌子,其中的行与初始存储中的俱乐部相关联,这个允许我使用非常简单的SQL查询,而不是像我使用here那样进行大量的LIKE比较。然后,我可以简单地运行像这样的查询

SELECT * FROM fm_liverpool ORDER BY created_date DESC LIMIT 15

这个方法需要我为每个俱乐部设置多个表,但每个表都会复制相同的列。

1 个答案:

答案 0 :(得分:1)

规范化评论是正确的:您将拥有一个用于俱乐部名称和信息的表,一个用于fm_sources,可能还有三个用于链接两者。如果您获得更多数据,则需要更多表格。

你不应该真的要做“大规模的LIKE比较” - 至多一个,足球俱乐部的名字。其他所有内容都应该通过ID加入。