mysql视图有哪几种_数据库报表的视图有几种?每种视图的功能是什么?
展開全部
1、關系視圖:Oracle視圖是作為數據庫對象存在的,因此,創建之后也可62616964757a686964616fe4b893e5b19e31333433623732以通過工具或數據字典來查看視圖的相關信息。
2、內嵌視圖:在from語句中的可以把表改成一個子查詢,內嵌視圖為子查詢的一種,可以與數據表、視圖一樣作為查詢語句的數據源存在,但在形式上有較大的區別,內嵌視圖不必使用create view命令進行創建,因此,在數據字典中也無法獲得相應信息。
內嵌視圖的特點在于無須創建真正的數據庫對象,而只是封裝查詢,因此會節約數據庫資源,同時不會增加維護成本。但是內嵌視圖不具有可復用性,因此當預期將在多處調用到同一查詢定義時,還是應該使用關系視圖。
3、對象視圖:對象類型在數據庫編程中有許多好處,但有時,應用程序已經開發完成。為了迎合對象類型而重建數據表是不現實的。對象視圖正是解決這一問題的優秀策略。
對象視圖創建之后,同樣可以在數據字典中獲得其相應信息。利用Oracle內置視圖user_views可以獲得對象視圖相關信息。Oracle中的對象數據實際仍然以關系數據的形式存儲。
但是,對象的特性,例如繼承、封裝等,都為開發人員提供了更加靈活的處理形式。同樣,可以構造復雜的對象類型來封裝復雜的多表查詢。
4、物化視圖:常用于數據庫的容災,不是傳統意義上虛擬視圖,是實體化視圖,和表一樣可以存儲數據、查詢數據。主備數據庫數據同步通過物化視圖實現,主備數據庫通過data link連接,在主備數據庫物化視圖進行數據復制。當主數據庫垮掉時,備數據庫接管,實現容災。
擴展資料
視圖可以使應用程序和數據庫表在一定程度上獨立。如果沒有視圖,應用一定是建立在表上的。有了視圖之后,程序可以建立在視圖之上,從而程序與數據庫表被視圖分割開來。視圖可以在以下幾個方面使程序與數據獨立:
1、如果應用建立在數據庫表上,當數據庫表發生變化時,可以在表上建立視圖,通過視圖屏蔽表的變化,從而應用程序可以不動。
2、如果應用建立在數據庫表上,當應用發生變化時,可以在表上建立視圖,通過視圖屏蔽應用的變化,從而使數據庫表不動。
3、如果應用建立在視圖上,當數據庫表發生變化時,可以在表上修改視圖,通過視圖屏蔽表的變化,從而應用程序可以不動。
4、如果應用建立在視圖上,當應用發生變化時,可以在表上修改視圖,通過視圖屏蔽應用的變化,從而數據庫可以不動。
參考資料來源:百度百科-視圖
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的mysql视图有哪几种_数据库报表的视图有几种?每种视图的功能是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python和shell哪个快_有没有可
- 下一篇: mysql数据库雪崩_缓存与数据库一致性