1. 基本规范
- 只能使用英文字母,数字,下划线,并以英文字母开头,命名要有意义;
- 数据库名,表名,列名采用小写,字母之间用下划线(_)隔开,别名采用小驼峰命名法。
- 库名、表名、字段名支持最多64个字符,但为了统一规范、易于辨识以及减少传输量,禁止超过32个字符
2. 常见规范
表命名: 同一个模块的表尽可能使用相同的前缀,表名称尽可能表达含义,其中前缀通常为这个表的模块或依赖主实体对象的名字,通常来讲表名为:业务动作类型,或是业务类型,比如所有日志表均以 log 开头。
字段命名:
- 表达其实际含义的英文单词或简写。布尔意义的字段以“is_”作为前缀,后接动词过去分词。
- 各表之间相同意义的字段应同名。各表之间相同意义的字段,以去掉模块前缀的表名_字段名命名。
- 外键字段用表名_字段名表示其关联关系。
- 表的主键一般都约定成为id,自增类型,是别的表的外键均使用xxx_id的方式来表明。
-
索引命名:
- 非唯一索引必须按照“idx_字段名称字段名称[字段名]”进行命名
- 唯一索引必须按照“uniq_字段名称字段名称[字段名]”进行命名
约束命名:
- 主键约束:pk_表名称。
- 唯一约束:uk_表名称_字段名。(应用中需要同时有唯一性检查逻辑。)
- 外键约束以fk做前缀,后跟从表名称和主表名称:fk_从表名_主表名。
触发器命名: trg_表名_操作。
函数过程命名: 采用动词+名词的形式表达其含义。
序列命名: seq_表名