什么是外鍵?為什么要使用外鍵?


什么是外鍵?

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

為什么要使用外鍵?

        保證數據的參照完整性。

不用會怎樣?

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

       外鍵的作用很重要,最好在數據庫中使用。

       下面舉一個栗子就會明白。

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

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

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM