日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SQL Server視圖管理中的四個(gè)限制條件

瀏覽:28日期:2023-11-06 19:19:49

通過(guò)視圖來(lái)訪問(wèn)數(shù)據(jù),其優(yōu)點(diǎn)是非常明顯的。如可以起到數(shù)據(jù)保密、保證數(shù)據(jù)的邏輯獨(dú)立性、簡(jiǎn)化查詢(xún)操作等等。

但是,話說(shuō)回來(lái),SQL Server數(shù)據(jù)庫(kù)中的視圖并不是萬(wàn)能的,他跟表這個(gè)基本對(duì)象還是有重大的區(qū)別。在使用視圖的時(shí)候,需要遵守四大限制。

限制條件一:視圖數(shù)據(jù)的更改

當(dāng)用戶更新視圖中的數(shù)據(jù)時(shí),其實(shí)更改的是其對(duì)應(yīng)的數(shù)據(jù)表的數(shù)據(jù)。無(wú)論是對(duì)視圖中的數(shù)據(jù)進(jìn)行更改,還是在視圖中插入或者刪除數(shù)據(jù),都是類(lèi)似的道理。但是,不是所有視圖都可以進(jìn)行更改。如下面的這些視圖,在SQL Server數(shù)據(jù)庫(kù)中就不能夠直接對(duì)其內(nèi)容進(jìn)行更新,否則,系統(tǒng)會(huì)拒絕這種非法的操作。

如在一個(gè)視圖中,若采用Group By子句,對(duì)視圖中的內(nèi)容進(jìn)行了匯總。則用戶就不能夠?qū)@張視圖進(jìn)行更新。這主要是因?yàn)椴捎肎roup By子句對(duì)查詢(xún)結(jié)果進(jìn)行匯總在后,視圖中就會(huì)丟失這條紀(jì)錄的物理存儲(chǔ)位置。如此,系統(tǒng)就無(wú)法找到需要更新的紀(jì)錄。若用戶想要在視圖中更改數(shù)據(jù),則數(shù)據(jù)庫(kù)管理員就不能夠在視圖中添加這個(gè)Group BY分組語(yǔ)句。

如不能夠使用Distinct關(guān)鍵字。這個(gè)關(guān)鍵字的用途就是去除重復(fù)的紀(jì)錄。如沒(méi)有添加這個(gè)關(guān)鍵字的時(shí)候,視圖查詢(xún)出來(lái)的紀(jì)錄有250條。添加了這個(gè)關(guān)鍵字后,數(shù)據(jù)庫(kù)就會(huì)剔除重復(fù)的紀(jì)錄,只顯示不重復(fù)的50條紀(jì)錄。此時(shí),若用戶要改變其中一個(gè)數(shù)據(jù),則數(shù)據(jù)庫(kù)就不知道其到底需要更改哪條紀(jì)錄。因?yàn)橐晥D中看起來(lái)只有一條紀(jì)錄,而在基礎(chǔ)表中可能對(duì)有的紀(jì)錄有幾十條。為此,若在視圖中采用了Distinct關(guān)鍵字的話,就無(wú)法對(duì)視圖中的內(nèi)容進(jìn)行更改。

如果在視圖中有AVG、MAX等函數(shù),則也不能夠?qū)ζ溥M(jìn)行更新。如在一張視圖中,其采用了SUN函數(shù)來(lái)匯總員工的工資時(shí),此時(shí),就不能夠?qū)@張表進(jìn)行更新。這是數(shù)據(jù)庫(kù)為了保障數(shù)據(jù)一致性所添加的限制條件。

可見(jiàn),試圖雖然方便、安全,但是,其仍然不能夠代替表的地位。當(dāng)需要對(duì)一些表中的數(shù)據(jù)進(jìn)行更新時(shí),我們往往更多的通過(guò)對(duì)表的操作來(lái)完成。因?yàn)閷?duì)視圖內(nèi)容進(jìn)行直接更改的話,需要遵守一些限制條件。在實(shí)際工作中,更多的處理規(guī)則是通過(guò)前臺(tái)程序直接更改后臺(tái)基礎(chǔ)表。至于這些表中數(shù)據(jù)的安全性,則要依靠前臺(tái)應(yīng)用程序來(lái)保護(hù)。確保更改的準(zhǔn)確性、合法性。

限制條件二:定義視圖的查詢(xún)語(yǔ)句中不能夠使用某些關(guān)鍵字

我們都知道,視圖其實(shí)就是一組查詢(xún)語(yǔ)句組成。或者說(shuō),視圖是封裝查詢(xún)語(yǔ)句的一個(gè)工具。在查詢(xún)語(yǔ)句中,我們可以通過(guò)一些關(guān)鍵字來(lái)格式化顯示的結(jié)果。如我們?cè)谄綍r(shí)工作中,經(jīng)常會(huì)需要把某張表中的數(shù)據(jù)跟另外一張表進(jìn)行合并。此時(shí),數(shù)據(jù)庫(kù)管理員就可以利用Select Into語(yǔ)句來(lái)完成。先把數(shù)據(jù)從某個(gè)表中查詢(xún)出來(lái),然后再添加到某個(gè)表中。

