4 回答

TA貢獻1839條經(jīng)驗 獲得超15個贊
外鍵是另一個表的主鍵。它用于鏈接兩個表。示例:我們有 2 個表(Person & Employee)
Person 有主鍵:personID,Employee 有主鍵:employeeID
員工是一個人,所以他們必須聯(lián)系起來。
員工有外鍵:personID
因此,對于每個 Employee 都有一個與之關聯(lián)的 Person(其中 Employee 中的 personID 與 Person 中的 personID 相同)。

TA貢獻1784條經(jīng)驗 獲得超9個贊
在關系數(shù)據(jù)庫的上下文中,外鍵是一個表中的一個字段(或字段集合),它唯一地標識另一個表或同一個表的一行。簡而言之,外鍵是在第二個表中定義的,但它指的是第一個表中的主鍵或唯一鍵。
這將我們帶到主鍵??蛻舯淼拿恳恍卸及粋€名為 customerNumber 的唯一鍵,這是該表的主鍵。在訂單表上,我們有 orderNumber 列,它是該表的主鍵。
訂單表有一個通過客戶編號返回到客戶表的外鍵鏈接。我們稱客戶編號為外鍵。
客戶表:
customerNumber CustomerName.
1 Bob
2 Jane
訂單表:
OrderNumber customerNumber Status
1 1 Shipped
2 1 Exploded
使用上面的數(shù)據(jù),如果您想查看 bob 有哪些訂單,您可以將主鍵作為 bobs 客戶 ID,并檢查訂單表中包含它的所有行。這是鏈接兩個表的外鍵。

TA貢獻1772條經(jīng)驗 獲得超5個贊
FOREIGN KEY 是用于將兩個表鏈接在一起的鍵。
FOREIGN KEY 是一個表中的一個字段(或字段集合),它引用另一個表中的 PRIMARY KEY。
包含外鍵的表稱為子表,包含候選鍵的表稱為引用表或父表。
參考:https ://www.w3schools.com/sql/sql_foreignkey.asp

TA貢獻1806條經(jīng)驗 獲得超8個贊
您使用它將兩個表鏈接在一起,它使您的數(shù)據(jù)完整性更好。您應該始終使用外鍵來鏈接表引用,除非您有明確的理由不這樣做。
假設您有帶列的Foobar
表和帶UserId
列的User
表Id
。您使用外鍵將表中的列鏈接UserId
到Foobar
表User
的Id
列。
之后,如果您的行為 1 并嘗試從中刪除列Foobar
值為1 的行,則會收到錯誤,因為引用了它。還驗證了插入,假設您嘗試將行插入到表中,但表中不存在該行,您也會收到錯誤消息。UserId
User
Id
Foobar
Foobar
UserId
User
- 4 回答
- 0 關注
- 277 瀏覽
添加回答
舉報