oracle約束
oracle中提供了5種約束,目的:防止無效的或有問題的數據輸入到表中,維護表的完整性
(1)非空(NOT NULL)約束,,定義的列不能為空
(2)唯一(UNIQUE)約束,表中每一行中所定義的列,列值不能相同
(3)主鍵(PRIMARY KEY)約束,唯一標識表中的一行
(4)外鍵(FOREIGN)約束,維系子表的主表的引用完整性
(5)條件(CHECK)約束,每行都要滿足約束條件
約束關鍵字 constraint
完整性約束(主鍵約束)
(1)建表時,在列中添加primary key
create table A(
id vatchar(10) primarykey,
name varchar(10)
);
主鍵不能為空,且不能重復
(2)
create table B(
id varchar(10),
name varchar(12),
constraint c_id primary key(id)
);
在一個沒有約束的表中添加約束
alter table A add constraint c_id primary key(id)
外鍵約束(引用完整性約束)
create table student(
s_id number(5) primary key,
s_name varcher(10),
t_id varchar(10),
constraint fk_stu foreign key(t_id) references team(t_id)
)
create table team(
t_id varchar(10) primary key,
t_name varchar(10)
)
外鍵:父子關系
外鍵可以很好的保護兩個表之間的關系
constraint fk_stu foreign key(t_id) references team(t_id)
兩表存在關聯時,應該先刪除約束或通過破壞外鍵直接刪除
oracle約束