資料庫三正規化和常見建表原則

2021-09-07 08:30:47 字數 598 閱讀 7002

資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。(保持資料的原子性)

滿足1nf後,要求表中的所有列,都必須依賴於主鍵,而不能有任何一列與主鍵沒有關係,也就是說乙個表只描述一件事情;

首先是 2nf,另外非主鍵列必須直接依賴於主鍵,不能存在傳遞依賴。即不能存在:非主鍵列 a 依賴於非主鍵列 b,非主鍵列 b 依賴於主鍵的情況。即沒個屬性都跟主鍵有直接關係而不是間接關係。

例如:商品表和商品分類表,乙個分類對應多個商品,

建表原則:在『多』的一方新增乙個外來鍵,指向『一』的一方的主鍵。

例如:單管理資料庫當中「產品」表和「訂單」表之間的關係。單個訂單中可以包含多個產品。另一方面,乙個產品可能出現在多個訂單中。

建表原則:: 建立一張中間表,將多對多的關係,拆分成一對多的關係,中間表至少要有兩個外來鍵,分別指向原來的那兩張表

例如:班級和班長,乙個班級對應乙個班長。

建表原則:

-將一對一的情況,當作是一對多情況處理,在任意一張表新增乙個外來鍵,並且這個外來鍵要唯一,指向另外一張表

-直接將兩張表合併成一張表

-將兩張表的主鍵建立起連線,讓兩張表裡面主鍵相等

資料庫表設計三大正規化原則

a 所有字段值都是不可分解的原子值 b 也就是說在乙個資料庫表中,乙個表中只能儲存一種資料,不可以把多種資料儲存在同一張資料庫表中 c 資料表中的每一列資料都和主鍵直接相關,而不能間接相關 1 第一正規化 確保每列保持原子性 第一正規化是最基本的正規化。如果資料庫表中的所有字段值都是不可分解的原子值...

我的理解之資料庫建表三正規化

在實際開發中通常滿足第三正規化即可 下圖是我對三正規化的簡單理解 第一正規化 1nf 要求關係模式 r的所有屬性都是不可分的基本資料項 指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。例如 比如某些資料庫系統中需要用到 位址 這個...

資料庫三正規化和反三正規化

要說資料庫什麼最抽象,我覺得就是這個三正規化,不是很好理解,但是表在設計的時候又必須要知道這麼乙個規則。首先使用最簡潔的話說說這三正規化 第一正規化 1nf the first normal form 每一列不能再分割。第二正規化 2nf the second normal form 滿足1nf條件...