亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

解讀ORACLE數據庫的統一命名與編碼規范

2024-08-29 13:53:22
字體:
來源:轉載
供稿:網友

1、編寫目的

使用統一的命名和編碼規范,使數據庫命名及編碼風格標準化,以便于閱讀、理解和繼承。

2、適用范圍

本規范適用于公司范圍內所有以Oracle作為后臺數據庫的應用系統和項目開發工作。

3、對象命名規范

3.1 數據庫和SID

數據庫名定義為系統名+模塊名

★ 全局數據庫名和例程SID 名要求一致

★ 因SID 名只能包含字符和數字,所以全局數據庫名和SID 名中不能含有“_”等字符

3.2 表相關

3.2.1 表空間

★ 面向用戶的專用數據表空間以用戶名+_+data命名 ,如Aud 用戶專用數據表空間可命名為Aud_data

★ 面向用戶的專用索引表空間以用戶名+_+idx命名

★ 面向用戶的專用臨時表空間以用戶名+_+tmp命名

★ 面向用戶的專用回滾段表空間以用戶名+_+rbs 命名

★ 面向應用的表空間以應用名+_data/應用名+_idx/應用名+_tmp/應用名+_rbs 命名

★ LOB 段數據專用表空間以其數據表空間+_+lobs 命名,如上例中數據表空間為Aud_data,則LOB 段表空間可命名為Aud_data_lobs

3.2.2 表空間文件

表空間文件命名以表空間名+兩位數序號(序號從01開始)組成,如Aud_data01 等

3.2.3 表

表命名要遵循以下原則:

★ 一般表采用“系統名+t_+模塊名+_+表義名” 格式構成

★ 若數據庫中只含有單個模塊,命名可采用“系統名+t_+表義名”格式構成

★ 模塊名或表義名均以其漢語拼音的首字符命名,表義名中漢語拼音均采用小寫,且字符間不加分割符;

★ 表別名命名規則:取表義名的前3 個字符加最后一個字符。如果存在沖突,適當增加字符(如取表義名的前4 個字符加最后一個字符等)

★ 臨時表采用“系統名+t_tmp_+表義名” 格式構成

★ 表的命名如


dft_gy_cbap:系統名(電費 df)+t_+模塊名(高壓 gy)+_+表義名(抄表安排 cbap)
dft_cbbj: 系統名(電費 df)+t_+表義名(抄表標記 cbbj)
dft_tmp_hj: 系統名(電費 df)+tmp+表義名(合計hj)(此處為臨時表)
 

 

★ 關聯表命名為Re_表A_表B,Re 是Relative的縮寫,表A 和表B均采用其表義名或縮寫形式。

3.2.4 屬性(列或字段)

屬性命名遵循以下原則:

★ 采用有意義的列名,為實際含義的漢語拼音的首字符,且字符間不加任何分割符

★ 屬性名前不要加表名等作為前綴

★ 屬性后不加任何類型標識作為后綴

★ 不要使用“ID”作為列名

★ 關聯字段命名以 “cd+_+關聯表的表義名(或縮寫)+_+字段名”進行

3.2.5 主鍵

★ 任何表都必須定義主鍵

★ 表主鍵命名為:“pk+_+表名(或縮寫)+_+主鍵標識”如“pk_YHXX_IDKH”等

3.2.6 外鍵

表外鍵命名為: “fk+_+表名(或縮寫)+_主表名(或縮寫)+_+主鍵標識”如“fk_YHLX_YHXX_SFZH”等

3.2.7 CHECK約束

CHECK 約束命名為: “chk+_+CHECK約束的列名(或縮寫)”

3.2.8 UNIQUE約束

UNIQUE 約束命名為: “unq+_+UNIQUE約束的列名(或縮寫)”

3.2.9 索引

索引的命名為:“表名(或縮寫)+_+列名+_idx”。其中多單詞組成的屬性列列名取前幾個單詞首字符再加末單詞首字符組成如yd_kh 表khid 上的index: yd_kh_khid_idx

3.2.10 觸發器

★ AFTER型觸發器

系統名+tr_+<表名>_+ +[_row]

★ BEFORE型觸發器

系統名+tr_+<表名>_+bef_+[_row]

★ INSTEAD OF型觸發器

系統名+ti_+<表名>+_++[_row]

★ 各種類型的觸發器中

i,u,d 分別表示insert、update 和delete行級觸發器,后加_row 標識,語句級觸發器不加,如 yddftr_CSH_i_row

3.2.11 簇

簇以簇中要存儲的各個表(或表別名)及表間加and的組成 命名,即表“A+And+表B…”,如存儲GR(工人)和GRJN(工人技能)表的簇命名為GRAndGRJN

