當前位置:首頁 » 操作系統 » 資料庫視圖的定義

資料庫視圖的定義

發布時間: 2022-07-24 14:15:04

㈠ 什麼是視圖

您好。
視圖是指計算機資料庫中的視圖,是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖並不在資料庫中以存儲的數據值集形式存在。行和列數據來自由定義視圖的查詢所引用的表,並且在引用視圖時動態生成。
從用戶角度來看,一個視圖是從一個特定的角度來查看資料庫中的數據。從資料庫系統內部來看,一個視圖是由SELECT語句組成的查詢定義的虛擬表。從資料庫系統內部來看,視圖是由一張或多張表中的數據組成的,從資料庫系統外部來看,視圖就如同一張表一樣。
視圖是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖的作用類似於篩選。定義視圖的篩選可以來自當前或其它資料庫的一個或多個表,或者其它視圖。分布式查詢也可用於定義使用多個異類源數據的視圖。
視圖是存儲在資料庫中的查詢的sql 語句,它主要出於兩種原因:安全原因, 視圖可以隱藏一些數據,如:社會保險基金錶,可以用視圖只顯示姓名,地址,而不顯示社會保險號和工資數等,另一原因是可使復雜的查詢易於理解和使用。
希望能夠幫到您,謝謝,望採納。

㈡ 什麼叫資料庫視圖

數據視圖是資料庫里的一張虛表,是不存在的一張表。和表一樣,視圖包括數據列和數據行,這些數據列和行來源於所查詢的表(此表稱作視圖的基表).用戶通過視圖來瀏覽自己感興趣的部分數據,而數據的物理存放位置仍然在視圖所張引用的基表中。

㈢ 在sql資料庫里的視圖是什麼意思,怎麼理解

視圖為原始資料庫數據的一種變換,是查看錶中數據的另外一種方式。可以將視圖看成是一個移動的窗口,通過它可以看到感興趣的數據。視圖為從一個或多個實際表中獲得的,這些表的數據存放在資料庫中。那些用於產生視圖的表叫做該視圖的基表。一個視圖也可以從另一個視圖中產生。

視圖的定義存在資料庫中,與此定義相關的數據並沒有再存一份於資料庫中。通過視圖看到的數據存放在基表中。



(3)資料庫視圖的定義擴展閱讀

視圖有很多優點,主要表現在:

1、視點集中

使用戶只關心它感興趣的某些特定數據和他們所負責的特定任務。這樣通過只允許用戶看到視圖中所定義的數據而不是視圖引用表中的數據而提高了數據的安全性。

2、簡化操作

視圖大大簡化了用戶對數據的操作。因為在定義視圖時,若視圖本身就是一個復雜查詢的結果集,這樣在每一次執行相同的查詢時,不必重新寫這些復雜的查詢語句,只要一條簡單的查詢視圖語句即可。可見視圖向用戶隱藏了表與表之間的復雜的連接操作。

3、定製數據

視圖能夠實現讓不同的用戶以不同的方式看到不同或相同的數據集。因此,當有許多不同水平的用戶共用同一資料庫時,這顯得極為重要。

4、合並分割數據

在有些情況下,由於表中數據量太大,故在表的設計時常將表進行水平分割或垂直分割,但表的結構的變化卻對應用程序產生不良的影響。如果使用視圖就可以重新保持原有的結構關系,從而使外模式保持不變,原有的應用程序仍可以通過視圖來重載數據。

5、安全性

視圖可以作為一種安全機制。通過視圖用戶只能查看和修改他們所能看到的數據。其它資料庫或表既不可見也不可以訪問。如果某一用戶想要訪問視圖的結果集,必須授予其訪問許可權。視圖所引用表的訪問許可權與視圖許可權的設置互不影響。

㈣ 資料庫「視圖中」是什麼意思

視圖(View)是從一個或多個表(或視圖)導出的表。視圖與表(有時為與視圖區別,也稱表為基本表--Base Table)不同,視圖是一個虛表,即視圖所對應的數據不進行實際存儲,資料庫中只存儲視圖的定義,在對視圖的數據進行操作時,系統根據視圖的定義去操作與視圖相關聯的基本表。

  1. 視圖作用比較廣的,首先視圖可以將不同表中的數據通過關聯實現多表數據輸出。

  2. 比如說,有一個類型表 uType,有欄位tId,tName,有個產品表 uProct,有欄位pId,pName,tId,此時你可以通過建立一張視圖vProct將產品表和產品類型一起輸出
    SELECT p.pId AS 產品編號,p.pName AS 產品名稱,t.tId AS 產品類型編號,t.tId AS 產品類型編號 。

  3. FROM uProct AS p INNER JOIN uType AS t ON p.tId = t.tId;

  4. 這樣就可以在程序里使用

  5. SELECT * FROM vProct 來做產品資料的查詢了

  6. 它可以減少我們編碼的工作量,也方便維護。

㈤ 關系資料庫中視圖的含義與作用

