一、数据库的库名、表名、字段名命名规范:
1、驼峰表示法:即参考java中命名变量名的规范来命名,也就是如果只有一个单词时,全部小写;多个单词时,第一个单词全小写,后面的所有单词都是首字母大写。举例说明:
userName,id,userPasswd,creatTime,updateTime,age等。
2、下划线表示法:就是多个单词之间用下划线分隔开,全部单词小写,32个字符之内,不用保留关键字,所有字段为not null。举例说明:
user_name,id,user_passwd,create_time,update_time,age等。
综合上面两种命名规范,个人感觉驼峰法更好。感觉看起来美观,可读性强,占用空间小,打字更方便,对使用过java的人来说,更有好。 C/C++ 和 python 是下划线,java 和 go 是驼峰。其实只要写过java或者go程序的人,基本都会觉得驼峰更加优美。下划线真心难打。然而下划线已经是DBA的规范了,就难以改变了。
3、字段规范。
1)非负数值:unsigned
2)存储IPV4:int unsigned
3)存储浮点数值:decimal,勿用float和double
4)合理选择整型范围:tinyint、smallint、mediumint、int、bigint
5)所有字段均有:not null修饰,并设置default值
6)合理选择时间类型:year、date、datetime、timestamp
7)varchar(N)尽可能小:N表示字符数,而不是字节数
8)尽可能不用:text、blob、enum(用tinyint替换)
4、库表规范。
1)禁止分区表;
2)合理分库分表;
3)分离冷热数据;
4)推荐hash散列表,表名后缀使10进制数,数字必须从0开始。按⽇期时间分表需符合YYYY[MM][DD][HH]格式,例如2013071601。年份必须4位数字表示。例如按日散表user_20110209、 按月散表user_201102;
5)所有表都需要注释;
6)禁止存放大字段、大数据量(5000W)
二、全局规范。默认存储引擎,默认字符集
三、主键规范。每张表必须有主键,推荐使用自增的unsigned整型数据。禁止使用varchar类型作为主键语句设计。
四、索引规范。
五、SQL语句规范。
二、主键规范。