所以我對SQL和數據庫一般都很陌生(只爲最小的站點設計了一個非常簡單的),並且我正在嘗試設計一個爲數據庫驅動的網站設計一些模型的最佳方法。舉個例子,用戶上傳了一個圖庫。我有一個畫廊表,上面有日期上傳,名字等明智的列,畫廊可以屬於一個類別,其中不會有那麼多(最多6個)。我應該將該類別作爲圖庫表格的一列嗎?或者爲類別設置單獨的表格,並在類別和圖庫表格之間建立多對一的關係?我想按照我的觀點來做事情,比如按照上傳日期排列某個類別中的所有畫廊,這些內容之間是否存在性能/便利差異?把這個類別作爲Gallery表格的一個列似乎比我更容易處理,但我不確定最佳做法是什麼。謝謝。SQL數據庫 - 何時使用單獨的表與現有的一列?
3
A
回答
1
首先,您需要了解概念上的差異。
作爲一個經驗法則,你是安全的考慮以下等價:
表~~~實體
列~~~屬性
所以,當你需要添加新的數據塊,相對於實體(現有表),你可以問自己的問題是:
這條數據是屬性的實體嗎?
如果答案是肯定的,那麼你需要一個新的專欄。
舉例來說,假設你有一個描述學生實體的表:
Table Student:
[PK] Id
[FK] IdClass
Name
Surname
說你也想加入每個學生的GPA。這顯然是學生的一個屬性,所以你可以在Student表中添加GPA列。
如果您希望爲每個學生定義部門,您將看到部門不是學生的一個屬性。該部門是一個實體,它存在並具有自己的屬性外部該學生的範圍。
因此,學生的屬性是隸屬於某個部門,而不是部門本身。
因此,您將創建一個新的部門表,並在Students表中使用Department.Id
作爲FK。
我希望這會有所幫助。乾杯。
1
如有疑問請使用單獨的表格。
它對速度沒有如此大的影響,你會獲得更多的控制權。
1
如果您在類別和畫廊之間有一對多的關係,那麼您希望類別爲單獨的表格。
相關問題
- 1. 何時使用列和何時使用單獨的表? - 數據庫設計
- 2. sql - 從一列到另一列的值(單獨的數據庫)
- 3. SQL Server歸檔選項 - 單獨的表與單獨的數據庫vs其他
- 4. SQL單獨一列的數
- 5. 單獨生產數據庫與單一生產數據庫中的鏈接表
- 6. MS SQL Server數據庫中的可空列與單獨的表 - 哪個更好?
- 7. 使用Access數據庫表填充現有的SQL Server數據庫表
- 8. 使用獨立數據庫的SQL Server
- 9. 單獨數據庫中的用戶表
- 10. SQL數據庫與表中的列
- 11. 如何使用Squirrel SQL列出數據庫中的所有表?
- 12. 何時爲兩種略有不同的信息使用單獨的SQL數據庫表?
- 13. 爲delayed_job使用單獨的數據庫
- 14. 數據庫,單獨的表或列用於額外的字段?
- 15. 數據庫設計何時適合使用單獨的模式?
- 16. 何時使用單獨的CouchDB數據庫?
- 17. 如何鏈接一個html表單與sql數據庫表?
- 18. 表單列表框和SQL數據庫
- 19. SQL:從一列在數據庫的表
- 20. 如何使一個現有的SQL Server數據庫兼容Unicode
- 21. 列表的SQL數據庫
- 22. MySQL表組或單獨的數據庫?
- 23. 使用python跨越單獨的數據庫的MySQL MERGE表格
- 24. 使用實體框架與兩個單獨的數據庫
- 25. 如何在SQL一個單獨的列
- 26. C#提交表單與sql數據庫
- 27. 現有數據的訂單下拉列表SQL
- 28. 需要一個單獨的數據庫
- 29. Javers在一個單獨的數據庫?
- 30. 添加表到現有數據庫,SQL