什麼是外鍵?爲什麼要使用外鍵?如何來用?不用會怎樣?

什麼是外鍵

外鍵   (FK)   是用於建立和加強兩個表數據之間的鏈接的一列或多列。通過將保存表中主鍵值的一列或多列添加到另一個表中,可創建兩個表之間的鏈接。這個列就成爲第二個表的外鍵。  

 

爲什麼要使用外鍵?

保證數據的參照完整性 

 

不用會怎樣?

不用也不會怎麼樣,如果一個健壯的系統,數據庫中的數據一定有很好的參照完整性,如果不用外鍵,就要多寫代碼對數據的完整性進行額外的判斷 

 

外鍵的作用很重要,最好在數據庫中使用。舉一個例子比較明白。

比如有兩張表格,一個是學生檔案,另一個是上學期間的成績單

檔案中會有:學號,姓名。(學號爲主鍵)  
成績單有(簡化過的):學期號,學號,平均分數(學期號,學號兩個同時爲主鍵,學號同時爲外鍵)  
爲了保證成績單上的數據有效,所以要求錄入學號時,必需保證檔案中有這個學號,否則就不能錄入。   
從而保證了成績單上的成績數據的引用完整,否則將會是垃圾數據。

 

用程序控制,有很多缺點;錄入成績單時爲了保證學號有效,首先要搜索檔案,當檔案很大時會影響效率。程序控制並不能保證百分之百引用完整性,尤其是併發操作。

 

說一個特例(主要是說明程序控制不好):   
A錄入成績單,B在編輯檔案。  
當A錄入張三的成績,保存時,搜索張三存在,於是程序下一步就要存盤,但這時B恰好把張三刪除了。但A那邊的程序並不知道,於是就把一條垃圾數據存進數據庫中了。  
此例的操作流程正確與否不重要,但說明了程序控制並不是好方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章