1. 程式人生 > >資料庫的主表,從表,主鍵,外來鍵等之間的關係

資料庫的主表,從表,主鍵,外來鍵等之間的關係

主鍵一般情況下,滿足第一正規化的表都有一個主鍵Primary key,用於唯一標示資料庫中的一個欄位。

外來鍵外來鍵是相對於資料庫設計中的參考完整性而言,它與主鍵之間是彼此依賴的關係。假設現在有兩個表,產品分類表ProductCategory(主鍵c_id)和產品表Product(主鍵p_id),每類產品都屬於一個分類。那麼如果產品資訊表肯定需要參考產品分類表進行定義。因為如果沒有產品分類表,又何談產品分類呢。所以產品資訊表Product(從表)需要引用ProductCategory(主表)中的主鍵CategoryId 進行產品分類定義,Product表中引用c_id的欄位就是外來鍵。

主表

被作為外來鍵引用的表。

從表有外來鍵引用的表。

        外來鍵可以為空值(除了SQLServer等一些資料庫),但如果有值的話一定是你參照的那個主表中的主鍵值。換句話說,從表需要用到主表的屬性,沒有主表就沒有從表。

當刪除資料時:

delete  cascade (級聯刪除)如果主表中的一個主鍵被刪除了,那麼引用該主鍵的從表中的所有記錄也被刪除。

             restrict (刪除限制)如果主表中的一個主鍵被刪除時,當從表中仍有外來鍵引用這個主鍵時,那麼不允許直接刪除主表的這條記錄,必須先刪除或修改引用該主鍵的外來鍵才能刪除。

             no action(無參照完整性關係)
無參照完整性關係,有了也不生效。

update更新同理。