第四範式的定義
設關係R(X,Y,Z),其中X,Y,Z是成對的、不相交屬性的集合。若存在非平凡多值依賴,則意味著對R中的每個屬性存在有函式依賴(X必包含鍵)。那么。
換句話說,當關係R的屬性集合X是非平凡多值依賴的域,它就包含關係R的鍵。則。這個定義和BCNF定義唯一的不同點是後者研究非平凡多值依賴的域。由於函式依賴是多值依賴的特定情況,因此,這直觀地說明了4NF比BCNF更強的原因。
顯然,若關係屬於4NF,則它必屬於BCNF;而屬於BCNF的關係不一定屬於4NF。
規範化小結
在關係資料庫中,對關係的最基本要求的滿足第一範式。這樣的關係模式是合法的,允許的。但人們發現有些關係模式存在插入、刪除、修改異常、數據冗餘等弊病,人們尋求解決這些問題的方法,這就是規範化的目的。
規範化的基本思想是逐步消除數據依賴中不合適的部分,使關係資料庫模式的各關係模式達到某種程度的“分離”,即“一事一地”的模式設計原則。
讓一個關係只描述一個實體或者實體間的一種聯繫。若多於一個實體(包括概念、聯繫),就把它“分離”出來。因此,所謂規範化,實質上是概念的單一化,即一個關係表示一個實體。
人們認識這個原則是經歷了一個過程的。是認識非主屬性的部分函式依賴的危害開始,2NF,3NF,BCNF,4NF的提出是這個認識過程逐步深化的標誌。規範化的過程可概括如下:
(1)取原始的1NF關係投影,消去非主屬性對鍵的部門函式依賴,從而產生一組2NF關係。
(2)取2NF關係的投影,消去非主屬性對鍵的傳遞函式依賴,產生一組3NF關係。
(3)取這些3NF的投影,消去決定因素不是鍵的函式依賴。產生一組BCNF關係。
(4)取這些BCNF關係的投影,消去其中不是函式依賴的非平多值依賴,產生一組4NF關係。
規範化過程,是通過投影分解運算,把低一級範式的關係模式“分離”為若干個高一級範式的關係模式。但這種投影分解不是唯一的,要求分解“既保持函式依賴”,又具有“無損連線性”。