當我創建一個視圖時,我可以將它基於來自不同表格的多個列。 當我想創建一個查找表時,我需要來自一個表的信息,例如訂單表的外鍵,以從另一個表中獲取客戶詳細信息。我可以創建一個具有參數的視圖,以確保它能夠獲取我需要的所有數據。我也可以 - 從我一直在讀的東西 - 做一個查詢表。這種情況有什麼區別,我應該什麼時候選擇查找表?我希望這不是一個壞問題,我還沒有進入數據庫的階段)。數據庫視圖和查找之間的區別
回答
我認爲您對「查找表」的使用有些偏差。按照正常的說法,查找表是代碼或參考數據表。它可能由一個代碼和一個描述或代碼擴展組成。這些表的目的是爲受限的列提供一個允許值,例如CUSTOMER_TYPE或PRIORITY_CODE。這類表格通常被稱爲「常設數據」,因爲它根本不會改變。在查找表中定義這些數據的價值在於它們可以在外鍵中使用並填充下拉列表和值列表。
你所描述的是一個稍微不同的情景:
我需要從一個表信息, 例如爲了 表的外鍵,從 得到客戶的詳細信息,另一臺
這兩個表都是應用程序數據表。客戶和訂單記錄是動態的。現在,從Customer表中檢索附加數據以顯示Order數據顯然是有效的,從這個意義上說,Customer是一個「查找表」。更具針對性的是Order的父級表,因爲它具有由Order上的外鍵引用的主鍵。
通過一切手段建立一個視圖來捕獲Order和Customer之間的連接邏輯。在構建在多個地方使用相同連接表的應用程序時,這些視圖可能非常有用。
創建視圖爲您提供數據的「實時」表示,就像在查詢時一樣。這是以服務器負載較高爲代價的,因爲它必須確定每個查詢的值。 這可能很昂貴,具體取決於表大小,數據庫實現和視圖定義的複雜性。
另一方面,查找表通常是「手動」填充的,即不是每個針對它的查詢都會導致昂貴的操作從多個表中獲取值。相反,如果基礎數據發生變化,程序必須處理更新查找表。
通常,查找表適合那些很少變化但經常讀取的東西。另一方面觀點 - 雖然執行成本更高)更爲現實。
閱讀本教程,並需要一個查找表時,你可能會發現有用的信息:
這裏有一個查找表的一個例子。我們有跟蹤陪審員的系統,其中一個表是JurorStatus。此表包含了所有陪審員的有效StatusCodes:
代碼:價值
WS:將服務
PP:推遲
EM:請問軍事
IF:不符合條件的罪犯
這是一個查找表有效的代碼。
視圖就像查詢。
只要學會編寫sql查詢以獲得您需要的東西。無需創建視圖!在許多情況下,視圖並不好用,尤其是當你開始將它們放在其他視圖上時,它們會導致性能下降。請勿將視圖用作查詢寫入的簡寫。
- 1. 查找和索引之間的區別
- 2. 視圖和tableViewControllers之間的UIBarButton區別?
- 3. 「數據庫還原」和「數據庫部署」之間的區別?
- 4. 壓縮數據庫和SQL Server數據庫之間的區別
- 5. 圖表和Facebook中的MYSQL數據庫之間的區別?
- 6. 圖形數據庫之間的區別:Neo4j和AllegroGraph
- 7. 數據庫術語之間的區別
- 8. C庫查找兩個數組之間的區別
- 9. 知識庫和數據庫之間的區別
- 10. 圖與超圖數據庫之間的區別?
- 11. 如何找到兩個數據庫之間的區別?
- 12. 查找與關係之間的區別
- 13. 子視圖和容器視圖之間的IOS區別
- 14. 視圖和子視圖之間的區別 - Android
- 15. Redis(鍵/值數據庫)和關聯數組之間的區別?
- 16. 視圖體積/視錐體和視口之間的區別?
- 17. DFD(數據流圖)和類圖之間的區別?
- 18. 數據庫名稱和數據庫中'名稱'參數之間的區別
- 19. 文件中和數據庫中的會話之間的區別
- 20. 數據庫中的竊取和強制之間的區別
- 21. Drupal視圖:過濾器和參數之間的區別?
- 22. 內聯函數和視圖之間的區別
- 23. 監視器和鎖之間的區別?
- 24. 圖層和圖案之間的區別
- 25. 容器和數據庫之間的區別?
- 26. SQL臨時數據庫,臨時表和表之間的區別
- 27. Mongodb - 運行「mongo」和「mongod」數據庫之間的區別
- 28. 爲數據庫水平和垂直縮放之間的區別
- 29. Oracle客戶端和Oracle數據庫之間的確切區別
- 30. 雲服務器和數據庫之間的區別
那麼在查找表中,您不會找到實時數據表示? 這張表是如何手動填充的?你的意思是說你每天都會運行一些存儲過程來更新你的查找表,使它保持最新狀態? – Younes 2010-03-10 14:20:21
@Younes - 根據您的查看與查詢表的問題,是的,查找表不會包含「實時」數據(必然),您需要以某種方式維護表數據(按照定期計劃或作爲源信息變化)。無論如何,視圖是一個動態查找表。 – 2010-03-10 15:10:31