Oracle程序員面試分類模擬3_第1頁
Oracle程序員面試分類模擬3_第2頁
Oracle程序員面試分類模擬3_第3頁
Oracle程序員面試分類模擬3_第4頁
Oracle程序員面試分類模擬3_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Oracle程序員面試分類模擬3一、選擇題1.

在視圖上不能完成的操作是______。A.更新視圖B.查詢C.在視圖上定義新的表D.在視圖上定義新的視圖正確答案:C

2.

在SQL語言(江南博哥)中,刪除一個視圖的命令是______。A.DELETEB.DROPC.CLEARD.REMOVE正確答案:B

3.

下列關(guān)于視圖與基本表的對比描述中,正確的是______。A.視圖的定義功能強于基本表B.視圖的操作功能強于基本表C.視圖的數(shù)據(jù)控制功能弱于基本表D.上面提到的三種功能二者均相當正確答案:A

4.

如果有兩個事務(wù),同時對數(shù)據(jù)庫中同一數(shù)據(jù)進行操作,那么不會引起沖突的操作是______。A.其中有一個是DELETEB.一個是SELECT,另一個是UPDATEC.兩個都是SELECTD.兩個都是UPDATE正確答案:C

5.

SQL語言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,語句INSERT、DELETE、UPDATE實現(xiàn)______功能。A.數(shù)據(jù)查詢B.數(shù)據(jù)控制C.數(shù)據(jù)定義D.數(shù)據(jù)操縱正確答案:D

6.

下列說法錯誤的是______。A.ALTERTABLE語句可以添加字段B.ALTERTABLE語句可以刪除字段C.UPDATETABLE語句可以修改字段名稱D.ALTERTABLE語句可以修改字段數(shù)據(jù)類型正確答案:C

7.

SQL語言中刪除一個表的指令是______。A.DROPTABLEB.DELETETABLEC.DESTROYTABLED.REMOVETABLE正確答案:A

8.

下面不屬于SQL語句的分類的是______。A.數(shù)據(jù)查詢語言(DQL)B.數(shù)據(jù)定義語言(DDL)C.事務(wù)控制語言(TCL)D.數(shù)據(jù)插入語言(DIL)正確答案:D

9.

根據(jù)下面給出的表和SQL語句,請問執(zhí)行SQL語句后會更新多少條數(shù)據(jù)?

SQL語句:

表中數(shù)據(jù):

A.1B.2C.3D.4正確答案:B[解析]先執(zhí)行后面括號里的子查詢“SELECTAUTHORIDFROMBOOKSGROUPBYAUTHORIDHAVINGSUM(NUMBEROFCOPIES)<=8”,得到的AUTHORID為2。該子查詢語句首先按照AUTHORID分組,然后將NUMBEROFCOPIES的列值進行相加,相加后的結(jié)果必須小于等于8。當AUTHORID為1的時候,SUM(NUMBEROFCOPIES)的結(jié)果為9,當AUTHORID為2的時候,SUM(NUMBEROFCOPIES)的結(jié)果為6。當AUTHORID為3的時候,SUM(NUMBEROFCOPIES)的結(jié)果為10,滿足條件的只有AUTHORID為2。所以,上面的語言等價于語句“UPDATEBOOKSSETNUMBEROFCOPIES=NUMBEROFCOPIES+1WHEREAUTHOPIDIN(2)”;一共有兩條AUTHORID為2的記錄,所以,一共更新了2條記錄。

10.

設(shè)有一個關(guān)系:DEPT(DNO,DNAME),如果要找出倒數(shù)第三個字母為W,并且至少包含4個字母的DNAME,則查詢條件子句應(yīng)寫成WHEREDNAMELIKE______。A.'__W_%'B.'_%W__'C.'_W__'D.'_W_%'正確答案:B[解析]在SQL語言中,%和_表示的是通配符(通配符指的是一種特殊語句,用來進行模糊查詢的,在匹配字符串時,可以使用它來代替一個或多個真正字符,當不知道真正字符或者懶得輸入完整名字時,常常使用通配符代替一個或多個真正的字符),其中‘%’表示的是0個或多個字符,而‘_’表示的是一個字符。

