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

下載本文檔

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

文檔簡介

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

ViewtheExhibitsandexaminethestructuresofthePRODUCTS,SALES,andCUSTO(江南博哥)MERStables.Youissuethefollowingquery:

A.Itexecutessuccessfully.B.ItproducesanerrorbecausetheNATURALjoincanbeusedonlywithtwotables.C.ItproducesanerrorbecauseacolumnusedintheNATURALjoincannothaveaqualifier.D.ItproducesanerrorbecauseallcolumnsusedintheNATURALjoinshouldhaveaqualifier.正確答案:C[解析]題目問的是對于SQL語句查詢輸出哪項是正確的,自然連接查詢結(jié)果列不能有別名限定詞,實驗如下:

去掉“p.”即可正確查詢。

本題中,對于選項A,可以正常執(zhí)行,說法錯誤,會產(chǎn)生ORA-25155錯誤。

對于選項B,自然連接只能用于2個表中,也可以用于2個視圖中。所以,選項B錯誤。

對于選項C,經(jīng)過以上實驗,選項C說法正確。

對于選項D,選項說所有列必須要有別名,說法錯誤,不能含有別名。

2.

為數(shù)據(jù)表創(chuàng)建索引的目的是______。A.提高查詢的檢索性能B.創(chuàng)建唯一索引C.創(chuàng)建主鍵D.歸類正確答案:A

3.

下列對于數(shù)據(jù)庫索引的說法中,一定錯誤的是______。A.索引可以提升查詢,分組和排序的性能B.索引不會影響表的更新、插入和刪除操作的效率C.全表掃描不一定比使用索引的執(zhí)行效率低D.對于只有很少數(shù)據(jù)值的列,不應(yīng)該創(chuàng)建索引正確答案:B

二、簡答題1.

請使用ON子句連接查詢SCOTT.EMP和SCOTT.DEPT表,要求顯示EMPNO、ENAME、JOB和SAL字段。正確答案:題目要求使用ON子句,這是一個考查點,SQL語句如下:

情景設(shè)計:很多“八零后”、“九零后”都有屬于自己的QQ空間,在登陸QQ空間中時候,有一個重要信息就是“誰來看過我”,換句話說,就是哪位好友曾經(jīng)訪問過自己的空間,普通用戶好像只能查看最近訪問過空間的100個人,“黃鉆”等級的可以看的人更多,對此假設(shè)有如下的表,在SQL中“--”表示注釋:

基于上面的情景設(shè)計,用SQL語句來完成如下的筆試題目,假設(shè)自己的QQ號碼為100:2.

查詢自己QQ號碼的昵稱,創(chuàng)建日期。正確答案:考查單表查詢。SQL語句以及運行結(jié)果如下:

3.

查詢?nèi)ツ暧卸嗌偃松暾埩薗Q號碼。正確答案:考查函數(shù)的運用、COUNT和WHERE子句的過濾。SQL語句以及運行結(jié)果如下:

4.

查詢QQ號碼中含有3的QQ號。正確答案:考查模糊查詢。SQL語句以及運行結(jié)果如下:

5.

假設(shè)想知道昨天有誰來看過自己的QQ空間,該如何書寫,要求展示看過我空間的QQ號碼和昵稱。正確答案:考查多表連接查詢。SQL語句以及運行結(jié)果如下:

6.

查詢近一周之內(nèi)來自己空間瀏覽的好友頻度,要求展示好友昵稱和來自己空間次數(shù)。正確答案:考查分組函數(shù)GROUPBY的運用。SQL語句以及運行結(jié)果如下:

7.

查詢近一周之內(nèi)來自己空間次數(shù)大于1的人有哪些?要求展示來訪者昵稱和來自己空間次數(shù)。正確答案:考查HAVING和GROUPBY的運用。SQL語句以及運行結(jié)果如下:

8.

查詢近一周之內(nèi)來自己空間次數(shù)大于1且不是自己QQ好友的人有哪些?要求展示好友昵稱和來自己空間次數(shù)。正確答案:考查子查詢。

9.

查詢近一周之內(nèi)來自己空間最頻繁的一位好友是誰?要求展示好友昵稱和來自己空間次數(shù)。正確答案:主要考查TOPN的查詢。SQL語句以及運行結(jié)果如下:

