在项目中,数据库表的命名对于项目开发的影响也是至关重要的,表名一般由两部分拼接而成,一种是表示实际的业务含义,比如面向对象中的实际的对象的名称;另一部分是前缀或者后缀(具体是前缀和后缀要看公司或者具体的项目来定,规模大一点的公司是有自己的设计规范这里不做赘述),表示的就是这张表的类型。在业务开发中,清晰的命名对于实际开发中的逻辑梳理至关重要,尤其是对于数据库表的数量较多的项目来说,混乱的表命名将会严重影响开发效率。
我在项目中经常遇到的表名的分类规范如下(如缺请评论补充):
表前缀或后缀 | 命名解释 | 数据表类型 | 数据特点 | 举例 |
tm_/_tm | table of master data | 主 | 数据量基本稳定,不随时间而线性增长 | 分公司,产品,经销商 |
ts_/_ts | table of system | 系统级 | 其数据量基本稳定,不随时间而线性增长 | 用户权限控制,配置参数 |
tl_/_tl | table of log | 日志 | 随时间而线性增长,但会安排定时任务定期删除旧数据,保持总体数据量稳定 | |
ti_/_ti | table of interface | 接口 | 随时间而线性增长,但会安排定时任务定期删除旧数据,保持总体数据量稳定。 | |
tt_/_tt | table of transaction data | 业务交易 | 随时间而线性增长,用户平常关注最近若干天的数据,少数情况下会查阅很久以前的数据,数据量非常大 | 订单表、交易记录表 |
tr_,tmr_,tsr_,ttr_/_tr,_tmr,_tsr,_ttr | table of relationship | 关系 | 记录某些表中数据之间关系 | 订单与买家或者卖家之间的关系 |