数据库设计好不好,分配很重要。

数据库设计好不好,分配很重要。

 

以前遇到一个需求,现抽象为每个会员可以为自己增加一些任务

自然的,表很好设计

表1 :taskid、userid、content、status、createtime

后来加了需求,要管理员可以为会员增加任务

自然的,再加了三个表

表2 : staskid、content、createtime
表3 : allotid、staskid、userid、isdel 分配表
表4 : id、staskid、userid、status 完成状态表

然后表2、表3、表4通过各种联接成表1的形式,再通为union合为一张表,

最后发现以前很多的数值统计什么的都要改,都要因为后面多了一个staskid而不同。


后来想想,如果我们一开始就设计成

表5 :taskid、type、content、createtime (多了一个type,区分是会员自己创建的还是管理员创建的)
表3 :allotid、taskid、userid、isdel 分配表
表4 :id、taskid、userid、status 完成状态表

这样的话,扩展性就要好些。。。

你可能感兴趣的:(数据库设计)