資料庫基礎之視圖

2021-01-18 清無時空

【本文詳細介紹了資料庫的基礎知識之視圖的基本概念和常用操作,歡迎讀者朋友們閱讀、轉發和收藏!】

1 基本概念

1.1 視圖的概念

1. 視圖是一種資料庫對象,是從一個或者多個數據表或視圖中導出的虛表,視圖所對應的數據並不真正地存儲在視圖中,而是存儲在所引用的數據表中,視圖的結構和數據是對數據表進行查詢的結果。

2. 從用戶角度來看,一個視圖是從一個特定的角度來查看資料庫中的數據;從資料庫系統內部來看,一個視圖是由 SELECT 語句組成的查詢定義的虛擬表。從資料庫系統內部來看,視圖是由一張或多張表中的數據組成的,從資料庫系統外部來看,視圖就如同一張表 一樣,對表能夠進行的一般操作都可以應用於視圖,例如查詢,插入,修改,刪除操作等。

3. 根據創建視圖時給定的條件,視圖可以是一個數據表的一部分,也可以是多個基表的聯合,它存儲了要執行檢索的查詢語句的定義,以便在引用該視圖時使用。

1.2 視圖的優點

1. 簡化數據操作:視圖可以簡化用戶處理數據的方式。

2. 著重於特定數據:不必要的數據或敏感數據可以不出現在視圖中。

3. 視圖提供了一個簡單而有效的安全機制,可以定製不同用戶對數據的訪問權限。

4. 提供向後兼容性:視圖使用戶能夠在表的架構更改時為表創建向後兼容接口。

5. 自定義數據:視圖允許用戶以不同方式查看數據。

6. 導出和導入數據:可使用視圖將數據導出到其他應用程式。

7. 有靈活性的功能需求後,需要改動表的結構而導致工作量比較大,那麼可以使用虛擬表的形式達到少修改的效果。這是在實際開發中比較有用的

8. 複雜的查詢需求,可以進行問題分解,然後將創建多個視圖獲取數據。將視圖聯合起來就能得到需要的結果了。

1.3 視圖的操作

創建視圖

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name[(alias[, alias]...)]AS subquery[WITH CHECK OPTION [CONSTRAINT constraint]][WITH READ ONLY]OR REPLACE :若所創建的試圖已經存在, ORACLE 自動重建該視圖;FORCE :不管基表是否存在 ORACLE 都會自動創建該視圖;NOFORCE :只有基表都存在 ORACLE 才會創建該視圖:alias :為視圖產生的列定義的別名;subquery :一條完整的 SELECT 語句,可以在該語句中定義別名;WITH CHECK OPTION :插入或修改的數據行必須滿足視圖定義的約束;WITH READ ONLY :該視圖上不能進行任何 DML 操作。查詢視圖

視圖創建成功後,可以從視圖中檢索數據,這點和從表中檢索數據一樣。還可以查詢視圖的全部信息和指定的數據行和列。

刪除視圖

DROP VIEW VIEW_NAME 語句刪除視圖。

刪除視圖的定義不影響基表中的數據,只有視圖所有者和具備 DROP VIEW 權限的用戶可以刪除視圖。視圖被刪除後,基於被刪除視圖的其他視圖或應用將無效。

更新視圖

更新視圖是指通過視圖來插入、更新、刪除表數據,因為視圖是虛表,其中沒有數據。

通過視圖更新的時候都是轉到基表進行更新,如果對視圖增加或者刪除記錄,實際上是對基表增加或刪除記錄。

當視圖中包含如下內容的時候,視圖的更新操作將不能被執行

( 1 )視圖中包含基本中被定義為非空的列

( 2 )定義視圖的 SELECT 語句後的欄位列表中使用了數學表達式

( 3 )定義視圖的 SELECT 語句後的欄位列表中使用聚合函數

( 4 )定義視圖的 SELECT 語句中使用了 DISTINCT 、 UNION 、 TOP 、 GROUP BY 、 HAVING 子句

我知道你在看喲

