我正在构建一个web应用程序,其中一个产品可以是几个不同的类型(实际上是家具类型),并且取决于这些类型,该产品有一些与它相关的领域。
快速背景:我使用MySQL和PHP作为我的框架。我正在寻找的答案不一定是“类似CakePHP”;我更喜欢一个通用的MySQL最好的数据库设计答案。
所以,我可以想到两个选择:
products和所有可能的字段,只留下不用于该特定产品的字段为null。这是我认为最简单的设计,但在集成过程中需要花点时间(因为我的模型需要跟踪类型,以及在该类型的基础上实际更新哪些字段)。products),它至少有三个字段-- id (主键)、productType (查找正确的表)和productTypeId (它将产品表连接到特定的产品表。我非常依赖于#1,但我想得到其他人的想法。
如果你需要更多细节,请告诉我!,谢谢!
更新:I只会期望一套很小的家具类型(<10开始,最大可能是20)。
发布于 2010-02-26 23:21:04
我认为解决您的问题的解决方案,至少如果您对产品有许多不同类型的属性,可能是使用实体属性值模型。
基本上,你可以:
Product表,包含每个产品一行,并存储每个产品的数据类型(例如:名称、价格、库存数量)。当然,您还需要某种“引用系统”,它定义:
如果您不想建立这样的系统,我将使用类似于您的第二个解决方案:
ProductTYPE表将从Product继承Product中有一行,在相应的ProductType表中有一行。
发布于 2010-02-26 22:53:34
为什么不使用对象或数组,甚至xml?
1.使用数组或对象,然后序列化:
$details = serialize(array('width'=>'1meter','color'='beatiful'));或者使用xml,并仅将xml文件的路径存储在数据库中。
https://stackoverflow.com/questions/2345350
复制相似问题