成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server視圖的功能有哪些?

數據庫 SQL Server
我們今天主要向大家描述的是SQL Server視圖的功能,以下的文章將會給你內容的詳細介紹,下面就是相關內容的具體描述。

以下的文章主要向大家描述的是SQL Server視圖的功能,前段時間作項目中,SQL Server視圖在實際操作中會有一些實際使用的問題,在以前的工作視圖是很少遇到的,認為直接用表就ok了,何須視圖呢?下面我來講述一下它的功用。

以往當我們查詢數據時,一定要很認真的地從設計select語句開始,將需要查詢的每個字段寫在sql語句里,

 

前段時間作項目中,遇到使用SQL Server視圖的問題,以前的工作中很少遇到視圖,認為直接用表就ok了,何須視圖呢?下面我來講述一下它的功用:以往當我們查詢數據時,一定要很認真的地從設計select語句開始,將需要查詢的每個字段寫在sql語句里,每次你要以同樣的條件來查詢數據時,那么每次都要重復輸入相同的查詢語句,效率很低。

若將這個經常要重復使用的查詢語句創建成視圖,就不用那么麻煩了!直接用select * from 視圖名 就行了,其實將查詢語句創建成SQL Server視圖,不僅僅是簡化查詢的動作;更重要的是,視圖具備數據表的特性,還可以衍生出更多的應用。

 

所謂視圖(View)其實是執行查詢語句后得到的結果,但這個查詢結果可以仿真成數據表來使用,所以有人也稱它為“虛擬數據表”,視圖在操作上和數據表沒有什么區別,但兩者的差異是其本質是不同的:

數據表是實際存儲記錄的地方,然而視圖并不保存任何記錄,它存儲的實際上是查詢語句,其所呈現出來的記錄實際來自于數據表,可以為多張數據表,大家由此可以預見到視圖應用的彈性!我們可以依據各種查詢需要創建不同視圖,但不會因此而增加數據庫的數據量。

下面總結視圖的幾大優點:1.增強可讀性 2.數據安全及保密:針對不同用戶,可以創建不同視圖,限制其所能瀏覽和編輯的數據內容。3.降低查詢復雜度 4.方便維護。

總之,善于運用視圖可以讓數據庫的設計、管理及使用都更加有效率、更加方便。

視圖可以被看成是虛擬表或存儲查詢。可通過視圖訪問的數據不作為獨特的對象存儲在數據庫內。數據庫內存儲的是 SELECT 語句。SELECT 語句的結果集構成視圖所返回的虛擬表。用戶可以用引用表時所使用的方法,在 Transact-SQL 語句中通過引用視圖名稱來使用虛擬表。使用SQL Server視圖可以實現下列任一或所有功能:

ps:leeenx的見解是,因為視圖存儲的是語句,所以在使用視圖時,運行的速度跟使用數據表是一樣的(嚴格上說應該會慢一些,因為要先執行sql語句再生成表)

將用戶限定在表中的特定行上。

例如,只允許雇員看見工作跟蹤表內記錄其工作的行。

 

將用戶限定在特定列上。

例如,對于那些不負責處理工資單的雇員,只允許他們看見雇員表中的姓名列、辦公室列、工作電話列和部門列,而不能看見任何包含工資信息或個人信息的列。

 

將多個表中的列聯接起來,使它們看起來象一個表。

聚合信息而非提供詳細信息。

例如,顯示一個列的和,或列的最大值和最小值。

 

通過定義 SELECT 語句以檢索將在視圖中顯示的數據來創建視圖。SELECT 語句引用的數據表稱為視圖的基表。在下例中,pubs 數據庫中的 titleview 是一個視圖,該視圖選擇三個基表中的數據來顯示包含常用數據的虛擬表:

  1. CREATE VIEW titleview  
  2. AS  
  3. SELECT title, au_ord, au_lname, price, ytd_sales, pub_id  
  4. FROM authors AS a  
  5. JOIN titleauthor AS ta ON (a.au_id = ta.au_id)  
  6. JOIN titles AS t ON (t.title_id = ta.title_id) 

之后,可以用引用表時所使用的方法在語句中引用 titleview。

  1. SELECT *  
  2. FROM titleview 

一個視圖可以引用另一個SQL Server視圖。例如,titleview 顯示的信息對管理人員很有用,但公司通常只在季度或年度財務報表中才公布本年度截止到現在的財政數字。可以建立一個視圖,在其中包含除 au_ord 和 ytd_sales 外的所有 titleview 列。使用這個新視圖,客戶可以獲得已上市的書籍列表而不會看到財務信息:

  1. CREATE VIEW Cust_titleview  
  2. AS  
  3. SELECT title, au_lname, price, pub_id  
  4. FROM titleview 

視圖可用于在多個數據庫或 Microsoft® SQL Server™ 2000 實例間對數據進行分區。分區視圖可用于在整個服務器組內分布數據庫處理。服務器組具有與服務器聚集相同的性能優點,并可用于支持最大的 Web 站點或公司數據中心的處理需求。

原始表被細分為多個成員表,每個成員表包含原始表的行子集。每個成員表可放置在不同服務器的數據庫中。每個服務器也可得到分區視圖。分區視圖使用 Transact-SQL UNION 運算符,將在所有成員表上選擇的結果合并為單個結果集,該結果集的行為與整個原始表的復本完全一樣。例如在三個服務器間進行表分區。在第一個服務器上定義如下的分區視圖:

  1. CREATE VIEW PartitionedView AS  
  2. SELECT *  
  3. FROM MyDatabase.dbo.PartitionTable1  
  4. UNION ALL  
  5. SELECT *  
  6. FROM Server2.MyDatabase.dbo.PartitionTable2  
  7. UNION ALL  
  8. SELECT *  
  9. FROM Server3.MyDatabase.dbo.PartitionTable3 

在其它兩個服務器上定義類似的分區視圖。利用這三個視圖,三個服務器上任何引用 PartitionedView 的 Transact-SQL 語句都將看到與原始表中相同的行為。似乎每個服務器上都存在原始表的復本一樣,而實際上每個表只有一個成員表和分區SQL Server視圖。有關更多信息,請參見視圖使用方案。

只要所做的修改只影響視圖所引用的其中一個基表,就可以更新所有 SQL Server 版本內的視圖(可以對其執行 UPDATE、DELETE 或 INSERT 語句)。

  1. -- Increase the prices for publisher '0736' by 10%.  
  2. UPDATE titleview  
  3. SET priceprice = price * 1.10  
  4. WHERE pub_id = '0736' 
  5. GO 

SQL Server 2000 支持可引用視圖的更復雜的 INSERT、UPDATE 和 DELETE 語句。可在視圖上定義 INSTEAD OF 觸發器,指定必須對基表執行的個別更新以支持 INSERT、UPDATE 或 DELETE 語句。另外,分區視圖還支持 INSERT、UDPATE 和 DELETE 語句修改視圖所引用的多個成員表。

索引視圖是 SQL Server 2000 具有的功能,可顯著提高復雜視圖類型的性能,這些視圖類型通常在數據倉庫或其它決策支持系統中出現。

視圖的結果集通常不保存在數據庫中,因此視圖也稱為虛擬表。SQL Server視圖的結果集動態包含在語句邏輯中并在運行時動態生成。有關更多信息,請參見視圖解析。

復雜的查詢(如決策支持系統中的查詢)可引用基表中的大量行,并將大量信息聚積在相對較簡潔的聚合中,如總和或平均值。SQL Server 2000 支持在執行此類復雜查詢的視圖上創建聚集索引。當執行 CREATE INDEX 語句時,視圖 SELECT 的結果集將永久存儲在數據庫中。SQL 語句此后若引用該視圖,響應時間將會顯著縮短。對基本數據的修改將自動反映在視圖中。

SQL Server 2000 CREATE VIEW 語句支持 SCHEMABINDING 選項,以防止視圖所引用的表在視圖未被調整的情況下發生改變。必須為任何創建索引的視圖指定 SCHEMABINDING。

 

【編輯推薦】

  1. 批量修改SQL Server 2005表構架很簡單!
  2. SQL Server 日期操作全接觸,嘻嘻
  3. SQL Server 易混淆的一些數據類型有哪些?
  4. SQL Server數據整理的操作方案描述
  5. SQL Server group by的用法有很多

 

責任編輯:佚名 來源: 道瓊斯通訊社
相關推薦

2010-07-23 09:53:29

SQL Server

2010-07-19 09:31:53

SQL Server系

2010-07-06 17:16:43

SQL Server視

2010-06-08 10:56:56

HTTP協議功能

2010-06-28 13:27:33

SQL Server視

2010-11-12 11:19:19

SQL Server視

2020-11-23 08:13:27

物聯網

2010-09-27 09:54:26

Sql Server視

2015-06-23 10:12:58

2011-04-02 17:21:29

sql server視圖

2010-09-13 11:09:34

SQL SERVER分

2017-10-25 14:55:51

綜合布線電子配線架LED

2010-11-11 17:20:51

SQL Server創

2010-07-14 10:11:30

SQL Server系

2015-10-19 10:07:24

OpenStackOpenStack L功能特性

2010-11-11 16:59:59

SQL Server視

2010-11-11 17:15:13

SQL Server視

2010-07-07 13:18:13

SQL Server視

2010-07-19 16:36:13

SQL Server視

2009-07-02 12:57:00

SQL Server視
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线视频亚洲 | 国产激情视频在线观看 | 久久久久午夜 | 日韩视频在线一区 | caoporn国产精品免费公开 | 成人免费视频在线观看 | 国产成人综合久久 | 一区二区三区久久 | 亚洲精品久久久久久久久久久 | 国产一区二区在线视频 | 日本天天操| 美女爽到呻吟久久久久 | 国产精品美女久久久免费 | 精品视频一区二区 | 超碰av免费| 欧美日韩亚洲视频 | 欧美激情精品久久久久 | 亚洲中午字幕 | 亚洲成人免费电影 | 亚洲美女一区 | 黄色成人av | 成人三级视频在线观看 | 色噜噜色综合 | 国产精品九九九 | 色香婷婷| 在线一区二区三区 | 婷婷中文在线 | 欧美日韩亚洲国产综合 | 日本成人在线播放 | 亚洲永久 | 欧美视频在线看 | 国产成人精品一区二区 | 国产精品一区二区三区四区 | 国产精品免费大片 | 99久久免费精品国产免费高清 | av中文字幕在线 | 色999视频| 欧美男人天堂 | 成人欧美一区二区三区白人 | 免费观看的av | 视频一区中文字幕 |