資料庫視圖是什麼
㈠ Oracle資料庫-視圖的概念
一 視圖概念
視圖是原始資料庫數據的一種變換 是查看錶中數據的另外一種方式 可以將視圖看成是一個移動的窗口 通過它可以看到感興趣的數據
視圖是從一個或多個實際表中獲得的 這些表的數據存放在資料庫中 那些用於產生視圖的表叫做該視圖的基表 一個視圖也可以從另一個視拆塵圖中產生
視圖的定義存在資料庫中 與此定義相關的數據並沒有再存一份於資料庫中 通過視圖看到的數據存放在基表中
視圖看上去非常象資料庫的物理表 對它的操作同任何其它的表一樣 當通過視圖修改數據時 實際上是在改變基表中的數據 相反地 基表數據的改變也會自動反映在由基表產生的視圖中 由於邏輯上的原因 有些視圖可以修改對應的基表 有些則不能(僅僅能查詢)
二 視圖的作用
* 簡單性 看到的就是需要的 視圖不僅可以簡化用戶對數據的理解 也可以簡化他們的操作 那些被經常使用的查詢可以被定義為視圖 從而使得用戶不必為以後的操作每次指定全部的條件
* 安全性 通過視圖用戶只能查詢和修改他們所能見到的數據 資料庫中的其它數據則既看不見也取不到 資料庫授權命令可以使每個用戶對資料庫的檢索限制到特定的資料庫對象上 但不能授權到資料庫特定行和特定的列上 通過視圖 用旅罩禪戶可以被限制在數據的不同子集上
使用許可權可被限制在基表的行的子集上
使用許可權可被限制在基表的列的子集上
使用許可權可被限制在基表的行和列的子集上
使用許可權可被限制在多個基表的連接所限定的行上
使用許可權可被限制在基表中的數據的統計匯總上
使用許可權可被限制在另一視圖的一個子集上 或是一些視圖和基表合並後的子集上
* 邏輯數據獨立性 視圖可幫助用戶屏蔽真實表結構變化帶來的影響
三 視圖的安全性
視圖的安全性可以防止未授權用戶查看特定的行或列 是用戶只能看到表中特定行的方法如下
在表中增加一個標志用戶名的列
建立視圖 是用戶只能看到標有自己用戶名的行
把視圖授權給其他用戶
四 邏輯數據獨立性
視圖可以使應用程序和資料庫表在一定程度上獨立 如果沒有視圖 應用一定是建立在表上的 有了視圖之後 程序可以建立在視圖之上 從而程序與資料庫表被視圖分割開來 視圖可以在以下幾個方面使程序與數據獨立
如果應用建立在資料庫表上 當資料庫表發生悶盯變化時 可以在表上建立視圖 通過視圖屏蔽表的變化 從而應用程序可以不動
如果應用建立在資料庫表上 當應用發生變化時 可以在表上建立視圖 通過視圖屏蔽應用的變化 從而使資料庫表不動
如果應用建立在視圖上 當資料庫表發生變化時 可以在表上修改視圖 通過視圖屏蔽表的變化 從而應用程序可以不動
lishixin/Article/program/Oracle/201311/16872
㈡ 資料庫「視圖中」是什麼意思
視圖(View)是從一個或多個表(或視圖)導出的表。視圖與表(有時為與視圖區別,也稱表為基本表--Base Table)不同,視圖是一個虛表,即視圖所對應的數據不進行實際存儲,資料庫中只存儲視圖的定義,在對視圖的數據進行操作時,系統根據視圖的定義去操作與視圖相關聯的基本表。
視圖作用比較廣的,首先視圖可以將不同表中的數據通過關聯實現多表數據輸出。
比如說,有一個類型表 uType,有欄位tId,tName,有個產品表 uProct,有欄位pId,pName,tId,此時你可以通過建立一張視圖vProct將產品表和產品類型一起輸出
SELECT p.pId AS 產品編號,p.pName AS 產品名稱,t.tId AS 產品類型編號,t.tId AS 產品類型編號 。FROM uProct AS p INNER JOIN uType AS t ON p.tId = t.tId;
這樣就可以在程序里使用
SELECT * FROM vProct 來做產品資料的查詢了
它可以減少我們編碼的工作量,也方便維護。
㈢ 資料庫報表的視圖有幾種每種視圖的功能是什麼
1、關系視圖:Oracle視圖是作為資料庫對象存在的,因此,創建之後也可以通過工具或數據字典來查看視圖的相關信息。
2、內嵌視圖:在from語句中的可以把表改成一個子查詢,內嵌視圖為子查詢的一種,可以與數據表、視圖一樣作為查詢語句的數據源存在,但在形式上有較大的區別,內嵌視圖不必使用create view命令進行創建,因此,在數據字典中也無法獲得相應信息。
內嵌視圖的特點在於無須創建真正的資料庫對象,而只是封裝查詢,因此會節約資料庫資源,同時不會增加維護成本。但是內嵌視圖不具有可復用性,因此當預期將在多處調用到同一查詢定義時,還是應該使用關系視圖。
3、對象視圖:對象類型在資料庫編程中有許多好處,但有時,應用程序已經開發完成。為了迎合對象類型而重建數據表是不現實的。對象視圖正是解決這一問題的優秀策略。
對象視圖創建之後,同樣可以在數據字典中獲得其相應信息。利用Oracle內置視圖user_views可以獲得對象視圖相關信息。Oracle中的對象數據實際仍然以關系數據的形式存儲。
但是,對象的特性,例如繼承、封裝等,都為開發人員提供了更加靈活的處理形式。同樣,可以構造復雜的對象類型來封裝復雜的多表查詢。
4、物化視圖:常用於資料庫的容災,不是傳統意義上虛擬視圖,是實體化視圖,和表一樣可以存儲數據、查詢數據。主備資料庫數據同步通過物化視圖實現,主備資料庫通過data link連接,在主備資料庫物化視圖進行數據復制。當主資料庫垮掉時,備資料庫接管,實現容災。
(3)資料庫視圖是什麼擴展閱讀
視圖可以使應用程序和資料庫表在一定程度上獨立。如果沒有視圖,應用一定是建立在表上的。有了視圖之後,程序可以建立在視圖之上,從而程序與資料庫表被視圖分割開來。視圖可以在以下幾個方面使程序與數據獨立:
1、如果應用建立在資料庫表上,當資料庫表發生變化時,可以在表上建立視圖,通過視圖屏蔽表的變化,從而應用程序可以不動。
2、如果應用建立在資料庫表上,當應用發生變化時,可以在表上建立視圖,通過視圖屏蔽應用的變化,從而使資料庫表不動。
3、如果應用建立在視圖上,當資料庫表發生變化時,可以在表上修改視圖,通過視圖屏蔽表的變化,從而應用程序可以不動。
4、如果應用建立在視圖上,當應用發生變化時,可以在表上修改視圖,通過視圖屏蔽應用的變化,從而資料庫可以不動。
㈣ 什麼是資料庫視圖,有什麼作用啊
資料庫視圖的作用只要有: 1. 資料庫視圖隱藏了數據的復雜性。 2. 資料庫視圖有利於控制用戶對表中某些列的訪問。 3. 資料庫視圖使用戶查詢變得簡單。 視圖是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖並不在資料庫中以存儲的數據值集形式存在。行和列數據來自由定義視圖的查詢所引用的表,並且在洞漏掘引用視圖時動態生成。 對其中所引用的基礎表來說,視圖的作用類似於篩選。定義視圖的篩選可以來自當前或其它資料庫的一個或多個表,或者其它視圖。分布式查納核詢也可用於定義使用多個異類源數據的視圖。如果有幾台不同的伺服器分別存儲組織中不搜碧同地區的數據,而您需要將這些伺服器上相似結構的數據組合起來,這種方式就很有用。 通過視圖進行查詢沒有任何限制,通過它們進行數據修改時的限制也很少。
㈤ 什麼是資料庫視圖怎樣去理解它
資料庫是依照某種數據模型組織起來並存放二級存儲器中的數據集合。這種數據集合具有如下特點:盡可能不重復,以尺明森最優方式為某個特定組織的多種應用服務,其數據結構獨立於使用它的應用程序,對數據的增、刪、改和檢索由統一軟體進行管理和控制。從發展的歷史看,資料庫是數據管理的高級階段,它是由文件管理系統發展起來的。
資料庫的基本結構分三個層次,反映了觀察資料庫的三種不同角度。
(1)物理數據層。它是資料庫的最內層,是物理存貯設備上實際存儲的數據的集合。這些數據是原始數據,是用戶加工的對象,由內部模式描述的指令操作處理的位串、字元和字組成。
(2)概念數據層。它是資料庫的中間一層,是資料庫的整體邏輯表示。指出了每個數據的邏輯槐返定義及數據間的邏輯聯系,是存貯記錄的集合。它所涉及的是資料庫所有對象的邏輯關系,而不是它們的物理情況,是資料庫管理員概念下的資料庫。
(3)邏輯數據層。它是用戶所看到和使用的資料庫,表示了一個或一些特定用戶使用的數據集合,即邏輯記錄的集合。
資料庫不同層次之間的聯系是通過映射進行轉換的。資料庫具有以下主要特點:
(1)實現數據共享。數據共享包含所有用戶可同時存取資料庫中的數據,也包括用戶可以用各種方式通過介面使用資料庫,並提供數據共享。
(2)減少數據的冗餘度。同文件系統相比,由於資料庫實現了數據共享,從而避免了用戶各自建立應用文件。減少了大量重復數據,減少了數據冗餘,維護了數據的一致性。
(3)數據的獨立性。數據的獨立性包括資料庫中資料庫的邏輯結構和應用程序相互獨立,也包括數據物理結構的變化不影響數據的邏輯結構。
(4)數據實現陵畝集中控制。文件管理方式中,數據處於一種分散的狀態,不同的用戶或同一用戶在不同處理中其文件之間毫無關系。利用資料庫可對數據進行集中控制和管理,並通過數據模型表示各種數據的組織以及數據間的聯系。
(5)數據一致性和可維護性,以確保數據的安全性和可靠性。主要包括:①安全性控制:以防止數據丟失、錯誤更新和越權使用;②完整性控制:保證數據的正確性、有效性和相容性;③並發控制:使在同一時間周期內,允許對數據實現多路存取,又能防止用戶之間的不正常交互作用;④故障的發現和恢復:由資料庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止數據被破壞
㈥ 什麼是視圖
您好。
視圖是指計算機資料庫中的視圖,是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖並不在資料庫中以存儲的數據值集形式存在。行和列數據來自由定義視圖的查詢所引用的表,並且在引用視圖時動態生成。
從用戶角度來看,一個視圖是從一個特定的角度來查看資料庫中的數據。從資料庫系統內部來看,一個視圖是由SELECT語句組成的查詢定義的虛擬表。從資料庫系統內部來看,視圖是由一張或多張表中的數據組成的,從資料庫系統外部來看,視圖就如同一張表一樣。
視圖是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖的作用類似於篩選。定義視圖的篩選可以來自當前或其它資料庫的一個或多個表,或者其它視圖。分布式查詢也可用於定義使用多個異類源數據的視圖。
視圖是存儲在資料庫中的查詢的SQL 語句,它主要出於兩種原因:安全原因, 視圖可以隱藏一些數據,如:社會保險基金錶,可以用視圖只顯示姓名,地址,而不顯示社會保險號和工資數等,另一原因是可使復雜的查詢易於理解和使用。
希望能夠幫到您,謝謝,望採納。