在本題的查找條件中,要求倒數(shù)第三個字母為‘W’,所以,字符‘W’后面有兩個其他字符,可以表示成“W__”,并且還要求至少包含4個字母,而當以“%”開頭時,它表示的字符可以不存在,所以,開頭應(yīng)加一個“_”,那么查詢條件子句應(yīng)寫成WHEREDNAMELIKE'_%W__'。

11.

對于以下SQL語句:SELECTFOO,COUNT(FOO)FROMPOKESWHEREFOO>10GROUPBYFOOHAVINGCOUNT(FOO)>1ORDERBYFOO,其執(zhí)行的順序為______。A.FROM→WHERE→GROUPBY→HAVING→SELECT→ORDERBYB.FROM→GROUPBY→WHERE→HAVING→SELECT—ORDERBYC.FROM→WHERE→GROUPBY→HAVING→ORDERBY→SELECTD.FROM→WHERE→ORDERBY→GROUPBY→HAVING→SELECT正確答案:A[解析]標準的SQL的解析順序為:①FROM子句,組裝來自不同數(shù)據(jù)源的數(shù)據(jù)。②WHERE子句,基于指定的條件對記錄進行篩選。③GROUPBY子句,將數(shù)據(jù)劃分為多個分組。④使用聚合函數(shù)進行計算。⑤使用HAV。ING子句篩選分組。⑥計算SELECT所有的表達式。⑦使用ORDERBY對結(jié)果集進行排序。

本題中,對于選項A,F(xiàn)ROM→WHERE→GROUPBY→HAVING→SELECT→ORDERBY,執(zhí)行的順序是正確的。

二、簡答題1.

什么是視圖?視圖的作用是什么?正確答案:視圖是由從數(shù)據(jù)庫的基本表中選取出來的數(shù)據(jù)組成的邏輯窗口,它不同于基本表,它是一個虛擬表,其內(nèi)容由查詢定義。在數(shù)據(jù)庫中,存放的只是視圖的定義而已,而不存放數(shù)據(jù),這些數(shù)據(jù)仍然存放在原來的基本表結(jié)構(gòu)中。只有在使用視圖的時候,才會執(zhí)行視圖的定義,從基本表中查詢數(shù)據(jù)。

同真實的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。但是,視圖并不在數(shù)據(jù)庫中以存儲的數(shù)據(jù)值集形式存在。行和列數(shù)據(jù)來自由定義視圖的查詢所引用的表,并且在引用視圖時動態(tài)生成。對其中所引用的基礎(chǔ)表而言,視圖的作用類似于篩選。定義視圖可以來自當前或其他數(shù)據(jù)庫的一個或多個表,或者其他視圖。分布式查詢也可用于定義使用多個異類源數(shù)據(jù)的視圖。如果有幾臺不同的服務(wù)器分別存儲不同地區(qū)的數(shù)據(jù),那么當需要將這些服務(wù)器上相似結(jié)構(gòu)的數(shù)據(jù)組合起來的時候,這種方式就非常有用。

通過視圖進行查詢沒有任何限制,用戶可以將注意力集中在其關(guān)心的數(shù)據(jù)上,而非全部數(shù)據(jù),這樣就大大提高了運行效率與用戶滿意度。如果數(shù)據(jù)來源于多個基本表結(jié)構(gòu),或者數(shù)據(jù)不僅來自于基本表結(jié)構(gòu),還有一部分數(shù)據(jù)來源于其他視圖,并且搜索條件又比較復(fù)雜,需要編寫的查詢語句就會比較繁瑣,此時定義視圖就可以使數(shù)據(jù)的查詢語句變得簡單可行。定義視圖可以將表與表之間的復(fù)雜的操作連接和搜索條件對用戶不可見,用戶只需要簡單地對一個視圖進行查詢即可,所以,視圖雖然增加了數(shù)據(jù)的安全性,但是不能提高查詢的效率。

視圖看上去非常像數(shù)據(jù)庫的物理表,對它的操作同任何其他的表一樣。當通過視圖修改數(shù)據(jù)時,實際上是在改變基表(即視圖定義中涉及的表)中的數(shù)據(jù);相反地,基表數(shù)據(jù)的改變也會自動反映在由基表產(chǎn)生的視圖中。由于邏輯上的原因,有些Oracle視圖可以修改對應(yīng)的基表,有些則不能(僅能查詢)。

