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

2021-09-24 03:16:29 字數 756 閱讀 4694

主鍵:一般情況下,滿足第一正規化的表都有乙個主鍵primary key,用於唯一標示資料庫中的乙個字段。

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

主表:被作為外來鍵引用的表。

從表:有外來鍵引用的表。

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

當刪除資料時:

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

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

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

update更新同理。

資料庫 主鍵 外來鍵

1 什麼是主鍵 在一張表中,用來唯一標識一條記錄的字段集,叫做主關鍵字或者主關鍵碼,簡稱主鍵 或主碼 這裡說 欄位集 是因為主鍵可能用乙個字段或者多個欄位來表示。舉例來看 學生表 學號,姓名,性別,專業編號 這裡學號是主鍵,乙個學號id就可以唯一標識乙個學生的資訊。另乙個表 學生選課表 學號,課程號...

資料庫外來鍵主鍵

如果乙個欄位被設定為主鍵,那他一定是唯一的,並且是非空的。如果設定為整型,那麼可以新增為自動遞增的功能 外來鍵,應用於主從表。可以保證當前新增的字段在一定範圍內選擇。比如我有兩張表,乙個表是班級表,乙個表是學生表,我需要知道學生在哪乙個班級以及他的位置,我當然可以在班級表中寫好幾個列,但是顯得臃腫,...

主表的鍵是從表的外來鍵,外來鍵的級聯

size large b 主表 一方.從表 n方.主表的鍵刪除,從表與之對應的外來鍵也刪除.從表的外來鍵刪除,主表無反應.on delete update cascade,在外鍵定義時加上.以下內容摘自 外來鍵的作用 保持資料一致性,完整性,主要目的是控制儲存在外鍵表中的資料。使兩張表形成關聯,外來...