【问题标题】:Database design - Many tables with unique tags or one table with all of them?数据库设计 - 许多带有独特标签的表或一张表都有它们?
【发布时间】:2017-12-11 21:44:18
【问题描述】:

我正在处理数据库 (MySQL) - 汽车经销商。由于产品(汽车)有很多特性和独特的价值(变速箱、型号、制造商......),我想知道如何为它创建一个设计良好的数据库。

我应该使用:

Table cars
columns -> id, name, manufacturer, model, gearbox...

或者:

Table cars
columns -> id, name, manufacturer_id, gearbox_id...

Table manufacturers
columns -> id, name

Table gearbox
columns -> id, name

正如我提到的,有很多独特的价值,我认为一次又一次地存储它们并不好,但是如果我创建很多表+将它们与链接表链接到产品表(汽车),就会有当我进行查询以获取所有值时,有很多连接。

这些只是其中的一小部分,我需要为数据库中的每个产品存储更多的值。

【问题讨论】:

标签: mysql database


【解决方案1】:

这里有 3 个选项:

  1. 你可以把每辆车存成一个单独的表,然后有一行对应于变速箱等。这太糟糕了,没人做,不要做。

  2. 您可以将所有变速箱等数据序列化为 json 字符串并将它们放入您的汽车单元中。这也很糟糕,有些人愚蠢地这样做了,但并不经常这样做。不要这样做。

  3. 您可以用正常的好方法来做事,并为每个对象类实现单独的表,并使用外键链接它们。这是要走的路。

【讨论】:

  • 我想我会选择选项 4。
猜你喜欢
  • 1970-01-01
  • 2023-03-30
  • 2011-02-15
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-14
  • 1970-01-01
相关资源
最近更新 更多