當(dāng)經(jīng)常需要類(lèi)似的操作時(shí),我們是否可以把它制作成一張視圖。每次有需要的時(shí)候,只需要運(yùn)行這個(gè)視圖即可,而不用每次都進(jìn)行重新書(shū)寫(xiě)SQL代碼。不過(guò)可惜的是,結(jié)果是否定的。在SQL Server數(shù)據(jù)庫(kù)的視圖中,是不能夠帶有Into關(guān)鍵字。如果要實(shí)現(xiàn)類(lèi)似的功能,只有通過(guò)函數(shù)或者過(guò)程來(lái)實(shí)現(xiàn)。

另外,跟Oracle數(shù)據(jù)庫(kù)不同的是,在微軟的SQLServer數(shù)據(jù)庫(kù)中創(chuàng)建視圖的時(shí)候,還有一個(gè)額外的限制。就是不能夠在創(chuàng)建視圖的查詢(xún)語(yǔ)句中,使用order by排序語(yǔ)句。這是一個(gè)很特殊的規(guī)定。一些Oracle的數(shù)據(jù)庫(kù)管理員,在使用SQL Server數(shù)據(jù)庫(kù)創(chuàng)建視圖的時(shí)候,經(jīng)常會(huì)犯類(lèi)似的錯(cuò)誤。他們就搞不明白,為什么Oracle數(shù)據(jù)庫(kù)中可行,但是在微軟的數(shù)據(jù)庫(kù)中則行不通呢?這恐怕只有微軟數(shù)據(jù)庫(kù)產(chǎn)品的設(shè)計(jì)者才能夠回答的問(wèn)題。總之我們要記住的就是,在SQLServer數(shù)據(jù)庫(kù)中,建立視圖時(shí),查詢(xún)語(yǔ)句中不能夠包含Order By語(yǔ)句。

限制條件三:要對(duì)某些列取別名,并保證列名的唯一

在表關(guān)聯(lián)查詢(xún)的時(shí)候,當(dāng)不同表的列名相同時(shí),只需要加上表的前綴即可。不需要對(duì)列另外進(jìn)行命名。但是,在創(chuàng)建視圖時(shí)就會(huì)出現(xiàn)問(wèn)題,數(shù)據(jù)庫(kù)會(huì)提示 “duplicate column name”的錯(cuò)誤提示,警告用戶有重復(fù)的列名。有時(shí)候,用戶利用Select語(yǔ)句連接多個(gè)來(lái)自不同表的列,若擁有相同的名字,則這個(gè)語(yǔ)句仍然可以執(zhí)行。但是,若把它復(fù)制到創(chuàng)建視圖的窗口,創(chuàng)建視圖時(shí),就會(huì)不成功。

查詢(xún)語(yǔ)句跟創(chuàng)建視圖的查詢(xún)語(yǔ)句還有很多類(lèi)似的差異。如有時(shí)候,我們?cè)诓樵?xún)語(yǔ)句中,可能會(huì)比較頻繁的采用一些算術(shù)表達(dá)式;或者在查詢(xún)語(yǔ)句中使用函數(shù)等等。在查詢(xún)的時(shí)候,我們可以不給這個(gè)列“取名”。數(shù)據(jù)庫(kù)在查詢(xún)的時(shí)候,會(huì)自動(dòng)給其命名。但是,在創(chuàng)建視圖時(shí),數(shù)據(jù)庫(kù)系統(tǒng)就會(huì)給你出難題。系統(tǒng)會(huì)提醒你為列取別名。

從以上兩個(gè)例子中,我們可以看出,雖然視圖是對(duì)SQL語(yǔ)句的封裝,但是,兩者仍然有差異。創(chuàng)建視圖的查詢(xún)語(yǔ)句必須要遵守一定的限制。如要保證視圖的各個(gè)列名的唯一;如果自阿視圖中某一列是一個(gè)算術(shù)表達(dá)式、函數(shù)或者常數(shù)的時(shí)候,要給其取名字,等等。

限制條件四:權(quán)限上的雙重限制

為了保障基礎(chǔ)表數(shù)據(jù)的安全性,在視圖創(chuàng)建的時(shí)候,其權(quán)限控制比較嚴(yán)格。

