解讀ORACLE資料庫的統一命名與編碼規範

2021-05-11 15:20:55 字數 3364 閱讀 5591

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個字元。

★ 不要在物件名的字元之間留空格

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

Kettle使用統一的資料庫配置

注意 安裝kettle前必須配置jdk環境 1.設定kettle home環境變數 拷貝 users.kettle資料夾到data integration資料夾,新增環境變數 kettle home 2.新增資料庫連線 連線資訊均使用變數代替,此處新增了乙個源資料庫source sql server...

資料庫 Oracle資料庫物件一

常見的資料庫物件 表 基本的資料儲存集合,由行和列組成 序列 提供有規律的數值 索引 提高查詢的效率 同義詞 給物件起別名 create table語句 create table許可權 儲存空間 資料型別 varchar2 size 可變長字元資料 預設4kb char size 定長字元資料 nu...

oracle資料庫中使用imp和exp命令

200g 左右,資料備份和恢復,以及備份檔案的轉移都成了問題,因為檔案相對比較大了,在檔案備份 轉移 恢復的時間就成倍的增長,不能再向以前一樣始終在本地客戶端操作了。我將描述一下我自己的操作過程,和其中積累的經驗。資料庫資訊如下 使用者 system 密碼 oracle 使用者 test 密碼 or...