3.3 視圖

視圖命名以系統名v_+模塊名作為前綴,其他命名規則和表的命名類似

3.4 序列

序列命名以seq_+含義名組成

3.5 同義詞

同義詞命名與其基礎對象的名稱一致,但要去除其用戶前綴或含有遠程數據庫鏈接的后綴

3.6 存儲對象相關

3.6.1 存儲過程

存儲過程命名由“系統名+sp+_+存儲過程標識(縮寫)”組成存儲過程標識要以實際含義的漢語拼音的首字符構成,并用下劃線分割各個組成部分。如增加代理商的帳戶的存儲過程為“sfsp_ZJDLSZH”。

3.6.2 函數

函數命名由“系統名+f+_+函數標識”組成

3.6.3 包

包命名由“系統名+pkg+_+包標識”組成

3.6.4 函數文本中的變量采用下列格式命名:

★ 參數變量命名采用“i (o或io)+_+名稱”形式,前綴i 或o 表輸入還是輸出參數

★ 過程變量命名采用“l+_+名稱”形式

★ 全局包變量命名采用“g+_+名稱”形式

★ 游標變量命名采用“名稱+_+cur”形式

★ 常量型變量命名采用“c+_+名稱”形式

★ 變量名采用小寫,若屬于詞組形式,用下劃線分隔每個單詞

★ 變量用來存放表中的列或行數據值時,使用%TYPE、%ROWTYPE 方式聲明變量,使變量聲明的類型與表中的保持同步,隨表的變化而變化

3.7 用戶及角色

★ 用戶命名由“系統名稱+_+user+_+名詞(或縮寫)或名詞短語(或縮寫)”組成

★ 角色命名由“系統名稱+_+role+_+名詞(或縮寫)或名詞短語(或縮寫)”組成

3.8 數據庫鏈接

★ 數據庫鏈接命名由“遠程服務器名+_+數據庫名+_+link”組成

★ 若遠程服務器名和數據庫名一致,上式“_+數據庫名”部分省去

3.9 命名中的其它注意事項

★ 命名都不得超過30個字符。

★ 不要在對象名的字符之間留空格

★ 小心保留詞,要保證你的命名沒有和保留詞、數據庫系統或者常用訪問方法沖突


4、 編碼規范

4.1 一般性注釋

4.1.1 注釋盡可能簡潔、詳細而全面

4.1.2 創建每一數據庫對象時都要加上COMMENT ON注釋,以說明該對象的功能和用途;建表時,對某些數據列也要加上COMMENT ON注釋,以說明該列和/或列取值的含義。如:XX 表中有CZZT列屬性為NUMBER(10, 0)可加COMMENT ON 注釋如下COMMENT ON COLUMN XX.CZZT IS '0 = 正常, 1 = 等待, 2 = 超時, 3 = 登出'

4.1.3 注釋語法包含兩種情況:單行注釋、多行注釋

單行注釋:注釋前有兩個連字符(--),一般對變量、條件子句可以采用該類注釋。

多行注釋:符號/*和*/之間的內容為注釋內容。對某項完整的操作建議使用該類注釋。

4.2 函數文本注釋

4.2.1 在每一個塊和過程(存儲過程、函數、包、觸發器、視圖等)的開頭放置注釋


/************************************************************************
*name : --函數名
*function : --函數功能
*input : --輸入參數
*output : --輸出參數
*author : --作者
*CreateDate : --創建時間
*UpdateDate : --函數更改信息(包括作者、時間、更改內容等)
*************************************************************************/
CREATE [OR REPLACE] PROCEDURE dfsp_xxx

 

 

4.2.2 傳入參數的含義應該有所說明。如果取值范圍確定,也應該一并說明。取值有特定含義的變量(如boolean類型變量),應給出每個值的含義。

4.2.3 在每一個變量聲明的旁邊添加注釋。說明該變量要用作什么

通常,簡單使用單行注釋就行了,例如l_sfzh CHAR(11) --身份證號碼

4.2.4 在塊的每個主要部分之前添加注釋

在塊的每個主要部分之前增加注釋,解釋下—組語句目的,最好是說明該段語句及算法的目的以及要得到的結果,但不要對其細節進行過多的描述

4.2.5 在塊和過程的開頭注釋中還可以增加要訪問的數據庫等信息

4.3 常用SQL 語句的編寫規范

4.3.1 CREATE語句


CREATE TABLE dft_dksz(
YHBS VARCHAR2(20) NOT NULL,
ZHGX DATE,
DKKHD VARCHAR2(24),
CONSTRAINT pk_dksz_yhbs PRIMARY KEY (YHBS)
)
 

 

