SQL Server 2005中如何創建和刪除外鍵

SQL Server 2005中如何創建和刪除外鍵

最近瞭解到數據庫中創建外鍵的方法,便記錄下來,以防忘記。在SQL Server 2005中,爲了保證數據庫的完整性,創建外鍵是我們經常用到的。創建外鍵有兩種直接的方法。一種是通過寫代碼創建外鍵,一種是通過新建數據庫關係圖(不用寫代碼)創建外鍵。在建表前考慮清楚了並在建表的時候就創建外鍵當然很好,然而,手動建表且沒有創建外鍵,但在後面需要創建外鍵時怎麼辦呢?

在創建外鍵之前需建立表,例如:學生——選課表

//學生表

Create Table Student

(

Sno CHAR(10) primary key,

Sname CHAR(10) not null,

Ssex CHAR(2),

Sage INT,

Sdept Varchar(10)

)

//課程表

Create Table Course

(

Cno CHAR(4) primary key,

CName CHAR(20) not null,

Cpno CHAR(4) ,

Ccredit INT

)

//選課表

Create TABLE SC

(

Sno CHAR(10) not null,

Cno CHAR(4) not null,

Grade INT,

Primary key(Sno,Cno),

Foreign key (Sno) references Student(Sno),

Foreign key (Cno) references Course(Cno)

)

注:當然也可以手動的創建表。以上代碼中已經在定義表是創建外鍵。如果創建表時沒有創建外鍵,則:、

(1) 運用編寫代碼增加外鍵

alter table SC

add constraint SMPKey(外鍵名) foreign key(Sno) references student(Sno),

add constraint CMPKey(外鍵名) foreign key(Cno) references Course(Cno)

(2)新建數據庫關係圖增加外鍵

展開所建數據庫,找到數據庫關係圖,右鍵——>新建數據庫關係圖,在彈出的對話框中添加與要增加外鍵的表以及包含外鍵的表,單擊“添加”,然後關閉該對話框。選擇基表中創建外鍵的字段,指向另一個表中對應的字段,出現兩個的對話框,單擊“確定”,並展開“外鍵關係”對話框中“數據庫設計器”下的“INSERT和UPDATE規範”。將更新規則後的“無操作”改爲“層疊”,同理,將“刪除規則”後的“無操作”改爲“層疊”,單擊“確定”。這樣,基表與另一張表的外鍵關係就建立好了。同理操作其他表,操作完成後保存該數據關係圖即可。此處得到的數據庫關係圖。

注:建立外鍵時,兩張表中要創建外鍵關係的字段的數據類型、長度以及是否可以爲空必須一致,否則不能創建成功。

(3)刪除外鍵:

展開所建表中的鍵,找到想刪除的外鍵,單擊右鍵,選擇“刪除”,在彈出的對話框中點擊“確定”即可。


如何實現級聯刪除效果?

解決方法:

設置完成後,爲了實現刪除從表的記錄時主表中的外鍵數據一起刪除的級聯效果,可以在“屬性-數據庫設計-INSERT和UPDATE規範”中將“更新規則”和“刪除規則”中選擇“層疊”。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章