數據庫中1NF,2NF,3NF的判別


參照:https://blog.csdn.net/qq_28888837/article/details/98733448

1NF:每一個都是最原子化。

 

 2NF:找到主鍵后,每一個非主鍵對主鍵都是完全依賴。

“想要看是否為2NF,首先要找表的主鍵,之后看所有的非主鍵要對關鍵碼是完全依賴,也就是不存在部分依賴,如果有部分依賴則不滿足2NF,否則滿足2NF,比如一個關系的關鍵碼為(x,y),非主屬性為z首先因為(x,y)是關鍵碼,所以一定能得到z,如果存在x->z或者y->z則說明z是部分依賴,則不滿足2NF,否則滿足2NF。”

3NF:滿足2NF下,非主鍵沒有依賴關系。

“要想達到3NF,首先要判斷是否為2NF,然后看里面是否有傳遞依賴,其實就是看其他的非主鍵之間有沒有依賴,如果有主鍵x,還有非主鍵y z w,如果有其他的非主鍵之間的依賴比如y->z 則不滿足3NF,因為有主鍵肯定能推出非主鍵即,x->y,而又有y-z,所以存在傳遞依賴,則不滿足3NF,否則滿足3NF”

BC范式:滿足3NF下,每個主鍵里的元素,對於不包含這個元素的主鍵都是完全依賴。

“首先滿足3NF,然后主要是看主鍵了,所有的主鍵對於每一個不包含他的其他主鍵也要是完全依賴,比如主鍵(x,y,z),那么z對(x,y)要是完全依賴。”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM