資源描述:
《Mysql數(shù)據(jù)庫設計命名規(guī)范.pdf》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應用文檔-天天文庫。
1、Mysql數(shù)據(jù)庫設計規(guī)范一、數(shù)據(jù)庫涉及字符規(guī)范采用26個英文字母(區(qū)分大小寫)和0-9這十個自然數(shù),加上下劃線'_'組成,共63個字符.不能出現(xiàn)其他字符(注釋除外).注意事項:1)以上命名都不得超過30個字符的系統(tǒng)限制.變量名的長度限制為29(不包括標識字符@).2)數(shù)據(jù)對象、變量的命名都采用英文字符,禁止使用中文命名.絕對不要在對象名的字符之間留空格.3)小心保留詞,要保證你的字段名沒有和保留詞、數(shù)據(jù)庫系統(tǒng)或者常用訪問方法沖突5)保持字段名和類型的一致性,在命名字段并為其指定數(shù)據(jù)類型的時候一定要保證一致性.假如數(shù)據(jù)類型在一個表里是整數(shù),那在另一個表里可就別變成字符型了.二、數(shù)據(jù)
2、庫命名規(guī)范數(shù)據(jù)庫名使用小寫英文以及下劃線組成.比如:my_dbsnepr備份數(shù)據(jù)庫名使用正式庫名加上備份時間組成,如:dbname_20070403三、數(shù)據(jù)庫表命名規(guī)范數(shù)據(jù)表名使用小寫英文以及下劃線組成比如:info_usersystem_destination信息類采用:info_xxx文件類采用:file_xxx關(guān)聯(lián)類采用:inter_xxx備份數(shù)據(jù)表名使用正式表名加上備份時間組成,如:info_user_20070403system_destination_20070403四、字段命名規(guī)范字段名稱使用單詞組合完成,首字母小寫,后面單詞的首字母大寫,最好是帶表名前綴.如web
3、_user表的字段:user_iduser_name如果表名過長,可以取表名的前5個字母。如果表名為多個單詞組合,可以取前一個單詞,外加后續(xù)其它單詞的首字母作為字段名。表與表之間的相關(guān)聯(lián)字段要用統(tǒng)一名稱,如info_user表里面的userId和group表里面的userId相對應;業(yè)務流水號統(tǒng)一采用:表名_seq;五、外鍵命名規(guī)范外鍵名稱為FK_表名A_表名B_關(guān)聯(lián)字段名;其中表名和關(guān)聯(lián)字段名如果過長,可以取表名、關(guān)聯(lián)字段名的前5個字母。如果表名、關(guān)聯(lián)字段為多個單詞組合,可以取前一個單詞,外加后續(xù)其它單詞的首字母作為字段名。如:FK_user_token_user_phnum;
4、六、字段類型規(guī)范規(guī)則:用盡量少的存儲空間來存數(shù)一個字段的數(shù)據(jù).比如能用int的就不用char或者varchar能用varchar(20)的就不用varchar(255)時間戳字段盡量用int型,如created:表示從'1970-01-0108:00:00'開始的int秒數(shù),采用英文單詞的過去式;gmtCreated:表示datetime類型的時間,即形如'1980-01-0100:00:00'的時間串,Java中對應的類型為Timestamp七、索引使用原則:1)邏輯主鍵使用唯一的成組索引,對系統(tǒng)鍵(作為存儲過程)采用唯一的非成組索引,對任何外鍵列采用非成組索引.考慮數(shù)據(jù)庫的空
5、間有多大,表如何進行訪問,還有這些訪問是否主要用作讀寫.2)大多數(shù)數(shù)據(jù)庫都索引自動創(chuàng)建的主鍵字段,但是可別忘了索引外鍵,它們也是經(jīng)常使用的鍵,比如運行查詢顯示主表和所有關(guān)聯(lián)表的某條記錄就用得上.3)不要索引blob/text等字段,不要索引大型字段(有很多字符),這樣作會讓索引占用太多的存儲空間.4)不要索引常用的小型表不要為小型數(shù)據(jù)表設置任何鍵,假如它們經(jīng)常有插入和刪除操作就更別這樣作了.對這些插入和刪除操作的索引維護可能比掃描表空間消耗更多的時間.八、sql語句規(guī)范所有sql關(guān)鍵詞全部大寫,比如SELECT,UPDATE,FROM,ORDER,BY等,表名與字段名不需要大寫如
6、:SELECTCOUNT(*)FROMcdb_membersWHEREuserName='aeolus';九、其他設計技巧1)避免使用觸發(fā)器觸發(fā)器的功能通??梢杂闷渌绞綄崿F(xiàn).在調(diào)試程序時觸發(fā)器可能成為干擾.假如你確實需要采用觸發(fā)器,你最好集中對它文檔化.2)避免使用存儲過程3)使用常用英語(或者其他任何語言)而不要使用拼音首字母縮寫