【數據庫】數據庫設計命名規範

                                                                                                                                              1、字符規則
                                                                                                                                              2、數據庫命名規範
                                                                                                                                              3、表命名規範
                                                                                                                                              4、字段命名規範
                                                                                                                                              5、外鍵命名規範
                                                                                                                                              6、索引使用原則:
                                                                                                                                              7、sql語句規範
                                                                                                                                              8、其餘設計技巧

1、字符規則


  採用26個英文字母(區分大小寫)0-9這十個天然數,加上下劃線'_'組成,63個字符.不能出現其餘字符(註釋除外).web

注意事項:sql

1以上命名都不得超過30個字符的系統限制.變量名的長度限制爲 29(不包括標識字符@).數據庫

2)數據對象、變量的命名都採用英文字符,禁止使用中文命名.絕對不要在對象名的字符之間留空格.spa

3)當心保留詞,要保證你的字段名沒有和保留詞、數據庫系統或者經常使用訪問方法衝突設計

4)保持字段名和類型的一致性,在命名字段併爲其指定數據類型的時候必定要保證一致性.假如數據類型在一個表裏是整數,那在另外一個表裏可就別變成字符型了.調試

5用盡可能少的存儲空間來存數一個字段的數據.對象

2、數據庫命名規範

數據庫名使用小寫英文以及下劃線組成.好比索引

my_db token

snepr 文檔

備份數據庫名使用正式庫名加上備份時間組成,

dbname_20070403

3、表命名規範

數據表名使用小寫英文以及下劃線組成,儘可能說明是那個應用或者系統在使用的.

相關應用的數據表使用同一前綴,如論壇的表使用cdb_前綴,博客的數據表使用supe_前綴,前綴名稱通常不超過5 好比

info_user 

system_destination

信息類採用:info_xxx

文件類採用:file_xxx

關聯類採用:inter_xxx

備份數據表名使用正式表名加上備份時間組成,

info_user_20070403 

system_destination_20070403 

4、字段命名規範

字段名稱使用單詞組合完成,首字母小寫,後面單詞的首字母大寫,最好是帶表名前綴.

如 web_user表的字段

user_id 

user_name

若是表名過長,能夠取表名的前5個字母。若是表名爲多個單詞組合,能夠取前一個單詞,外加後續其它單詞的首字母做爲字段名。

表與表之間的相關聯字段要用統一名稱,如 info_user表裏面的 userIdgroup表裏面的userId相對應;

業務流水號統一採用:表名_seq

5、外鍵命名規範

外鍵名稱爲FK_表名 

A_表名 

B_關聯字段名;

其中表名和關聯字段名若是過長,能夠取表名、關聯字段名的前5個字母。

若是表名、關聯字段爲多個單詞組合,能夠取前一個單詞,外加後續其它單詞的

首字母做爲字段名。

如:FK_user_token_user_phnum

6、索引使用原則:

1)邏輯主鍵使用惟一的成組索引,對系統鍵(做爲存儲過程)採用惟一的非成組索引,對任何外鍵列採用非成組索引.考慮數據庫的空間有多大,表如何進行訪問,還有這些訪問是否主要用做讀寫.

2)大多數數據庫都索引自動建立的主鍵字段,可是可別忘了索引外鍵,它們也是常常使用的鍵,好比運行查詢顯示主表和全部關聯表的某條記錄就用得上.

3)不要索引blob/text等字段,不要索引大型字段(有不少字符),這樣做會讓索引佔用太多的存儲空間.

4)不要索引經常使用的小型表

不要爲小型數據表設置任何鍵,假如它們常常有插入和刪除操做就更別這樣做了.對這些插入和刪除操做的索引維護可能比掃描表空間消耗更多的時間.

7、sql語句規範

全部sql關鍵詞所有大寫,好比 SELECT,UPDATE,FROM,ORDER,BY,表名與字段名不須要大寫如

SELECT COUNT(*) FROM cdb_members WHERE userName='aeolus';

8、其餘設計技巧

1)避免使用觸發器觸發器的功能一般能夠用其餘方式實現.在調試程序時觸發器可能成爲干擾.假如你確實須要採用觸發器,你最好集中對它文檔化.

2)避免使用存儲過程

3)使用經常使用英語(或者其餘任何語言)而不要使用拼音首字母縮寫

相關文章
相關標籤/搜索