資料庫設計 表與表的三種關係

2021-09-02 21:07:29 字數 1481 閱讀 3845

資料庫設計 -- 表與表的三種關係

一對一

例如:user表和user_detail表,每乙個user有一條detail,每一條detail屬於乙個使用者。

表一(user_campaign)

表二(user_campaign_detail)

思路小結:user表和user_detail表,可以給user_detail表中的user_id建立唯一索引,既保證資料的正確性,也能提高查詢速度;這裡的第一張表的每一行只與第二張表的一行相對應。

提示

一對一關係是比較少見的關係型別。但在某些情況下,還是會需要使用這種型別。

適用場景

一對多

例如:乙個人可以擁有多個session,每條session只屬於乙個人。 

表一(user)

表二(user_session)

思路小結:建兩個表,『一』方不動,『多』方新增乙個外來鍵字段

提示

一對多關係是最常見的關係型別。

適用場景

多對多

例如:系統有多個使用者,每個使用者可以屬於多個分組,每個分組中可以有多個使用者。

表一(system_user)

表二(system_group)

表三(system_user_group)

思路小結:兩個多對多的表,然後建立第三個表做關係表

提示

多對多關係,在關聯式資料庫中也是比較常用的方式。

適用場景

關聯式資料庫的三種設計模式

第一正規化 1nf 在任何乙個關聯式資料庫中,第一正規化 1nf 是對關係模式的基本要求,不滿足第一正規化 1nf 的資料庫就不是關聯式資料庫。color red 所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複...

資料庫表與表之間的關係

表與表之間的關係有三種 一對 一 一對多 多對多 1.一對一 一張表的一條記錄一定只能與另外一張表的一條記錄進行對應 反之亦然。乙個常用表中的一條記錄,永遠只能在一張不常用表中匹配一條記錄 反過來,乙個不常用表中的一條記錄在常用表中也只能匹配一條記錄 一對一關係。在實際的開發中應用不多,因為一對一可...

簡單說說資料庫表設計的三種正規化

我們都知道資料設計常用的又三種正規化 當然也有更多了 1nf 資料的原子性 聽起來有點抽象哦,也就是不可分割 2nf 資料的唯一性 哈叫唯一啊 3nf 資料人冗餘性 說白了就是資料存在沒必要的,就像你有乙份檔案了,你在copy乙份幹哈呢 當然正規化也是一級一級的滿足要求 1nf 2nf 3nf.三種...