a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > 文庫 > 正文

數據庫中視圖的作用

2024-09-07 22:12:27
字體:
來源:轉載
供稿:網友

視圖最終是定義在基本表之上的,對視圖的一切操作最終也要轉換為對基本表的操作。而且對于非行列子集視圖進行查詢或更新時還有可能出現問題。既然如此,為什么還要定義視圖呢?這是因為合理使用視圖能夠帶來許多好處:

1.視圖能夠簡化用戶的操作

視圖機制使用戶可以將注意力集中在所關心的數據上。如果這些數據不是直接來自基本表,則可以通過定義視圖,使數據庫看起來結構簡單、清晰,并且可以簡化用戶的數據查詢操作。例如,那些定義了若干張表連接的視圖,就將表與表之間的連接操作對用戶隱蔽起來了。換句話說,用戶所做的只是對—個虛表的簡單查詢,而這個虛表是怎樣得來的,用戶無需了解。

2.視圖使用戶能以多種角度看待同一數據

視圖機制能使不同的用戶以不同的方式看待同一個數據,當有許多不同種類的用戶共享同一個數據庫時,這種靈活性是非常重要的。

3.視圖提供了一定程度的邏輯獨立性

第一章中已經介紹過數據的物理獨獨立性性與邏輯獨立性的概念。數據的物理獨立性是指用戶的應用程序不依賴于數據庫的物理結構。數據的邏輯獨立性是指當數據庫重構造時,如增加新的關系或對原有關系增加新的字段等,用戶的應用程序不會受影響。層次數據庫和網狀數據庫一般能較好地支持數據的物理獨立性,而對于邏輯獨立性則不能完全地支持。

在關系數據庫中,數據庫的重構往往是不可避免的。重構數據庫最常見的是將一個基本表“垂直”地分成多個基本表。例如:將學生關系

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 JOIN SY ON SX.Sno = SY.Sno

這樣盡管數據庫的邏輯結構改變了(變為SX和SY兩個表了),但應用程序不必修改,因為新建立的視圖定義為用戶原來的關系,使用戶的外模式保持不變,用戶的應用程序通過視圖仍然能夠查找數據。

當然,視圖只能在一定程度上提供數據的邏輯獨立性,比如由于對視圖的更新是有條件的,因此應用程序中修改數據的語句可能仍會因基本表結構的改變而改變。

4.視圖提高了數據的安全性

有了視圖機制,就可以在設計數據庫應用系統時,對不同的用戶定義不同的視圖,使機密數據不出現在不應看到這些數據的用戶視圖上。這樣視圖機制就自動提供了對機密數據的安全保護功能。例如Student表涉及全校15個院系的學生數據,可以在其上定義15個視圖,每個視圖只包含一個院系的學生數據,并只允許每個院系的主任查詢和修改自己院系的學生視圖。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品国产乱码久久久久久牛牛 | 成人精品鲁一区一区二区 | 久久久久国产一区二区三区 | 国产大片中文字幕在线观看 | 欧美a∨| 国产精品自在 | 日韩三级电影免费观看 | 午夜一区二区三区在线观看 | 久久这里只有精品23 | 干网观看在线 | 97在线视频免费 | 日韩激情综合网 | 国产视频精品视频 | 黄色大片视频网站 | 天天操天天碰 | 国产二区在线播放 | 免费毛片网| 国产精品中文字幕在线播放 | 国产区视频在线 | 日本成人在线看 | 美女黄频在线 | 亚洲成a| 一级视频毛片 | 18毛片| 精品国产乱码久久久久久久 | 精品久久一区二区 | 日韩高清一级 | 伊人干| 国产精品久久久久久福利 | 日韩欧美在线播放 | 蜜桃久久一区二区三区 | 国产精品综合 | 国产精品一区二区在线播放 | 在线有码 | 久久久免费 | 一区二区三区欧美 | 玖玖精品在线 | 国产在线精品福利 | 综合网激情五月 | 精品久久久久久久久久久久久 | 99久精品|