比方說,我有一個表有report_type
列,我只有2種報告類型。用它們創建一個report_types
表是否值得它,然後用一個外鍵引用它到這個表中?或者是否可以將報告類型作爲字符串存儲在該列中?我應該如何嚴格地創建一個單獨的關聯表?
0
A
回答
1
需要考慮的事情:
- ,你可能會在將來添加新的報告類型?
- 您是否可能擁有其他也引用報告類型的表格(例如用於統計信息收集或審計)?
- 是否可能在其他上下文中使用這些值(例如GUI下拉小部件)?
- 您是否需要將附加數據(例如長描述)與報告類型關聯?
我知道這似乎有點像矯枉過正現在建立一個表,只保存兩行。坦率地說,如果你決定堅持使用列和檢查約束,Yagni的衆神會支持你。但是,如果您已經有一堆代碼查找表來執行受限制的值集合,那麼在一致性中也有價值。
0
這是如果你曾經計劃擴大的道路。我認爲真正的問題是,是否不值得製作額外的桌子?
2
只要有可能,您應該始終計劃規範化您的數據庫並抽象出您的代碼。然而,你做的越多,你就會在系統中獲得更多的「間接」。更好的問題是,在將表格的工作量與重新設計代碼的成本相比較時,會產生多少開銷。
在這種情況下,我幾乎可以肯定地說,值得您花時間規範化數據庫。
0
我通常會建議標準化您的數據,但這似乎是一個足夠簡單的情況,您可能不會從中看到太多好處。正如你所說,你只是使用該字段進行過濾,因此只需要使用數據本身中存在的值。
如果您希望用戶看到某個特定報告類型的記錄爲零,那麼您需要使用關聯的表。
0
相關問題
- 1. 我應該爲每個類別創建單獨的表嗎?
- 2. 我應該爲此創建一個單獨的類嗎?
- 3. 如何創建一個與此代碼關聯的html表格
- 4. 我應該如何創建獨特的賬單/賬號?
- 5. 我應該爲密碼和用戶名創建一個單獨的表嗎?
- 6. 我應該在什麼時候創建一個單獨的表(mysql)?
- 7. 我是否需要爲has_many:through關聯創建一個關聯表?
- 8. 我應該創建一個新表嗎?
- 9. 我應該創建另一個表嗎?
- 10. 我應該爲每個WPF窗口創建單獨的Bootstrapper嗎?
- 11. 爲單獨的一組用戶創建單獨的表格
- 12. 我該如何創建一個這樣的表單?
- 13. 我應該如何在HTML表單中創建一個列表框?
- 14. 我該如何爲HTML表單創建一個JavaScript對象
- 15. 第一個字符應該是嚴格的字母表
- 16. 設計表格創建belongs_to的關聯
- 17. 如何創建獨特的html表格?
- 18. 創建一個php聯繫表格
- 19. 如何爲我的tableviewcell圖像單獨創建一個動畫?
- 20. 我應該創建單獨的SQL Server數據庫嗎?
- 21. Rails的:如何創建一個表單來創建一個新的has_many關係
- 22. 我應該如何建模類之間的關聯
- 23. 我應該如何創建我的GUID?
- 24. sails.js創建爲單向關聯的一對一關聯
- 25. QT創建我的表單對象,如何訪問該表單?
- 26. 我應該將ACL表插入我的數據庫還是創建一個單獨的數據庫?
- 27. 創建與Rails的獨特關聯
- 28. 爲了表格的緣故,我應該創建一個非索引表嗎?
- 29. 我可以爲IE創建一個單獨的樣式表嗎?
- 30. 我應該創建一個視圖還是另一個表?
什麼是你的價值做領域後檢索它? – 2010-08-04 01:36:43
@Joe:沒什麼,它只是用於過濾目的。 – ryeguy 2010-08-04 01:38:58