採用26個英文字母(區分大小寫)和0-9這十個天然數,加上下劃線'_'組成,共63個字符.不能出現其餘字符(註釋除外).web
注意事項:sql
1)以上命名都不得超過30個字符的系統限制.變量名的長度限制爲 29(不包括標識字符@).數據庫
2)數據對象、變量的命名都採用英文字符,禁止使用中文命名.絕對不要在對象名的字符之間留空格.spa
3)當心保留詞,要保證你的字段名沒有和保留詞、數據庫系統或者經常使用訪問方法衝突設計
4)保持字段名和類型的一致性,在命名字段併爲其指定數據類型的時候必定要保證一致性.假如數據類型在一個表裏是整數,那在另外一個表裏可就別變成字符型了.調試
5)用盡可能少的存儲空間來存數一個字段的數據.對象
數據庫名使用小寫英文以及下劃線組成.好比: 索引
my_db token
snepr 文檔
備份數據庫名使用正式庫名加上備份時間組成,如:
dbname_20070403
數據表名使用小寫英文以及下劃線組成,儘可能說明是那個應用或者系統在使用的.
相關應用的數據表使用同一前綴,如論壇的表使用cdb_前綴,博客的數據表使用supe_前綴,前綴名稱通常不超過5字 好比:
info_user
system_destination
信息類採用:info_xxx
文件類採用:file_xxx
關聯類採用:inter_xxx
備份數據表名使用正式表名加上備份時間組成,如:
info_user_20070403
system_destination_20070403
字段名稱使用單詞組合完成,首字母小寫,後面單詞的首字母大寫,最好是帶表名前綴.
如 web_user表的字段:
user_id
user_name
若是表名過長,能夠取表名的前5個字母。若是表名爲多個單詞組合,能夠取前一個單詞,外加後續其它單詞的首字母做爲字段名。
表與表之間的相關聯字段要用統一名稱,如 info_user表裏面的 userId和group表裏面的userId相對應;
業務流水號統一採用:表名_seq;
外鍵名稱爲FK_表名
A_表名
B_關聯字段名;
其中表名和關聯字段名若是過長,能夠取表名、關聯字段名的前5個字母。
若是表名、關聯字段爲多個單詞組合,能夠取前一個單詞,外加後續其它單詞的
首字母做爲字段名。
如:FK_user_token_user_phnum;
1)邏輯主鍵使用惟一的成組索引,對系統鍵(做爲存儲過程)採用惟一的非成組索引,對任何外鍵列採用非成組索引.考慮數據庫的空間有多大,表如何進行訪問,還有這些訪問是否主要用做讀寫.
2)大多數數據庫都索引自動建立的主鍵字段,可是可別忘了索引外鍵,它們也是常常使用的鍵,好比運行查詢顯示主表和全部關聯表的某條記錄就用得上.
3)不要索引blob/text等字段,不要索引大型字段(有不少字符),這樣做會讓索引佔用太多的存儲空間.
4)不要索引經常使用的小型表
不要爲小型數據表設置任何鍵,假如它們常常有插入和刪除操做就更別這樣做了.對這些插入和刪除操做的索引維護可能比掃描表空間消耗更多的時間.
全部sql關鍵詞所有大寫,好比 SELECT,UPDATE,FROM,ORDER,BY等,表名與字段名不須要大寫如:
SELECT COUNT(*) FROM cdb_members WHERE userName='aeolus';
1)避免使用觸發器觸發器的功能一般能夠用其餘方式實現.在調試程序時觸發器可能成爲干擾.假如你確實須要採用觸發器,你最好集中對它文檔化.
2)避免使用存儲過程
3)使用經常使用英語(或者其餘任何語言)而不要使用拼音首字母縮寫