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

SQL Server視圖的實(shí)際操作功能描述

數(shù)據(jù)庫(kù) SQL Server
我們今天主要和大家一起分享的是SQL Server視圖的實(shí)際操作功能,假如你對(duì)SQL Server視圖的實(shí)際操作功能有興趣了解的話,你就可以瀏覽以下的文章了。

此文主要向大家講述的是SQL Server視圖的實(shí)際操作功能,在前一段時(shí)間作項(xiàng)目中,我們?cè)龅绞褂靡晥D的問(wèn)題,以前的工作中很少遇到視圖,認(rèn)為直接用表就ok了,何須視圖呢?下面我來(lái)講述一下它的功用:

以往當(dāng)我們查詢數(shù)據(jù)時(shí),一定要很認(rèn)真的地從設(shè)計(jì)select語(yǔ)句開(kāi)始,將需要查詢的每個(gè)字段寫(xiě)在sql語(yǔ)句里,

 

前段時(shí)間作項(xiàng)目中,遇到使用SQL Server視圖的問(wèn)題,以前的工作中很少遇到視圖,認(rèn)為直接用表就ok了,何須視圖呢?下面我來(lái)講述一下它的功用:以往當(dāng)我們查詢數(shù)據(jù)時(shí),一定要很認(rèn)真的地從設(shè)計(jì)select語(yǔ)句開(kāi)始,將需要查詢的每個(gè)字段寫(xiě)在sql語(yǔ)句里,每次你要以同樣的條件來(lái)查詢數(shù)據(jù)時(shí),那么每次都要重復(fù)輸入相同的查詢語(yǔ)句,效率很低。

若將這個(gè)經(jīng)常要重復(fù)使用的查詢語(yǔ)句創(chuàng)建成視圖,就不用那么麻煩了!直接用select * from 視圖名 就行了,其實(shí)將查詢語(yǔ)句創(chuàng)建成視圖,不僅僅是簡(jiǎn)化查詢的動(dòng)作;更重要的是,視圖具備數(shù)據(jù)表的特性,還可以衍生出更多的應(yīng)用。

 

所謂視圖(View)其實(shí)是執(zhí)行查詢語(yǔ)句后得到的結(jié)果,但這個(gè)查詢結(jié)果可以仿真成數(shù)據(jù)表來(lái)使用,所以有人也稱它為“虛擬數(shù)據(jù)表”,視圖在操作上和數(shù)據(jù)表沒(méi)有什么區(qū)別,但兩者的差異是其本質(zhì)是不同的:

數(shù)據(jù)表是實(shí)際存儲(chǔ)記錄的地方,然而視圖并不保存任何記錄,它存儲(chǔ)的實(shí)際上是查詢語(yǔ)句,其所呈現(xiàn)出來(lái)的記錄實(shí)際來(lái)自于數(shù)據(jù)表,可以為多張數(shù)據(jù)表,大家由此可以預(yù)見(jiàn)到視圖應(yīng)用的彈性!我們可以依據(jù)各種查詢需要?jiǎng)?chuàng)建不同SQL Server視圖,但不會(huì)因此而增加數(shù)據(jù)庫(kù)的數(shù)據(jù)量。

下面總結(jié)視圖的幾大優(yōu)點(diǎn):1.增強(qiáng)可讀性 2.數(shù)據(jù)安全及保密:針對(duì)不同用戶,可以創(chuàng)建不同視圖,限制其所能瀏覽和編輯的數(shù)據(jù)內(nèi)容。3.降低查詢復(fù)雜度 4.方便維護(hù)。

總之,善于運(yùn)用視圖可以讓數(shù)據(jù)庫(kù)的設(shè)計(jì)、管理及使用都更加有效率、更加方便。

視圖可以被看成是虛擬表或存儲(chǔ)查詢。可通過(guò)視圖訪問(wèn)的數(shù)據(jù)不作為獨(dú)特的對(duì)象存儲(chǔ)在數(shù)據(jù)庫(kù)內(nèi)。數(shù)據(jù)庫(kù)內(nèi)存儲(chǔ)的是 SELECT 語(yǔ)句。SELECT 語(yǔ)句的結(jié)果集構(gòu)成視圖所返回的虛擬表。用戶可以用引用表時(shí)所使用的方法,在 Transact-SQL 語(yǔ)句中通過(guò)引用視圖名稱來(lái)使用虛擬表。使用視圖可以實(shí)現(xiàn)下列任一或所有功能:

