一、建表規(guī)約
1.數(shù)據(jù)庫表名
- 表名由英文字母粥帚、下劃線
_
和數(shù)字組成胰耗,但不建議使用數(shù)字 - 表名以英文字母開頭,以下劃線
_
連接 - 表名全部使用小寫字母
- 表名不使用復(fù)數(shù)形式芒涡,僅僅表示實體內(nèi)容即可
- 表名可以根據(jù)需要添加表前綴柴灯,表前綴與實際表名以下劃線
_
相連 - 禁用保留字和關(guān)鍵詞命名
2.字段名
- 表達是與否概念的字段使用
is_
前綴 - 字段名由英文字母、下劃線
_
和數(shù)字組成费尽,但不建議使用數(shù)字 - 字段名以英文字母開頭赠群,以下劃線
_
連接 - 字段名全部使用小寫字母
- 禁用保留字和關(guān)鍵詞命名
3.索引名
- 唯一索引名使用
uk_
前綴,普通索引使用idx_
前綴
4.其他規(guī)約
- 使用合適的存儲長度以提升存儲空間依啰,提高檢索速度
- 不同表之間的字段可以存在冗余乎串,但是要保證數(shù)據(jù)更新和修改的同步(冗余字段不能是頻繁修改的字段)
- 設(shè)計表時應(yīng)該對字段進行注釋說明字段含義
- 設(shè)計表時要存在三個必備字段:
id
、created_at
和updated_at
- 設(shè)計表時小數(shù)類型使用
decimal
速警,禁止使用float
和double
- 如果設(shè)計表時字段值的長度可以預(yù)見在一定范圍之內(nèi)叹誉,請使用
char
類型 - 設(shè)計表時業(yè)務(wù)邏輯上具有唯一特性的字段必須建成唯一索引
二、SQL規(guī)約
- 判斷值是否為
NULL
的方法為:ISNULL()
(NULL
與任何值做任何比較都是NULL
) -
SUM()
函數(shù)的使用要注意NPE
(NullPointerException
):當(dāng)SUM()
的該列值全部為NULL
時 - 當(dāng)
COUNT()
的那一列值全為NULL
時所得的結(jié)果為0
(使用COUNT(*)
而不是COUNT()
某一列來統(tǒng)計記錄數(shù)目) - 查詢時不要使用
SELECT(*)
來查詢結(jié)果闷旧,只查出需要的字段即可 - 不要過多使用
in
操作长豁,避免in
的目標(biāo)集合數(shù)目過多,一般控制在1000
以內(nèi) - 編碼如果沒有特殊要求請全部使用
UTF-8
由于本人學(xué)藝不精忙灼,未盡之處還望海涵匠襟,有誤之處請多多指正,歡迎大家批評指教
本文 完