归纳整理MySQL数据库设计规范

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于数据库设计规范的相关问题,在使用MySQL数据库的时候需要遵循一定规范,扬长避短,希望能够在帮助或指导 RD、QA、O

    本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于数据库设计规范的相关问题,在使用MySQL数据库的时候需要遵循一定规范,扬长避短,希望能够在帮助或指导 RD、QA、OP 等技术人员做出适合线上业务的数据库设计。

规范背景与目的

MySQL 数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用 MySQL 数据库的时候需要遵循一定规范,扬长避短。本规范旨在帮助或指导 RD、QA、OP 等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、SQL 编写等方面予以规范,从而为公司业务系统稳定、健康地运行提供保障。

数据库设计

以下所有规范会按照【高危】、【强制】、【建议】三个级别进行标注,遵守优先级从高到低。

对于不满足【高危】和【强制】两个级别的设计,DBA 会强制打回要求修改。

一般命名规则

【强制】使用小写,有助于提高打字速度,避免因大小写敏感而导致的错误。

【强制】没有空格,使用下划线代替。

【强制】名称中没有数字,只有英文字母。

【强制】有效的可理解的名称。

【强制】名称应该是自我解释的。

【强制】名称不应超过 32 个字符。

【强制】避免使用前缀。

【强制】遵守以上全部一般命名规则。

【强制】使用单数。

【强制】库的名称格式:业务系统名称_子系统名。

【强制】一般分库名称命名格式是库通配名_编号,编号从 0 开始递增,比如 northwind_001,以时间进行分库的名称格式是库通配名_时间。

【强制】创建数据库时必须显式指定字符集,并且字符集只能是 utf8 或者 utf8mb4。创建数据库 SQL 举例: