麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

數據庫中視圖的作用

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個視圖,每個視圖只包含一個院系的學生數據,并只允許每個院系的主任查詢和修改自己院系的學生視圖。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色av片在线观看 | 国产黄色一区二区 | 狠狠操视频网站 | 一级黄色欧美 | 特片网久久 | 久久免费视频一区 | 欧美一级毛片美99毛片 | 亚洲va久久久噜噜噜久牛牛影视 | 欧美日韩网站在线观看 | 国产精品久久久久久久四虎电影 | 日本在线免费观看视频 | 欧美日韩一 | 成人18网站 | 天天碰天天操 | 国产日本在线 | 黄色免费入口 | 石原莉奈日韩一区二区三区 | 色欲香天天天综合网站 | 欧美成人一级片 | 久久久国产精品免费观看 | 狠狠干最新网址 | 久久人人做| 欧美成人黄色小视频 | 暖暖免费观看高清完整版电影 | 久久羞羞视频 | h色视频在线观看 | 国产精品九九久久一区hh | xxxx69hd一hd72 | 日本a在线观看 | 久久免费视频8 | 在线免费观看毛片视频 | 美女网站黄在线观看 | 亚洲综合视频网 | 久久撸视频 | 免费午夜视频在线观看 | 九九热在线精品视频 | 电影av在线 | 色综av | 欧美激情精品久久久久久久久久 | 孕妇体内谢精满日本电影 | 亚洲欧美成aⅴ人在线观看 av免费在线播放 |