我目前在系統分析類,我想更好地理解使用規範化。對於3NF,如果我在包含學生ID,姓名,電話號碼和專業的表上工作。我只能使用學生證和專業證書,因爲學生姓名和電話號碼都可以通過ID找到。我理解這個權利嗎?瞭解3NF
Q
瞭解3NF
1
A
回答
5
讓我們從這個開始。 。 。
student_id name phone major
--
1 Darcy Sailer 000-111-2345 Mathematics
2 Lonnie Seman 000-111-3456 Fine Art
3 Mathew Bradburn 000-112-9086 Education
4 Edwina Loflin 000-111-2345 Psychology
5 Clinton Rosebrook 000-111-1000 Chemistry
6 Lonnie Seman 000-113-2975 Chemistry
唯一的候選鍵是student_id。這意味着名稱不是唯一的,手機不是唯一的,專業不是唯一的。
爲了使表格在3NF中,它必須滿足這些要求。
- 它在2NF。
- 每個非素數屬性都直接依賴於每個候選鍵 。 (無傳遞依賴)
此表格在2NF。 (證明留給讀者。)有三個非素數屬性;所有都直接依賴唯一的候選鍵。這意味着,
- 名稱沒有確定手機,
- 名稱沒有確定專業,
- 手機沒有確定專業,
- 手機沒有確定名稱,
- 大不確定名稱,並且
- 主要不確定電話。
所以它在3NF。
在標識兩列之間的依賴關係時,您試圖回答以下問題:「給定第一列的一個值時,是否總是爲第二列找到一個且只有一個值?例如,要確定「name」和「major」之間是否存在依賴關係,可以問「給定'name'的一個值,我是否總是找到'major'的唯一一個值? 「答案是「否」。鑑於'朗尼塞曼'的名字,你會發現兩個專業 - 美術和化學。
這並不重要,在現實世界中,一個人可以有多個電話號碼和多個專業。選擇每個人只記錄一個電話號碼還是每個人只有一個主要電話號碼是數據庫設計的重要組成部分,但它與規範化無關。
這並不重要,在現實世界中,你很少從具有代表性的樣本數據開始。數據庫設計人員應該知道的東西,如
- 兩個人可以有相同的名稱。
- 兩個人可以有相同的電話號碼。
- 兩個人可以有相同的專業。
- 一個人可以有兩個或更多的電話號碼。
- 一個人可以有兩個專業。
相關問題
- 1. 3NF - 我做對了嗎?
- 2. 將關係分解爲3NF?
- 3. 試圖瞭解數據庫規範化 - 3NF
- 4. 如何將模式分解爲3NF?
- 5. 正常化3NF
- 6. 正常化3NF
- 7. Normalize to 3NF
- 8. 3NF VS BCNF:例
- 9. 轉換爲3NF
- 10. 3NF表的驗證
- 11. 歸一化爲3NF?
- 12. 規範化 - SQL - 3NF
- 13. 如何檢查3NF?
- 14. 3NF中的關係?
- 15. 3NF數據庫表
- 16. 規範化和3NF
- 17. BCNF和3NF財產
- 18. sql 3NF標準化
- 19. 規範化3NF和BCNF
- 20. 實現SQL 3NF規範化
- 21. 3NF合成減少算法
- 22. 2NF和3NF的關係
- 23. 3NF以上的規範化
- 24. 是1NF,2NF還是3NF?
- 25. 2NF和3NF標準化
- 26. 標準化 - 2NF與3NF
- 27. DB規範化2NF&3NF
- 28. 是我的表在3NF
- 29. 將關係分解爲3NF,如何區分關係?
- 30. 瞭解
Waht你的意思是'使用'?也可以僅使用學生ID找到專業。 – idstam
爲什麼學生證不能找到Major? – Jan
我在想,因爲有不同的專業,但一個學生擁有一個ID – Thomas