剛接觸關(guān)系型數(shù)據(jù)庫的同學(xué),會聽過主鍵和外鍵的概念。這是關(guān)系型數(shù)據(jù)庫的基本概念,需要清楚理解。今天我就以簡潔的語言總結(jié)一下這個(gè)概念。
主鍵。一句話概括:一張表中,可以用于唯一標(biāo)識一條記錄的字段組(或者說是屬性組)。給你一個(gè)主鍵的值,你就可以找到一條確定的記錄。如:
學(xué)生表:學(xué)號,姓名,性別,課程。這里學(xué)號就是主鍵。給你一個(gè)學(xué)號,就可以找到一條學(xué)生記錄。
課程表:課程編號,課程名稱,學(xué)分。這里課程編號就是主鍵。給你一個(gè)課程編號,就可以找到一條課程記錄。
成績表:學(xué)號,姓名,課程編號,成績。這里學(xué)號,課程編號都沒法做為主鍵。因?yàn)閷W(xué)號可以對映多個(gè)成績,如張三可以修數(shù)學(xué),語文。一個(gè)課程編號可以對映多個(gè)成績,如語文課程編號可以對映張三的成績,也可以對映李四的成績。但是(學(xué)號,課程編號)這個(gè)屬性組可以作為主鍵。
外鍵。一句話概括:如果一個(gè)表A的主鍵還存在與另一個(gè)表B中,那么B中這個(gè)字端可以作為A表的外鍵。(有一種好記的方法是,存在與外面的主鍵就是外鍵)。比如上面成績表的學(xué)號是學(xué)生表的外鍵,成績表的課程編號是課程表的外鍵。
主鍵是唯一的,用于標(biāo)識一張表。外鍵可以有多個(gè),用于建立表和表的關(guān)系。