本人最近做了一个手机app和pc端同时开发的项目,深感表结构设计的重要性,表设计的好,可以少些很多sql和代码,甚至可以少些很多复杂的sql,因此设计好表真的很重要,一下想法都是从个人角度出发,只做参考
一.表结构设计:
1.数据库表必备字段:创建人,创建时间,修改时间,修改人,逻辑删除,版本号,这几个字段一定要有,用不着那可以不用,但是一定要有,尤其是版本号,看似无用,其实要改的时候很麻烦,建议都增加一个
2.对于流程性比较强的业务,或者说是含有多种状态的任务,尽可能的分成主表个子表,每个流程的信息记录在子表,但是每个流程的更改人,更改时间等信息一定要在主表顺便记录一下。
3.针对第二点,若是含有一些特殊标记的流程,比如一个任务,他人代办,或者转办这种,不在流程之内,但是又必须展示的标签,也尽量用字段将其记录下路,而不是去用sql做逻辑,负责很复杂,,本人就用到过
4.对于一些全局的配置项,而且会经常改动的配置项,由于经常变动会导致历史数据无法保持,所以一定要考虑到设计表时事先做一个历史表,去把之前的数按照版本号或者日期存起来,就可以解决这个问题
这些问题小编都遇到过,然后就会发生重复的返工,真的很烦人,希望可以帮到各位