ps:leeenx的見(jiàn)解是,因?yàn)橐晥D存儲(chǔ)的是語(yǔ)句,所以在使用SQL Server視圖時(shí),運(yùn)行的速度跟使用數(shù)據(jù)表是一樣的(嚴(yán)格上說(shuō)應(yīng)該會(huì)慢一些,因?yàn)橐葓?zhí)行sql語(yǔ)句再生成表)

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

例如,只允許雇員看見(jiàn)工作跟蹤表內(nèi)記錄其工作的行。

 

將用戶限定在特定列上。

例如,對(duì)于那些不負(fù)責(zé)處理工資單的雇員,只允許他們看見(jiàn)雇員表中的姓名列、辦公室列、工作電話列和部門(mén)列,而不能看見(jiàn)任何包含工資信息或個(gè)人信息的列。

 

將多個(gè)表中的列聯(lián)接起來(lái),使它們看起來(lái)象一個(gè)表。

聚合信息而非提供詳細(xì)信息。

例如,顯示一個(gè)列的和,或列的***值和最小值。

 

通過(guò)定義 SELECT 語(yǔ)句以檢索將在視圖中顯示的數(shù)據(jù)來(lái)創(chuàng)建視圖。SELECT 語(yǔ)句引用的數(shù)據(jù)表稱為視圖的基表。在下例中,pubs 數(shù)據(jù)庫(kù)中的 titleview 是一個(gè)視圖,該視圖選擇三個(gè)基表中的數(shù)據(jù)來(lái)顯示包含常用數(shù)據(jù)的虛擬表:

 

  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) 

 

 

之后,可以用引用表時(shí)所使用的方法在語(yǔ)句中引用 titleview。

 

  1. SELECT *  
  2. FROM titleview 

 

 

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

 

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

 

 

視圖可用于在多個(gè)數(shù)據(jù)庫(kù)或 Microsoft® SQL Server™ 2000 實(shí)例間對(duì)數(shù)據(jù)進(jìn)行分區(qū)。分區(qū)視圖可用于在整個(gè)服務(wù)器組內(nèi)分布數(shù)據(jù)庫(kù)處理。服務(wù)器組具有與服務(wù)器聚集相同的性能優(yōu)點(diǎn),并可用于支持***的 Web 站點(diǎn)或公司數(shù)據(jù)中心的處理需求。原始表被細(xì)分為多個(gè)成員表,每個(gè)成員表包含原始表的行子集。

每個(gè)成員表可放置在不同服務(wù)器的數(shù)據(jù)庫(kù)中。每個(gè)服務(wù)器也可得到分區(qū)視圖。分區(qū)視圖使用 Transact-SQL UNION 運(yùn)算符,將在所有成員表上選擇的結(jié)果合并為單個(gè)結(jié)果集,該結(jié)果集的行為與整個(gè)原始表的復(fù)本完全一樣。例如在三個(gè)服務(wù)器間進(jìn)行表分區(qū)。在***個(gè)服務(wù)器上定義如下的分區(qū)視圖:

 

  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 

 

 

在其它兩個(gè)服務(wù)器上定義類似的分區(qū)視圖。利用這三個(gè)視圖,三個(gè)服務(wù)器上任何引用 PartitionedView 的 Transact-SQL 語(yǔ)句都將看到與原始表中相同的行為。似乎每個(gè)服務(wù)器上都存在原始表的復(fù)本一樣,而實(shí)際上每個(gè)表只有一個(gè)成員表和分區(qū)視圖。有關(guān)更多信息,請(qǐng)參見(jiàn)視圖使用方案。

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

 

  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 支持可引用視圖的更復(fù)雜的 INSERT、UPDATE 和 DELETE 語(yǔ)句。可在視圖上定義 INSTEAD OF 觸發(fā)器,指定必須對(duì)基表執(zhí)行的個(gè)別更新以支持 INSERT、UPDATE 或 DELETE 語(yǔ)句。另外,分區(qū)視圖還支持 INSERT、UDPATE 和 DELETE 語(yǔ)句修改視圖所引用的多個(gè)成員表。

索引視圖是 SQL Server 2000 具有的功能,可顯著提高復(fù)雜SQL Server視圖類型的性能,這些視圖類型通常在數(shù)據(jù)倉(cāng)庫(kù)或其它決策支持系統(tǒng)中出現(xiàn)。

