首页 > 数据库 >MySQL数据库设计规范

MySQL数据库设计规范

时间:2023-05-02 20:56:04浏览次数:70  
标签:数据库 SQL 表名 设计规范 强制 MySQL

一、背景规范及目的

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

二、设计规范

2.1 数据库设计

以下所有规范会按照【高危】、【强制】、【建议】三个级别进行标注,遵守优先级从高到低。 对于不满足【高危】和【强制】两个级别的设计,DBA 会强制打回要求修改。

2.2.1 库名

1. 【强制】库的名称必须控制在 32 个字符以内,相关模块的表名与表名之间尽量体现 join 的关系,如 user 表和 user_login 表。

2. 【强制】库的名称格式:业务系统名称_子系统名,同一模块使用的表名尽量使用统一前 缀。

3. 【 强制 】一 般分 库名 称命 名 格式 是“ 库通 配名 _编 号 ”, 编号 从“0”开始递 增, 比如 “wenda_001”

以时间进行分库的名称格式是“库通配名_时间”

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

Create database db1 default character set utf8;

内容展示:

 

 

 

2.2 SQL编写

内容展示:

 

 

 

三、资料获取地址

https://www.syjshare.com/res/MHB85TK7

标签:数据库,SQL,表名,设计规范,强制,MySQL
From: https://www.cnblogs.com/lkj371/p/17368257.html

相关文章

  • 【必知必会的MySQL知识】③DML语言
    目录前言准备插入数据语法格式插入完整行数据插入多行数据将检索出来的数据插入表更新数据准备两张表语法实践操作删除数据语法实践操作小结前言前面的两篇文章中,我们已经对MySQL有了基本了解。并且知道了怎么用工具连接数据库?怎么创建数据库?怎么创建表?这一篇呢我们就来看看怎......
  • Oracle ORA-01033: ORACLE initialization or shutdown in progress(误删了DBF数据库
    先声明一下前期的一些手欠欠儿的操作导致oracl登录不进去了,起先是清理磁盘空间的时候误删除了orcleDBF数据文件后无法进入系统,plsql登录报错如下:一般情况下,删除表空间的正确方法是:DROPTABLESPACEBDCDJINCLUDINGCONTENTSANDDATAFILES;如果没有通过以上命令删除而直接删除......
  • linux 下 mysql 安装目录在哪里。linux mysql 安装介绍:
    linux下mysql安装目录在哪里。linuxmysql安装介绍:linux服务器RedHat5.0.server.MySQL版本:下载地址链接:http://dev.mysql.com/downloads/mysql/5.1.htmlMySQL服务端:MySQL-server-community-5.1.38-0.rhel5.i386.rpmMySQL客户端:MySQL-client-community-5.1.38-......
  • mysql -- 保存查询结果和加载数据
    可以使用selectintooutfile语句将输出保存到文件中。可以指定列和行分割符,然后可以将数据导入其他数据平台。保存查询结果可以将输出目标另存为文件或表。1.另存为文件​ 要将输出结果保存到文件中,需要拥有file权限。FILE是一个全局特权,这意味着你不能将其限制为针对特定......
  • SQLite3数据库的介绍和使用(面向业务编程-数据库)
    SQLite3数据库的介绍和使用(面向业务编程-数据库)SQLite3介绍SQLite是一种用C语言实现的的SQL数据库它的特点有:轻量级、快速、独立、高可靠性、跨平台它广泛应用在全世界范围内的手机电脑应用的内建数据库官网地址:https://www.sqlite.org/index.htmlSQLite因为其采用文件存储......
  • MySQL(十七)查询优化(二)与数据库主键设计
    查询优化(二)1覆盖索引什么是覆盖索引​ 看下面的例子,对于联合索引age_sno_name,当查询字段较少时能够使用索引,而字段较多的时候只能进行文件排序,这是由优化器判断通过索引加回表或者直接文件排序的成本来决定的。这种一个索引包含了满足查询结果的数据(select+where+join字......
  • MySQL相互喜欢表,找出你喜欢我,我喜欢你的数据(我的userid, 你的userid)
    selectt1.self_user_id,t1.like_user_idfromsys_activity_user_liket1innerjoinsys_activity_user_liket2ont1.self_user_id=t2.like_user_idandt2.self_user_id=t1.like_user_idwheret1.self_user_id=1sql语句如上所示:从sys_activity_user_like这个......
  • MySQL(十七)查询优化(一)
    查询优化(一)1关联查询优化数据准备CREATETABLE`type`( `id`INT(10)UNSIGNEDNOTNULLAUTO_INCREMENT, `card`INT(10)UNSIGNEDNOTNULL, PRIMARYKEY(`id`));CREATETABLE`book`( `bookid`INT(10)UNSIGNEDNOTNULLAUTO_INCREMENT, `card`INT(10)UNSIG......
  • mysql在删索引时报错ERROR 1075
    问题描述:mysql在删索引时报错ERROR1075,如下所示:数据库:mysql8.0.11系统:centos7.91、问题重现createtabletest_table1(idint(11)notnullauto_increment,namechar(100)notnull,addresschar(100),descriptionchar(100),uniqueindexuniqidx(id),indexmultic......
  • 装mysql出现错误,但不影响使用
    window11安装mysql报错:Theaction'Remove'forproduct'Connector/NET8.0.26'failed这个问题我这边安装是failed的,我直接点击下一步安装即可,使用数据库并没有什么影响。 ......