【发布时间】:2011-05-12 03:45:58
【问题描述】:
我有一个存储客户项目的表。该表需要反映以下活动:
- 当客户将商品添加到他/她的队列时。
- 当商品被标记为运送给客户时。
- 商品实际发货的时间。
- 当商品被客户标记为退货时。
- 为商品创建退货运输标签时。
- 收到客户退回的商品时。
工作流程如下:
- 用户将项目添加到列表中。
- 已安排的活动标记要发货的物品(对应于信息点 2)。
- 员工创建发货标签,然后将物品标记为已发货(至信息点 3) --- 客户收到货,客户很高兴。
- 客户将商品标记为退货。
- 员工为物品创建运输标签。
- 物品被取走并退回。
客户的帐户应显示以下内容:
- 队列中的项目。
- 已发货。
- 标记为退货的商品(如果客户想要保留该商品更长时间,则允许客户取消)。
当一件商品被标记为在我们这边发货时提醒客户没有任何价值(在我的场景中)。
我最初想到了继承,但事情很快就开始失控了。我不知道我是否应该为每个信息点设置一个子类。此外,有些东西似乎不应该属于它们自己的子类(标记为发货和退货的物品似乎在“介于”类之间)
我应该使用继承并为每个信息点创建一个类吗?还是我把事情复杂化了?
当前架构
items
- id
- typeid (in queue, shipped, etc....)
- userid
- itemid
- shippedat
- returnedat
我正在使用 mySql,并且预计表会很大!
【问题讨论】:
-
抱歉,您有什么问题?
-
@Konerak,我想我想知道我是否以正确的方式接近解决方案,或者我是否使事情复杂化。我应该为我需要跟踪的每一部分创建一个子类,还是可以将一些东西混为一谈?
标签: mysql database database-design data-modeling