子表,父表的定義: 擁有外來鍵的表是子表。主鍵被其它表引用的表是父表。
換句話說:因為父表的標識被很多個子表中的記錄引用,所以叫父表。
擁有外來鍵關係,並且可以隨便刪除資料,不影響其它表的資料的那個表叫子表。
使用的時候誰做為誰的外來鍵,主要從以下兩點考慮:
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如果存在外來鍵關係的話,任何修改主表主鍵欄位和刪除...