1. 程式人生 > 資料庫 >Oracle如何給資料庫新增約束過程解析

Oracle如何給資料庫新增約束過程解析

主鍵約束(兩個特性)

1:主鍵必須寫

2:主鍵不可重複

create table stu01(
  sid varchar(100),sname varchar2(100)
  --constraint PK_stu01_sid primary key (sid)
 )

 --新增約束(主鍵)
  alter table stu01 add constraint PK_stu01_sid primary key(sid)  ---新增主鍵約束
  alter table stu01 drop constraint PK_stu01_sid          ---刪除主鍵約束

唯一約束(UNIQUE)

唯一,但是可以為空

create table stu02(
  sid varchar2(100),sname varchar2(100),constraint PK_stu02_sid primary key(sid),constraint UK_stu02_sname unique(sname)
 )

非空約束(not null)

一般簡寫

create table stu03(
  sid varchar2(100),sname varchar2(100) not null,constraint PK_stu03_sid primary key(sid),constraint UK_stu03_sname unique(sname)
 )

外來鍵約束

先新增學生表、和課程表

create table stu04(
  sid varchar2(100),constraint PK_stu04_sid primary key(sid),constraint UK_stu04_sname unique(sname)
 )

 --建立課程表
 create table course01(
  cid varchar2(100),cname varchar2(100) not null,constraint PK_course01_cid primary key(cid),constraint UK_course01_cname unique(cname)
 )

 --最後新增成績表,外來鍵約束課程表和學生表
  create table mark02(
  sid varchar2(100),cid varchar2(100),mark number,constraint PK_mark02_sidAndcid primary key(sid,cid),constraint FK_mark02_sid foreign key(sid) references stu04(sid),constraint FK_mark02_cid foreign key(cid) references course01(cid),constraint UK_mark02_mark unique(mark)
  )

 --刪除外來鍵約束
 alter table mark01 drop constraint FK_mark02_sid
  alter table mark01 drop constraint FK_mark02_cid

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。