• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            黎明的剔透里伸出了你沁清的曖昧

            Graphics|EngineDev|GameDev|2D&3D Art

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              60 隨筆 :: 1 文章 :: 18 評論 :: 0 Trackbacks

            背景:現在要做一個用戶管理的系統,需要我們提供服務來實現和原始數據庫的兼容,但是現在我們的數據庫和網站數據庫中存儲的內容或者說是字段有些不同,但是我們還是希望可以的話,將改動降低到最小,當然,這只是我的初步了解,現在具體的情況還沒有很了解,為了這方面的應用,上網了解了一下數據庫的相關操作,了解到“視圖”是個比較有利的武器可以解決這個問題。

            視圖是從一個或幾個基本表(或視圖)導出的表。它與基本表不同,是一個虛表。數據庫只存放視圖的定義,而不存放視圖對應的數據,這些數據仍存放在原來的基本表中。所以基本表中的數據發生變化,從視圖中查詢出的數據也就隨之改變了。從這個意義上講,視圖就像一個窗口,透過它可以看到數據庫中自己感興趣的數據及其變化。
            視圖使用的時候跟表一樣。主要作用是不讓所有的人都能看到整張表。比如有個員工信息表,里面有聯系方式,薪資等,可能只希望HR能看到薪資,其他人只能看到聯系方式,那么就可以使用視圖來實現。
            既然視圖的定義是基于基本表的,那為什么還要定義視圖呢?這是因為合理地使用視圖能夠帶來許多好處:
            1、單源表視圖
               視圖的數據可以只取自一個基本表的部分行、列,這樣的視圖行列與基本表行列對應。這樣定義的視圖一般可以進行查詢和更改數據操作。
            2、多源表視圖
               視圖的數據可以來自多個表中,這樣定義的視圖一般只用于查詢,不用于修改數據。
            3、在已有視圖上定義的新視圖
               可以在視圖上再建立視圖,這時作為數據源的視圖必須是已經建立好的。
            4、帶表達式的視圖
               在定義基本表時,為減少數據庫中的冗余數據,表中只存放基本數據,由基本數據經過各種計算派生出的數據一般是不存儲的。但由于視圖中的數據并不實際存儲,所以定義視圖時可以根據需要設置一些派生屬性列,在這些派生屬性列中保存經過計算的值。這些派生屬性由于在基本表中并不實際存在,因此,也稱它們為虛擬列。包含虛擬列的視圖也稱為帶表達式的視圖。
            5、含分組統計信息的視圖
               含分組統計信息的視圖是指定義視圖的查詢語句中含有GROUP BY子句,這樣的視圖只能用于查詢,不能用于修改數據。

            數據的物理獨立性是指用戶的應用程序不依賴于數據庫的物理結構。數據的邏輯獨立性是指當數據庫重構造時,如增加新的關系或對原有的關系增加新的字段,用戶的應用程序不會受影響。層次數據庫和網狀數據庫一般能較好地支持數據的物理獨立性,而對于邏輯獨立性則不能完全的支持。
            在相關許數據庫中,數據庫的重構造往往是不可避免的。重構數據庫最常見的是將一個基本表“垂直”地分成多個基本表。例如:將學生關系Student(Sno,Sname,Ssex,Sage,Sdept),分為SX(Sno,Sname,Sage)和SY(Sno,Ssex,Sdept)兩個關系。這時原表Student為SX表和SY表自然連接的結果。如果建立一個視圖Student:
            CREATE VIEW Student(Sno,Sname,Ssex,Sage,Sdept)
            AS
            SELECT SX.Sno,SX.Sname,SY.Ssex,SX.Sage,SY.Sdept
            FROM SX,SY
            WHERE SX.Sno=SY.Sno;
            這樣盡管數據庫的邏輯結構改變了(變為SX和SY兩個表了),但應用程序不必修改,因為新建立的視圖定義為用戶原來的關系,使用戶的外模式保持不變,用戶的應用程序通過視圖仍然能夠查找數據。
            當然,視圖只能在一定程度上提供數據的邏輯獨立,比如由于視圖的更新是有條件的,因此應用程序中修改數據的語句可能仍會因為基本表構造的改變而改變。

            posted on 2013-11-08 08:28 情絕格調(fresmaster) 閱讀(4687) 評論(0)  編輯 收藏 引用
            久久婷婷国产麻豆91天堂| 99久久综合国产精品免费| 国产精品久久久久久久久免费 | 国产成人精品久久亚洲| 欧美日韩精品久久久久| 久久久久久狠狠丁香| 久久综合鬼色88久久精品综合自在自线噜噜 | 青青草国产成人久久91网| 亚洲乱码精品久久久久.. | 久久夜色精品国产欧美乱| 国产ww久久久久久久久久| 天天爽天天狠久久久综合麻豆| 久久久久亚洲AV成人网人人网站| 久久久久久无码Av成人影院| 久久夜色精品国产亚洲av| 91久久精品国产91性色也| 亚洲午夜久久久久久久久电影网| 免费精品久久久久久中文字幕| 久久99国产乱子伦精品免费| 亚洲精品乱码久久久久久自慰| 久久久久久国产精品无码下载| 久久精品国产亚洲一区二区| 精品久久8x国产免费观看| 亚洲国产精品无码久久久秋霞2| 亚洲另类欧美综合久久图片区| 国内精品久久久久久久久电影网| 久久99精品久久久久久hb无码| 久久精品青青草原伊人| 国产欧美久久久精品影院| 久久无码国产| 无码任你躁久久久久久老妇App| 久久伊人色| 久久久亚洲AV波多野结衣| 久久人妻无码中文字幕| 国内精品人妻无码久久久影院导航| 中文字幕久久亚洲一区| 亚洲精品乱码久久久久久蜜桃不卡| 国产激情久久久久久熟女老人| 东方aⅴ免费观看久久av| 久久精品人成免费| 久久综合丁香激情久久|