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

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

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

规范背景与目的

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

数据库设计

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

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

一般命名规则

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

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

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

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

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

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

【强制】避免使用前缀。

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

【强制】使用单数。

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

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

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