使用者id 姓名 性別 年齡 **** 家庭住址 張三 男 18 tel:
13888888888 qq 123456 家庭住址:dfdsaf
第一正規化
使用者id 姓名 性別 年齡 手機 qq 省份 市區 縣 # 直到每個列不能繼續拆分為止
商品id 商品名稱 ** 商品詳情 重量 有效期 分類 分類描述 # 分類描述 並不依賴於主鍵 需要拆分
存在問題:
資料冗餘 : 每條記錄含有相同的資訊
刪除異常: 刪除分類描述 把商品也刪掉了
插入異常: 不知道分類 商品沒法儲存
更新異常: 更新分類資訊 所有的商品資訊都得更新
拆分以後:
商品id 商品名稱 ** 重量 商品詳情 有效期 分類id
# 乙個商品只屬於乙個分類的 情況 乙個分類裡邊有多個商品
分類id 分類名稱 分類描述
商品名稱 ** 商品詳情 重量 有效期 分類 分類描述 分類描述並不依賴於主鍵
分類id 分類名稱 分類描述
分類id 商品id21
31
在商品表上多加乙個字段 總價 總價等於單價乘以數量 好處是 一張表就可以得到結果 壞處是 冗餘
mysql三正規化 MySQL資料庫三正規化
設計關係型資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些不同的規範要求被稱為不同的正規化,各種正規化呈遞次規範,越高的正規化資料庫冗餘越小。目前關係型資料庫有六種正規化 第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 巴斯 科德正規化 bcnf 第四正規化 4nf 和第五正...
MySQL資料庫三正規化
設計關係型資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些不同的規範要求被稱為不同的正規化,各種正規化呈遞次規範,越高的正規化資料庫冗餘越小。目前關係型資料庫有六種正規化 第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 巴斯 科德正規化 bcnf 第四正規化 4nf 和第五正...
MySQL 資料庫三正規化
資料庫三正規化 1 第一正規化 1nf 定義 每一列都是不可分割的原子資料項 強調的是列的原子性 例 乙個表 聯絡人 姓名,性別,如果在實際場景中,乙個聯絡人有家庭 和公司 那麼這種表結構設計就沒有達到1nf。解決方案 要符合1nf我們只需把列 拆分,即 聯絡人 姓名,性別,家庭 公司 1nf很好辨...