1、維護資料完整性的方法:
約束、觸發器、應用程式(過程、函式);
2、商業邏輯規則:
年齡範圍,性別:男女。
3、約束:not null
create table user (id number not null);
unique
可以為空,並且可以多個為空。
primary key
自動建立索引,不為空,不重複
foreign key
外來鍵可以指向自己所在表,可以指向unique列。
和他指向的主鍵列型別要一致。
建表順序
外來鍵列可以為空,但不能是所指主鍵不存在的值。
check
create table 表名 (id number check(id>0));
check (列名 in (... , ...));
default 『男』,放在check前面。
增加約束:
在一張表建好後對約束進行修改
alter table 表名 modify 欄位名 not null;指定不能為空
alter table 表名 add constraint uni_id unique(字段); 增加唯一約束
alter table 表名 add constraint ch_addr check(字段 in ());增加檢測約束
刪除約束:
alter table 表名 drop 約束名;(刪除主鍵時可以不帶約束名)
加乙個cascade 可以刪除不讓刪的約束。級聯刪除,也會刪除指向它的外來鍵。
列級定義:在定義表時,直接在列後指出。
表級定義:在列定義完畢後,的後面指出約束。
當兩列同時構成主鍵(復合主鍵)時,必須表級定義。
oracle資料完整性
資料完整性 約束,索引,許可權和角色 資料完整性 資料完整性用以確保資料庫資料遵從一定的商業和邏輯規則。在oracle中,資料完整性可以使用約束 觸發器 應用程式 過程和函式 三種方法來實現,這三種方法中,因為約束易於維護,並且具有最好的效能,所以作為維護資料完整性的首選。約束 約束用以確保資料庫資...
oracle資料完整性約束
在oracle資料庫中建立表的同時,我們需要給字段新增 約束條件 注意 orcale資料庫中新增約束的條件跟sql server mysql不完全一樣。實體完整性 主鍵 新增主鍵約束 primary key alter table 表名 add constraint 約束名稱 約束型別 關聯列名 a...
Oracle 資料完整性,約束
check約束,檢查約束,實現域完整性 not null約束,非空約束,實現域完整性 primary key,主鍵約束,實現實體完整性,unique key,唯一性約束,實現實體完整性 foreign key,外來鍵約束,實現參照約束 check 約束 alter table goods add c...