資料庫的主表,從表,主鍵,外來鍵等之間的關係
阿新 • • 發佈:2019-01-09
主鍵:一般情況下,滿足第一正規化的表都有一個主鍵Primary key,用於唯一標示資料庫中的一個欄位。
外來鍵:外來鍵是相對於資料庫設計中的參考完整性而言,它與主鍵之間是彼此依賴的關係。假設現在有兩個表,產品分類表ProductCategory(主鍵c_id)和產品表Product(主鍵p_id),每類產品都屬於一個分類。那麼如果產品資訊表肯定需要參考產品分類表進行定義。因為如果沒有產品分類表,又何談產品分類呢。所以產品資訊表Product(從表)需要引用ProductCategory(主表)中的主鍵CategoryId 進行產品分類定義,Product表中引用c_id的欄位就是外來鍵。
主表:
從表:有外來鍵引用的表。
外來鍵可以為空值(除了SQLServer等一些資料庫),但如果有值的話一定是你參照的那個主表中的主鍵值。換句話說,從表需要用到主表的屬性,沒有主表就沒有從表。
當刪除資料時:
delete cascade (級聯刪除):如果主表中的一個主鍵被刪除了,那麼引用該主鍵的從表中的所有記錄也被刪除。
restrict (刪除限制):如果主表中的一個主鍵被刪除時,當從表中仍有外來鍵引用這個主鍵時,那麼不允許直接刪除主表的這條記錄,必須先刪除或修改引用該主鍵的外來鍵才能刪除。
no action(無參照完整性關係)
update更新同理。