視圖資料庫
⑴ 什麼是資料庫視圖
聯系:視圖(view)是在基本表之上建立的表,它的結構(即所定義的列)和內容(即所有數據行)都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。視圖是基本表的抽象和在邏輯意義上建立的新關系
區別:1、視圖是已經編譯好的sql語句。而表不是
2、視圖沒有實際的物理記錄。而表有。
3、表是內容,視圖是窗口
4、表只用物理空間而視圖不佔用物理空間,視圖只是邏輯概念的存在,表可以及時四對它進行修改,但視圖只能有創建的語句來修改
5、表是內模式,視圖是外模式
6、視圖是查看數據表的一種方法,可以查詢數據表中某些欄位構成的數據,只是一些sql語句的集合。從安全的角度說,視圖可以不給用戶接觸數據表,從而不知道表結構。
7、表屬於全局模式中的表,是實表;視圖屬於局部模式的表,是虛表。
8、視圖的建立和刪除隻影響視圖本身,不影響對應的基本表。
⑵ 資料庫怎樣創建視圖
sql資料庫創建視圖的方法:1、登錄「sql server managment」;2、在指定資料庫中選擇「視圖」,右鍵單擊選擇「新建視圖」選項;3、添加要關聯的表;4、默認是主鍵關聯的,可以調整關聯欄位;5、按「ctrl+s」保存即可
⑶ 資料庫中視圖的好處是什麼
1、視點集中:
視圖集中即是使用戶只關心它感興趣的某些特定數據和他們所負責的特定任務。
2.、簡化用戶的相關操作:
因為在定義視圖時,若視圖本身就是一個復雜查詢的結果集,這樣在每一次執行相同的查詢時,不必重新寫這些復雜的查詢語句,只要一條簡單的查詢視圖語句即可。可見視圖向用戶隱藏了表與表之間的復雜的連接操作。
3、定製數據:
視圖能夠實現讓不同的用戶以不同的方式看到不同或相同的數據集。因此,當有許多不同水平的用戶共用同一資料庫時,這顯得極為重要。
4、合並分割數據:
視圖可以重新保持原有的結構關系,從而使外模式保持不變,原有的應用程序仍可以通過視圖來重載數據。
5、安全性高:
視圖可以作為一種安全機制。通過視圖用戶只能查看和修改他們所能看到的數據,如果某一用戶想要訪問視圖的結果集,必須授予其訪問許可權。視圖所引用表的訪問許可權與視圖許可權的設置互不影響。
(3)視圖資料庫擴展閱讀:
視圖的特點:
1、視圖通常也被稱為子查詢,是從一個或多個表導出的虛擬的表,其內容由查詢定義。具有普通表的結構,但是不實現數據存儲;
2、對視圖的修改:單表視圖一般用於查詢和修改,會改變基本表的數據;
3、多表視圖一般用於查詢,不會改變基本表的數據;
4、視圖可以使應用程序和資料庫表在一定程度上獨立。如果沒有視圖,應用一定是建立在表上的,有了視圖之後,程序可以建立在視圖之上,從而程序與資料庫表被視圖分割開來。
⑷ 什麼叫資料庫視圖
數據視圖是資料庫里的一張虛表,是不存在的一張表。和表一樣,視圖包括數據列和數據行,這些數據列和行來源於所查詢的表(此表稱作視圖的基表).用戶通過視圖來瀏覽自己感興趣的部分數據,而數據的物理存放位置仍然在視圖所張引用的基表中。
⑸ 資料庫報表的視圖有幾種每種視圖的功能是什麼
1、關系視圖:Oracle視圖是作為資料庫對象存在的,因此,創建之後也可以通過工具或數據字典來查看視圖的相關信息。
2、內嵌視圖:在from語句中的可以把表改成一個子查詢,內嵌視圖為子查詢的一種,可以與數據表、視圖一樣作為查詢語句的數據源存在,但在形式上有較大的區別,內嵌視圖不必使用create view命令進行創建,因此,在數據字典中也無法獲得相應信息。
內嵌視圖的特點在於無須創建真正的資料庫對象,而只是封裝查詢,因此會節約資料庫資源,同時不會增加維護成本。但是內嵌視圖不具有可復用性,因此當預期將在多處調用到同一查詢定義時,還是應該使用關系視圖。
3、對象視圖:對象類型在資料庫編程中有許多好處,但有時,應用程序已經開發完成。為了迎合對象類型而重建數據表是不現實的。對象視圖正是解決這一問題的優秀策略。
對象視圖創建之後,同樣可以在數據字典中獲得其相應信息。利用Oracle內置視圖user_views可以獲得對象視圖相關信息。Oracle中的對象數據實際仍然以關系數據的形式存儲。
但是,對象的特性,例如繼承、封裝等,都為開發人員提供了更加靈活的處理形式。同樣,可以構造復雜的對象類型來封裝復雜的多表查詢。
4、物化視圖:常用於資料庫的容災,不是傳統意義上虛擬視圖,是實體化視圖,和表一樣可以存儲數據、查詢數據。主備資料庫數據同步通過物化視圖實現,主備資料庫通過data link連接,在主備資料庫物化視圖進行數據復制。當主資料庫垮掉時,備資料庫接管,實現容災。
(5)視圖資料庫擴展閱讀
視圖可以使應用程序和資料庫表在一定程度上獨立。如果沒有視圖,應用一定是建立在表上的。有了視圖之後,程序可以建立在視圖之上,從而程序與資料庫表被視圖分割開來。視圖可以在以下幾個方面使程序與數據獨立:
1、如果應用建立在資料庫表上,當資料庫表發生變化時,可以在表上建立視圖,通過視圖屏蔽表的變化,從而應用程序可以不動。
2、如果應用建立在資料庫表上,當應用發生變化時,可以在表上建立視圖,通過視圖屏蔽應用的變化,從而使資料庫表不動。
3、如果應用建立在視圖上,當資料庫表發生變化時,可以在表上修改視圖,通過視圖屏蔽表的變化,從而應用程序可以不動。
4、如果應用建立在視圖上,當應用發生變化時,可以在表上修改視圖,通過視圖屏蔽應用的變化,從而資料庫可以不動。
⑹ 資料庫視圖~
是sql server嗎? 不大懂。 我選B