我目前正在使用數據庫正常化,並且我發現很多來源在獲取1NF的方法上有所不同。正常化從UNF到1NF
例如,這是我的UNF表:
customer
+----+--------+----------------------+
| id | name | phone |
+----+--------+----------------------+
| 1 | achmed | 06-101010, 06-111111 |
+----+--------+----------------------+
| 2 | jozef | 06-232323 |
+----+--------+----------------------+
| 3 | maria | 06-464646, 06-989898 |
+----+--------+----------------------+
一種方法分割所述多值轉換成不同的元組,其產生冗餘臨時:
customer
+----+--------+-----------+
| id | name | phone |
+----+--------+-----------+
| 1 | achmed | 06-101010 |
+----+--------+-----------+
| 1 | achmed | 06-111111 |
+----+--------+-----------+
| 2 | jozef | 06-232323 |
+----+--------+-----------+
| 3 | maria | 06-464646 |
+----+--------+-----------+
| 3 | maria | 06-989898 |
+----+--------+-----------+
另一種方法分割所述多值直接進入新的關係,看起來像這樣:
customer
+----+--------+
| id | name |
+----+--------+
| 1 | achmed |
+----+--------+
| 2 | jozef |
+----+--------+
| 3 | maria |
+----+--------+
customer_phone
+----+-----------+
| id | phone |
+----+-----------+
| 1 | 06-101010 |
+----+-----------+
| 1 | 06-111111 |
+----+-----------+
| 2 | 06-232323 |
+----+-----------+
| 3 | 06-464646 |
+----+-----------+
| 3 | 06-989898 |
+----+-----------+
兩者都會l在更高的正常形式之後最終變得相似,但是爲什麼1NF應該是「最佳實踐」?
[數據庫管理系統規範化]的可能重複(https://stackoverflow.com/questions/40623169/normalization-in-database-management-system) – philipxy
嗨。你的問題到底是什麼?你自己說過:沒有標準的「1NF」含義。沒有標準的「UNF」。無論你的「UNF」是什麼意思,都不涉及關係表,因爲關係表每列和每行都有一個值,所以你必須告訴我們你或你的課程/參考是否打算將這樣的數據結構對應於關係。此外,「1NF」的概念是混淆和模糊的,並且最終是關於良好的設計,但與歸一化到更高的NF有不同的冗餘。他們希望你在*你的課程中做什麼?它的參考文獻說什麼? – philipxy