關於MySQL的正規化

2021-10-03 19:28:51 字數 1294 閱讀 7440

1、什麼是正規化?

正規化就是在設計資料庫表的時候,可以遵循的規範。正規化分為:第一正規化、第二正規化、第三正規化、其他更高階的正規化。

2、第一正規化(1nf)

是指在關係模式資料中,要求所有的字段都應該具有原子性,不可再分。如下圖所示:

每個學生的相關資訊都不能再拆分。但是當修改張三到mysqlo2的時候,因為有兩個張三,不知道具體該是那個張三。

缺點:不能唯一的標識某一條記錄

3、第二正規化(2nf)

第二正規化要求資料庫表中的每乙個例項或記錄必須可以被唯一的區分,簡而言之就是給表乙個主鍵字段。

第二正規化是為了解決第一正規化的缺點應運而生的。即滿足第二正規化必須先滿足第一正規化。

缺點:對重複儲存資料不做約束(即班級、班主任)

4、第三正規化(3nf)

第三正規化要求乙個表中不能有關聯屬性資訊,資料與資料的關聯性通過主外來鍵相聯絡。

第三正規化是第二正規化的乙個子集。即滿足第三正規化必須先滿足第二正規化。

如下圖:以下學生都在同乙個班級裡,都是同乙個班主任。

如下圖:通過外來鍵將學生資訊和班級資訊聯絡在一起。(外來鍵的值:是另乙個表的主鍵

練習題:

1、下面建立學生表student的sql語句,正確的是? 

2、下面的語句不能用來約束表字段的是?

習題答案:1 a   2 c

1、解析:

建立學生表的語句為 create table student(欄位1  資料型別,欄位2  資料型別,…)

定義欄位名、資料型別:

id int primary key auto_increment(定義id為主鍵,資料型別為int,auto_increment用於主鍵自動增長)

name varchar(10) (定義name,資料型別varchar(10),unique表示name欄位不能有重複值,unsigned就是數字型別無符號化)

mysql的正規化 Mysql正規化與反正規化的利弊

mysql正規化與反正規化的利弊 一 三大正規化 第一正規化 1nf是對屬性的原子性,要求屬性具有原子性,不可再分解 第一正規化是最基本的正規化。如果資料庫表中的所有字段值都是不可分解的原子值,就說明該資料庫表滿足了第一正規化。資料庫表的每一列都是不可分割的原子資料項,而不能是集合,陣列,記錄等非原...

mysql的正規化 Mysql中的正規化

目錄 正規化定義 第一正規化 第二正規化 第三正規化 反正規化正規化定義 正規化 normal format,是一種離散數學中的知識,是為了解決資料的儲存與優化的問題 儲存資料的儲存之後,凡是能夠通過關係尋找出來的資料,堅決不再重複儲存,終極目標是為了減少資料的冗餘。正規化背景 1 是為了解決資料冗...

mysql 反正規化 mysql 正規化和反正規化

第一正規化 1nf 強調的是列的原子性,即列不能夠再分成其他幾列。第二正規化 2nf 首先是 2nf,另外包含兩部分內容一是表必須有乙個主鍵 二是沒有包含在主鍵中的列必須完全依賴於主鍵,而不能只依賴於主鍵的一部分。第三正規化 3nf 首先是 2nf,另外非主鍵列必須直接依賴於主鍵,不能存在傳遞依賴。...