我只是想知道這樣一個簡單示例的最佳實現是什麼。表之間的多對多關係 - 如何在SQL中建模
如果我下面有2個表格,並且一個單位有多個升級是可變量,我正在考慮以CSV格式保存一個升級ID列表,然後我加載該單元並從列表中提取ID升級ID。
我只是覺得有可能有更好的方法來實現這個,因爲我已經工作了很長一段時間,我不確定這是最佳實踐還是我可能無法預見的任何問題。
表
單位 { ID,姓名,升級 }
升級 { ID,名稱,描述 }
我只是想知道這樣一個簡單示例的最佳實現是什麼。表之間的多對多關係 - 如何在SQL中建模
如果我下面有2個表格,並且一個單位有多個升級是可變量,我正在考慮以CSV格式保存一個升級ID列表,然後我加載該單元並從列表中提取ID升級ID。
我只是覺得有可能有更好的方法來實現這個,因爲我已經工作了很長一段時間,我不確定這是最佳實踐還是我可能無法預見的任何問題。
表
單位 { ID,姓名,升級 }
升級 { ID,名稱,描述 }
這聽起來像一個多一對多的關係:一個單位可以有許多升級,並可以在許多單位上設置升級。
您可以創建一箇中間表像UnitUpgrade:
Unit UnitUpgrade
Id --- UnitId Upgrade
Name UpgradeId --- Id
Name
Description
是的,多個單位也可以有相同的升級。我沒有想到一個很有意義的中間表,我在一段時間內沒有使用過SQL,所以不確定最好的方法,謝謝。 – Prisoner42
這就是所謂的正常化。第一種方法(逗號分隔值)違反1範式(列中只有原子數據) – lad2025
relationshsip是一對多還是多對多?基本上可以將一個升級與多個設備關聯嗎?對於一對多,你需要在升級表中使用外鍵。對於多對多,你需要一個單獨的表格,將單元和升級映射到對方。 – juharr
我聽說過關於這本書「數據庫設計僅僅是人類」的好消息。 –