一哥,有个数据表设计的问题

来源:3-10 lambda表达式不是什么地方都能写

weibo_拥有写轮眼的大帅B_0

2021-01-18

一哥我最近在设计数据表的时候遇到的一个问题,
多个表的业务都不一样(订单表,出入库表)
但是都需要审核的多个字段 (1.是否审核状态 ,2.审核是否通过状态,3.审核时间,4.审核人,5.审核批注(内容)),
这些是放在不同的业务表中, 还是单独抽取成一张审核表(是否需要创建一个状态字段标识审核的业务是什么)
麻烦一哥解答下。

写回答

1回答

张勤一

2021-01-18

同学你好:

    这确实是个非常好的问题,但其实,这个并不是标准,或者说好于不好的问题。我这里的回答也是出于个人经验与建议,具体怎么选择,你可以参考公司的规范或者你个人的习惯。

    你思考一下,是不是几乎每一张业务表都会有四个字段,它们也被称为四大金刚:创建时间、更新时间、创建人、更新人。那么,这四个字段是每张表都会有的,它们被分开存储了吗?当然不会,放在一张表里面多方便。所以,我也是建议,你这里的业务字段都放在对应的表里面,不要单独创建一张表去维护状态。这样做的好处也是很显然的:

    (1)维护起来简单,一张表肯定比多张表更加容易和轻松

    (2)事务仅仅在一张表中,而不是跨越多张表,性能肯定也会更好

    (3)你在使用时也会方便很多


    我是勤一,欢迎随时来找我玩!

3
1
weibo_拥有写轮眼的大帅B_0
爱了,爱了 一哥 旁征博引,一针见血 ,毫无保留的传授自己的宝贵经验,不愧是金牌讲师
2021-01-18
共1条回复

Java实操避坑指南 SpringBoot/MySQL/Redis错误详解

掌握业务开发中各种类型的坑,,Java web开发领域通用

452 学习 · 204 问题

查看课程