我有一个表,其中包含我拥有的每项 Assets (笔记本电脑、屏幕、台式机、扫描仪等)的信息。我还有另一个表,其中每个 Assets 都有自定义列(因此对于特定桌面,我可以有一个名为“颜色”的自定义列)...快速示意图:
Assets 表
AssetID Description
---------------------------
1 Desktop HP79801
Assets 自定义列
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
现在我的问题是,是否有更有效的方法来做到这一点以及如何以有效的方式将列数增加到无穷大?这可能吗?
到底如何高效存储自定义产品属性?
最佳答案
简而言之,是的。
你所拥有的根本无法扩展。您想要的是有一个 Assets 表、一个自定义参数表和一个“链接”表。然后,在链接表中输入多个值而不是多个列。
举个例子:
Assets 表
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
如果您的属性都是特定于模型的,那么您可能还想向您的 Assets 自定义列添加一个 AssetId
列,但我个人不会这样做,除非您的 Assets 根本没有共享属性。
您可能还想进一步标记它。您可能想用数据类型注释属性表,并且可能有另一个与保存可能的数据值的属性表相关的表,然后在链接表中插入上述表中条目的 ID。
关于php - 存储每个 Assets 的自定义参数的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12714840/