視圖是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖並不在資料庫中以存儲的數據值集形式存在。 視圖如同一張表一樣,對表能夠進行的一般操作都可以應用於視圖,例如查詢,插入,修改,刪除操作等。簡言之,視圖和表的用法操作基本相同,不同的是視圖並不存儲真實的數據。
比如我們創建了一個視圖create view v1 as select * from a ,那麼我們可以對視圖進行查詢,select * from v1,v1中並沒有任何數據,在執行select * from v1的時候相當於調用了生成視圖的語句
select * from a,此時select * from v1等價於select * from a
視圖是存儲在資料庫中的查詢的SQL 語句,它主要出於兩種原因:安全原因, 視圖可以隱藏一些數據,如:社會保險基金錶,可以用視圖只顯示姓名,地址,而不顯示社會保險號和工資數等,另一原因是可使復雜的查詢易於理解和使用。
視圖一經定義便存儲在資料庫中,與其相對應的數據並沒有像表那樣又在資料庫中再存儲一份,通過視圖看到的數據只是存放在基本表中的數據。對視圖的操作與對表的操作一樣,可以對其進行查詢、修改(有一定的限制)、刪除。
當對通過視圖看到的數據進行修改時,相應的基本表的數據也要發生變化,同時,若基本表的數據發生變化,則這種變化也可以自動地反映到視圖中。

視圖的作用
* 簡單性。看到的就是需要的。視圖不僅可以簡化用戶對數據的理解,也可以簡化他們的操作。那些被經常使用的查詢可以被定義為視圖,從而使得用戶不必為以後的操作每次指定全部的條件。
* 安全性。通過視圖用戶只能查詢和修改他們所能見到的數據。但不能授權到資料庫特定行和特定的列上。通過視圖,用戶可以被限制在數據的不同子集上:
使用許可權可被限制在另一視圖的一個子集上,或是一些視圖和基表合並後的子集上。
* 邏輯數據獨立性。視圖可幫助用戶屏蔽真實表結構變化帶來的影響。

㈥ 資料庫視圖是什麼,有什麼用,怎麼用

你首先要理解什麼是查詢結果集
查詢時實現資料庫操作的最主要方法,盡管從查詢結果集看到的數據集合與打開的數據表看到的數據集合一樣,但實質是完全不同的:
*數據表是資料庫中存放數據的實體對象,在數據表中看到的是數據的靜態物理集合,是實際的數據源表。
*查詢只是針對數據源的操作命令(程序),在查詢結果中看到的是數據的動態邏輯集合,是執行命令對數據表操作的結果,十一哥虛擬的數據表。
視圖的概念
我們經常使用SELECT語句,尤其是比較復雜的查詢語句,如果每次使用都要重復地輸入代碼是很麻煩的,如果將該語句保存為一個對象,每次使用時不需要輸入代碼,只給出對象的名字就能方便地使用,簡化查詢操作。這個對象就是視圖。
視圖實際上就是給查詢語句指定一個名字,將查詢語句定義為一個獨立的對象保存。
既然視圖是由SELECT查詢語句構成的,那麼使用視圖就可以直接得到SELECT語句的查詢結果集,所以我們就可以這樣為視圖下一個定義:
視圖:就是基於一個或多個數據表的動態數據集合,是一個邏輯上的虛擬數據表。
另一方面,視圖又具有更強的功能:使用SELECT語句只能在結果集——動態邏輯虛擬表中查看數據,而使用視圖不但可以查看數據,而且可以作為SQL語句的數據源,並且可以直接在視圖中對數據表進行編輯修改刪除——更新數據表中的數據。

㈦ 資料庫中的視圖有什麼用,我們為什麼要用視圖

用來進行數據展示和分析。使用視圖可以定製用戶數據,聚焦特定的數據。

視圖是原始資料庫數據的一種變換,是查看錶中數據的另外一種方式。可以將視圖看成是一個移動的窗口,通過它可以看到感興趣的數據。

視圖是從一個或多個實際表中獲得的,這些表的數據存放在資料庫中。那些用於產生視圖的表叫做該視圖的基表。一個視圖也可以從另一個視圖中產生。

視圖的定義存在資料庫中,與此定義相關的數據並沒有再存一份於資料庫中。通過視圖看到的數據存放在基表中。

視圖可以在以下幾個方面使程序與數據獨立:

如果應用建立在資料庫表上,當資料庫表發生變化時,可以在表上建立視圖,通過視圖屏蔽表的變化,從而應用程序可以不動。

如果應用建立在資料庫表上,當應用發生變化時,可以在表上建立視圖,通過視圖屏蔽應用的變化,從而使資料庫表不動。

如果應用建立在視圖上,當資料庫表發生變化時,可以在表上修改視圖,通過視圖屏蔽表的變化,從而應用程序可以不動。

如果應用建立在視圖上,當應用發生變化時,可以在表上修改視圖,通過視圖屏蔽應用的變化,從而資料庫可以不動。