4.3.2 SELECT語句

查詢語句采用以下原則編寫(可最大化重用共享池中的SQL 語句,提高應用程序性能):

★ 將SELECT 語句分為5部分:

(1) 由SELECT 開頭,后跟一個顯示查詢結果的列表;

(2) 由FROM 開頭,后跟一個或多個獲取數據所涉及的表;

(3) 由WHERE 開頭,后跟一個或多個確定所需值的條件;

(4) 由GROUP BY開頭,后跟一個或多個表列名,通過這些列以對查詢結果進行匯總;

(5) 由ORDER BY開頭,后跟一個或多個表列名,通過這些列以對查詢結果進行排序。

★ 每個部分分行編寫,將每一行的第一個關鍵字與第一行的SELECT尾部對齊,如


SELECT col1, col2, col3
FROM table1
WHERE col1 > col2
GROUP BY col1, col2
ORDER BY col1;
 

 

★ 關鍵字用大寫,列名和表名采用小寫

★ 語句中嵌入逗號時,在逗號后面加一空格,當逗號是最后一個字符時,把它放在本行

★ 當語句的同一部分要延續到下一行時,按下列格式排列:


SELECT col1, col2, col3, col4, col5, col6,
col7, col8, col9, col10
 
 


★ 將語句中WHERE 和AND 部分格式化,書寫布局類似于


WHERE
AND
AND
 

 

★ 當語句中出現括號時,括號的兩邊不留空格

★ 在SQL 語句使用運算符時,操作兩邊應各留一個空格,如


WHERE X = Y
AND A = B
AND C = D
 

 

4.3.3 INSERT語句


INSERT INTO <要插入的表名>
(<列1>, <列2>, .., <列n-1>, <列n>)
VALUES (<列1值>, <列2值>, .., <列n-1值>, <列n值>)
 

 

4.3.4 UPDATE語句


UPDATE <要更新的表名>
SET <要更新的列> = <列值>
 

 

4.3.5 DELETE語句


DELETE FROM table1
WHERE col1 = '???'
 

 

4.4 條件執行語句(IF)編寫規范

條件執行語句IF…ELSE 按以下格式編寫


