这些数据库表的最佳设计是什么?

时间:2011-01-09 04:34:18

标签: sql database-design

我需要找到最佳解决方案,使数据库标准化,并预期会有大量数据。

我的网站有一个表格标签(包含关键字,ID)以及与此标签表相关的4种类型的数据,如(文章,资源,作业......)。

最大的问题是: - 与标签的关系是什么最佳解决方案的optimazaion&查询速度?

  1. 为每个关系制作一个表格,如:

    • table articlesToTags(ArticleID,TagID)
    • table jobsToTags(jobid,tagid)
  2. 或将其全部放在一个表格中,如

    • table tagsrelation(tagid,itemid,itemtype)
  3. 我需要你的帮助。请给我提供帮助我进行此设计的文章

    考虑到将来网站可以将新的部分与标签

    相关联

    由于

1 个答案:

答案 0 :(得分:2)

我会选择你的架构的规范化版本(这是表关系)。这种类型的模式对于应用程序可能增长的场景非常有用。

在一个表中包含所有数据的坏处是,如果两个关系都有一堆属性,那么最终会得到一个包含大量属性的表,这些属性在增长时会很慢查询,从而成为您的应用程序的性能。

因此,最后问题是考虑到可扩展性,选择简单和快速结束设计良好的代码。

希望我能帮忙