一、兩者的區別
1)本質
表是內容,視圖是窗口。視圖是已經編譯好的sql語句,是基於sql語句的結果集的可視化的表,而表不是。
2)實與虛
表屬於全局模式中的表,是實表;視圖屬於局部模式的表,是虛表。
3)是否存在物理記錄
視圖沒有,而表有。
4)是否占用物理空間
表占用物理空間,而視圖不占用。視圖只是邏輯概念的存在,表可以及時對它進行修改,但視圖只能用創建的語句來修改。
5)是否影響
視圖的建立(create)和刪除(drop)只影響視圖本身,不影響對應的基本表。
6)安全因素
視圖是查看數據表的一種方法,可以查詢數據表中某些字段構成的數據,只是一些sql語句的集合。從安全的角度來說,視圖可以防止用戶接觸數據表,因而用戶不知道表結構。
二、兩者的聯系
視圖是在基本表之上建立的表,它的結構(即所定義的列)和內容(即所有記錄)都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。視圖是基本表的抽象和在邏輯意義上建立的新關系。