oracle中的視圖詳解建站知識
導讀:1建站知識以下是我對Oracle中視圖的一些簡單總結,希望和大家一起來學習探討。seo網站優化軟件公司網站建設。
1.視圖的概述 視圖其實就是一條查詢sql語句,用于顯示一個或多個表或其他視圖中的相關數據。視圖網站建設教程將一個查詢的結果作為一個表來使用,因此視圖可以被看作是存儲的查詢或一個虛擬表。視圖來源于表,所有對視圖數據的修改最終都會被反映到視圖的基表中,這些修改必須服從基表的完整性約束,并同樣會觸發定義在基表上的觸發器。(Oracle支持在視圖上顯式的定義觸發器和定義一些邏輯約束) 2.視圖的存儲 與表不同,視圖不會要求分配存儲空間,視圖中也不會包含實際的數據。視圖只是定義了一個查詢,視圖中的數據是從基表中獲取,這些數據在視圖被引用時動態的生成。由于視圖基于數據庫中的其他對象,因此一個視圖只需要占用數據字典中保存其定義的空間,而無需額外的存儲空間。 3.視圖的作用 用戶可以通過視圖以不同形式來顯示基表中的數據,視圖的強大之處在于它能夠根據不同用戶的需要來對基表中的數據進行整理。視圖常見的用途如下: 通過視圖可以設定允許用戶訪問的列和數據行,從而為表提供了額外的安全控制 隱藏數據復雜性 視圖中可以使用連接(join),用多個表中相關的列構成一個新的數據集。此視圖就對用戶隱藏了數據來源于多個表的事實。 簡化用戶的SQL 語句 用戶使用視圖就可從多個表中查詢信息,而無需了解這些表是如何連接的。 以不同的角度來顯示基表中的數據 視圖的列名可以被任意改變,而不會影響此視圖的基表 使應用程序不會受基表定義改變的影響 在一個視圖的定義中查詢了一個包含4 個數據列的基表中的3 列。當基表中添加了新的列后,由于視圖的定義并沒有被影響,因此使用此視圖的應用程序也不會被影響。 保存復雜查詢 一個查詢可能會對表數據進行復雜的計算。用戶將這個查詢保存為視圖之后,每次進行類似計算只需查詢此視圖即可。 邏輯數據獨立性 視圖可以使應用程序和數據庫表在一定程度上獨立。如果沒有視圖,應用一定是建立在表上的。有了視圖之后,程序可以建立在視圖之上,從而程序與數據庫表被視圖分割開來。 4.視圖的工作機制 視圖的定義就是其使用的查詢語句,Oracle 將這個定義以文本形式存儲在數如何seo優化推廣網站據字典中。當用戶在 SQL 語句中引用了視圖時,Oracle 將進行以下工作: 將引用了視圖的語句與視圖的定義語句整合為一個語句 在共享SQL 區解析整合后的語句 執行此語句 當現有的共享SQL 區中沒有與整合后的語句一致時,Oracle 才會為此語句創建新的共享SQL 區。因此,引用了視圖的SQL 語句也能夠利用已有的共享 SQL 區以達到節約內存和提高性能的目的。 5.視圖的依賴性 由于視圖的定義是一個引用了其他對象(表,視圖)的查詢,因此視圖依賴于其所引用的對象。Oracle 會自動地處理視圖的依賴性。例如,當用戶移除了一個視圖的基表后再重建此表營銷型網站建設,Oracle 將檢查新的基表是否符合視圖的定義并判斷視圖的有效性。 6.可更新的連接視圖 連接視圖是指在一個視圖的定義查詢的from字句中引用了多個表或視圖。而可更新的連接視圖是指能夠執行 UPDATE,INSERT,和 DELETE 操作的連接視圖。為了保證視圖是可更新的,其定義中不能包含以下語法結構: 集合操作符 DISTINCT 操作符 聚合函數或分析型函數 GROUP BY,ORDER BY,CONNECT BY,或 START WITH 字句 在 SELECT 之后的列表中使用集合表達式 在 SELECT 之后的列表中使用子查詢 連接(join)(但是有例外情況) 對于不可更新的視圖,可以利用 INSTEAD OF 觸發器對其數據進行修改。相關seo網站優化軟件公司網站建設。
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-24 ,文章oracle中的視圖詳解建站知識主要講述視圖,詳解,oracle中的視圖詳解建站知識1網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_6772.html
- 上一篇:如何開設鏈接誘餌增加網站外鏈建站知識
- 下一篇:威客網兼職為什么發展后勁不足建站知識