1、外來鍵約束:外來鍵(foreign key)是用來建立和加強兩個表資料之間的連線的一列或多列。外來鍵約束是唯一涉及兩個表關係的約束。
注:先建立的表叫主表或附表,後建立的且和主表有關係的表叫從表或子表
2、外來鍵約束的注意事項:
(1)、設定外來鍵約束時主表的字段必須是主鍵列(或唯一列)
(2)、主從表中相應字段必須是同一資料型別
(3)、從表中外鍵字段的值必須來自主表中的相應欄位的值,或者為null
3、建立表時設定外來鍵約束的方法
(1)、列級約束:create table 從表 ( column_name datatype references 主表 ( column_name) [ on delete cascade ],...);
例:主表:
create table department(
depid varchar2(10) primary key,
depname varchar2(30)
);子表:
create table student(
sid number(8,0),
name varchar2(20),
*** char(2),
birthday date,
address varchar2(50),
depid varchar2(10) references department(depid)
注:子表中的depid可以隨意取名
(2)、表級約束:constraint constraint_name foreign key ( column_name ) references 主表 ( column_name) [ on delete cascade]
例:主表:
create table department(
depid varchar2(10) primary key,
depname varchar2(30)
);子表:
create table student(
sid number(8,0),
name varchar2(20),
*** char(2),
birthday date,
address varchar2(50),
constraint fk_depid foreign key(depid) references department(depid) on delete cascade
4、修改表時新增外來鍵約束的方法:alter table student add constraint fk_depid foreign key(depid) references department(depid) on delete cascade;
5、刪除外來鍵約束的方法:
(1)、禁用約束:alter table table_name disable constraint column_name;
(2)、徹底刪除:alter table table_name drop constraint column_name;
oracle外來鍵約束
新建父表 sql create table teacher 2 3 id number primary key,4 name varchar2 10 5 table created.新建子表 sql 1 create table student 2 3 id number primary key,4...
Oracle 外來鍵約束
新增主鍵約束 alter table ga airline add constraint pk airline id primary key airline id 有三種形式的外來鍵約束 1 普通外來鍵約束 如果存在子表引用父表主鍵,則無法刪除父表記錄 alter table t invoice d...
Oracle 外來鍵約束
下面的語句建立department 20表,並定義和啟用department id列上的外來鍵,該外來鍵引用departments表的department id列上的主鍵 create table dept 20 employee id number 4 last name varchar2 10 ...