再看資料庫——(2)視圖,資料庫檢視
概念
*是從使用者使用資料庫的觀點來說的。
*從一個或多個表(視圖)中匯出來的
*一個虛表,或者說查詢表
為什麼要用視圖呢?
一是簡單,看到的就是需要的。視圖不僅可以簡化使用者對資料的理解,也可以簡化他們的操作。那些被經常使用的查詢可以被定義為視圖,從而使得使用者不必為以後的操作每次指定全部的條件。
二是 安全,通過視圖使用者只能查詢和修改他們所能見到的資料,但不能授權到資料庫特定行和特定的列上。通過視圖,使用者可以被限制在資料的不同子集上:使用許可權可被限制在另一視圖的一個子集上,或是一些視圖和基表合并後的子集上。
三是邏輯資料獨立性。視圖可協助使用者屏蔽真實表結構變化帶來的影響。
概括來說,由於使用者通過視圖只能查詢修改他們所能見到資料,所以操作起來自然簡單許多,也安全多了。這點在視圖的優點處還有涉及。
操作:
建立:
方法一:
執行顯示結果:
方法二:
用T-SQL語句:
use niunangocreate view View_Test1--要查詢的內容--as select name,title,content,createtime--查詢的表--from category,news--查詢條件--where category.id=news.categoryId
相應的,視圖的修改和刪除也可直接在物件總管中操作,在這裡就不做介紹。
修改:
use niunango--要修改的視圖,括弧中是列名--alter view View_Test(name,createTime)--格式與建立視圖時一致as select name,titlefrom category,newswhere category.id=news.categoryId
刪除:
drop view View_Test
優點:
簡化了對錶增刪改的操作。利用視圖,我們可以同時從兩個表中尋找資料,而不用視圖,就要一個一個的查詢,很麻煩也容易出錯。在一定程度上,使得資料庫的複雜度降低,資料共用更為方便。另一方面,使用者通過視圖只能查看和修改他們所能見到的資料,簡化了使用者權限的管理。
視圖與表:
視圖中只存放了表的定義,但沒有儲存視圖對應的資料,這些資料仍放在原來的資料表中。拿上面的例子說,建立的視圖中並沒有實際的新聞內容、類別名稱等資料,它們都還是儲存在原有的news,category表中。
視圖可以像表一樣進行增刪改查的操作。
如何更新資料庫中所有視圖?視圖只單或者多實體表種映射本身沒有實際資料根本需要更新每次訪問看都實體表裡新資料
更新意味著改視圖映射邏輯直接把視圖刪掉重建完了
資料庫檢視的作用視圖:從或幾基本表(或視圖)匯出虛擬表
作用:1、視圖能夠簡化使用者操作
2、視圖使使用者能多鐘角度看待同資料
3、視圖對重構資料庫提供了定程度邏輯獨立性
4、視圖能夠對機密資料提供安全保護
5、適當利用視圖更清晰表達查詢
6、int和Integer區別