作用
①簡化了操作,把經常使用的數據定義為視圖。
②安全性,用戶只能查詢和修改能看到的數據。
③邏輯上的獨立性,屏蔽了真實表的結構帶來的影響。
?
對視圖的修改:單表視圖一般用于查詢和修改,會改變基本表的數據,
多表視圖一般用于查詢,不會改變基本表的數據
例如,多表:
create view view1 as select * from device_to_data_verification_strategy_group a left join meter_manage b on a.device_id=b.meter_id go --drop view view1select * from view1update view1 set group_id=2 where device_id=0
?
?
單表:
create view view1 as select * from device_to_data_verification_strategy_group go --drop view view1select * from view1update view1 set group_id=3 where device_id=0
?
缺點:?
①性能差
? 數據庫必須把視圖查詢轉化成對基本表的查詢,如果這個視圖是由一個復雜的多表查詢所定義,那么,即使是視圖的一個簡單查詢,數據庫也要把它變成一個復雜的結合體,需要花費一定的時間。?
②修改限制
? 當用戶試圖修改視圖的某些信息時,數據庫必須把它轉化為對基本表的某些信息的修改,對于簡單的視圖來說,這是很方便的,但是,對于比較復雜的試圖,可能是不可修改的。