1:主鍵和外鍵的定義 主鍵(primary key):一列(或一組列),其值能夠唯一區分表中每個行 。外鍵(foreign key) 外鍵為某個表中的一列,它包含另一個表的主鍵值,定義了兩個表之間的關係 借用其他博客中的三個數據表解析一下: 2:是哪個表的外鍵? 以上面的成績表為例,學號和課程號是成 ...
1:主鍵和外鍵的定義
主鍵(primary key):一列(或一組列),其值能夠唯一區分表中每個行 。
外鍵(foreign key) 外鍵為某個表中的一列,它包含另一個表的主鍵值,定義了兩個表之間的關係
借用其他博客中的三個數據表解析一下:
學生表(學號,姓名,性別,班級) // 學號唯一,能確定學生表的一行
課程表(課程編號,課程名,學分) // 課程編號唯一,能確定課程表的一行
成績表(學號,課程號,成績) // 學號和課程號才能唯一確定哪個人哪門課得了多少分,學號和課程號這兩列為主鍵
2:是哪個表的外鍵?
以上面的成績表為例,學號和課程號是成績表的主鍵,那麼學號是成績表的外鍵還是學生表的外鍵?當然是成績表的外鍵,因為學號是學生表的主鍵呀,怎麼可能是外鍵?同理成績表課程號也應該是成績表的外鍵。其實,外鍵主要建立與其他表的聯繫,如果我們想知道成績表中某一行成績是誰考的,啥性別,在哪個班級,就可通過成績表的外鍵學號與學生表建立一種關係。
看了網上某些博客有點繞,不懂還是先查書吧。以上參考書籍為《MySQL必知必會》,不錯的一本小冊子。