10.

刪除自己看過QQ號碼為102的記錄。正確答案:考查DELETE刪除數(shù)據(jù)的運用。SQL語句以及運行結(jié)果如下:

11.

更新自己的ee昵稱為“^_^”。正確答案:考查UPDATE更新數(shù)據(jù)的運用。SQL語句以及運行結(jié)果如下:

12.

什么是SQL注入?正確答案:所謂SQL注入(SQLInjection)就是通過把SQL命令插入到WEB表單提交或輸入域名或頁面請求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令的目的。例如,在代碼中使用下面的SQL語句:SQL="SELECTTOP1*FROMUSERWHERENAME='''+NAME+'''ANDPASSWORD='''+PASSWORD+'''"”來驗證用戶名和密碼是否正確,其中,NAME和PASSWORD是用戶輸入的內(nèi)容,當(dāng)用戶輸入用戶名為AA,密碼為“BB或'A'='A'”,那么拼接出來的SQL語句就為“SELECTTOP1*FROMUSERWHERENAME='AA'ANDPASSWORD='BB'OR'A'='A'”,那么只要USER表中有數(shù)據(jù),這條SQL語句就會有返回結(jié)果。這就達(dá)到了SQL注入的目的。

作為DBA,永遠(yuǎn)不要信任用戶的輸入,相反,必須認(rèn)定用戶輸入的數(shù)據(jù)永遠(yuǎn)都是不安全的,對用戶輸入的數(shù)據(jù)必須都進(jìn)行過濾處理。

為了防止SQL注入,需要注意以下幾個要點:

(1)永遠(yuǎn)不要信任用戶的輸入??梢酝ㄟ^正則表達(dá)式或限制長度的方式對用戶的輸入進(jìn)行校驗;對單引號進(jìn)行轉(zhuǎn)換等。

(2)永遠(yuǎn)不要使用動態(tài)拼裝SQL,可以使用參數(shù)化的SQL或者直接使用存儲過程進(jìn)行數(shù)據(jù)查詢、存取。

(3)永遠(yuǎn)不要使用管理員權(quán)限的數(shù)據(jù)庫連接,建議為每個應(yīng)用賦予單獨的權(quán)限。

(4)不要把機(jī)密信息直接存放,建議對密碼或敏感信息進(jìn)行加密或HASH處理。

(5)應(yīng)用的異常信息應(yīng)該給出盡可能少的提示,最好使用自定義的錯誤信息對原始錯誤信息進(jìn)行包裝。

(6)SQL注入的檢測一般采取輔助軟件或借助網(wǎng)站平臺,軟件一般采用SQL注入檢測工具JSKY,網(wǎng)站平臺就有安全平臺檢測工具:MDCSOFTSCAN等。采用MDCSOFT-IPS可以有效地防御SQL注入、XSS(CrossSiteScripting,跨站腳本攻擊,為了不和層疊樣式表(CascadingStyleSheets,CSS)的縮寫混淆,故將跨站腳本攻擊縮寫為XSS)攻擊等。

13.

熱備份和冷備份的區(qū)別是什么?正確答案:熱備份是在數(shù)據(jù)庫運行的情況下,采用歸檔方式備份數(shù)據(jù)的方法,針對歸檔模式的數(shù)據(jù)庫,在數(shù)據(jù)庫仍舊處于工作狀態(tài)時進(jìn)行備份,而冷備份是指在數(shù)據(jù)庫已經(jīng)正常關(guān)閉后,將關(guān)鍵性文件復(fù)制到另外位置的一種備份方式,適用于所有模式的數(shù)據(jù)庫。冷備份和熱備份的優(yōu)缺點見表所示。

14.

什么是OLAP和OLTP?正確答案:數(shù)據(jù)處理大致可以分成兩大類:OLTP(On-LineTransactionProcessing,聯(lián)機(jī)事務(wù)處理)和OLAP(On-LineAnalyticalProcessing,聯(lián)機(jī)分析處理)。

