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

Moh*_*mal 5 sql database-design

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

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

最大的问题是: - 对于与标签的关系,什么是最佳解决方案的优化和查询速度?

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

    • table articlesToTags(ArticleID,TagID)
    • table jobsToTags(jobid,tagid)
    • 等等
  2. 或者把它全部放在一张桌子里

    • table tagrelation(tagid,itemid,itemtype)

我需要你的帮助.请给我提供文章来帮助我完成这个设计

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

谢谢

Dav*_*nde 2

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

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

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

希望我能帮忙