• 表名规范


对表名进行归类命名,且开头前缀使用单词缩写方式,命名为英文单词或单词缩写。

不要无缘无故的多出一种开头的表,以下是错误用法

错误一:即无归类,也未缩写

错误二:未缩写

常用缩写举例,此缩写也适用于代码变量或类名命名

sys:系统类

tr:交易类

bs:基础数据类

acc:账户类

out:外部对接类

om:运营类

chk:对账类

stat:统计类

stl:结算类

clr:清分类

park:停车类

  • 字段命名规则


小写英文单词或单词缩写,下划线分隔,保留常用单词惯用语,如账户状态acc_state、审核状态audit_state,但一般不会用status。

  • 字段类型规则


按照标准用法即可,金额用数字、名称类用字符串,但如果是oracle里的char类型尽量不要用,哪怕是1个长度也要用varchar2(1)

  • 表注释、字段注释规则


清晰完整,能起到一看注释就知道如何使用,可体现在如下几个方面:

① sequence字段,如:绑定id,sequence:seq_bind_id。

② 关联外键字段,如:车牌id,关联park_car_info表。

③ 格式需要特殊说明,如:

出生日期,YYYY-MM-DD;

交易金额,单位:分;

④ code类似字段,如:绑定状态,0待审核,1绑定,2审核不通过,9解绑,sys_code:CAR_BIND_STATE。

若code较长或者有可能扩展变化时,“0待审核,1绑定,2审核不通过,9解绑”具体code对应内容可不写明。

⑤ 需要特殊说明用法字段,如:审核时间,审核通过时,作为绑定时间使用。

因为一般数据库设计人员和开发人员可能不是同一人,哪怕是同一个人,也难免在时间一长后,忘记当时的设计思想。

其它同事使用这个表,查询、维护时,就知道如何与数据库设计人员的思路保持一致,比如对于审核时间,不作特殊说明,肯定不知道是当作绑定时间用。

以下截图举例说明,比较标准的表注释

  • mysql时间字段使用


mysql注意:对于时间字段,尽量不要使用默认值current_timestamp,原因是由于mysql双主机数据同步时,有可能造成两个库的同一个表的这种字段值不同,因为这个值是取当前要器的系统时间,因此需要从代码中赋值

results matching ""

    No results matching ""