數據庫規範詳解
一、數據庫的庫名、表名、字段名命名規範:
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整型數據。
四、索引規範。
五、SQL語句規範。
二、主鍵規範。
數據庫規範詳解