標籤:boa 限制 details pop time 閱讀 結合 比較 oar
資料庫--視圖的基本概念以及作用2016年11月09日 20:24:04閱讀數:16506視圖(子查詢):是從一個或多個表匯出的虛擬表,其內容由查詢定義。具有普通表的結構,但是不實現資料存放區。
對視圖的修改:單表視圖一般用於查詢和修改,會改變基本表的資料,
多表視圖一般用於查詢,不會改變基本表的資料。
[sql] view plain copy
- --建立視圖--
- create or replace view v_student as select * from student;
- --從視圖中檢索資料--
- select * from v_student;
- --刪除視圖--
- drop view v_student;
作用:
①簡化了操作,把經常使用的資料定義為視圖。
我們在使用查詢時,在很多時候我們要使用彙總函式,同時還要 顯示其它欄位的資訊,可能還會需要關聯到其它表,這時寫的語句可能會很長,如果這個動作頻繁發生的話,我們可以建立視圖,這以後,我們只需要select * from view就可以啦,這樣很方便。
②安全性,使用者只能查詢和修改能看到的資料。
因為視圖是虛擬,物理上是不存在的,只是儲存了資料的集合,我們可以將基表中重要的欄位資訊,可以不通過視圖給使用者,視圖是動態資料的集合,資料是隨著基表的更新而更新。同時,使用者對視圖不可以隨意的更改和刪除,可以保證資料的安全性。
③邏輯上的獨立性,屏蔽了真實表的結構帶來的影響。
視圖可以使應用程式和資料庫表在一定程度上獨立。如果沒有視圖,應用一定是建立在表上的。有了視圖之後,程式可以建立在視圖之上,從而程式與資料庫表被視圖分割開來。
缺點:
①效能差
資料庫必須把視圖查詢轉化成對基本表的查詢,如果這個視圖是由一個複雜的多表查詢所定義,那麼,即使是視圖的一個簡單查詢,資料庫也要把它變成一個複雜的結合體,需要花費一定的時間。
②修改限制
當使用者試圖修改視圖的某些資訊時,資料庫必須把它轉化為對基本表的某些資訊的修改,對於簡單的視圖來說,這是很方便的,但是,對於比較複雜的試圖,可能是不可修改的。
在定義資料庫物件時,不能不加選擇地來定義視圖,應該權衡視圖的優點和缺點,合理地定義視圖。
視圖(子查詢):是從一個或多個表匯出的虛擬表,其內容由查詢定義。
具有普通表的結構,但是不實現資料存放區。
對視圖的修改:單表視圖一般用於查詢和修改,會改變基本表的資料,
多表視圖一般用於查詢,不會改變基本表的資料。
[sql] view plain copy
- --建立視圖--
- create or replace view v_student as select * from student;
- --從視圖中檢索資料--
- select * from v_student;
- --刪除視圖--
- drop view v_student;
作用:
①簡化了操作,把經常使用的資料定義為視圖。
②安全性,使用者只能查詢和修改能看到的資料。
③邏輯上的獨立性,屏蔽了真實表的結構帶來的影響。
【轉】資料庫--視圖的基本概念以及作用