資料庫表外來鍵的設計和資料庫三正規化

2022-03-01 05:37:38 字數 739 閱讀 8748

子表,父表的定義: 擁有外來鍵的表是子表。主鍵被其它表引用的表是父表。

換句話說:因為父表的標識被很多個子表中的記錄引用,所以叫父表。

擁有外來鍵關係,並且可以隨便刪除資料,不影響其它表的資料的那個表叫子表。

使用的時候誰做為誰的外來鍵,主要從以下兩點考慮:

1/,刪除是如何相互影響的,刪除記錄受約束的那個是父表,不受約束的那個是子表;

2/,記錄必須先存在的是父表;

兩種用途:

1/, 最常用的一種: 減少重複資料.表a中擁有外來鍵,表b的資料基本是不允許刪除的.這時選擇對 insert 和 update 強制關係即可.

2/,其次,是增加乙個從屬表. 如果表a刪除一條記錄時,表b中也隨著刪除一條相關聯的記錄,那麼外來鍵關係中,表a的主鍵是表b的外來鍵。這種關係,實際上表b是表a的從屬表(即表a是父表),選擇對 insert 和 update 強制關係時,如果向表b中插入資料,表a中必須已經存在對應的記錄。選擇級聯刪除相關的字段時,刪除表a中的一條記錄,就會刪除對應的表b中的一條記錄。

資料庫三正規化:

第一正規化(1nf):要求資料庫表的每一列都是不可分割的原子資料項

第二正規化需要確保資料庫表中的每一列都和主鍵相關,而不能只與主鍵的某一部分相關(主要針對聯合主鍵而言)

第三正規化需要確保資料表中的每一列資料都和主鍵直接相關,而不能間接相關

foreignkey就是乙個多對一的字段,而被foreignkey關聯的字段就是一對多欄位

資料庫表外來鍵的設計和資料庫三正規化

擁有外來鍵的表是子表,主鍵被其他表引用的表是父表 因為父表的標識被很多子表中的記錄引用,所以叫父表。擁有外來鍵關係,並且可以隨便刪除資料,不影響其他表的資料的那個表叫子表。使用的時候誰做為誰的外來鍵,主要從以下兩點考慮 1,刪除是如何相互影響的,刪除記錄受約束的那個是父表,不受約束的那個是子表 2,...

資料庫設計外來鍵

今天心情很煩躁,公司來了新員工,我感覺到自己這個渣渣要晚年不保啊,隨後就隨便網上逛逛,看到這個挺有意思。設計外來鍵竟然還有人不會?哈哈哈,這不是說我呢嘛!外來鍵一般用於一對多的時候,比如說某個型別type下面可能有多個物件。訂單的話,乙個訂單號肯定會有關於這個訂單 號碼 的訂單詳情,這是給客戶看的,...

資料庫 外來鍵

外來鍵是什麼?外來鍵 fk 是用於建立和加強兩個表資料之間的鏈結的一列或多列。通過將儲存表中主鍵值的一列或多列新增到另乙個表中,可建立兩個表之間的鏈結。這個列就成為第二個表的外來鍵。外來鍵資料庫一級的完整性約束,由資料庫自行維護.你也可以手動建立.1如果存在外來鍵關係的話,任何修改主表主鍵欄位和刪除...