* 資訊重複
* 更新異常
* 插入異常(無法正常顯示資訊)
* 刪除異常 (丟失有效的資訊)
舉例說明:
在上面表中 家庭資訊和學歷資訊不滿足原子性要求,不滿足第一正規化,進行調整如下
舉例說明:
在上述表中,同乙個訂單號可以包括不同產品號,因此主鍵必須是「訂單號」、「產品號」聯合組成。
但可以發現 產品號、產品數量、產品**與「訂單號」、「產品號」都相關,但是訂單金額 訂單時間、訂單人僅與訂單號相關,與「產品號」無關
因此不滿足第二正規化要求進行調整如下分成兩張表:
舉例說明:
上表所有屬性完全依賴於學號,滿足第二正規化,但是「班主任性別」、「班主任年齡」直接依賴於「班主任姓名」,並非主鍵「學號」
進行調整如下:
調整之後滿足第三正規化
資料庫三大正規化總結:(規範資料庫設計)
規範性 和效能問題
關聯表不得超過三張表
1、考慮商業化需求和目標,(成本、使用者體驗)資料庫與效能更加重要
2、在規範效能得問題的時候,需要適當考慮 規範性
3、故意給某些表增加一些冗餘長欄位。(從多表查變為單錶差查)
4、故意增加一些計算列(從大資料降低為小資料,索引:)
資料庫設計三正規化的舉例說明
前言 資料庫課本上都把正規化寫到五正規化了,但是實際應用中,滿足三正規化已經足夠了,五正規化太多餘了。三種正規化是條件遞增的聯絡 即後乙個正規化是在前乙個條件滿足的情況下引入新的條件 例如 正規化滿足條件 一正規化 1nf 條件a二正規化 2nf 條件a,條件b 三正規化 3nf 條件a,條件b,條...
資料庫連線 舉例說明
表1 tb1結構及值 num name 1 name1 2 name2 2 name3 4 name4 表2 tb2結構及值 num name 1 name1 2 name2 3 name3 執行左連線 select from tb1 left join tb2 on tb1.num tb2.num...
Mysql 資料庫 三大正規化 詳細介紹
第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 進過研究和對使用問題的總結,對設計資料庫提出一些規範,這些規範被稱為正規化 第一正規化1nf 強調列的原子性,即資料表內的屬性是不可再劃分的。第二正規化2nf 在第一正規化基礎下,資料表必須含有乙個主鍵,其他資料列必須完全依賴於主鍵 第三正...