mysql三正規化了解

2021-10-13 23:23:58 字數 647 閱讀 2926

第一正規化就是屬性不可分割,每個欄位都應該是不可再拆分的。比如乙個欄位是姓名(name),在國內的話通常理解都是姓名是乙個不可再拆分的單位,這時候就符合第一正規化;但是在國外的話還要分為first

name和last name,這時候姓名這個字段就是還可以拆分為更小的單位的字段,就不符合第一正規化了。

第二正規化就是要求表中要有主鍵,表中其他其他欄位都依賴於主鍵,因此第二正規化只要記住主鍵約束就好了。比如說有乙個表是學生表,學生表中有乙個值唯一的字段學號,那麼學生表中的其他所有欄位都可以根據這個學號字段去獲取,依賴主鍵的意思也就是相關的意思,因為學號的值是唯一的,因此就不會造成儲存的資訊對不上的問題,即學生001的姓名不會存到學生002那裡去。

第三正規化就是要求表中不能有其他表中存在的、儲存相同資訊的字段,通常實現是在通過外來鍵去建立關聯,因此第三正規化只要記住外來鍵約束就好了。比如說有乙個表是學生表,學生表中有學號,姓名等字段,那如果要把他的系編號,系主任,系主任也存到這個學生表中,那就會造成資料大量的冗餘,一是這些資訊在系資訊表中已存在,二是系中有1000個學生的話這些資訊就要存1000遍。因此第三正規化的做法是在學生表中增加乙個系編號的字段(外來鍵),與系資訊表做關聯。

Mysql三正規化

第一正規化 屬性不可分 第二正規化 表中的非主屬性必須完全依賴於全部主鍵,而不是部分主鍵.第三正規化 表中的非主屬性必須完全依賴於全部主鍵,而不是依賴非主鍵屬性 1 第一正規化 元組的分量不可再分 2 第二正規化 所有分量唯一決定主鍵碼,不允許部分依賴 3 第三正規化 不允許傳遞依賴。1nf,第一正...

MySql 三正規化

目錄 1.第一正規化 1nf 每一列保持原子特徵 2 第二正規化 2nf 解決方案 只要不存在復合主鍵 3 第三正規化 3nf 解決方案 實體單獨建表 正規化總結 1nf 確保每列保持原子性2nf 確保表中的每列都和主鍵相關3nf 確保每列都和主鍵列直接相關,而不是間接相關 列是基本資料項,不能在進...

MySQL三正規化與反三正規化

目錄反三正規化 對於三正規化和反三正規化的選擇 參考cs notes 資料庫 資料庫系統原理.html 正規化 屬性不可再分 即表中的字段不能再拆分 例 乙個name屬性可以分為firstname屬性和lastname屬性,則不符合第一正規化。表中有鍵碼,非主屬性完全依賴鍵碼 即表中的非主屬性完全依...