一方面,若用戶需要?jiǎng)?chuàng)建視圖,則必須要有數(shù)據(jù)庫(kù)視圖創(chuàng)建的權(quán)限。這是視圖建立時(shí)必須遵循的一個(gè)基本條件。如有些數(shù)據(jù)庫(kù)管理員雖然具有表的創(chuàng)建、修改權(quán)限;但是,這并不表示這個(gè)數(shù)據(jù)庫(kù)管理員就有建立視圖的權(quán)限。恰恰相反,在大型數(shù)據(jù)庫(kù)設(shè)計(jì)中,往往會(huì)對(duì)數(shù)據(jù)庫(kù)管理員進(jìn)行分工。建立基礎(chǔ)表的就只管建立基礎(chǔ)表;負(fù)責(zé)創(chuàng)建視圖的就只有創(chuàng)建視圖的權(quán)限。

其次,在具有創(chuàng)建視圖權(quán)限的同時(shí),用戶還必須具有訪問(wèn)對(duì)應(yīng)表的權(quán)限。如某個(gè)數(shù)據(jù)庫(kù)管理員,已經(jīng)有了創(chuàng)建視圖的權(quán)限。此時(shí),若其需要?jiǎng)?chuàng)建一張員工工資信息的視圖,還不一定會(huì)成功。這還要這個(gè)數(shù)據(jù)庫(kù)管理員有美譽(yù)跟工資信息相關(guān)的基礎(chǔ)表的訪問(wèn)權(quán)限。如建立員工工資信息這張視圖一共涉及到五張表,則這個(gè)數(shù)據(jù)庫(kù)管理員就需要擁有者每張表的查詢(xún)權(quán)限。若沒(méi)有的話,則建立這張視圖就會(huì)以失敗告終。

第三,就是視圖權(quán)限的繼承問(wèn)題。如上面的例子中,這個(gè)數(shù)據(jù)庫(kù)管理員不是基礎(chǔ)表的所有者。但是經(jīng)過(guò)所有者的授權(quán),他就可以對(duì)這個(gè)基礎(chǔ)表進(jìn)行訪問(wèn),就可以以此為基礎(chǔ)建立視圖。但是,這個(gè)數(shù)據(jù)庫(kù)管理員有沒(méi)有把對(duì)這個(gè)基礎(chǔ)表的訪問(wèn)權(quán)限再授權(quán)給其他人呢?如他能否授權(quán)給A用戶訪問(wèn)員工考勤信息表呢?答案是不一定。默認(rèn)情況下,數(shù)據(jù)庫(kù)管理員不能夠再對(duì)其他用戶進(jìn)行授權(quán)。但是,若基礎(chǔ)表的所有者,把這個(gè)權(quán)利給了數(shù)據(jù)庫(kù)管理員之后,則他就可以對(duì)用戶進(jìn)行重新授權(quán)。讓數(shù)據(jù)庫(kù)管理員可以給A用戶進(jìn)行授權(quán),讓其可以進(jìn)行相關(guān)的操作。

可見(jiàn),視圖雖然靈活,安全,方便,但是其仍然有比較多的限制條件。根據(jù)筆者的經(jīng)驗(yàn),一般在報(bào)表、表單等等工作上,采用視圖會(huì)更加的合理。因?yàn)槠?SQL語(yǔ)句可以重復(fù)使用。而在基礎(chǔ)表更新上,包括紀(jì)錄的更改、刪除或者插入上,往往是直接對(duì)基礎(chǔ)表進(jìn)行更新。對(duì)于一些表的約束,可以通過(guò)觸發(fā)器、規(guī)則等等來(lái)實(shí)現(xiàn);甚至可以通過(guò)前臺(tái)SQL語(yǔ)句直接實(shí)現(xiàn)約束。作為數(shù)據(jù)庫(kù)管理員,要有這個(gè)能力,能夠判斷在什么時(shí)候使用視圖,什么時(shí)候直接調(diào)用基礎(chǔ)表。

