多套账该如何设置循序渐进数据库

多套账之间要求隔离,每套帐的功能都一样,每一个套账就相当于一个分公司

 

有两个方案:

1.每加入一个分公司,就创建一个database,用来存储一个公司的业务。

2.给每一个需要分开的表加上DbId字段用来区分,相当于分库存储。

 

方案1:考虑到未来大数据量存储

方案2:简单够用,没有考虑到未来大数据存储(未来有多远????,未来会变成什么样,也不知)

优选方案2:

 

这个设计目的是针对集团-分公司,分公司独立核算模式,分公司的业务好解决,但到最后基本上会涉及到集团层面的综合分析

这要求有查询的条件统计,例如:部门“01”表示行政部,应该所有的分公司的部门“01”都表示行政部,只有这样,统计结果才有意义

这延伸出一个问题,如何表示集团,集团信息如何被share(集团控制还是分公司控制)

 

有两种方案处理这种情况

1:DbId==null表示这个项目是集团的,所有的分公司都可以直接用,例如查询部门的条件为:select departmentCode,departmentName from department where dbid=1 or dbid is null

2: DbId==null表示这个项目是集团的,集团所做的改动都会进行分发,也就是说有十个公司,当集团更改一条记录,就会同步修改到其它10条记录。

具体要采用那种方案,需要考虑在企业运行过程中,是否需要中途改变对象的share状态(呵呵,俺也不知道)。

 

posted @ 2013-03-26 16:58  I'm CY  阅读(324)  评论(0编辑  收藏  举报