MtySQL命名规范
基本通用规范
1.【推荐】关键字必须大写
所有关键字必须大写,如:INSERT、UPDATE、DELETE、SELECT及其子句,IF……ELSE、CASE、DECLARE等
2.【强制】字段和建表必须写备注
COMMENT写备注
3.【强制】字母数字下划线
采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’‘组成,命名简洁明确,多个单词用下划线’'分隔
4.【强制】纯小写命名
全部小写命名,禁止出现大写
5.【强制】禁止使用关键字
禁止使用数据库关键字,如:name,time ,datetime,password等
数据库命名
表命名
1.【推荐】单数形式表命名
用单数形式表示名称,例如,使用 employee,而不是 employees
明细表的名称为:主表的名称+字符dtl(detail缩写)
例如:采购定单的名称为:po_order,则采购定单的明细表为:po_orderdtl
字段命名
1.【强制】必须有三个字段
id、gmt_create、gmt_modified
- 说明:其中 id 必为主键,类型为BIGINT UNSIGNED、单表时自增、步长为 1。gmt_create, gmt_modified 的类型均为 DATETIME 类型,前者现在时表示主动式创建,后者过去分词表示被 动式更新
2.【强制】必须有默认值
所有字段在设计时,除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary 、varbinary外,
必须有默认值,字符型的默认值为一个空字符值串’’,数值型的默认值为数值0,逻辑型的默认值为数值0
id设为自增时,不能设置默认值
系统中所有逻辑型中数值0表示为“假”,数值1表示为“真”,datetime、smalldatetime类型的字段没有默认值,必须为NULL
3.【强制】字段名禁止缩写
字段命名使用完整名称,禁止缩写
4.【推荐】字段名不要复用表名
例如,在名employe的表中避免使用名为employee_lastname的字段
5.【推荐】字段名不超过三个单词
采用字段的名称必须是易于理解,一般不超过三个英文单词
6.【推荐】少用text类型
尽量使用varchar代替text字段
7.【建议】IP地址使用int类型
IP地址使用int类型
8.【强制】浮点数用DECIMAL(M,D)
小数类型为 DECIMAL,禁止使用 FLOAT 和 DOUBLE。
说明:在存储的时候,FLOAT 和 DOUBLE 都存在精度损失的问题,很可能在比较值的时候,得 到不正确的结果。如果存储的数据范围超过 DECIMAL 的范围,建议将数据拆成整数和小数并 分开存储。
9.【强制】字符串长度几乎相等用CHAR
如果存储的字符串长度几乎相等,使用 CHAR 定长字符串类型。
10.【强制】字符串长度>5000用TEXT
VARCHAR 是可变长字符串,不预先分配存储空间,长度不要超过 5000。
如果存储长度大 于此值,定义字段类型为 TEXT,独立出来一张表,用主键来对应,避免影响其它字段索引效率
长字符串,不预先分配存储空间,长度不要超过 5000。
如果存储长度大 于此值,定义字段类型为 TEXT,独立出来一张表,用主键来对应,避免影响其它字段索引效率