㈧ 什麼是視圖定義

視圖是從一個或多個表或視圖中導出的表,其結構和數據是建立在對表的查詢基礎上的。和表一樣,視圖也是包括幾個被定義的數據列和多個數據行,但就本質而言這些數據列和數據行來源於其所引用的表。

所以視圖不是真實存在的基礎表而是一張虛表,視圖所對應的數據並不實際地以視圖結構存儲在資料庫中,而是存儲在視圖所引用的表中。
視圖一經定義便存儲在資料庫中,與其相對應的數據並沒有像表那樣又在資料庫中再存儲一份,通過視圖看到的數據只是存放在基本表中的數據。對視圖的操作與對表的操作一樣,可以對其進行查詢、修改(有一定的限制)、刪除。
當對通過視圖看到的數據進行修改時,相應的基本表的數據也要發生變化,同時,若基本表的數據發生變化,則這種變化也可以自動地反映到視圖中。
視圖有很多優點,主要表現在:
�6�1視點集中
�6�1簡化操作
�6�1定製數據
�6�1合並分割數據
�6�1安全性

如果你要創建一個視圖,為其指定一個名稱和一個查詢即可。Microsoft SQL Server只保存視圖的元數據(metadata),用於描述這個對象,以及它所包含的列、安全、依賴等。當你查詢視圖時,無論是獲取數據還是修改數據,查詢處理器(query processor)都會用視圖定義代替視圖引用。也就是說,查詢處理器展開視圖定義並生成訪問基對象(underlying objects)的執行計劃。

視圖在資料庫中發揮著重要的作用。視圖的重要用途之一便是被用作一個抽象裝置(abstraction mechanism)。例如,在適當時利用視圖你可以很容易地為基礎數據提供或多或少的規范化映像(normalized picture),這樣就不用更改實際數據的規范化(normalization)。通過應用模塊化的方法(逐步解決復雜問題),可以簡化解決方案。可以利用視圖訪問經過篩選和處理的數據,而不是直接對基表(base table)進行操作(讓視圖的架構和基對象的架構相同),可以把視圖作為一個安全層(security layer)(在一定程度上)。

如果在視圖上創建索引,它在提高性能方面也發揮著重要作用。在視圖上創建聚集索引(clustered index)會讓它的數據真正地保存在磁碟上,而不再是虛擬的數據。我會在本章專門用一節介紹索引視圖。現在,我們先來關注沒有索引的視圖,它們通常沒有特定的性能影響,包括消極的或積極的。
與其他的表表達式(如派生表、公用表表達式,或內聯表值用戶定義函數[inline table-valued user-defined function,UDF])一樣,視圖的查詢定義必須滿足3個條件:

不能在查詢定義中使用ORDER BY,除非定義中包含TOP或FOR XML說明符。
所有的結果列必須有名稱。
所有結果列的名稱必須是唯一的。

定義視圖的查詢中在沒有TOP或FOR XML說明符的情況下不能包含ORDER BY子句,這是因為視圖被認為表示一個表。表是一個邏輯實體,它的行沒有順序,不同於游標,游標是一個物理對象,它可以對行排序。表中的所有列必須有名稱,且名稱必須是唯一的,這一點勿庸置疑。為視圖的目標列指定名稱有兩種方法,可以在視圖名稱後面的圓括弧內指定,也可以用每個表達式後面的別名作為列名稱。

來看一個示例,運行下面的代碼創建VcustsWithOrders視圖。

SET NOCOUNT ON;USE Northwind;GOIF OBJECT_ID(『dbo.VcustsWithOrders』) IS NOT NULLDROP VIEW dbo.VcustsWithOrders;GOCREATE VIEW dbo.VcustsWithOrdersASSELECT CustomerID, CompanyName, ContactName, ContactTitle,Address, City, Region, PostalCode, Country, Phone, FaxFROM Customers AS CWHERE EXISTS(SELECT * FROM dbo.Orders AS OWHERE O.CustomerID = C.CustomerID);GO

熱點內容
mp4反編譯軟體 發布:2024-10-25 16:47:33 瀏覽:998
哪個是提升電腦幀數的配置 發布:2024-10-25 16:43:45 瀏覽:95
以一種訪問許可權不允許的方式 發布:2024-10-25 16:38:32 瀏覽:404
嵌入式linux開發環境搭建 發布:2024-10-25 16:26:51 瀏覽:325
奧迪a4l乞丐版什麼配置 發布:2024-10-25 16:20:33 瀏覽:411
python讀取txt文件數據 發布:2024-10-25 16:07:36 瀏覽:23
獲取區域網伺服器的真實ip 發布:2024-10-25 16:01:36 瀏覽:28
多線程程序java 發布:2024-10-25 15:58:32 瀏覽:228
安卓最大的圖片是哪個 發布:2024-10-25 15:55:06 瀏覽:467
雲伺服器登錄小號 發布:2024-10-25 15:41:34 瀏覽:402