視圖是從一個或多個基本表(或視圖)中導出的表,是一張虛表。
?視圖是查看數據庫表中數據的一種方法;
?視圖提供了存儲預定義的查詢語句作為數據庫中的對象以備以后使用的能力;
?視圖只是一種邏輯對象,并不是物理對象,因為視圖不占物理存儲空間;
數據庫視圖和表的區別。??在視圖中被查詢的表稱為視圖的基表;
?視圖的內容包括:基表的列的子集或者行的子集;兩個或者多個基表的聯合;兩個或者多個基表的連接;基表的統計匯總;另外一個視圖的子集;視圖和基表的混合。
3.視圖作用(優點)
?集中用戶使用的數據;
數據庫視圖的作用是什么、?掩碼數據庫的復雜性,視圖把數據庫設計的復雜性與用戶屏蔽分開;
?簡化用戶權限的管理;
?為向其他應用程序輸出而重新組織數據。
4.視圖的使用范圍
數據庫索引怎么建立、?著重于特定數據:視圖使用戶能夠著重于他們所感興趣的特定數據和所負責的特定任務。不必要的數據或敏感數據可以不出現在視圖中。
?簡化數據操作:視圖可以簡化用戶處理數據的方式。可以將常用的連接、投影、UNION查詢和SELECT查詢定義為視圖,用戶不必每次對該數據執行附加操作時指定所有條件和條件限定。
?自定義數據:視圖允許用戶以不同的方式查看數據,即使在他們同時使用相同的查詢時也是如此。
5.視圖定義
sql的視圖。SQL語言用CREATE VIEW 命令創立視圖,其一般格式為:
CREATE VIEW<視圖名>[(<列名>[,<列名>]...)]
AS<子查詢>
[WITH CHECK OPTION];
?子查詢可以是任意復雜的SELECT語句,但通常不允許含有ORDER BY 子語句和DISTINCT短語。
a.某個目標列不是單純的屬性名,而是聚集函數或列表達式。b.多表連接是選出了幾個同名的列作為視圖的字段。c.需要在視圖中為某個列用新的更合適的名字。
CREATE VIEW cs_computer
AS
SELECT sno,sname,sage
FROM student
WHERE sdept='CS';
例2:建立計算機系學生的視圖,并要求進行修改和插入操作時仍需保證該視圖只有計算機系的學生。
?
CREATE VIEW cs_computer
AS
SELECT sno,sname,sage
FROM student
WHERE sdept='CS'
WITH CHECK OPTION;
CREATE VIEW cs_s1(sno,sname,cgrade)
AS
SELECT student.sno,sname,cgrade
FROM student,sc
WHERE sdept='CS' AND student.sno=sc.sno AND cgrade>=90;