- 相關(guān)推薦
2017年計算機三級數據庫考試知識點(diǎn)
數據庫(Database)是按照數據結構來(lái)組織、存儲和管理數據的倉庫,它產(chǎn)生于距今六十多年前,隨著(zhù)信息技術(shù)和市場(chǎng)的發(fā)展,特別是二十世紀九十年代以后,數據管理不再僅僅是存儲和管理數據,而轉變成用戶(hù)所需要的各種數據管理的方式。
以下是小編整理的關(guān)于計算機三級數據庫考試知識點(diǎn),歡迎大家參考!
限制條件一:視圖數據的更改
當用戶(hù)更新視圖中的數據時(shí),其實(shí)更改的是其對應的數據表的數據。無(wú)論是對視圖中的數據進(jìn)行更改,還是在視圖中插入或者刪除數據,都是類(lèi)似的道理。但是,不是所有視圖都可以進(jìn)行更改。如下面的這些視圖,在SQL Server數據庫中就不能夠直接對其內容進(jìn)行更新,否則,系統會(huì )拒絕這種非法的操作。
如在一個(gè)視圖中,若采用Group By子句,對視圖中的內容進(jìn)行了匯總。則用戶(hù)就不能夠對這張視圖進(jìn)行更新。這主要是因為采用Group By子句對查詢(xún)結果進(jìn)行匯總在后,視圖中就會(huì )丟失這條紀錄的物理存儲位置。如此,系統就無(wú)法找到需要更新的紀錄。若用戶(hù)想要在視圖中更改數據,則數據庫管理員就不能夠在視圖中添加這個(gè)Group BY分組語(yǔ)句。
如不能夠使用Distinct關(guān)鍵字。這個(gè)關(guān)鍵字的用途就是去除重復的紀錄。如沒(méi)有添加這個(gè)關(guān)鍵字的時(shí)候,視圖查詢(xún)出來(lái)的紀錄有250條。添加了這個(gè)關(guān)鍵字后,數據庫就會(huì )剔除重復的紀錄,只顯示不重復的50條紀錄。此時(shí),若用戶(hù)要改變其中一個(gè)數據,則數據庫就不知道其到底需要更改哪條紀錄。因為視圖中看起來(lái)只有一條紀錄,而在基礎表中可能對有的紀錄有幾十條。為此,若在視圖中采用了Distinct關(guān)鍵字的話(huà),就無(wú)法對視圖中的內容進(jìn)行更改。
如果在視圖中有AVG、MAX等函數,則也不能夠對其進(jìn)行更新。如在一張視圖中,其采用了SUN函數來(lái)匯總員工的工資時(shí),此時(shí),就不能夠對這張表進(jìn)行更新。這是數據庫為了保障數據一致性所添加的限制條件。
可見(jiàn),試圖雖然方便、安全,但是,其仍然不能夠代替表的地位。當需要對一些表中的數據進(jìn)行更新時(shí),我們往往更多的通過(guò)對表的操作來(lái)完成。因為對視圖內容進(jìn)行直接更改的話(huà),需要遵守一些限制條件。在實(shí)際工作中,更多的處理規則是通過(guò)前臺程序直接更改后臺基礎表。至于這些表中數據的安全性,則要依靠前臺應用程序來(lái)保護。確保更改的準確性、合法性。
限制條件二:定義視圖的查詢(xún)語(yǔ)句中不能夠使用某些關(guān)鍵字
我們都知道,視圖其實(shí)就是一組查詢(xún)語(yǔ)句組成;蛘哒f(shuō),視圖是封裝查詢(xún)語(yǔ)句的一個(gè)工具。在查詢(xún)語(yǔ)句中,我們可以通過(guò)一些關(guān)鍵字來(lái)格式化顯示的結果。如我們在平時(shí)工作中,經(jīng)常會(huì )需要把某張表中的數據跟另外一張表進(jìn)行合并。此時(shí),數據庫管理員就可以利用Select Into語(yǔ)句來(lái)完成。先把數據從某個(gè)表中查詢(xún)出來(lái),然后再添加到某個(gè)表中。
當經(jīng)常需要類(lèi)似的操作時(shí),我們是否可以把它制作成一張視圖。每次有需要的時(shí)候,只需要運行這個(gè)視圖即可,而不用每次都進(jìn)行重新書(shū)寫(xiě)SQL代碼。不過(guò)可惜的是,結果是否定的。在SQL Server數據庫的視圖中,是不能夠帶有Into關(guān)鍵字。如果要實(shí)現類(lèi)似的功能,只有通過(guò)函數或者過(guò)程來(lái)實(shí)現。
另外,跟Oracle數據庫不同的是,在微軟的SQLServer數據庫中創(chuàng )建視圖的時(shí)候,還有一個(gè)額外的限制。就是不能夠在創(chuàng )建視圖的查詢(xún)語(yǔ)句中,使用order by排序語(yǔ)句。這是一個(gè)很特殊的規定。一些Oracle的數據庫管理員,在使用SQL Server數據庫創(chuàng )建視圖的時(shí)候,經(jīng)常會(huì )犯類(lèi)似的錯誤。他們就搞不明白,為什么Oracle數據庫中可行,但是在微軟的數據庫中則行不通呢?這恐怕只有微軟數據庫產(chǎn)品的設計者才能夠回答的問(wèn)題?傊覀円涀〉木褪,在SQLServer數據庫中,建立視圖時(shí),查詢(xún)語(yǔ)句中不能夠包含Order By語(yǔ)句。
限制條件三:要對某些列取別名,并保證列名的唯一
在表關(guān)聯(lián)查詢(xún)的時(shí)候,當不同表的列名相同時(shí),只需要加上表的前綴即可。不需要對列另外進(jìn)行命名。但是,在創(chuàng )建視圖時(shí)就會(huì )出現問(wèn)題,數據庫會(huì )提示 “duplicate column name”的錯誤提示,警告用戶(hù)有重復的列名。有時(shí)候,用戶(hù)利用Select語(yǔ)句連接多個(gè)來(lái)自不同表的列,若擁有相同的名字,則這個(gè)語(yǔ)句仍然可以執行。但是,若把它復制到創(chuàng )建視圖的窗口,創(chuàng )建視圖時(shí),就會(huì )不成功。
查詢(xún)語(yǔ)句跟創(chuàng )建視圖的查詢(xún)語(yǔ)句還有很多類(lèi)似的差異。如有時(shí)候,我們在查詢(xún)語(yǔ)句中,可能會(huì )比較頻繁的采用一些算術(shù)表達式;或者在查詢(xún)語(yǔ)句中使用函數等等。在查詢(xún)的時(shí)候,我們可以不給這個(gè)列“取名”。數據庫在查詢(xún)的時(shí)候,會(huì )自動(dòng)給其命名。但是,在創(chuàng )建視圖時(shí),數據庫系統就會(huì )給你出難題。系統會(huì )提醒你為列取別名。
從以上兩個(gè)例子中,我們可以看出,雖然視圖是對SQL語(yǔ)句的封裝,但是,兩者仍然有差異。創(chuàng )建視圖的查詢(xún)語(yǔ)句必須要遵守一定的限制。如要保證視圖的各個(gè)列名的唯一;如果自阿視圖中某一列是一個(gè)算術(shù)表達式、函數或者常數的時(shí)候,要給其取名字,等等。
限制條件四:權限上的雙重限制
為了保障基礎表數據的安全性,在視圖創(chuàng )建的時(shí)候,其權限控制比較嚴格。
一方面,若用戶(hù)需要創(chuàng )建視圖,則必須要有數據庫視圖創(chuàng )建的權限。這是視圖建立時(shí)必須遵循的一個(gè)基本條件。如有些數據庫管理員雖然具有表的創(chuàng )建、修改權限;但是,這并不表示這個(gè)數據庫管理員就有建立視圖的權限。恰恰相反,在大型數據庫設計中,往往會(huì )對數據庫管理員進(jìn)行分工。建立基礎表的就只管建立基礎表;負責創(chuàng )建視圖的就只有創(chuàng )建視圖的權限。
其次,在具有創(chuàng )建視圖權限的同時(shí),用戶(hù)還必須具有訪(fǎng)問(wèn)對應表的權限。如某個(gè)數據庫管理員,已經(jīng)有了創(chuàng )建視圖的權限。此時(shí),若其需要創(chuàng )建一張員工工資信息的視圖,還不一定會(huì )成功。這還要這個(gè)數據庫管理員有美譽(yù)跟工資信息相關(guān)的基礎表的訪(fǎng)問(wèn)權限。如建立員工工資信息這張視圖一共涉及到五張表,則這個(gè)數據庫管理員就需要擁有者每張表的查詢(xún)權限。若沒(méi)有的話(huà),則建立這張視圖就會(huì )以失敗告終。
第三,就是視圖權限的繼承問(wèn)題。如上面的例子中,這個(gè)數據庫管理員不是基礎表的所有者。但是經(jīng)過(guò)所有者的授權,他就可以對這個(gè)基礎表進(jìn)行訪(fǎng)問(wèn),就可以以此為基礎建立視圖。但是,這個(gè)數據庫管理員有沒(méi)有把對這個(gè)基礎表的訪(fǎng)問(wèn)權限再授權給其他人呢?如他能否授權給A用戶(hù)訪(fǎng)問(wèn)員工考勤信息表呢?答案是不一定。默認情況下,數據庫管理員不能夠再對其他用戶(hù)進(jìn)行授權。但是,若基礎表的所有者,把這個(gè)權利給了數據庫管理員之后,則他就可以對用戶(hù)進(jìn)行重新授權。讓數據庫管理員可以給A用戶(hù)進(jìn)行授權,讓其可以進(jìn)行相關(guān)的操作。
【計算機三級數據庫考試知識點(diǎn)】相關(guān)文章:
計算機三級數據庫考試真題及答案10-11
2017年計算機考試三級數據庫技術(shù)考試大綱10-22
2017年計算機等級考試三級數據庫技術(shù)考試重點(diǎn)09-30
2017年計算機三級考試數據庫技術(shù)考試試題附答案05-13
2017年計算機三級數據庫技術(shù)考試模擬試題06-23
2017年計算機三級數據庫技術(shù)考試試題及答案08-01
全國計算機等級考試三級網(wǎng)絡(luò )技術(shù)知識點(diǎn)05-14
2017年計算機三級網(wǎng)絡(luò )技術(shù)考試復習知識點(diǎn)07-20
計算機三級考試試題10-24