MySql数据库规范与原则
1、数据库表名命名规范
采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成;
命名简洁明确,多个单词用下划线'_'分隔;
例如:user_login, user_profile, user_detail, user_role, user_role_relation,
user_role_right, user_role_right_relation
表前缀'user_'可以有效的把相同关系的表显示在一起;
2、数据库表字段名命名规范
采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成;
命名简洁明确,多个单词用下划线'_'分隔;
例如:user_login表字段 user_id, user_name, pass_word, eamil, tickit, status, mobile, add_time;
每个表中必须有自增主键,add_time(默认系统时间)
表与表之间的相关联字段名称要求尽可能的相同; 3、用尽量少的存储空间来存数一个字段的数据;
例如:能使用int就不要使用varchar、char,能用varchar(16)就不要使用varchar(256);
IP地址最好使用int类型;
固定长度的类型最好使用char,例如:邮编;
能使用tinyint就不要使用smallint,int;
最好给每个字段一个默认值,最好不能为null;
4、字段类原则
用好数值类型(用合适的字段类型节约空间);
字符转化为数字(能转化的最好转化,同样节约空间、提高查询性能);
避免使用NULL字段(NULL字段很难查询优化、NULL字段的索引需要额外空间、NULL字段的复合索引无效);
少用text类型(尽量使用varchar代替text字段);
| MySQL数据类型 | 含义 | 
| date | 3字节,日期,格式:2014-09-18 | 
| time | 3字节,时间,格式:08:42:30 | 
| datetime | 8字节,日期时间,格式:2014-09-18 08:42:30 | 
| timestamp | 4字节,自动存储记录修改的时间 | 
| year | 1字节,年份 | 
整型
| MySQL数据类型 | 含义(有符号) | 
| tinyint | 1字节,范围(-128~127) | 
| smallint | 2字节,范围(-32768~32767) | 
| mediumint | 3字节,范围(-8388608~8388607) | 
| int | 4字节,范围(-2147483648~2147483647) | 
| bigint | 8字节,范围(+-9.22*10的18次方) | 
字符串数据类型
| MySQL数据类型 | 含义 | 
| char(n) | 固定长度,最多255个字符 | 
| varchar(n) | 可变长度,最多65535个字符 | 
| tinytext | 可变长度,最多255个字符 | 
| text | 可变长度,最多65535个字符 | 
| mediumtext | 可变长度,最多2的24次方-1个字符 | 
| longtext | 可变长度,最多2的32次方-1个字符 | 
MySql数据库规范与原则的更多相关文章
- MySQL 数据库规范--调优篇(终结篇)
		前言 这篇是MySQL 数据库规范的最后一篇--调优篇,旨在提供我们发现系统性能变弱.MySQL系统参数调优,SQL脚本出现问题的精准定位与调优方法. 目录 1.MySQL 调优金字塔理论 2.MyS ... 
- 我的mysql数据库sql优化原则
		原文 我的mysql数据库sql优化原则 一.前提 这里的原则 只是针对mysql数据库,其他的数据库 某些是殊途同归,某些还是存在差异.我总结的也是mysql普遍的规则,对于某些特殊情况得特殊对待. ... 
- MySQL数据库规范
		Mysql数据库规范 一.基础规范 [强制]使用InnoDB存储引擎解读:InnoDB存储引擎是MySQL默认存储引擎,支持事务和行级锁,并发性能更好,CPU及内存缓存页优化使得资源利用率更高[强制] ... 
- mysql 数据库 规范
		目录 mysql 数据库 规范 基础规范 命名规范 表设计规范 字段设计规范 索引设计规范 SQL编写规范 行为规范 mysql 数据库 规范 基础规范 必须使用InnoDB存储引擎 解读:支持事务. ... 
- 阿里:MySQL数据库规范
		阿里:MySQL数据库规范 简介:基于阿里数据库设计规范扩展而来 设计规范 1.[推荐]字段允许适当冗余,以提高查询性能,但必须考虑数据一致.冗余字段应遵循: 不是频繁修改的字段. 不是 varcha ... 
- MYSQL数据库设计规范与原则
		MYSQL数据库设计规范 1.数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成; 命名简洁明确(长度不能超过30个字符); 例如:user, stat ... 
- 【转】MYSQL数据库设计规范与原则
		转载出:http://www.cnblogs.com/lovekingly/p/5044278.htmlMYSQL数据库设计规范 1.数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数( ... 
- 收集整理mysql数据库设计规范与原则
		1. 数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成;命名简洁明确(长度不能超过30个字符);例如:user, stat, log, 也可以wifi ... 
- MySQL数据库规范 (设计规范+设计规范+操作规范)
		I 文档定义 1.1 编写目的 为了在软件生命周期内规范数据库相关的需求分析.设计.开发.测试.运维工作,便于不同团队之间的沟通协调,以及在相关规范上达成共识,提升相关环节的工作效率和系统的可维护性. ... 
随机推荐
- 内网 Maven 编译
			内网 Maven 编译 有个特殊的需求,在不联网的情况下编译 Java 项目. 想到两种方案: 搭建 Nexus 私有镜像仓库. 直接把依赖 jar包 放在编译机的 maven 本地库中. 步骤简述 ... 
- SpringCloudAlibaba-服务容错Sentinel(入门)
			一:高并发带来的问题? 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就 ... 
- Redis服务之Redis5集群相关命令说明
			上一篇博客主要聊了下redis.trib.rb这个工具来管理redis3/4 cluster 中的节点,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13456 ... 
- 自动化特征工程—Featuretools
			Featuretools是一个可以自动进行特征工程的python库,主要原理是针对多个数据表以及它们之间的关系,通过转换(Transformation)和聚合(Aggregation)操作自动生成新的 ... 
- DES算法的python3实现
			DES原理 DES原理 这里不予以复述, 有很多优秀的博客 原理可以参考这篇博客 https://www.cnblogs.com/songwenlong/p/5944139.html DES实现 1. ... 
- vue-loader处理vue文件
			loader:"vue-loader" ,引导vue文件被vue-loader/lib/index.js处理 第一步:解析vue文件 const utils = require(' ... 
- windows下mongoDB的下载和安装
			1.进入mongoDB官网,官网地址:https://www.mongodb.com 2. 点击Try free按钮,进入下载页面 3.点击download进行下载:下载完成如下图: 4.点击下载的 ... 
- 总结vue知识体系之实用技巧
			vue 作为目前前端三大框架之一,对于前端开发者可以说是必备技能.那么怎么系统地学习和掌握 vue 呢?为此,我做了简单的知识体系体系总结,不足之处请各位大佬多多包涵和指正,如果喜欢的可以点个小赞!本 ... 
- Javascript之其实我觉得原型链没有难的那么夸张!
			原型链.闭包.事件循环等,可以说是js中比较复杂的知识了,复杂的不是因为它的概念,而是因为它们本身都涉及到很多的知识体系.所以很难串联起来,有一个完整的思路.我最近想把js中有点意思的知识都总结整理一 ... 
- java中extends与implements的区别
			学了java很久了,久不用之后给同学解决一个java问题的时候,就卡在这个标题上了. 下面是java中extends与implements的区别: 1. 在类的声明中,通过关键字extends来创建一 ... 
