資源描述:
《數(shù)據(jù)庫編碼規(guī)范》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、命名和注釋規(guī)范1.數(shù)據(jù)庫涉及字符規(guī)范采用26個(gè)英文字母(區(qū)分大小寫)和0-9這十個(gè)自然數(shù),加上下劃線_組成,共63個(gè)字符。不能出現(xiàn)其他字符(注釋除外)。2.數(shù)據(jù)庫對象命名規(guī)范數(shù)據(jù)庫對象包括表、視圖(查詢)、存儲過程(參數(shù)查詢)、函數(shù)、約束。對象名字由前綴和實(shí)際名字組成,長度不超過30。在SYBASEASE下,對象名區(qū)分大小寫,統(tǒng)一使用大寫,其他數(shù)據(jù)庫按照本規(guī)范。前綴:使用小寫字母字典表d_視圖view存儲過程proc函數(shù)func實(shí)際名字:實(shí)際名字盡量描述實(shí)體的內(nèi)容,由單詞或單詞組合,每個(gè)單詞的首字母大寫,其他字母小寫,不以數(shù)字和_開頭。如視圖User_List存儲過程Us
2、er_Delete因此,合法的對象名字類似如下。視圖view_Message_List存儲過程proc_Message_Add3.視圖命名規(guī)范我們約定,字段由前綴和實(shí)際名字組成,中間用下劃線連接。前綴:使用小寫字母view,表示視圖。因此,合法的視圖名類似如下。view_Userview_UserInfo4.存儲過程命名規(guī)范我們約定,過程由前綴和實(shí)際名字加操作名字組成,中間用下劃線連接。前綴:使用小寫字母proc,表示存儲過程。操作名字:Insert
3、Delelte
4、Update
5、Caculate
6、Confirm
7、Init例如:proc_User_Insert5.存儲過程
8、設(shè)計(jì)注釋規(guī)范注釋大致格式如下:CREATEORREPLACEPROCEDUREproc_xxxx_xxxx()IS(或AS)/***************************************************存儲過程名:proc_xxxx_xxxx*作者:Yezi(葉子)*日期:2004-12-17*版本:1.0*描述:保存用戶資料*入口參數(shù):*出口參數(shù):*具體流程:*變更過程及變更內(nèi)容描述:*************************************************/6.sql語句規(guī)范所有sql關(guān)鍵詞全部大寫,比如SELECT,
9、UPDATE,FROM,ORDER,BY等。7.索引命名規(guī)范索引名由前綴和實(shí)際名字組成,中間用下劃線連接。普通索引前綴:使用小寫字母idx。位圖索引前綴:idx_map_8.臨時(shí)表、臨時(shí)索引命名規(guī)范臨時(shí)表用表空間:tablespace_nameCREATETABLEtable_nameTABLESPACEtablespace_nameAS(SELECT*FROMtable_name);CREATETABLEtable_name(column_name)TABLESPACEtablespace_name;CREATEINDEXindex_nameONTABLE(column
10、_name)TABLESPACEtablespace_name;9.注釋規(guī)范處理過程注釋:在sql語句的上方說明,格式如下:/*注釋*/EXECUTEIMMEDIT“SELECTCOUNT(1)FROMtab1;”變量注釋:在變量后面說明變量的用途,格式如下:var_workdateVARCHAR2(10);/*當(dāng)日日期*/過程規(guī)范1、過程檢查規(guī)范開發(fā)人員在提交存儲過程前,必須已經(jīng)使用SETSHOWPLANON分析過查詢計(jì)劃,做過自身的查詢優(yōu)化檢查。在pl/sql下用F5檢查sql的執(zhí)行計(jì)劃SQL的使用規(guī)范:1、盡量避免反復(fù)訪問同一張或幾張表,尤其是數(shù)據(jù)量較大的表,可以考
11、慮先根據(jù)條件提取數(shù)據(jù)到臨時(shí)表中,然后再做連接。2、盡量避免使用游標(biāo),因?yàn)橛螛?biāo)的效率較差,如果游標(biāo)操作的數(shù)據(jù)超過1萬行,那么就應(yīng)該改寫;如果使用了游標(biāo),就要盡量避免在游標(biāo)循環(huán)中再進(jìn)行表連接的操作。3、注意WHERE字句寫法,必須考慮語句順序,應(yīng)該根據(jù)索引順序、范圍大小來確定條件子句的前后順序,盡可能的讓字段順序與索引順序相一致,范圍從大到小。4、不要在WHERE子句中的“=”左邊進(jìn)行函數(shù)、算術(shù)運(yùn)算或其他表達(dá)式運(yùn)算,否則系統(tǒng)將可能無法正確使用索引。5、盡量使用exists代替SELECTCOUNT(1)來判斷是否存在記錄,COUNT函數(shù)只有在統(tǒng)計(jì)表中所有行數(shù)時(shí)使用,而且COU
12、NT(1)比COUNT(*)更有效率。6、盡量使用“>=”,不要使用“>”。7、注意一些OR子句和UNION子句之間的替換8、注意表之間連接的數(shù)據(jù)類型,避免不同類型數(shù)據(jù)之間的連接。9、注意存儲過程中參數(shù)和數(shù)據(jù)類型的關(guān)系。10、注意INSERT、UPDATE操作的數(shù)據(jù)量,防止與其他應(yīng)用沖突。如果數(shù)據(jù)量超過200個(gè)數(shù)據(jù)頁面(400k),那么系統(tǒng)將會進(jìn)行鎖升級,頁級鎖會升級成表級鎖。索引的使用規(guī)范:1、索引的創(chuàng)建要與應(yīng)用結(jié)合考慮,建議大的OLTP表不要超過6個(gè)索引。2、盡可能的使用索引字段作為查詢條件,尤其是聚簇索引,必要時(shí)可以通過