日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
爽好久久久欧美精品| 日韩精品欧美大片| 国产日本精品| 国产欧美日韩亚洲一区二区三区| 国产探花一区| 国产中文欧美日韩在线| 亚洲精品国产嫩草在线观看| 韩日一区二区三区| 狠狠色综合网| 奇米777国产一区国产二区| 欧美激情麻豆| 久久国产日韩| 美国欧美日韩国产在线播放| 欧美一区激情| 麻豆视频一区二区| 国产精品久久久久久久免费观看 | 日韩影院精彩在线| 青青草国产成人99久久| 亚洲欧美在线综合| 久久三级中文| 日韩视频在线一区二区三区| 日韩av中文字幕一区二区三区| 国产精品sss在线观看av| 亚洲黄页一区| 国产激情综合| 婷婷丁香综合| 日韩精品一区二区三区中文字幕| 国产精品久久久久久久久久齐齐 | www.51av欧美视频| 黄色国产精品| 久久不卡日韩美女| 99久久久久| 日韩黄色av| 日本韩国欧美超级黄在线观看| 天堂成人免费av电影一区| 国产极品模特精品一二| 亚洲精品a级片| 麻豆久久一区二区| 亚洲天堂免费| 亚洲自啪免费| 亚洲人成亚洲精品| 成人精品视频| 不卡视频在线| 欧美日韩亚洲一区三区| 91精品啪在线观看国产18| 亚洲久久一区| 国产精品精品国产一区二区| 免费在线视频一区| 中文另类视频| 欧美精品不卡| 一区二区国产在线| 97se综合| 国产精品一区二区三区美女| 欧洲激情综合| 成人在线视频免费| 免费精品视频| 欧美aa一级| 国产精品4hu.www| 亚洲丝袜美腿一区| 91精品精品| 日本一区二区免费高清| 国产日本精品| 深夜福利一区| 红桃视频国产精品| av一区在线| 久久久国产精品入口麻豆| 日韩精品福利一区二区三区| 国产毛片久久| 91久久久精品国产| 久久国产中文字幕| 老鸭窝一区二区久久精品| 亚洲精品国产精品粉嫩| 国产视频一区三区| 亚洲天堂黄色| 麻豆精品蜜桃| 精品国产99| 国产精品白丝一区二区三区| 日韩不卡在线观看日韩不卡视频 | 欧美国产三级| 日本色综合中文字幕| 亚洲欧美视频| 中文欧美日韩| 日韩欧美另类一区二区| 精品美女视频 | 视频在线观看91| 在线成人直播| 欧美在线亚洲| 亚洲免费精品| 尤物精品在线| 久久午夜影视| 视频在线在亚洲| 久久亚洲国产精品一区二区| 国产精品毛片在线看| 91久久久精品国产| 在线国产一区二区| 午夜精品久久久久久久久久蜜桃| 美女高潮久久久| 成人在线观看免费视频| 国产伊人久久| www.com.cn成人| 色爱av综合网| 九九综合九九| 日韩中文字幕亚洲一区二区va在线| 国产精品嫩草99av在线| 日韩影院免费视频| 青草av.久久免费一区| 国产精品宾馆| av资源中文在线天堂| 国产精品av一区二区| 国产一区白浆| 视频在线观看91| 国产亚洲精aa在线看| 精品欧美日韩精品| 啪啪国产精品| 丝袜脚交一区二区| 欧美日韩亚洲一区二区三区在线| 欧美精品二区| 久久精品99久久无色码中文字幕| 伊人精品在线| 喷白浆一区二区| 国产精品**亚洲精品| 婷婷激情一区| 中文字幕亚洲精品乱码| 欧美精品导航| 91精品一区二区三区综合| 天堂日韩电影| 日韩在线卡一卡二| 久久亚州av| 日韩视频免费| 欧美国产专区| 宅男噜噜噜66国产日韩在线观看| 91麻豆精品激情在线观看最新| 久久精品国产福利| 日韩午夜高潮| 久久a爱视频| 亚洲激情国产| 久久av免费| 99视频在线精品国自产拍免费观看| 日韩在线网址| av中文资源在线资源免费观看| 亚洲福利专区| 国产麻豆一区| 国产真实久久| 国产精品久久久久久久免费软件| 视频一区中文| 久久免费福利| 首页国产欧美日韩丝袜| 国产成人精品一区二区三区免费| 午夜久久黄色| 久久99高清| 蜜臀久久久久久久| 精品免费av| 日韩精品一区二区三区中文在线| 色婷婷狠狠五月综合天色拍| 久久精品99久久久| 亚洲www啪成人一区二区| 日韩精品一区二区三区中文字幕| 亚洲黄色免费av| 欧美一级网址| 国产精品色网| 日韩国产欧美| 国产精品主播| 麻豆精品91| 欧美日韩一二三四| 激情综合婷婷| 欧美在线精品一区| 老鸭窝毛片一区二区三区| аⅴ资源天堂资源库在线| 久久国内精品| 蜜臀av国产精品久久久久| 久久影院午夜精品| 国产精品男女| 视频一区日韩精品| av不卡在线看| 久久国产成人午夜av影院宅| 麻豆一区二区三| 久久国产日韩欧美精品| 一区二区亚洲视频| 激情欧美一区二区三区| 成人国产精品一区二区免费麻豆| 中文字幕视频精品一区二区三区| 欧美a级片一区| 国产日韩一区二区三区在线 | 精品亚洲二区| 日韩av资源网| 亚洲精品综合| 亚洲一级黄色| 中文字幕高清在线播放| 欧美精品成人| 国产精品久久久久久久久久白浆| 日韩一级网站| 婷婷综合社区| 精品美女视频| 久久麻豆视频| 精品视频在线观看网站| 国产欧美一区二区精品久久久| 婷婷综合激情| 亚洲一区国产| 六月婷婷一区| 黄色免费成人|