當(dāng)前位置:博客首頁(yè)>>PHP >> 閱讀正文

MYSQL 數(shù)據(jù)庫(kù)命名設(shè)計(jì)規(guī)范

作者: _Approaching 分類: PHP 發(fā)布于: 2012-03-18 22:26 瀏覽:10,966 沒(méi)有評(píng)論


MYSQL?數(shù)據(jù)庫(kù)命名設(shè)計(jì)規(guī)范,主要還是命名方面的規(guī)范。

一、數(shù)據(jù)庫(kù)涉及字符規(guī)范

1)?采用26個(gè)英文字母(區(qū)分大小寫)、0-9十個(gè)自然數(shù)及下劃線‘_’組成,共63個(gè)字符,除注釋外,不能出現(xiàn)其他字符

2)?命名不得超過(guò)30個(gè)字符的系統(tǒng)限制,變量名的長(zhǎng)度限制為29(不包括標(biāo)識(shí)字符@)

3)?數(shù)據(jù)對(duì)象、變量的命名都采用英文字符,禁止使用中文命名.絕對(duì)不要在對(duì)象名的字符之間留空格

4)?小心保留詞,要保證你的字段名沒(méi)有和保留詞、數(shù)據(jù)庫(kù)系統(tǒng)或者常用訪問(wèn)方法沖突

5)?保持字段名和類型的一致性,在命名字段并為其指定數(shù)據(jù)類型的時(shí)候一定要保證一致性.

 

二、命名規(guī)范

識(shí)別符最大長(zhǎng)度(字節(jié))允許的字符
數(shù)據(jù)庫(kù)64[a-z_]?(所有字符均小寫,?字之間用?_?分割)
64[a-z_]?(所有字符均小寫,?字之間用?_?分割)
64[a-z_]?(所有字符均小寫,?字之間用?_?分割)
索引64[a-z_]?(所有字符均小寫,?字之間用?_?分割)
別名255[a-z_]?(所有字符均小寫,?字之間用?_?分割)

1)?數(shù)據(jù)庫(kù)、表、列、索引、別名的命名應(yīng)盡可能描述其真實(shí)的意思。

2)?統(tǒng)一命名

 

三、數(shù)據(jù)庫(kù)命名規(guī)范

1)?數(shù)據(jù)表一律使用前綴

2)?正式數(shù)據(jù)庫(kù)名使用小寫英文以及下劃線組成,盡量說(shuō)明是那個(gè)應(yīng)用或者系統(tǒng)在使用的.比如:ecknow_cn

3)?備份數(shù)據(jù)庫(kù)名使用正式庫(kù)名加上備份時(shí)間組成,:ecknow_cn_20120316

 

四、數(shù)據(jù)表命名規(guī)范

1)?數(shù)據(jù)表名使用小寫英文以及下劃線組成,盡量說(shuō)明是那個(gè)應(yīng)用或者系統(tǒng)在使用的。

2)?相關(guān)應(yīng)用的數(shù)據(jù)表使用同一前綴

如論壇的表使用bbs_前綴,博客的數(shù)據(jù)表使用blog_前綴,前綴名稱一般不超過(guò)5字比如:

bbs_user????bbs_group???blog_userspace

3)?備份數(shù)據(jù)表名使用正式表名加上備份時(shí)間組成,:

bbs_user_20120303??????bbs_group_20120303??????blog_userspace_20120303

 

五、字段命名規(guī)范

1)?字段名稱使用單詞組合完成,字段名全部小寫.如?bbs_user?表的字段:?userid???bbs_user_name?表中的字段?userpassword

2)?表與表之間的相關(guān)聯(lián)字段要用統(tǒng)一名稱,如?bbs_user?表里面的?userid?和?bbs_group?表里面的?userid?相對(duì)應(yīng)

 

六、字段類型規(guī)范規(guī)則

1)?用盡量少的存儲(chǔ)空間來(lái)存數(shù)一個(gè)字段的數(shù)據(jù).

比如能用int的就不用char或者varchar,能用tinyint的就不用int,能用varchar(20)的就不用varchar(255)

2)?時(shí)間戳字段盡量用int

 

七、索引使用原則:

1)?邏輯主鍵使用唯一的成組索引,對(duì)系統(tǒng)鍵(作為存儲(chǔ)過(guò)程)采用唯一的非成組索引,對(duì)任何外鍵列采用非成組索引.考慮數(shù)據(jù)庫(kù)的空間有多大,表如何進(jìn)行訪問(wèn),還有這些訪問(wèn)是否主要用作讀寫.

2)?大多數(shù)數(shù)據(jù)庫(kù)都索引自動(dòng)創(chuàng)建的主鍵字段,但是可別忘了索引外鍵,它們也是經(jīng)常使用的鍵,比如運(yùn)行查詢顯示主表和所有關(guān)聯(lián)表的某條記錄就用得上.

3)?不要索引blob/text等字段,不要索引大型字段(有很多字符),這樣作會(huì)讓索引占用太多的存儲(chǔ)空間.

4)?不要索引常用的小型表不要為小型數(shù)據(jù)表設(shè)置任何鍵,假如它們經(jīng)常有插入和刪除操作就更別這樣作了.對(duì)這些插入和刪除操作的索引維護(hù)可能比掃描表空間消耗更多的時(shí)間.

 

八、SQL語(yǔ)句規(guī)范

1)?所有sql關(guān)鍵詞全部大寫,比如SELECT、UPDATE、FROM、ORDER?BY

2)?所有的表名和庫(kù)名及字段名都要用包含

? ? ? ?

本文采用知識(shí)共享署名-非商業(yè)性使用 3.0 中國(guó)大陸許可協(xié)議進(jìn)行許可,轉(zhuǎn)載時(shí)請(qǐng)注明出處及相應(yīng)鏈接。

本文永久鏈接: http://www.yjfs.org.cn/mysql-database-named-design-specifications.html

發(fā)表評(píng)論

change vcode