1
shenjixiang 2017-08-19 16:23:25 +08:00
一般的做法是第二种
|
2
greatcl OP @shenjixiang
这样对比第一种的优点是什么呢?需要区分增加减少时通过正负数不就可以区分了吗? |
3
shenjixiang 2017-08-19 16:35:32 +08:00 1
对账的时候捞取数据方便吧,数据量大了也好加索引
|
4
realpg 2017-08-19 16:37:42 +08:00 1
一般来说 这种模型 我都是四个表
1. 当前余额表 2. 楼主 1 方案 3. 楼主 2 方案 主要需要照顾统计和筛选时候的性能 1.2 方案对不同的检索过滤方式有不同的性能优势 |
5
zhangmiaoCHN 2017-08-19 17:27:15 +08:00 via iPhone 1
一般来说,数据库列属性越原子越好,所以把第二种方案比较符合范式。
|
6
realpg 2017-08-19 17:36:59 +08:00
竟然没人说我数学不好 白造了个梗
|
7
watsy0007 2017-08-19 18:41:52 +08:00 1
看业务呀。如果简化到只有这么点约束,1 和 2 没区别 ,1 更简单点
但是通常业务中,积分会对应多种变更方式,不仅仅是+-的。所以是 2 |
8
myliyifei 2017-08-19 19:16:48 +08:00 via Android 1
听说一般财务软件要什么正负对冲,不太专业 有专业人员讲解吗
|
9
dodo20120 2017-08-19 19:22:42 +08:00 1
四柱结算法
|
12
refear99 2017-08-19 22:39:19 +08:00 1
选 2,然后每一行里,再加 2 个字段,记录变更前的值和变更后的值
|
14
Hellert 2017-08-20 10:44:56 +08:00 1
可以采用财务标准借贷记帐方法:
建两个列,增加列(收入)和减少列(支出),根据业务需求写相应列就行了。 正常积分增减记正数,如果发生记录撤消或冲红的情况,直接相应列记负数。 好处是一目了然,如果界面上要做 grid 显示,直接列下面做合计。 统计一段时间积分加减合计,直接那一列 sum 就可以了。 也便于筛选所有冲红的记录,直接 select 所有值为负数的就可以。 |