mysql 07資料庫三正規化 個人筆記

2021-10-14 15:43:53 字數 721 閱讀 5596

使用者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很好辨...