MYSQL三大正規化

2021-07-12 06:07:02 字數 685 閱讀 2024

第一正規化:確保每列的原子性.

如果每列(或者每個屬性)都是不可再分的最小資料單元(也稱為最小的原子單元),則滿足第一正規化.

例如:顧客表(姓名、編號、位址、……)其中」位址」列還可以細分為國家、省、市、區等。

第二正規化:在第一正規化的基礎上更進一層,目標是確保表中的每列都和主鍵相關.

如果乙個關係滿足第一正規化,並且除了主鍵以外的其它列,都依賴於該主鍵,則滿足第二正規化.

例如:訂單表(訂單編號、產品編號、定購日期、**、……),」訂單編號」為主鍵,」產品編號」和主鍵列沒有直接的關係,即」產品編號」列不依賴於主鍵列,應刪除該列。

第三正規化:在第二正規化的基礎上更進一層,目標是確保每列都和主鍵列直接相關,而不是間接相關.

如果乙個關係滿足第二正規化,並且除了主鍵以外的其它列都不依賴於主鍵列,則滿足第三正規化.

為了理解第三正規化,需要根據armstrong公里之一定義傳遞依賴。假設a、b和c是關係r的三個屬性,如果a-〉b且b-〉c,則從這些函式依賴中,可以得出a-〉c,如上所述,依賴a-〉c是傳遞依賴。

例如:訂單表(訂單編號,定購日期,顧客編號,顧客姓名,……),初看該錶沒有問題,滿足第二正規化,每列都和主鍵列」訂單編號」相關,再細看你會發現」顧客姓名」和」顧客編號」相關,」顧客編號」和」訂單編號」又相關,最後經過傳遞依賴,」顧客姓名」也和」訂單編號」相關。為了滿足第三正規化,應去掉」顧客姓名」列,放入客戶表中。

MySQL三大正規化

資料庫 的三個正規化 指的是什麼呢?即 屬性唯一,記錄唯一,表唯一。下面我們用一張關係圖來三者之間的關係。第一正規化 1nf 資料庫表中的字段的 屬性都是單一的,不可再分。這個單一屬性由哪些型別組成呢?主要是基本型別構成,包括整型 實數 字元型 邏輯型 日期型等。第二正規化 2nf 資料庫表 中不存...

mysql三大正規化

1.第一正規化 確保資料表中每列 字段 的原子性。如果資料表中每個欄位都是不可再分的最小資料單元,則滿足第一正規化。例如 user使用者表,包含欄位id,username,password 2.第二正規化 在第一正規化的基礎上更進一步,目標是確保表中的每列都和主鍵相關。如果乙個關係滿足第一正規化,並...

mysql三大正規化

資料庫設計正規化 關聯式資料庫中的關係必須滿足一定的要求,即滿足不同的正規化。關聯式資料庫有六種正規化 第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 巴德斯科正規化 bcnf 第四正規化 4nf 和第五正規化 5nf 滿足最低要求的正規化是第一正規化 1nf 在第一正規化的基礎上進一步...