1. 程式人生 > >Oracle資料庫命名規範

Oracle資料庫命名規範

1.1約定

u  資料庫的schema,資料庫物件如表、欄位、索引、序列、儲存過程等的命名約定;

u  命名使用富有意義的大寫英文詞彙,儘量避免使用縮寫,多個單片語成的,中間以下劃線分割;

u  各表之間相關欄位列名,欄位型別儘量一致;

u  數值型別不使用varchar2,日期型別只用date,不允許使用varchar2;

u  除資料庫名稱長度為18個字元,其餘為130個字元,Databaselink名稱也不要超過30個字元;

u  命名只能使用英文字母,數字和下劃線;

u  避免使用Oracle的保留字、關鍵字(見附錄);

 

1.2表名

u  ORACLE大小寫不區分,但一定不能使用引號。建議大寫表名及列名。

u  表名使用英文單詞,要有意義,不能使用拼音及中文。

 

1.3主鍵

u  建議大寫。

u  PK_ 開頭,後邊跟表名及欄位名,根據長度可以適當縮寫。

u  主鍵不要放在表裡建,這樣檢視時都是SYS_開的,要放在表外單獨建立。

 

1.4外來鍵

u  建議大寫,必須保證有索引。

u  FK_ 開頭,後邊跟參考表的表名及列名,根據長度可以適當縮寫。

u 

最好不要建立外來鍵,從程式上設計約束邏輯。如果非要建立一個表的外來鍵不要超過3個。

 

1.5索引

u  建議大寫

u  優先使用唯一索引,不能使用才考慮普通的tree索引。

u  單列索引:唯一索引,UK_ 開頭,非唯一索引以 IDX_ 開頭,後邊跟表名及欄位名,根據長度可以適當縮寫。

u  組合索引:IDC_ 開頭,後邊跟表名及欄位名,欄位名的順序應該嚴格按照建索引時指定列的順序建立.欄位數量不超過4個。

u  分割槽索引規則如上。

u  不允許使用其他型別索引,如函式索引,點陣圖索引等。

 

1.6序列

u  建議大寫。

u  S_ 開頭, 後邊跟表名,一個表只使用一個序列。

u  避免NOCACHE+ORDER組合,是會導致 佇列等待(enq: SQ- contention)。

u  根據業務需求指定CACHE大小, 但需要注意如果系統發生故障,所有快取的沒有被DML語句使用並提交的序列值將丟失。潛在丟失值數量等於cache的數量。

 

1.7以下為不建議使用型別

u  檢視  V_ 開頭

u  函式  F_ 開頭

u  觸發器 T_ 開頭

u  儲存過程 P_ 開頭

u  物化檢視 MV_

u  包和包體 PKG_

u  類和類體 TYP_