400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

MySQL数据库设计规范

目录

10年积累的网站设计、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有克井免费网站建设让你可以放心的选择与我们合作。


  1. 规范背景与目的

  2. 设计规范

2.1 数据库设计

2.1.1 库名
2.1.2 表结构
2.1.3 列数据类型优化
2.1.4 索引设计
2.1.5 分库分表、分区表
2.1.6 字符集
2.1.7 程序DAO层设计建议
2.1.8 一个规范的建表语句示例

2.2 SQL编写

2.2.1 DML语句
2.2.2 多表连接
2.2.3 事务
2.2.4 排序和分组
2.2.5 线上禁止使用的SQL语句


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


2. 设计规范


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

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


2.1.1 库名


2.1.2 表结构


2.1.3 列数据类型优化


2.1.4 索引设计


2.1.5 分库分表、分区表


2.1.6 字符集


2.1.7 程序层DAO设计建议


2.1.8 一个规范的建表语句示例
一个较为规范的建表语句为:

CREATE TABLE user (
  `id` bigint(11) NOT NULL AUTO_INCREMENT,
  `user_id` bigint(11) NOT NULL COMMENT ‘用户id’
  `username` varchar(45) NOT NULL COMMENT '真实姓名',
  `email` varchar(30) NOT NULL COMMENT ‘用户邮箱’,
  `nickname` varchar(45) NOT NULL COMMENT '昵称',
  `avatar` int(11) NOT NULL COMMENT '头像',
  `birthday` date NOT NULL COMMENT '生日',
  `sex` tinyint(4) DEFAULT '0' COMMENT '性别',
  `short_introduce` varchar(150) DEFAULT NULL COMMENT '一句话介绍自己,最多50个汉字',
  `user_resume` varchar(300) NOT NULL COMMENT '用户提交的简历存放地址',
  `user_register_ip` int NOT NULL COMMENT ‘用户注册时的源ip’,
  `create_time` timestamp NOT NULL COMMENT ‘用户记录创建的时间’,
  `update_time` timestamp NOT NULL COMMENT ‘用户资料修改的时间’,
  `user_review_status` tinyint NOT NULL COMMENT ‘用户资料审核状态,1为通过,2为审核中,3为未通过,4为还未提交审核’,
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_user_id` (`user_id`),
  KEY `idx_username`(`username`),
  KEY `idx_create_time`(`create_time`,`user_review_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='网站用户基本信息';

2.2 SQL编写


2.2.1 DML语句


2.2.2 多表连接


2.2.3 事务


2.2.4 排序和分组


2.2.5 线上禁止使用的SQL语句

MySQL数据库设计规范


文章题目:MySQL数据库设计规范
网站URL:http://mzwzsj.com/article/pojddj.html

其他资讯

让你的专属顾问为你服务