【问题标题】:Database structure for efficient storage and retrieval用于高效存储和检索的数据库结构
【发布时间】:2010-10-07 06:16:07
【问题描述】:

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

问题是,通过一个 API 几乎可以保证与 1 个俱乐部相关联的数据,对于我来说,对于每个俱乐部有一个不同的表,在初始存储中与该俱乐部相关联的行会更好吗?将允许我使用非常简单的 SQL 查询,而不是像我使用 here 那样进行大量的 LIKE 比较。然后我可以简单地运行这样的查询

SELECT * FROM fm_liverpool ORDER BY created_date DESC LIMIT 15

然后,此方法将要求我为每个俱乐部拥有多个表,但每个表都会复制相同的列。

【问题讨论】:

  • Normalization:你需要它。
  • 我真的需要了解数据库设计

标签: mysql database database-design


【解决方案1】:

规范化评论是正确的:您将有一个用于俱乐部名称和信息的表,一个用于 fm_sources,并且可能还有第三个将两者联系起来。如果您获得更多数据,您将需要更多表。

您实际上不应该进行“大量的 LIKE 比较” - 最多一次,因为足球俱乐部查找名称。其他所有内容都应通过 ID 连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多