IF <條件表達式>
THEN
<一條或多條語句>
[ELSE (或ELSIF<條件表達式>)
THEN
<一條或多條語句>
END IF;
 
 


注:

(1) 在IF…THEN和ELSE(或ELSIF)及ELSE…THEN和END IF間可包含一條或多條PL/SQL

語句,而不需要加BEGIN 和END

(2) IF…ELSE…ENDIF 語句可以嵌套

(3) 注意ELSIF的寫法

4.5 循環語句編寫規范

4.5.1 簡單循環語句


LOOP
<零條或多條語句>
EXIT WHEN <條件表達式>
<零條或多條語句>
END LOOP;
 

 

4.5.2 FOR循環語句

FOR 變量 IN [變量取值范圍]


LOOP
<一條或多條語句>
END LOOP;
 

 

4.5.3 WHILE循環語句

WHILE <條件表達式>


LOOP
<一條或多條語句>
END LOOP;
 

 

4.6 函數文本(存儲過程、函數和包等)

★ 對于存儲過程、函數等程序塊都要有異常處理部分,在異常部分的最后都要設置OTHERS異常情態處理器,以提高程序的自檢能力,格式如下:


BEGIN

EXCEPTION
WHEN excep—name1 THEN

WHEN excep—name2 THEN

WHEN OTHERS THEN

END;
 

 

★ 對于子程序、觸發器、包等帶名的程序塊,要使用結束標識,如


CREATE OR REPLACE PROCEDURE XXXsp_XXX IS

BEGIN

END XXXsp_XXX;
/* 此處的過程名XXXsp_XXX是可選的,規范要求寫上,與塊開始的CREATE相對應 */


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品福利在线观看网址| 成人精品网站在线观看| 日韩美女视频免费在线观看| 欧美精品少妇videofree| 超薄丝袜一区二区| 成人黄色免费在线观看| 日韩中文字幕视频在线观看| 97碰碰碰免费色视频| 亚洲欧美日韩国产中文| 欧美性猛交xxxx乱大交3| 欧美肥老妇视频| 亚洲欧美中文日韩在线v日本| 亚洲一区二区三区xxx视频| 国产精品999999| 久久久久久久一区二区| 久久91亚洲精品中文字幕| 国产精品白丝jk喷水视频一区| 日韩美女av在线免费观看| 欧美精品在线极品| 国产一区二区三区视频免费| 久久久久久亚洲精品| 97人洗澡人人免费公开视频碰碰碰| 日韩av在线播放资源| 在线观看免费高清视频97| 91国内免费在线视频| 日韩国产在线看| 久久躁狠狠躁夜夜爽| 午夜精品一区二区三区在线| 日韩激情在线视频| 欧美精品在线免费观看| 最好看的2019年中文视频| 日韩免费av一区二区| xx视频.9999.com| 伊人久久男人天堂| 亚洲成人教育av| 亚洲一区二区日本| 欧美日韩成人在线观看| 久久久精品国产一区二区| 人体精品一二三区| 欧美性理论片在线观看片免费| 中文字幕在线观看亚洲| 日韩成人中文字幕在线观看| 国产精品99久久99久久久二8| 一色桃子一区二区| 日韩av电影在线播放| 精品久久久香蕉免费精品视频| 91精品国产高清久久久久久久久| 亚洲片国产一区一级在线观看| 97国产在线视频| 亚洲高清色综合| 亚洲女人天堂视频| 亚洲午夜精品久久久久久久久久久久| 亚洲欧美激情在线视频| 欧美在线视频导航| 国产成人亚洲综合| 国产高清在线不卡| 欧美性视频在线| 亚洲精品成人网| 91精品国产高清久久久久久久久| 疯狂蹂躏欧美一区二区精品| 成人妇女淫片aaaa视频| 日韩在线观看免费全| 国产精品pans私拍| 久久亚洲精品毛片| 久久在线免费观看视频| 38少妇精品导航| 亚洲性日韩精品一区二区| 中文字幕av一区二区三区谷原希美| 热久久这里只有精品| 日韩av网址在线| 国产成人精品av| 久久亚洲私人国产精品va| 91久久精品美女| 国产91ⅴ在线精品免费观看| 欧美成在线观看| 国产网站欧美日韩免费精品在线观看| 国产精品国产福利国产秒拍| 精品久久久久久国产| 国产成人aa精品一区在线播放| 国产欧美日韩亚洲精品| 亚洲色图综合久久| 亚洲精品视频在线观看视频| 亚洲国产成人精品久久久国产成人一区| 国产精品青青在线观看爽香蕉| 国产激情久久久久| 欧美成人激情图片网| 国产精品久久一区主播| 欧美高清自拍一区| 欧美一区视频在线| 在线观看日韩av| 国产自摸综合网| 日韩va亚洲va欧洲va国产| 国产精品欧美一区二区| 九九热99久久久国产盗摄| 91久久精品日日躁夜夜躁国产| 欧美国产日韩二区| 成人h视频在线观看播放| 亚洲石原莉奈一区二区在线观看| 国产精品久久不能| 欧美精品少妇videofree| 日韩hd视频在线观看| 国产精品777| www.亚洲男人天堂| 亚洲免费福利视频| 亚洲黄页网在线观看| 亚洲欧美日韩一区二区三区在线| 国产视频精品在线| 色婷婷亚洲mv天堂mv在影片| 欧美老女人在线视频| 国产精品爽黄69天堂a| 91精品在线看| 91国产中文字幕| 亚洲视频在线免费看| 精品二区三区线观看| 国产在线观看不卡| 久久免费少妇高潮久久精品99| 亚洲电影中文字幕| 国产精品久久一| 色吧影院999| 欧美日韩国产一区在线| 久久久久久久一区二区三区| 国内精品中文字幕| 欧美日韩福利电影| 久久久久久欧美| 亚洲国产高清自拍| 91在线视频一区| 欧美成人免费观看| 一道本无吗dⅴd在线播放一区| 欧美激情视频在线观看| 免费不卡欧美自拍视频| 欧美视频一区二区三区…| 国模视频一区二区三区| 久久在精品线影院精品国产| 一区二区在线视频播放| 91久久嫩草影院一区二区| 91久久久在线| 国产精品免费福利| 欧美国产激情18| 欧美激情第1页| 久久久亚洲精选| 国产午夜精品一区理论片飘花| 亚洲精品一区av在线播放| 欧美性资源免费| 91久久精品一区| 成人亲热视频网站| 亚洲欧洲国产一区| 98视频在线噜噜噜国产| 成人黄色av网站| 日韩国产高清污视频在线观看| 欧美成人免费视频| 98视频在线噜噜噜国产| 国产精品一久久香蕉国产线看观看| 92裸体在线视频网站| 久久久久久久久久久免费精品| 亚洲视频欧美视频| 国产精品久久av| 欧美性一区二区三区| 欧美大学生性色视频| 日韩欧美中文字幕在线观看| 亚洲成人精品久久| 中文字幕欧美亚洲| 亚洲成av人片在线观看香蕉| 亚洲成av人乱码色午夜| 一二美女精品欧洲|