數(shù)據(jù)庫視圖的作用有以下幾點:①隱藏了數(shù)據(jù)的復(fù)雜性,可以作為外模式,提供了一定程度的邏輯獨立性。②有利于控制用戶對表中某些列或某些機密數(shù)據(jù)的訪問,提高了數(shù)據(jù)的安全性。③能夠簡化結(jié)構(gòu),執(zhí)行復(fù)雜查詢操作。④使用戶能以多種角度、更靈活地觀察和共享同一數(shù)據(jù)。

2.

在什么情況下可以對視圖執(zhí)行增、刪、改操作?正確答案:視圖對于DML操作應(yīng)遵循的原則如下:

1)簡單視圖可以執(zhí)行DML操作。

2)當視圖包含GROUPBY子句、DISTINCT關(guān)鍵字時,不能執(zhí)行DELETE操作。

3)當視圖出現(xiàn)下列情況時,不能通過視圖修改基表或插入數(shù)據(jù)到基表:

①視圖中包含GROUPBY子句、DISTINCT關(guān)鍵字。

②視圖中包含了由表達式定義的列。

③視圖中包含了ROWNUM偽列(針對Oracle數(shù)據(jù)庫)。

④基表中未在視圖中選擇的其他列定義為非空且無默認值。

DROPVIEWVIEW_NAME語句用來刪除視圖,事實上,刪除視圖只是刪除了視圖的定義而不影響基表中的數(shù)據(jù)。只有視圖所有者和具備DROPVIEW權(quán)限的用戶才可以刪除視圖。當視圖被刪除后,基于被刪除視圖的其他視圖或應(yīng)用程序?qū)o效。

3.

SQL語句有哪些常見的分類?正確答案:SQL(StructureQueryLanguage,結(jié)構(gòu)化查詢語言)是一種在關(guān)系型數(shù)據(jù)庫中定義和操縱數(shù)據(jù)的標準語言。關(guān)系型數(shù)據(jù)庫采用SQL作為客戶端程序與數(shù)據(jù)庫服務(wù)器間溝通的標準接口??蛻舳税l(fā)送SQL指令到服務(wù)器端,服務(wù)器端執(zhí)行相關(guān)的指令并返回其查詢的結(jié)果。在數(shù)據(jù)庫服務(wù)器端執(zhí)行的SQL指令可以實現(xiàn)各種數(shù)據(jù)庫操作和管理功能,例如:數(shù)據(jù)的查詢和更新(包括添加、修改和刪除數(shù)據(jù))操作;創(chuàng)建、修改和刪除各種數(shù)據(jù)庫對象(如數(shù)據(jù)表、視圖、索引等);數(shù)據(jù)庫用戶賬戶管理、權(quán)限管理等。

關(guān)系數(shù)據(jù)語言的共同特點是:語言具有完備的表達能力,是非過程化的集合操作語言,功能強,能夠嵌入高級語言中使用。SQL語言分類見表。

其中,TCL、SCS和ESS主要是針對Oracle數(shù)據(jù)庫的分類,而DML、DDL、DCL、DQL是通用的分類。

4.

笛卡爾積是什么?正確答案:笛卡爾積是把表中所有的記錄做乘積操作,生成大量的結(jié)果,而通常結(jié)果中可用的值有限。笛卡爾積出現(xiàn)的原因多種多樣,通常是由于連接條件缺失造成的,對笛卡爾積的使用,需要注意以下幾點:

1)笛卡爾積會在下面條件下產(chǎn)生:

①省略連接條件或連接條件缺失。

②連接條件無效,例如:表A和表B進行連接,但連接條件為A.ID=A.ID,這里的連接條件無效。

③統(tǒng)計信息不準確,例如:表A有1000W的數(shù)據(jù)量,但是在統(tǒng)計信息中記錄的是0行,這種情況下表的連接易形成笛卡爾積。

2)由于笛卡爾積中的所有表中的所有行互相連接,所以,形成笛卡爾積的結(jié)果集的記錄數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論