数据库:一张表或多张

Gam*_*mer 3 replication database-design database-recommendation relations

我正在做一个分类广告网站的项目。

我有 12 个主要类别,它们的项目是 142,例如车辆有汽车、踏板车、自行车等。手机 手机有手机、平板电脑、配件。

现在我应该使用几个表并使用 Json 吗?

或者我应该为每个项目创建单独的表格(142 个表格)?

目前,我已经决定使用 142 个表来避免关系和连接以及繁重的编码。

哪种方式是正确的或建议另一种方式。优缺点都有什么 ?我搜索了很多,但没有得到任何可以回答我的问题的东西。

Dan*_*her 14

你绝对(在我看来)应该有 142 个表——命名、索引和维护将是一团糟,如果有一天你添加另一个类别,你会产生很多额外的工作,如果你需要的话将广告从一个类别转移到另一个类别,等等。

在执行搜索时将 JSON blob 存储在数据库中会降低性能,因此我也不会这样做。

当您使用关系数据库系统时,良好的关系表设计(是的,有连接)确实是最好的方法。例如,一个包含类别(12 条记录)的表,连接到一个包含项目(142 条记录)的表,连接到一个广告表。

  • @Shafee Daniel 只是给了您一个粗略的解决方案,请参阅最后一段。JSON 非常重要,如果使用得当,它非常有用。 (2认同)

Hug*_*ink 5

我强烈建议您不要制作 142 张桌子,这将是一场噩梦。但也不一定使用 JSON。

相反,您应该有一个包含类别的表和另一个包含项目的表。使用外键列将项目链接到它们各自的类别。例如,您的items表可以有一category_id列。

不要将原始 JSON 存储在您的数据库中,如果其中的数据可以在您的数据库设计中表达(除非您有充分的理由)。

我可以保证连接比为每个类别制作单独的表要容易得多。即使您不知道如何使用它们,也值得学习它们。