qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          hibernate配置數據庫

           視圖有以下幾方面的功能:

            1.簡化應用程序。

            視圖做為數據庫中的一種實體,實際上存在的只是它的腳本,而它的內容并不真正的單獨存在一份。一般,可以對復雜的應用程序從功能角度進行分析,將可以與其它的應用程序共用的那一部分,分離出來。對這部分功能,視具體情況可做成不同的數據庫實體(如過程),有些是可以做成視圖的。這樣,上層的應用程序就可以從視圖中取數據了。

            還有,可以把對遠地數據庫的訪問封裝在視圖中,使之對上層應用程序透明。

            2.可以對 UNION 后的記錄集排序。

            直接對以下語句的結果排序,是不可能的(至少我不知道怎么直接排序)。

            select a.id id from a

            union

            select b.id id from b;

            所以把以上語句作成視圖后,就可以了。設視圖名為A_B:

            select id from A_B order by id;

            3.可以實現一定的權限控制。

            可以根據需要,對表中的一部分內容做一個視圖,以供一定的角色使用。可以對表中的一部分記錄做一個視圖(縱向),也可以對一個表中的一部分字段做一個視圖(橫向),或二者兼而有之。

            暫時想了這么多,希望大家多多指正與補充。

            --------------------------------------------------------------------

            視圖是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖并不在數據庫中以存儲的數據值集形式存在。行和列數據來自由定義視圖的查詢所引用的表,并且在引用視圖時動態生成。

            對其中所引用的基礎表來說,視圖的作用類似于篩選。定義視圖的篩選可以來自當前或其它數據庫的一個或多個表,或者其它視圖。分布式查詢也可用于定義使用多個異類源數據的視圖。如果有幾臺不同的服務器分別存儲組織中不同地區的數據,而您需要將這些服務器上相似結構的數據組合起來,這種方式就很有用。

            一、視圖的作用

            * 簡單性。看到的就是需要的。視圖不僅可以簡化用戶對數據的理解,也可以簡化他們的操作。那些被經常使用的查詢可以被定義為視圖,從而使得用戶不必為以后的操作每次指定全部的條件。

            * 安全性。通過視圖用戶只能查詢和修改他們所能見到的數據。數據庫中的其它數據則既看不見也取不到。數據庫授權命令可以使每個用戶對數據庫的檢索限制到特定的數據庫對象上,但不能授權到數據庫特定行和特定的列上。通過視圖,用戶可以被限制在數據的不同子集上:

            使用權限可被限制在基表的行的子集上。

            使用權限可被限制在基表的列的子集上。

            使用權限可被限制在基表的行和列的子集上。

            使用權限可被限制在多個基表的連接所限定的行上。

            使用權限可被限制在基表中的數據的統計匯總上。

            使用權限可被限制在另一視圖的一個子集上,或是一些視圖和基表合并后的子集上。

            * 邏輯數據獨立性。視圖可幫助用戶屏蔽真實表結構變化帶來的影響。

          二、視圖的優點

            (1)視圖能簡化用戶的操作

            (2)視圖機制可以使用戶以不同的方式查詢同一數據

            (3)視圖對數據庫重構提供了一定程度的邏輯獨立性

            (4)視圖可以對機密的數據提供安全保護

            三、視圖的安全性

            視圖的安全性可以防止未授權用戶查看特定的行或列,是用戶只能看到表中特定行的方法如下:

            1 在表中增加一個標志用戶名的列;

            2 建立視圖,是用戶只能看到標有自己用戶名的行;

            3 把視圖授權給其他用戶。

            四、邏輯數據獨立性

            視圖可以使應用程序和數據庫表在一定程度上獨立。如果沒有視圖,應用一定是建立在表上的。有了視圖之后,程序可以建立在視圖之上,從而程序與數據庫表被視圖分割開來。視圖可以在以下幾個方面使程序與數據獨立:

            1 如果應用建立在數據庫表上,當數據庫表發生變化時,可以在表上建立視圖,通過視圖屏蔽表的變化,從而應用程序可以不動。

            2 如果應用建立在數據庫表上,當應用發生變化時,可以在表上建立視圖,通過視圖屏蔽應用的變化,從而使數據庫表不動。

            3 如果應用建立在視圖上,當數據庫表發生變化時,可以在表上修改視圖,通過視圖屏蔽表的變化,從而應用程序可以不動。

            4 如果應用建立在視圖上,當應用發生變化時,可以在表上修改視圖,通過視圖屏蔽應用的變化,從而數據庫可以不動。

            五、視圖的書寫格式

            Create VIEW <視圖名>[(列名組)]

            AS <子查詢>

            Drop VIEW <索引名>

            注意:視圖可以和基本表一樣被查詢,但是利用視圖進行數據增,刪,改操作,會受到一定的限制。

            (1)由兩個以上的基本表導出的視圖

            (2)視圖的字段來自字段表達式函數

            (3)視圖定義中有嵌套查詢

            (4)在一個不允許更新的視圖上定義的視圖

          posted on 2013-09-12 10:34 順其自然EVO 閱讀(187) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2013年9月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 灌阳县| 南充市| 新营市| 定南县| 龙海市| 前郭尔| 罗田县| 田阳县| 阜新| 肥东县| 乐昌市| 宝坻区| 周口市| 通化县| 简阳市| 怀仁县| 丰城市| 烟台市| 宣恩县| 东阿县| 济阳县| 崇明县| 涿州市| 教育| 都匀市| 达孜县| 宜黄县| 迭部县| 日土县| 全椒县| 张家口市| 靖远县| 三门峡市| 城市| 莆田市| 电白县| 曲水县| 堆龙德庆县| 稻城县| 海晏县| 图木舒克市|