視圖的結(jié)果集通常不保存在數(shù)據(jù)庫(kù)中,因此視圖也稱為虛擬表。視圖的結(jié)果集動(dòng)態(tài)包含在語(yǔ)句邏輯中并在運(yùn)行時(shí)動(dòng)態(tài)生成。有關(guān)更多信息,請(qǐng)參見(jiàn)視圖解析。

復(fù)雜的查詢(如決策支持系統(tǒng)中的查詢)可引用基表中的大量行,并將大量信息聚積在相對(duì)較簡(jiǎn)潔的聚合中,如總和或平均值。SQL Server 2000 支持在執(zhí)行此類復(fù)雜查詢的視圖上創(chuàng)建聚集索引。當(dāng)執(zhí)行 CREATE INDEX 語(yǔ)句時(shí),視圖 SELECT 的結(jié)果集將***存儲(chǔ)在數(shù)據(jù)庫(kù)中。SQL 語(yǔ)句此后若引用該視圖,響應(yīng)時(shí)間將會(huì)顯著縮短。對(duì)基本數(shù)據(jù)的修改將自動(dòng)反映在視圖中。

SQL Server 2000 CREATE VIEW 語(yǔ)句支持 SCHEMABINDING 選項(xiàng),以防止視圖所引用的表在SQL Server視圖未被調(diào)整的情況下發(fā)生改變。必須為任何創(chuàng)建索引的視圖指定 SCHEMABINDING。

 

【編輯推薦】

  1. SQL Server自增字段插入值的步驟
  2. SQL Server數(shù)據(jù)庫(kù)之一個(gè) SQL 2005 XML 查詢的例子
  3. SQL Server 2005降級(jí)到2000的正確操作步驟
  4. SQL Server存儲(chǔ)過(guò)程之新手導(dǎo)航
  5. SQL Server 2008數(shù)據(jù)格式修改時(shí)應(yīng)注意什么?

 

責(zé)任編輯:佚名 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-07-05 12:21:57

SQL Server記

2010-07-06 09:20:30

SQL Server查

2010-07-21 15:22:07

2010-07-07 11:03:21

SQL Server索

2010-06-13 09:46:44

MySQL5觸發(fā)器

2010-06-28 12:39:14

SQL Server數(shù)

2010-07-16 11:10:52

SQL server

2010-07-23 09:25:50

SQL Server導(dǎo)

2010-03-29 15:57:07

Oracle exp備

2010-06-28 12:27:35

SQL Server

2010-07-12 10:13:44

SQL Server表

2010-06-30 17:56:06

2010-05-11 09:51:57

MySQL表修改

2010-06-17 12:26:51

SQL Server索

2010-06-18 08:30:48

SQL Server

2010-04-16 17:17:31

Oracle訪問(wèn)

2010-07-05 10:15:40

SQL Server

2010-07-20 11:13:09

SQL Server日

2010-07-21 09:28:34

SQL Server

2010-07-09 12:49:41

SQL Server自
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲成人三级 | 日韩一区二区三区四区五区 | 国产视频中文字幕在线观看 | 欧美一级全黄 | 久久精品色欧美aⅴ一区二区 | caoporon| 欧美一区二区久久 | 国产欧美一区二区三区日本久久久 | 成人一区av偷拍 | 国产亚洲欧美在线 | 狠狠干网站| 精品国产三级 | 成人性生交大免费 | 日韩精品一区二区三区在线观看 | 中文字幕视频网 | 久久精品99 | 成人亚洲精品久久久久软件 | 在线播放亚洲 | 久久久久久久久久久高潮一区二区 | 欧美电影免费观看 | 亚洲国产成人精品一区二区 | 成人精品一区二区三区中文字幕 | 中文字幕不卡在线88 | 中文字幕不卡在线88 | 国产区视频在线观看 | 欧美网站一区 | 日本免费在线 | 成人欧美一区二区三区在线播放 | 精品视频在线一区 | 一级片视频免费观看 | 色资源站| 国产高清一区二区 | 亚洲精品在线国产 | 久久亚洲一区二区三 | 亚洲国产69 | 欧美aaa| 精品一区二区三区不卡 | 成人永久免费 | 日韩欧美在线不卡 | 亚洲在线久久 | 中文字幕一区二区三区日韩精品 |