我有一张桌子,上面有关于我拥有的每种资产(笔记本电脑,屏幕,台式机,扫描仪等)的信息。我还有另一个表,其中每个资产都有一个自定义列(因此对于特定的桌面,我可以有一个名为“ Color”的自定义列)... quick shematic:

资产表

AssetID     Description
---------------------------
1           Desktop HP79801


资产自定义列

AssetID     Column1     Column2
-----------------------------------
1           Color       BluRay ?


现在,我想存储每一列的值。我目前对每个单元的处理方式是:

AssetID     UnitID      Column1     Column2
-----------------------------------
1           1           Blue        Yes
1           2           Blue        No
1           3           Black       No
1           4           Blue        Yes


现在我的问题是,有没有更有效的方法可以做到这一点?如何以一种有效的方式将列数增加到无穷大?可能吗 ?

最后,如何有效地存储自定义产品属性?

最佳答案

简而言之,是的。

您所拥有的几乎没有扩展性。您想要的是拥有资产表,自定义参数表和“链接”表。然后,在链接表中输入多个值,而不要在多个列中输入。

举个例子:

资产表

AssetID     Description
---------------------------
1           Desktop HP79801


属性列

AssetAttr       Column1
-----------------------------------
1               Color
2               Size


链接表

AssetID     UnitID      AttrId        AttrValue
-----------------------------------
1           1           1             Blue
1           1           2             Big
1           2           1             Orange
1           2           2             Giant


如果您的属性都是特定于模型的,那么您可能还想在资产自定义列中添加AssetId列,但是我个人不会这样做,除非所有共享属性中的任何资产都没有。

您可能还需要进一步标记。您可能想要用数据类型注释属性表,并且可能有另一个与包含可能数据值的属性表相关的表,然后在链接表中插入上述表中条目的ID。

关于php - 存储每个 Assets 的自定义参数的最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12714840/

10-14 13:34
查看更多