相關焦點

  • 文檔資料庫與關係資料庫的比較
    文檔資料庫與關係資料庫的比較 文檔資料庫與關係資料庫的比較 2009-07-06 15:58:27  來源:CIO時代網二者雖命名不同,但筆者認為從」屬性「的角度更容易理解文檔資料庫中條目的意義。  · 視圖(View)  在關係資料庫和文檔資料庫中,均有視圖的概念。在關係資料庫中,視圖是指從一個或幾個基本表(或視圖)導出的表。視圖和基本表不同,視圖是一個虛表,即視圖所對應的數據不實際存儲在資料庫中,資料庫中只存儲視圖的定義(存在數據字典中)。在文檔資料庫中,用戶通過Notes視圖瀏覽文檔。
  • 零基礎學Oracle之6:Oracle數字字典和動態視圖的理解
    1、 本部分介紹二個內容數字字典和動態視圖。這二個都是一些表,數字字典是一些相對靜態的信息,動態視圖是一些相對動態表。數據字典視圖:視圖就是以某種角度來看在執行$ORACLE_HOME/rdbms/admin/catalog.sql,catproc.sql腳本時創建。數據字典的內容:審計、用戶被賦予的特權和角色、用戶名字、完整性約束、資源的分配情況、邏輯和物理結構。4)數據字典視圖種類DBA:某個用戶能看到全部。
  • 資料庫作品報告
    設計表結構學生表結構課程表結構學院表結構二、系統實現1.創建資料庫的SQL語句CREATE DATABASE stu DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;2.創建所有表的SQL語句CREATE TABLE `college`
  • 直擊資料庫面試題:資料庫查詢語句
    什麼是視圖? 基本表是本身獨立存在的表,在 SQL 中一個關係就對應一個表。 視圖是從一個或幾個基本表導出的表。視圖本身不獨立存儲在資料庫中,是一個虛表 19.
  • 機械識圖基礎(正投影與三視圖)
    PS:往期精彩1、機械識圖基礎:圖樣 【點擊藍字閱讀】1.
  • 《資料庫原理及應用》名詞解釋
    9.外視圖(個別用戶視圖)  外視圖是資料庫的三個抽象層次中最靠近用戶的一層,反映各個用戶看待資料庫的方式,是概念視圖的某一部分的抽象表示。  10.內視圖(存儲視圖)  內視圖是資料庫的三個抽象層次中最靠近物理存儲的一層,反映數據的實際存儲方式,是整個資料庫實際存儲的表示。
  • CTO俱樂部第109期下午茶:資料庫之分久必合,合久必分
    9月5日CTO俱樂部在北京舉辦第109期主題活動——CTO下午茶之「明說大數據」,本次活動邀請到擁有二十年資料庫、數據倉庫及企業級IT架構經驗、SAP全球資料庫解決方案部技術總監盧東明,他和大家分享了數據管理、數據分析等大數據領域的實踐經驗。本次的分享的內容主要涵蓋三個方面:回溯資料庫的50年歷史;廠商的變遷以及技術的走向;預測一些未來的走向。
  • 資料庫安全性相關知識筆記
    1、資料庫的惡意訪問形式未經授權讀取數據、未經授權修改數據、未經授權破壞數據。2、資料庫安全性概念資料庫安全性(Data Base Security)主要是指儘可能保護資料庫不受惡意訪問。3、資料庫安全防護的層次資料庫系統層次(DataBase System):資料庫系統的某些用戶獲得的授權可能只允許訪問資料庫中的有限部分。針對另一些用戶獲得的授權可能允許他提出的查詢請求,但不允許修改數據。保證這樣的授權限制不被違反是資料庫系統的責任。作業系統層次(Operating System):作業系統安全性可能稱為資料庫進行未經授權訪問的一種手段。
  • 2001年(下)資料庫原理試題 --自考頻道--中國教育在線
    1.要保證資料庫的數據獨立性,需要修改的是( )    A.三層模式之間的兩種映射   B.模式與內模式    C.模式與外模式    D.三層模式    2.下列四項中說法不正確的是( )   A.資料庫減少了數據冗餘   B.資料庫中的數據可以共享    C.資料庫避免了一切數據的重複    D.資料庫具有較高的數據獨立性
  • 新時代的易學古籍資料庫建設
    目前,國學發展已經進入「大數據時代」,如何把傳統易學古籍與現代信息技術結合起來,開展好易學古籍資料庫建設,將是我們面臨的一個重大學術課題。  收集整理易學典籍,夯實資料庫基礎  作為一項浩大的文化工程,易學古籍資料庫建設應當以易學古籍的收集、整理和編纂為前提和重要基礎。
  • 北京市文憑考試「資料庫原理及應用」簡答題
    3)在外層,用戶所看到的可以是基本表,也可以是視圖,也可以是基本表+視圖。視圖是一個虛擬表,它是由一個或幾個基本表導出的表,它不直接存在於物理存儲器上的表。視圖是使用CREATESQLVIEW語句建立的。  4)在內層,每個基本表用一個存儲文件來表示,即用一組類型相同的存儲記錄值來表示。DBA可以對物理存儲文件進行操作。
  • 私藏的一些C語言基礎知識點,需要的快看看吧
    C語言是學習其他大多數計算機語言的基礎,很多人認為學習C語言很難,其實只要懂得了C語言的基礎知識,C語言學習起來並不是很難,最近整理了有關計算機C語言的一些知識點,希望對C語言的基礎學者有些幫助資料庫領域公認的標準結構是三級模式結構,它包括外模式、概念模式、內模式,有效地組織、管理數據,提高了資料庫的邏輯獨立性和物理獨立性。用戶級對應外模式,概念級對應概念模式,物理級對應內模式,使不同級別的用戶對資料庫形成不同的視圖。
  • 14 個實用的資料庫設計技巧,好用到爆
    基本表中的記錄是原始數據(基礎數據)的記錄。 (3) 演繹性。由基本表與代碼表中的數據,可以派生出所有的輸出數據。 (4) 穩定性。基本表的結構是相對穩定的,表中的記錄是要長期保存的。 理解基本表的性質後,在設計資料庫時,就能將基本表與中間表、臨時表區分開來。
  • 三視圖之柱體表面積
    之前的試聽課程裡,立體幾何小題發過一個三視圖柱體表面積的,發過兩個外接球的,這節課是關於三視圖柱體表面積。
  • 百度衛星地圖上線 提供地圖、衛星、三維視圖
    這是繼增加部分城市的三維地圖後,百度地圖新增的衛星視圖瀏覽模式。用戶可以選擇使用「地圖」、「衛星」和「三維」(僅提供小部分城市)三種不同的視圖。圖:百度衛星地圖(速途網配圖)  據悉,通過新增的衛星視圖,用戶可以看到遙感衛星圖像,對原有地圖上無法涵蓋的地圖細節信息進行識別,當用戶將遙感地圖放到最大的時候,比例尺可以達到1:2000(1釐米的圖像對應真實物理長度的20米)。
  • [控制項]谷歌地圖推出海底環境視圖
    谷歌地圖在最近推出了一項新的功能谷歌地圖環境視圖(Google Maps View-Environment),用戶可以查看記錄在谷歌地圖資料庫的海洋底部或其他自然環境的全景圖片
  • 資料庫系統工程師的崗位職責及任職要求
    打開APP 資料庫系統工程師的崗位職責及任職要求 發表於 2019-07-10 17:13:55 崗位職責: 1
  • 高考加油,每日一題,三視圖有關的必考基礎題型
    題幹分析:根據三視圖作出直觀圖,幾何體為三稜錐與四稜錐的組合體.典型例題分析2:如圖是一個幾何體的三視圖,則該幾何體的體積是   .解:根據三視圖可知幾何體是一個組合體:左邊是三稜柱、右邊是三稜錐,三稜柱底面是側視圖:等腰直角三角形,兩條直角邊是3,三稜柱的高是3;三稜錐的底面也是側視圖,高是1,所以幾何體的體積是V=1/2×3×3×3+1/3×
  • 三視圖的還原技巧
    一首詩詮釋了我們要想認清事物的本質必須要從多個角度來觀察,三視圖正是為了解決這個問題而誕生的。(三視圖是觀察者分別從物體的正面,側面,上面三個角度來對物體進行正投影,在投影面上形成的三幅圖分別稱為正視圖、側視圖、俯視圖)本來三視圖的還原是一個非常簡單基礎的問題,但近幾年的高考中出現了頂點或稜朝下的幾何體(實際生活中這些幾何體是不能夠水平放置的)給出三視圖讓考生去還原,陡然增加了該知識點的難度。
  • 資料庫是什麼?怎樣學習SQL Server資料庫?
    對於剛開始學習編程的新手來說,資料庫的概念相對來說也不是很好理解。這裡,我用通俗的語言說明一下什麼是資料庫。前提了解資料庫之前,首先要知道什麼是windows服務。windows服務可以在「計算機管理-服務和應用程式-服務」中找到。