回答
如果MovieName
是關鍵,並且唯一依賴性(不是隻有行列式!)是:
MovieName → Genre
那麼關係是在第一,第二和Thir d正常形式,以及Boyce-Codd正常形式,以及更高級形式(例如第四範式)。
這是因爲在(唯一)依賴關係中,行列式(MovieName
)是關鍵,因此所有正常形式的定義都受到尊重。
你並不是真正的意思是「這種關係的標準化程度是多少」。關係變量或值可以一次以很多正常形式出現。當它在一個,它在所有較低的,它可能在更高的。所以大概你的意思是「這個關係必須處於最高水平的標準化」。
MovieName->類型不是行列式。它是一個FD(功能依賴)。它的決定因素是{MovieName}。這是CK(候選鍵)的唯一決定因素。的非平凡的FD是
{的movieName} - > {流派}
{的movieName} - > {的movieName,流派}
由於非平凡FD的每一個決定因素是一個超密鑰,這是BCNF。由於它在BCNF中,因此它是每個較低的正常形式。
有兩個定理的日期&費金與此有關:
- 如果關係是3NF(或BCNF)和每一個CK很簡單,那就是在5NF
- 如果關係是BCNF和一些CK很簡單,那麼它是在4NF
由於你的關係是在BCNF它是3NF,因爲每個CK是簡單的它在5NF。
PS如果我們不知道這些定理會怎麼樣?
如果這個值/變量的唯一限制是你給出的值,那麼它就是5NF。因爲根據定義,當它不滿足任何JD(聯合依賴)時,它就在5NF中,而不是那些由它具有該組候選鍵所隱含的JD。
但是,如果我們所知道的值/變量是您給出的,那麼我們如何表明它仍然必須在5NF?
如果JD * {{MovieName},{Genre}}也被佔用,那麼它將不在4NF(或更高)。也就是說,如果它也等於其在{MovieName} & {體裁}上的預測加入。在連接/原始中,每個輸入的MovieName值將以每個流派值的元組存在。 CK表示每個MovieName只有一個這樣的對。所以在輸入中只有一個體裁值。然後FK {} - > {體裁}將會成立。 BCNF意味着2NF,即對CK沒有部分依賴關係,所以FK {} - > {Genre}不成立。所以我們有一個矛盾。所以JD不成立。所以這個關係是在4NF中,因爲沒有其他不重要的二進制JD可能會違反4NF。它也在5NF,因爲沒有超過兩個元素可以容納的JD。
[mcve] afadafasdfd – philipxy
- 1. UML:這種關係是什麼意思?
- 2. 規範化和關係
- 3. 什麼是規範化的CSS?
- 4. 什麼是「系統使用規範」?
- 5. 多維空間的規範化,這是什麼算法?
- 6. 做這種初始化的常規方法是什麼?
- 7. MySQL - 文件系統規範化還是非規範化?
- 8. 關係數據庫規範化問題
- 9. 規範化傳遞依賴關係
- 10. 規範化一對一布爾關係
- 11. 非規範化關係數據lucene/solr
- 12. 什麼是建立這種關係的有效方式?
- 13. Sonatype的關係 - 這是什麼發表平均
- 14. 這是關於正式的規範
- 15. Java規範 - 什麼是「有效」優化的規則
- 16. 什麼是水平精度
- 17. R是什麼水平?
- 18. 這是什麼樣的關係?
- 19. 這種關係中的主要關鍵和候選關鍵是什麼?
- 20. 什麼是fileid規範?
- 21. 什麼是「規範路徑」?
- 22. 什麼是規範msFullscreenEnabled
- 23. 什麼是'規範表'?
- 24. 關係數據庫設計 - 規範化和關係
- 25. 是第三範式的這種關係嗎?
- 26. 這是一個規範化錯誤?
- 27. 這是一個非規範化表嗎?
- 28. 種類水平的圓括號是什麼意思?
- 29. 規範化與第三範式的關係
- 30. 關於XML的規範性和非規範性意思是什麼
「因爲」只保證BCNF。 – philipxy