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