首頁  >  文章  >  資料庫  >  oracle視圖和表格的差別是什麼

oracle視圖和表格的差別是什麼

青灯夜游
青灯夜游原創
2021-12-24 13:45:0815826瀏覽

區別:1、檢視是已經編譯好的sql語句,而表格不是;2、檢視沒有實際的實體記錄,而表有;3、表格是內容,檢視是視窗;4、表格是內模式,視圖是外模式;5、表屬於全域模式中的表,是實表,而視圖屬於局部模式的表,是虛表。

oracle視圖和表格的差別是什麼

本教學操作環境:Windows7系統、Oracle 11g版、Dell G3電腦。

一:什麼是表:

表是作為oracle資料庫儲存資料的一種資料結構,就相當於我們在java中用集合list,或是陣列儲存我們的資料一樣,表格是一種二維結構,有行有列,我們把相同類型的資料歸為一列,例如每個人都有姓名,我們就把姓名歸為一列,年齡歸為一列,而行對應每個人的數據,例如第一行是小紅的姓名和年齡,第二行是小強的姓名和年齡。透過建立表格然後向表中插入數據,最終實現資訊的儲存。

二:什麼是視圖:

1、為什麼要用視圖?

舉個例子,對於公司人員資訊表上都有他們的薪資情況,財務再根據資料庫裡薪資來給每個人發放工資,所以工資這一欄是非常重要的,所以為了確保運作條理性,我們一般不能讓資料庫管理員看到這一欄的,畢竟管理員也是員工,對於這些敏感的信息,可能他看不到對大家都好。那麼就衍生了該如何解決這個問題呢,有的人會說創建一個新的員工表,裡面沒有員工工資一欄,但是這個方法可是非常不明智的,因為當我們把原來的數據修改之後豈不是還要再新表上還要做一次修改,而且在新表上做了修改還要更新到主表,中間就會出現很多問題的,此時利用視圖則是最合理的一個方法。

視圖是從已存在表上抽出邏輯相關的資料集合,其本身和表的區別不大,都是對資料一種存儲,只不過我們可以在已有表的基礎上抽取一部分我們想要的數據。

2、我們修改視圖之後會更新到基底表中嗎?

這個是肯定的,視圖的意義就是對基表中的資料進行一部分提取後然後提供給其他人操作的,如果不能更新基表,那和新建一個表就毫無差別了,同時對於基底表中資料的改變也能立刻更新視圖。

三:區別:

1、檢視是已經編譯好的sql語句。而表不是。

2、視圖沒有實際的實體記錄。而表有。

3、表格是內容,檢視是視窗。

4、表只用物理空間而視圖不佔用物理空間,視圖只是邏輯概念的存在,表可以及時對它進行修改,但視圖只能有創建的語句來修改。

5、表格是內模式,視圖是外模式。

6、檢視是檢視資料表的一種方法,可以查詢資料表中某些欄位所構成的數據,只是一些SQL語句的集合。從安全的角度說,視圖可以不給使用者接觸資料表,從而不知道表結構。

7、表屬於全域模式中的表,是實表;視圖屬於局部模式的表,是虛表。

8、視圖的建立和刪除只會影響視圖本身,不影響對應的基本表。

推薦教學:《Oracle教學

以上是oracle視圖和表格的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn