2 Day DBA-管理方案物件-關於方案物件管理許可權-預設值、加密、表約束

LuiseDalian發表於2014-02-01

當某列設定了預設值後,如果在插入新行時沒有為該列提供值,則預設值會自動被儲存到該列中。

預設值可以是常量或表示式。但如何構造這個表示式是有限制的。

 

加密

可以開啟列資料的自動加密。

 

關於表級約束

Oracle資料庫中可以實施保持資料完整性的約束。例,員工表中包含員工資料,要求員工姓名不能為空,且不能有2個員工有相同的編號。

 

Oracle允許表級或列級約束。任何試圖插入或更新行的SQL語句如果違背了一條約束,就會出現錯誤,且該語句被回滾。同樣,如果對一個已經有資料的表實施一個新的約束,而表中的任何一行如果違背了這個新約束,也會產生錯誤。

 

表級約束有:

約束

描述

主鍵約束

要求列(或列的組合)是行的唯一識別符號,不允許為NULL

唯一約束

列或列的組合,沒有任何2行有相同的值。

檢查約束

要求表中的每一行,中該列或列的組合必須滿足一個條件。檢查約束必須為一個邏輯表示式。在插入或更新時表示式都會被計算。Salary > 0

外來鍵約束

子表中列或列的組合的值必須出現在父表中。包括外來鍵的表叫子表或依賴表。被外來鍵引用的表叫父表。Employees表中department_id即為外來鍵。

 

約束有不同的狀態,啟用/禁用,決定在插入或更新資料時是否檢查約束的條件;延遲/立即,決定約束驗證是發生在事務之後,還是發生的語句之後。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1076735/,如需轉載,請註明出處,否則將追究法律責任。

相關文章