數據庫範式小結 1NF 2NF BCNF 3NF 4NF DB normal form
阿新 • • 發佈:2017-06-16
key rtm net 能夠 candidate iss nbsp name ast
1. 1NF指關系中的每個變量不可再分
2. 2NF指消除了非主屬性對碼(candidate key)的部分依賴的1NF
比如(S#,C#)-> SN ,(S#,C#)-> SD 。S#->SD那麽SD部分依賴與候選鍵,不是2NF,僅僅能是1NF;分解為SC(S#, C#, G)和S_SD(S#,SN,SD,DEAN)就是2NF
3. BCNF指消除了主屬性對碼(candidate key)的部分依賴的2NF
比如 (S#,C#)->T#, T#->C#不是BCNF。由於candidate 是 (S#,T#),(S#,C#),主屬性C#部分依賴於(S#,T#),所以不是BCNF。能夠分解為:
(S#,T#),(T#,C#)兩張表
4. 3NF指消除了傳遞依賴的BCNF
比如 S#->SD, SD->DEAN不是3NF,由於DEAN傳遞依賴於S#,能夠分解為STUDENT(S#,SN,SD)和DEPT(SD,DEAN)
4. 4NF指消除了多值依賴的3NF
比如:
他的原來的主鍵為(C#,T#,B#),分解為(C#,T#)和(C#,B#)
Comments: SN = Student Name, SD = Student Department, T# = the # of teacher
數據庫範式小結 1NF 2NF BCNF 3NF 4NF DB normal form