初期项目设计表时,尽量保持表结构清晰
方法:
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的方法)