范式是符合某一種級別的關系模式的集合。關系數據庫中的關系必須滿足一定的要求。滿足不同程度要求的為不同范式。
范式的種類:
第一范式(1NF)
第二范式(2NF)
第三范式(3NF)
BC范式(BCNF)
第四范式(4NF)
第五范式(5NF)
一個低一級范式的關系模式,通過模式分解(schema decomposition)可以轉換為若干個高一級范式的關系模式的集合,這種過程就叫規范化(normalization)。
定義6.5 ?如果關系模式R的每一個關系r的屬性值都是不可分的原子值,那么稱R為第一范式。
定義6.6 ?若關系模式R∈1NF,并且每一個非主屬性都完全函數依賴于任何一個候選碼,則R∈2NF
[例6.4] ?S-L-C(Sno,Sdept,Sloc,Cno,Grade), Sloc為學生的住處,并且每個系的學生住在同一個地方。S-L-C的碼為(Sno,Cno)。
函數依賴有
(Sno,Cno)→Grade
Sno→Sdept, (Sno,Cno)→Sdept
Sno→Sloc, (Sno,Cno)→Sloc
Sdept→Sloc
非主屬性Sdept、Sloc并不完全依賴于碼
關系模式S-L-C不屬于2NF
定義6.7 ?設關系模式R<U,F>∈1NF,若R中不存在這樣的碼X、屬性組Y及非主屬性Z(Z ? Y), 使得X→Y,Y→Z成立,Y ? X不成立,則稱R<U,F> ∈ 3NF。即關系模式R滿足第一范式,并且每個非主屬性都不傳遞依賴于關系模式R的候選碼,那么R便稱為第三范式的模式。如果數據庫中每個關系模式都是3NF,則稱其為3NF的數據庫模式。