Pau*_*aul 1 database-design e-commerce
我的电子商务系统将有5种基本类型的产品:
每个人都有相关的特定属性......
我做了什么(类表继承):
Product
Id
Name
Sku
Price
...
Shoe
ProductId
Size
Color
...
Computer
ProductId
Memory
Processor
...
Run Code Online (Sandbox Code Playgroud)
你对这个设计有什么看法?我认为这不是一个好主意,因为它会使代码变得复杂,例如:
- 系统显示页面中的所有产品
- 现在客户选择鞋子
- 我有ProductID,必须检查它是手机还是电脑或鞋......
我不知道,也许我在想错...
而且我认为EAV根本不是一个好选择......
你们觉得怎么样?
谢谢
在数据库中至少有三种表示类继承的方法
这些方法中的每一种都有利有弊,这是你必须做出的权衡.
另一方面,使用继承来表示产品类型意味着每次引入新产品类型时都必须修改代码和数据库模式.如果类型将发生很大变化并且每种类型没有太多逻辑关联,那么使用单个(producId,key,value)产品属性表可能会更好.它不是一个漂亮的数据库设计,但在这种情况下会更加实用.