-
外部碼
鎖定
設X是關係模式R的屬性子集合。如果X是另一個關係模式的候選碼,則稱X是R的外部碼(Foreign Key),簡稱“外碼”或“外鍵”。
[1]
外部碼定義
設有兩個關係模式R和S,X是R的屬性或屬性組,不是R的碼,但X是S的碼,則稱X是R的外部碼(Foreign Key),簡稱外碼。
[2]
外部碼舉例
外部碼例1
關係模式Product(Product_Id, Name, Price)中單個屬性Product_Id是碼,Order_Item(ld, Product_Id, Amount)中屬性組合(Id, Product_Id)是碼,它們均用下畫線表示出來。 在Order_Item(Id, Product_Id, Amount)中,Product_Id不是碼,但Product_Id是關係模式Product(Product_Id, Name, Price)的碼,則Product_Id是關係模式Order_Item的外碼。 關係模式Product與Order_Item的聯繫就是通過Product_Id來體現的。
[1]
外部碼例2
在
關係模式Student和SC中,
學號不是
關係SC的碼,因為SC的碼是(學號, 課程號),但學號是關係Student的碼。所以屬性學號是關係SC的
外碼。
關係Student和SC通過學號建立聯繫,利於今後的查詢要求。
[2]
外部碼意義
主碼和外部碼提供了一個表示關係間聯繫的手段
[1]
,為兩個關係間建立聯繫搭建了橋樑,也是關係的參照完整性得以保證的基礎。
[2]
- 參考資料
-
-
1.
王鳳領.數據庫原理及應用[M].西安:西安電子科技大學出版社,2018:180
-
2.
張錫英,李林輝,邊繼龍.數據庫系統原理[M].哈爾濱:哈爾濱工業大學出版社,2016:126