突然看這個字:FOREIGN外國人,我以前對於這個單字,考試拼字母老是出錯,剛剛仔細看一眼:將字根拆開:FORE-IGN, FORE是向前的意思, IGN,IN中間插一個G。圖像記憶法:一個外國人向前衝去在IN中插入一個G!
這樣,FOREIGN,外國人。
哈哈,記起來了。
回來看 FOREIGN KEY。外來鍵
SQL FOREIGN KEY Constraint
SQL外來鍵的限制
FOREIGN KEY是一個資料表指向另一個資料表的主關鍵欄位(PRIMARY KEY)的鍵欄位。
也就是說這個鍵欄位的值其實是來自另一個資料表的關鍵欄位。特別是主關鍵欄位(PRIMARY KEY)。
舉例來說吧:
以下這兩個資料表:Persons 以及Orders
The "Persons" table:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
The "Orders" table:
O_Id | OrderNo | P_Id |
---|---|---|
1 | 77895 | 3 |
2 | 44678 | 3 |
3 | 22456 | 2 |
4 | 24562 | 1 |
請注意看清楚:"Orders"資料表中的欄位-"P_Id"裡面的資料值,可以指向"Persons"資料表中欄位"P_Id"。
在"Persons"資料表中的"P_ID"這個欄位是"Persons"資料表的主關鍵欄位(PRIMARY KEY)。
在"Orders"資料表中的"P_ID"這個欄位是"Orders"資料表中的外來關鍵欄位(FOREIGN KEY)。
而 FOREIGN KEY constraint ,外來關鍵欄位限制,即是用來保護預防破壞了這個兩個資料表之間的正確連結。
FOREIGN KEY CONSTRAINT同時也防止不正確的資料被新增進去這個欄位,因為這個欄位裡面的資料值必須是指向另一個資料表關鍵欄位的資料值才可以。
沒有留言:
張貼留言