MySQL-表命名规范(一)
1. 前言
本文主要讲解
MySQL
表中的一些错误命名规范,虽然这是一个很简单的事情,但随着需求增多,表也在不断扩张,如果没有相关的表命名规范,到时候维护起来也会及其麻烦。我们以 开源框架Ruoyi
为例,讲解这个框架对表的命名处理。
2. 不规范表命名存在的问题
2.1. 表命名
问题一:如下图中,如下表名虽然可以做到见名其意,但随着业务扩展。当需要查询某一个模块的数据时,但又不清楚表名就会存在问题。
2.2. 字段命名
问题二:如下图中,找到了表名,但如果要修改某个字段的数据又会存在问题了。
3. Ruoyi
对表命名的处理
基本规范
- 数据库表名、字段名、索引名等都需要命名规范,可读性高(一般要求用英文),最好做到见名知意
- 我们可以通过命名知道表属于那个模块,可以高效的定位到表进行修改。
3.1. 表命名
基本规范
- 必须使用小写字母或者数字,禁止使用数字开头,禁止使用拼音,并且一般不使用英文缩写。
- 在
MySQL
中,如果表名可以使用父级模块的名称作为前缀,可以更好地组织和管理表
如下图,QRTZ
开头就可以知道是定时任务模块的数据。system
开头的就知道是系统模块的数据。
3.2. 字段命名
基本规范
- 必须使用小写字母或者数字,禁止使用数字开头,禁止使用拼音,并且一般不使用英文缩写
例如,一个表的账号字段
- 反例
1 | CREATE TABLE `account_user` ( |
- 正例
1 | CREATE TABLE `account_user` ( |
3.3. 索引命名
主键索引:
- pk_字段名。 例如:
PRIMARY KEY (
id) USING BTREE
唯一索引:
- uk_字段名。 例如:
UNIQUE INDEX
uk_mobile(
mobileASC) USING BTREE
普通索引:
- idx_字段名。例如:
INDEX
idx_mobile(
mobileASC) USING BTREE
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wickson Blog!
评论