3nf建立在2nf之上,它要求所有的非主鍵列都必需直接依賴於主鍵,不包括任何傳遞依賴(transitive dependency)。這裡的傳遞依賴指的是從a→b,b→c,所以可以從a→c。具體含意參見以下示例。
舉例來說明,比如有課程student表如下所示。
【student 表】
學生編號
學生姓名
戶口所在地
戶口所在省
1張小成
合肥安徽
2李百義
南京江蘇
3王右佐
保定河北
在這張表中通常學生編號
就能確定學生戶口所在地
,而通過戶口所在地
即可確定戶口所在省
。即學生編號
→戶口所在地
→戶口所在省
,所以學生編號
與戶口所在省
是傳遞依賴關係,戶口所在省
就是冗餘的。
【student 表】
學生編號
學生姓名
戶口所在地
1張小成合肥2
李百義南京
3王右佐
保定3nf是指乙個表中的列應該與主鍵或者這個表所表示的物件直接關聯,而不是間接關聯。這樣,才能夠將依賴降低至最小,從而便於資料的日常管理和維護。
[1] 三大正規化詳解,
[2]
[3]
資料庫 第三正規化(3NF)
第三正規化的表需要滿足以下條件 create table customers cust id int not null,cust name varchar 20 not null,dob date,street varchar 200 city varchar 100 state varchar 1...
資料庫三正規化3NF指什麼?
三正規化面試的時候問的比較多,概念需要了解下 資料庫設計三大正規化 為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。第一正規化 確保每列保持原子性 第...
mysql優化及資料庫三大正規化(3NF)
1 表結構的合理化設計,前提必須滿足3nf 2 新增適當的索引,索引大體分為四種 主鍵索引,唯一索引,全文索引,普通索引 3 分表技術 水平分割,垂直分割 4 讀寫分離 主寫從讀 5 儲存過程 模組化程式設計,可提高速度 6 mysql配置優化 配置最大併發數,調整快取大小 7 定時清理不需要的資料...