数据库表设计

初期项目设计表时,尽量保持表结构清晰

方法:

1、表中尽量不要冗余字段;

     好处:

     表结构清晰;

     修复数据时,修改一处就行,不用修改别处了;

2、表中冗余字段情况;

     a、条件:

    数据是不变的,而且不能从关联表中查找到的字段;

    数据是不变的,而且能从关联表中查找到的字段,但是关联表数据量巨大(几十、几百万),影响性能;

     b、好处:

     方便查询,不用通过关联表查询

3、表中建vo字段或通过get方法得到,不序列化到表中。

      数据会实时变化的字段;

      需要通过计算得到的字段;

3、spring jpa框架表设计时,不用初始化数据的字段,使用java引用类型,否则java原始类型( 如:boolean、int ;Boolean、  Integer)

4、示例:

     企业下直接查付款单、库存、发票、合同,这时要付款单、库存、发票、合同表中药关联上企业id,便于查找,

     审核、处理流程等不需要企业下查找,就可以不关联企业id

表设计原则:https://baijiahao.baidu.com/s?id=1583861854199383399&wfr=spider&for=pc&isFailFlag=1

5、表设计中,关于金额相关的字段设计

   存储时: 尽量用string存储,方便数据移植,如移动到solr中等

   计算时:转换为BigDecimal,精确计算

6、long、int类型的字段

   存储时:尽量使用Long、Integer等类型,除非有默认值的情况,使用原始类型。(原因:方便业务统一用NULL,判断数据是否存在)

6、boolean类型的字段

存储时:尽量使用Boolean等类型,除非有默认值的情况,使用原始类型。(原因:FastJson序列化时,找不到getBoolean,只有isBoolean,不方便操作。解决方案:加一个getBoolean的方法)




猜你喜欢

转载自blog.csdn.net/mynamepg/article/details/79990242