資料庫(第一正規化 第二正規化 第三正規化)

2021-10-02 01:35:42 字數 1764 閱讀 1864

1nf是對屬性的原子性,要求屬性具有原子性,不可再分解;

表:欄位1、 欄位2(欄位2.1、欄位2.2)、欄位3 ......
如學生(學號,姓名,性別,出生年月日),如果認為最後一列還可以再分成(出生年,出生月,出生日),它就不是一正規化了,否則就是;

2nf是對記錄的惟一性,要求記錄有惟一標識,即實體的惟一性,即不存在部分依賴;

表:學號、課程號、姓名、學分;
這個表明顯說明了兩個事務:學生資訊, 課程資訊;由於非主鍵字段必須依賴主鍵,這裡學分依賴課程號姓名依賴與學號,所以不符合二正規化。

可能會存在問題:

正確做法:

學生:student(學號, 姓名);

課程:course(課程號, 學分);

選課關係:studentcourse(學號, 課程號, 成績)。

3nf是對字段的冗餘性,要求任何字段不能由其他字段派生出來,它要求字段沒有冗餘,即不存在傳遞依賴;

表: 學號, 姓名, 年齡, 學院名稱, 學院**
因為存在依賴傳遞: (學號) → (學生)→(所在學院) → (學院**) 。

可能會存在問題:

正確做法:

學生:(學號, 姓名, 年齡, 所在學院);

學院:(學院, **)。

一般說來,資料庫只需滿足第三正規化(3nf)就行了。

沒有冗餘的資料庫設計可以做到。但是,沒有冗餘的資料庫未必是最好的資料庫,有時為了提高執行效率,就必須降低正規化標準,適當保留冗餘資料。具體做法是:在概念資料模型設計時遵守第三正規化,降低正規化標準的工作放到物理資料模型設計時考慮。降低正規化就是增加字段,允許冗餘,達到以空間換時間的目的

〖例〗:有一張存放商品的基本表,如表1所示。「金額」這個欄位的存在,表明該錶的設計不滿足第三正規化,因為「金額」可以由「單價」乘以「數量」得到,說明「金額」是冗餘字段。但是,增加「金額」這個冗餘字段,可以提高查詢統計的速度,這就是以空間換時間的作法。

rose 2002中,規定列有兩種型別:資料列計算列。「金額」這樣的列被稱為「計算列」,而「單價」和「數量」這樣的列被稱為「資料列」。

優點:

缺點:

優點:

缺點:

1、通俗地理解資料庫三個正規化

2、資料庫模型設計,第一正規化、第二正規化、第三正規化簡單例子理解

3、資料庫三大正規化最簡單的解釋

資料庫(第一正規化,第二正規化,第三正規化)

正規化 英文名稱是 normal form,它是英國人 e.f.codd 關聯式資料庫的老祖宗 在上個世紀70年代提出關聯式資料庫模型後總結出來的,正規化是關聯式資料庫理論的基礎,也是我們在設計資料庫結構過程中所要遵循的規則和指導方法。目前有跡可尋的共有8種正規化,依次是 1nf,2nf,3nf,b...

資料庫(第一正規化,第二正規化,第三正規化)

正規化 英文名稱是 normal form,它是英國人 e.f.codd 關聯式資料庫的老祖宗 在上個世紀70年代提出關聯式資料庫模型後總結出來的,正規化是關聯式資料庫理論的基礎,也是我們在設計資料庫結構過程中所要遵循的規則和指導方法。目前有跡可尋的共有8種正規化,依次是 1nf,2nf,3nf,b...

資料庫(第一正規化,第二正規化,第三正規化)

正規化 英文名稱是 normal form,它是英國人 e.f.codd 關聯式資料庫的老祖宗 在上個世紀70年代提出關聯式資料庫模型後總結出來的,正規化是關聯式資料庫理論的基礎,也是我們在設計資料庫結構過程中所要遵循的規則和指導方法。目前有跡可尋的共有8種正規化,依次是 1nf,2nf,3nf,b...