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