約束是在表上強制執行的資料校驗規則.
當表中資料有相互依賴性時,可以保護相關的資料不被刪除.
oracle 支援下面五類完整性約束:
1、not null 非空
create table employees(
employee_id number(6),
last_name varchar2(25) not null,
salary number(8,2),
commission_pct number(2,2),
hire_date date constraint emp_hire_date_nn not null
)//檢視使用者的約束
select * from user_constraints;
//檢視表的約束
select * from user_constraints where table_name='employees」
2、unique key 唯一鍵
唯一性約束條件確保所在的字段或者字段組合不出現重複值
唯一性約束條件的字段允許出現(1或多個)空值
oracle將為唯一性約束條件建立對應的唯一性索引
create table employees(
employee_id number(6) unique,
last_name varchar2(25) not null,
email varchar2(25),
salary number(8,2),
commission_pct number(2,2),
hire_date date not null,
...
constraint emp_email_uk unique(email));
3、primary key 主鍵
主鍵從功能上看相當於非空且唯一
乙個表中只允許乙個主鍵
主鍵是表中能夠唯一確定乙個行資料的字段
主鍵字段可以是單字段或者是多字段的組合
oracle為主鍵建立對應的唯一性索引
constraint dept_id_pk primary key(department_id)
表級alter table 表名
add constraint dept_id_pk primary key(department_id);
4、foreign key 外來鍵
外來鍵是構建於乙個表的兩個字段或者兩個表的兩個字段之間的關係
外來鍵確保了相關的兩個欄位的關係:
*子表外來鍵列的值必須在主表參照列值的範圍內,或者為空
主表主鍵值被子表參照時,主表記錄不允許被刪除
外來鍵約束條件參照的是主表的乙個或者多個欄位的值,通常被外來鍵參照的 是主表的主鍵或者唯一鍵
constraint 鍵名 foreign key (欄位名)
references 主表名(欄位名)
表級alert table 表名
constraint 鍵名 foreign key (欄位名)
references 主表名(欄位名)
5、check 檢察
constraint 檢察名
check (salary > 0),...
可增加或刪除約束,但不能直接修改
alter table table
add [constraint constraint] type (column);
alter table employees
add constraint emp_manager_fk
foreign key(manager_id)
references employees(employee_id);
刪除約束emp_manager_fk
alter table employees
drop constraint emp_manager_fk;
oracle 學習筆記 二
from子句 select用於指定要查詢的列 from指定要從哪幾個表中查詢 如果要查詢所有列,可以在select後面使用 號 如果只查詢特定的列,可以直接在select後面指定列名,列名之間用逗號隔開 select from dept 使用別名 在sql語句中可以通過使用列的別名改標題的顯示文字,...
oracle學習筆記 二
from子句 select用於指定要查詢的列 from指定要從哪幾個表中查詢 如果要查詢所有列,可以在select後面使用 號 如果只查詢特定的列,可以直接在select後面指定列名,列名之間用逗號隔開 select from dept 使用別名 在sql語句中可以通過使用列的別名改標題的顯示文字,...
Oracle學習筆記 二
四 表空間 分類 永久表空間 表,檢視,儲存過程 臨時表空間 資料庫操作中中間操作過程 undo表空間 被修改之前的資料 1 檢視表空間 系統管理員檢視的表空間 desc dba tablesspaces select tablespace name from dba tablesspaces sy...