数据库设计问题,求教.
关于状态字段的设计.
一个流程的记录.整个流程分为A 和B 两个阶段.
所以我在记录中添加了一个名为state的int字段.
以及两个状态A和B
现在由于客户中可能会有vip,所以我想添加一个vipa和vipb状态
以示流程的处理区别.
也有另一个解决方法是添加一个vip字段来表明流程中涉及的客户
是否是vip(客户信息表不在我这儿所以不可能由客户信息记录去区分)
就我个人来说...
比较倾向于第一种.虽然有违反1NF之嫌,但适应性较广.
因为流程的变动很多.以后即使有其它新状态要添加也不需修改数据库
结构
第二种亦有其合理性,但一旦以后有新流程需要新标识我又要修改数据
库建模和数据库结构?然后rebuild之前的流程?(处理流程需要有可替换
性,有新流程不代表旧流程不用.)
当然扩展表亦是一个办法.但这样的话除非rebuild否则新流程规则没法
用老的orm模型访问新表.
大家平常处理类似问题都是怎么解决的呢?