MySQL数据库设计规范是什么

发布时间:2022-06-10 10:03:43 作者:zzz
来源:亿速云 阅读:182

这篇“MySQL数据库设计规范是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL数据库设计规范是什么”文章吧。

MySQL数据库设计规范是什么

规范背景与目的

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

数据库设计

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

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

一般命名规则

create database db_name default character set utf8;

字段

字段数据类型优化

select inet_aton('192.168.2.12');
select inet_ntoa(3232236044);

Java 保存字符串ip 转 int 类型

public static long ipToLong(String addr)
{
    String[] addrArray = addr.split("\\.");
    long num = 0;
    for (int i = 0; i < addrArray.length; i++)
    {
        int power = 3 - i;
        num += ((Integer.parseInt(addrArray[i]) % 256 * Math.pow(256, power)));
    }
    return num;
}
public static String longToIp(long i){
    return ((i >> 24) & 0xFF) + "." +
           ((i >> 16) & 0xFF) + "." +
           ((i >> 8) & 0xFF) + "." +
           (i & 0xFF);
}

索引设计

分库分表、分区表

字符集

程序层 DAO 设计建议

一个规范的建表语句示例

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

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 '生日',
    `gender`        tinyint(4) default '0' comment '性别',
    `intro`         varchar(150) default null comment '简介',
    `resume_url`    varchar(300) not null comment '简历存放地址',
    `register_ip`   int not null comment '用户注册时的源 IP',
    `review_status` tinyint not null comment '审核状态,1-通过,2-审核中,3-未通过,4-尚未提交审核',
    `create_time`   timestamp not null comment '记录创建的时间',
    `update_time`   timestamp not null comment '资料修改的时间',
    primary key (`id`),
    unique key `idx_user_id` (`user_id`),
    key `idx_username`(`username`),
    key `idx_create_time`(`create_time`, `review_status`)
)
engine = InnoDB
default charset = utf8
comment = '用户基本信息';

DML 语句

多表连接

事务

排序和分组

线上禁止使用的 SQL 语句

以上就是关于“MySQL数据库设计规范是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

推荐阅读:
  1. HBase Rowkey设计规范
  2. MySQL数据库设计规范

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql

上一篇:Android应用关闭的情况及识别方法是什么

下一篇:C++中递增运算符重载如何实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》