OLTP是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的主要應(yīng)用,即記錄實時的增、刪、改,主要是執(zhí)行基本的、日常的事務(wù)處理,例如,在銀行存取一筆款,就是一個事務(wù)交易。OLTP系統(tǒng)強調(diào)數(shù)據(jù)庫處理效率,強調(diào)內(nèi)存各種指標(biāo)的命中率,強調(diào)綁定變量,強調(diào)并發(fā)操作。一般情況下,OLTP系統(tǒng)數(shù)據(jù)量少,DML操作比較頻繁,并行事務(wù)處理多,但是一般都比較短。OLTP表示事務(wù)性非常高的系統(tǒng),一般都是高可用的在線系統(tǒng),以小的事務(wù)以及小的查詢?yōu)橹?。評估其系統(tǒng)的時候,一般看其每秒執(zhí)行的事務(wù)數(shù)以及SQL執(zhí)行的數(shù)量。在OLTP系統(tǒng)中,單個數(shù)據(jù)庫每秒處理的事務(wù)數(shù)往往超過幾百個,或者是幾千個,SELECT語句的執(zhí)行量每秒幾千甚至幾萬個。典型的OLTP系統(tǒng)有電子商務(wù)系統(tǒng)、銀行、證券等,例如,美國eBay的業(yè)務(wù)數(shù)據(jù)庫,就是很典型的OLTP數(shù)據(jù)庫。在Oracle中創(chuàng)建OLTP系統(tǒng)時,使用一般用途或事務(wù)處理(GeneralPurposeorTransactionProcessing)模板。

具體而言,OLTP的特點一般有以下幾點:①實時性要求高。②數(shù)據(jù)量不是很大。③交易一般是確定的,所以,OLTP是對確定性的數(shù)據(jù)進(jìn)行存取,例如存取款都有一個特定的金額。④并發(fā)性要求高,但是有嚴(yán)格的事務(wù)完整性和安全性要求。例如,有可能你和你的家人同時在不同的銀行取同一個賬號的存款。

OLAP的概念最早是由關(guān)系型數(shù)據(jù)庫之父E.F.Codd于1993年提出的,他認(rèn)為OLTP己不能滿足終端用戶對數(shù)據(jù)庫查詢分析的需要,SQL對大型數(shù)據(jù)庫進(jìn)行的簡單查詢也不能滿足終端用戶分析的要求。用戶的決策分析需要對關(guān)系數(shù)據(jù)庫進(jìn)行大量計算才能得到結(jié)果,而查詢的結(jié)果并不能滿足決策者提出的需求。OLAP是DSS(DecisionSupportSystem,決策支持系統(tǒng))的一部分,是數(shù)據(jù)倉庫的核心部分。DSS是輔助決策者通過數(shù)據(jù)、模型和知識,以人機(jī)交互方式進(jìn)行半結(jié)構(gòu)化或非結(jié)構(gòu)化決策的計算機(jī)應(yīng)用系統(tǒng)。DSS是管理信息系統(tǒng)(ManagementInformationSystem,MIS)向更高一級發(fā)展而產(chǎn)生的先進(jìn)信息管理系統(tǒng),它為決策者提供分析問題、建立模型、模擬決策過程和方案的環(huán)境,調(diào)用各種信息資源和分析工具,幫助決策者提高決策水平和質(zhì)量。所謂數(shù)據(jù)倉庫是對于大量已經(jīng)由OLTP形成的數(shù)據(jù)的一種分析型的數(shù)據(jù)庫,用于處理商業(yè)智能、決策支持等重要的決策信息;數(shù)據(jù)倉庫是在數(shù)據(jù)庫應(yīng)用到一定程序之后而對歷史數(shù)據(jù)的加工與分析。OLAP是數(shù)據(jù)倉庫系統(tǒng)的主要應(yīng)用,支持復(fù)雜的分析操作,側(cè)重決策支持,并且提供直觀易懂的查詢結(jié)果。數(shù)據(jù)量大,DML少。典型的應(yīng)用就是復(fù)雜的動態(tài)報表系統(tǒng)。在Oracle中創(chuàng)建OLAP系統(tǒng)時,使用數(shù)據(jù)倉庫(DataWarehouse)模板。

具體而言,OLAP的

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論