2、視圖沒有實際的物理記錄。而表有。
3、表是內容,視圖是窗口
4、表只用物理空間而視圖不占用物理空間,視圖只是邏輯概念的存在,表可以及時四對它進行修改,但視圖只能有創建的語句來修改
5、表是內模式,試圖是外模式
6、視圖是查看數據表的一種方法,可以查詢數據表中某些字段構成的數據,只是一些SQL語句的集合。從安全的角度說,視圖可以不給用戶接觸數據表,從而不知道表結構。
7、表屬於全局模式中的表,是實表;視圖屬於局部模式的表,是虛表。
8、視圖的建立和刪除只影響視圖本身,不影響對應的基本表。 9, 數據庫中的數據都是存儲在表中的,而視圖只是一個或多個表依照某個條件組合而成的結果集,一般來說你可以用update,insert,delete等sql語句修改表中的數據,而對視圖只能進行select操作。但是也存在可更新的視圖,對於這類視圖的update,insert和delete等操作最終會作用於與其相關的表中數據。因此,表是數據庫中數據存儲的基礎,而視圖只是為了滿足某種查詢要求而建立的一個對象。
聯系:視圖(view)是在基本表之上建立的表,它的結構(即所定義的列)和內容(即所有數據行)都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。視圖是基本表的抽象和在邏輯意義上建立的新關系
它和中間表也不同...中間表也是相當於一個獨立的表..和其它的表差不多...也是用來在存儲集合數據的.. 中間表里面有是有數據庫的..可以進行所有和T-SQL...而視圖是一虛擬的..不查詢里面不存儲值...
視圖的優點與缺點
在程序設計的時候必須先了解視圖的優缺點,這樣可以揚長避短,視圖具有如下的一些優點:
● 簡單性。視圖不僅可以簡化用戶對數據的理解,也可以簡化他們的操作。那些被經常使用的查詢可以被定義為視圖,從而使用戶不必為以后的操作每次都指定全部的條件。
● 安全性。通過視圖用戶只能查詢和修改他們所能見到的數據。數據庫中的其他數據則既看不見也取不到。數據庫授權命令可以使每個用戶對數據庫的檢索限制到特定的數據庫對象上,但不能授權到數據庫特定行和特定的列上。通過視圖,用戶可以被限制在數據的不同子集上。還有就是視圖在加載使用前在MS SQL中只保存視圖結構,而沒有數據,只有在使用時才加載數據
● 邏輯數據獨立性。視圖可以使應用程序和數據庫表在一定程度上獨立。如果沒有視圖,應用一定是建立在表上的。有了視圖之后,程序可以建立在視圖之上,從而程序與數據庫表被視圖分割開來。
視圖也存在一些缺點,主要如下。
● 性能:SQL Server必須把視圖的查詢轉化成對基本表的查詢,如果這個視圖是由一個復雜的多表查詢所定義,那么,即使是視圖的一個簡單查詢,SQL Server也把它變成一個復雜的結合體,需要花費一定的時間。
● 修改限制:當用戶試圖修改視圖的某些行時,SQL Server必須把它轉化為對基本表的某些行的修改。對於簡單視圖來說,這是很方便的,但是,對於比較復雜的視圖,可能是不可修改的。
所以,在定義數據庫對象時,不能不加選擇地來定義視圖,應該權衡視圖的優點和缺點,合理地定義視圖。