MySQL数据库开发规范简要

文章详细介绍了MySQL数据库开发的规范,包括全小写的表名和字段命名,表命名遵循的结构,如【表类型_业务名称_表的作用】,强调不使用数据库关键字,必须添加表和字段注释,以及主键、常规字段的设置。此外,还提到了索引和外键的命名格式,并给出了各种类型的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL数据库开发规范简要

数据命名一般如无特殊情况一般采用全小写,且单词之间使用“_”分隔。

1. 表命名

  ①. 表名的格式一般为【表类型_业务名称_表的作用】
  表名一般由两部分拼接而成,一部分是表示实际的业务含义,比如面向对象中的实际的对象的名称;另一部分是表类型前缀(见前缀表1.1-1),表示的这张表的类型;
  ②.全部小写;
  ③.表的名称一般使用名词或者动宾短语;
  ④.不建议使用缩写,填写完整单词;
  ⑤.表的名字不能取太长(≤30个字符),一般不超过三个英文单词(特殊情况下允许4个单词),不推荐中文拼音,如果超过30字符,则允许使用单词缩写(请用约定俗成的缩写),但是需在表名注释中添加缩写的全名称。
  ⑥.多对多的连接表可以使用两个表的业务含义作为表名;
  ⑦.表名的单词一般都为单数(例:推荐Employee,不推荐Employees);
  ⑧.不要使用数据库关键字,如name、time、datetime、password等;
  ⑨.必须加表注释。表名注释支持换行,第一行会被视为表名。 表的介绍请换行填写

前缀表1-1

序号类型缩写英文注释数据特点举例
1主表tmTable of main数据量基本稳定,不会随时间线性增长用户、产品、用户权限控制、
2关联表trTable of Relationship同主表用户⇌角色、用户⇌角色、
3字典表tdTable of Dictionary同主表基础配置、枚举
4记录表tlTable of Log随时间线性增长,可根据需要定时清除过期数据,需要按时间对表分区登录日志、操作日志、设备上传数据
5拓展表teTable of Expansion
6统计表tsTable of Statistic随时间线性增长,需要按时间对表分区设备每日运行情况统计
7任务表ttTable of Task数据量不大,但肯能会随时间线性增长,数据量大时需要对表分区一般都不怎么用,有的任务表同时还是作为记录表在使用,这种表一般都是当做用tl前缀
8临时表tpTable of Tmp临时存储数据使用,使用完毕后会立即删除

2. 字段1

① 必须显式指定主键
② 数据表的常规3个字段:id(bigint/int)、createTime(datetime)和updateTime(datetime);可根据实际情况酌情去掉个别字段,建议每个表都包含id字段;
③ 字段必须加注释;
④ 字段的第一行视为字段中文名,详细介绍和枚举类型请换行;
⑤ 所有字段尽量根据业务设置合理的缺省值,尽量避免表中出现 NULL值;
⑥ 当字段为外键时,字段名为: 关联表_id, 注释需要在字段注释基础上,换行加上 #Table(关联表表名) 来说明关联的哪张表。(注意英文#号);
⑦ 当字段为枚举时,需按照模板配置:

(注意: 注释内容 需要替换成当前字段的具体注释)
注释模板1: 注释内容 #Enum(枚举类名 {枚举值英文名:val,“枚举值注释”; …})
注释模板2: 注释内容 #Enum({枚举值英文名:val,“枚举值注释”; …})
注释模板3: 注释内容 #Enum(枚举表中的枚举类名), 这种方式的前提是枚举表中必须预先设置好了这个枚举类;

3. 索引和外键

①必须加注释;
②索引格式为【前缀_当前表全名(或表名缩写)@字段名】;外键格式:【前缀_当前表名缩写_外部表名缩写@字段名】;
③长度不超过30个字符,若超过,可用先后采用字段名、表名的缩写来代替,直到长度满足条件为止。
注意:使用缩写时,需在注释中写明缩写的全名称;建议缩写使用表名中每个单词的首字母大写。

索引和主外键前缀表1.3-12

序号类型前缀英文全名
1普通索引idxindex
2唯一索引ukunique key
3外键fkforeign key

4. 规范举例

4.1. 表注释模板:

在这里插入图片描述

4.2. 表字段格式模板:

在这里插入图片描述

4.3. 索引格式模板:

在这里插入图片描述

4.4. 外键格式模板:

在这里插入图片描述


  1. lamp项目开发规范:https://gitee.com/zuihou111/lamp-generator/blob/master/README.md ↩︎

  2. Java开发手册(黄山版).pdf ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值