Database 为电子商务商店设计数据库
嗨,我正在尝试为一个电子商务网站设计一个数据库,但我似乎找不到一个正确的方法,这就是我目前所拥有的: 问题出现在产品上。我有66种产品,大多数都有不同的领域。我必须识别,但它们似乎都不太实用: 选项A: 起初,我想为每种产品类型制作一个表,但这样会产生66个表,这不太容易维护。我已经开始这样做了,我创建了Product_笔记本和Product_笔记本书包表。然后我停下来想了想,这个解决方案不是很好 选项B 在仔细考虑之后,我提出了选项B,它将数据存储到一个名为description的单独字段中。例如:Database 为电子商务商店设计数据库,database,database-design,Database,Database Design,嗨,我正在尝试为一个电子商务网站设计一个数据库,但我似乎找不到一个正确的方法,这就是我目前所拥有的: 问题出现在产品上。我有66种产品,大多数都有不同的领域。我必须识别,但它们似乎都不太实用: 选项A: 起初,我想为每种产品类型制作一个表,但这样会产生66个表,这不太容易维护。我已经开始这样做了,我创建了Product_笔记本和Product_笔记本书包表。然后我停下来想了想,这个解决方案不是很好 选项B 在仔细考虑之后,我提出了选项B,它将数据存储到一个名为description的单独字段中
"Color : Red & Compatibility : 15.6 & CPU : Intel"
在这种方法中,我可以从数据库中检索字符串并对其进行操作
我知道这种方法也不是一个很好的主意,这就是为什么我要求一种更实用的方法。只需创建一个ProductProperties表并将所有可能的字段放在那里。(实际上,您可以向Products表添加更多字段) 然后,当您列出产品时,只需使用您需要的字段 当然,也有许多共同领域 顺便说一下,如果您正在考虑将数据存储在阵列中(选项B?),您以后会后悔的。这样你就不能轻易地把你的桌子分类了 此外,该选项将使根据特定特征查找特定项变得困难。请参阅我在堆栈溢出上的回答。对于您的情况,我建议使用实体属性值(EAV) 正如我在链接的答案中所解释的,出于许多好的原因,EAV几乎总是要避免的。然而,跟踪在线目录的产品属性是一个应用程序,其中EAV的问题最小,好处广泛