我的电子商务系统将有5种基本类型的产品:
每个都有与之相关的特定属性...
我做了什么(类表继承):
Product
Id
Name
Sku
Price
...
Shoe
ProductId
Size
Color
...
Computer
ProductId
Memory
Processor
...
您如何看待该设计?我认为这不是一个好主意,因为它会使我有点复杂的代码,例如:
-系统在页面中显示所有产品
-现在,客户选择鞋子
-我得到了ProductID,必须检查它是手机,计算机还是鞋子...
我不知道,也许我想错了...
而且我认为EAV根本不是一个好选择...
你们怎么想?
谢谢
请您参考如下方法:
至少有三种方法可以表示数据库中的类继承
这些方法中的每一种都有优点和缺点,这是您必须权衡的。
另一方面,使用继承表示产品类型意味着您每次引入新的产品类型时都必须同时修改代码和数据库模式。如果类型将发生很大变化,并且每种类型没有太多逻辑关联,则最好使用单个(属性,键,值)产品属性表。这不是一个漂亮的数据库设计,但是在这种情况下它将更加实用。