【发布时间】:2016-03-23 12:52:09
【问题描述】:
为未来的观众编辑:除了帮助我接受的答案之外,我还发现了一些非常好的信息here 。
我有一个数据库,其中包含一个用于在网站 (RV) 上显示库存的表。它存储典型信息:年份、品牌、型号等。我最初使用 6 个额外的列来存储“特殊功能”,但我不喜欢对可以列出的选项有如此严格的限制。由于我从来没有弄乱过一个表,我的直觉是添加 24 列左右来覆盖所有内容,但我脑海中的某些东西告诉我,可能有更好的方法。那么我什么时候决定 N 列太多了?这些列中的数据通常不是唯一的。
(对不起,糟糕的图表)
当前表格设计:
-----------------------------------------------------------------------
| id | year | make | model | price | ft_1 | ft_2 | ft_3 | ft_4 | ft_5 |
-----------------------------------------------------------------------
| | | | | | | | | | |
-----------------------------------------------------------------------
可能更好的设计:
table #1
------------------------------------
| id | year | make | model | price |
------------------------------------
| | | | | |
------------------------------------
table #2
---------------------------------------------
| unique_id(?) | feature | unit_ref |
---------------------------------------------
| 0 | "Diesel Pusher" | 2,6,14 |
---------------------------------------------
我觉得第二个表格的好处可能是我可以更轻松地传播包含所有先前输入的功能的下拉列表,以加快向库存添加新单位。
这是正确的方法吗,还是我应该添加更多列并满足?
谢谢。
【问题讨论】:
-
表#2 中的
unit_ref列代表什么? -
我试图协调如何存储通过 id 分配给哪个单元的“功能”。看起来这就是第三张桌子发挥作用的地方。尽管如此,我仍然很难理解布局。
-
啊。因此,新布局可能不需要。
标签: mysql