首頁 >資料庫 >mysql教程 >sql主鍵和外鍵有什麼差別

sql主鍵和外鍵有什麼差別

清浅
清浅原創
2019-05-09 11:47:4115782瀏覽

sql主鍵和外鍵的差別:1、主鍵是唯一標識一筆記錄,不能有重複,不允許為空,而外鍵可以重複,可以是空值;2、主鍵是用來保持資料完整性,外鍵是用來建立與其他表格聯繫用的;3、主鍵只有一個,外鍵可以有多個。

sql主鍵和外鍵有什麼差別

sql主鍵與外鍵的差別:主鍵只有一個,不能重複也不允許有空值而外鍵可以有多個,可以重複也可以有空值;主鍵是用來保持資料完整性的,外鍵是用來與其他表建立聯繫的

sql主鍵和外鍵有什麼差別

什麼是主鍵、外鍵

關係型資料庫中的一筆記錄中有若干個屬性,若其中某一個屬性組(注意是組)能唯一標識一筆記錄,該屬性組就可以成為一個主鍵 
例如

學生表(學號,姓名,性別,班級) 

其中每位學生的學號是唯一的,學號就是一個主鍵 

課程表(課程編號,課程名稱,學分) 

其中課程編號是唯一的,課程編號就是一個主鍵 

成績表(學號,課程編號,成績) 

成績表中單一一個屬性無法唯一標識一筆記錄,學號和課程號的組合才可以唯一標識一筆記錄,所以學號和課程號的屬性組是一個主鍵 
成績表中的學號不是成績表的主鍵,但它和學生表中的學號相對應,且學生表中的學號是學生表的主鍵,則稱成績表中的學號是學生表的外鍵 

#同理表中的課程號碼是課程表的外鍵 

定義主鍵和外鍵主要是為了維護關聯式資料庫的完整性,總結一下:

1.主鍵是能確定一筆記錄的唯一標識,例如,一筆記錄包括身份正號,姓名,年齡。

身分證號是唯一能確定你這個人的,其他都可能有重複,所以,身分證號是主鍵。 

2.外鍵用於與另一張表的關聯。是能確定另一張表記錄的字段,用於保持資料的一致性。

例如,A表中的一個字段,是B表的主鍵,那他就可以是A表的外鍵。

主鍵和外鍵的區別

(1)主鍵是唯一標識一筆記錄,不能有重複,不允許為空;而外鍵可以重複,可以是空值

(2)主鍵是用來保持資料完整性,外鍵是用來建立與其他表格聯繫用的

(3)主鍵只有一個,外鍵可以有多個

以上是sql主鍵和外鍵有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn