Oracle數(shù)據(jù)庫(kù)管理習(xí)題和答案_第1頁(yè)
Oracle數(shù)據(jù)庫(kù)管理習(xí)題和答案_第2頁(yè)
Oracle數(shù)據(jù)庫(kù)管理習(xí)題和答案_第3頁(yè)
Oracle數(shù)據(jù)庫(kù)管理習(xí)題和答案_第4頁(yè)
Oracle數(shù)據(jù)庫(kù)管理習(xí)題和答案_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1.6習(xí)題一.填空題1、關(guān)系模型提供了3類完整性規(guī)則,分別是_、_、_。參考答案:實(shí)體完整性規(guī)則、參照完整性規(guī)則、用戶定義的完整性規(guī)則2、RDBMS由兩部分組成,即_、_兩部分。答案:數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)核、數(shù)據(jù)字典3、關(guān)系數(shù)據(jù)庫(kù)模型支持三種類型的表關(guān)聯(lián)關(guān)系:_、_、_。答案:一對(duì)一、一對(duì)多以及多對(duì)多4、數(shù)據(jù)模型的種類有很多,例如_、_、_和_等。目前理論最成熟、使用最普及的是_。答案:層次模型、網(wǎng)狀模型、關(guān)系數(shù)據(jù)模型、面向?qū)ο竽P?。關(guān)系數(shù)據(jù)模型二、選擇題1、Oracle 11g版本號(hào)中字母“g”的含義是()A產(chǎn)品類型的“代”( generation) B網(wǎng)格(gridding) C集成(integr

2、ation)D無(wú)含義答案:A2、 設(shè)計(jì)性能較優(yōu)的關(guān)系模式稱為規(guī)范化,規(guī)范化主要的理論依據(jù)是()A關(guān)系規(guī)范化理論B關(guān)系運(yùn)算理論C關(guān)系代數(shù)理論D數(shù)理邏輯答案:A3、消除了部分函數(shù)依賴的1NF的關(guān)系模式必定是()A1NFB2NFC3NFD4NF答案:B4、當(dāng)B屬于函數(shù)依賴于A屬性時(shí),屬性B與A 的聯(lián)系是()A1對(duì)多B多對(duì)1 C多對(duì)多D以上都不是答案:B5、根據(jù)關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論,關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系要滿足第一范式。下面“部門(mén)”關(guān)系中,因哪個(gè)屬性而使它不滿足第一范式?部門(mén)(部門(mén)號(hào),部門(mén)名,部門(mén)成員,部門(mén)總經(jīng)理)A部門(mén)總經(jīng)理B部門(mén)成員C部門(mén)名D部門(mén)號(hào)答案:B6、下列不屬于Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)類型的是(

3、)ANUMBERBFLOATCCLOBDBOOLEAN答案:D三、簡(jiǎn)答題1、簡(jiǎn)述數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng)的區(qū)別。參考答案:數(shù)據(jù)庫(kù)是用來(lái)存儲(chǔ)信息或數(shù)據(jù)的機(jī)制,是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)??梢员欢x為是在計(jì)算機(jī)存儲(chǔ)設(shè)備上合理存放的,互相關(guān)聯(lián)的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)管理系統(tǒng),它是基于某種結(jié)構(gòu)數(shù)據(jù)模型、以統(tǒng)一的方式管理和維護(hù)數(shù)據(jù)庫(kù),并提供訪問(wèn)數(shù)據(jù)庫(kù)接口的通用軟件。2、簡(jiǎn)述數(shù)據(jù)庫(kù)規(guī)范化的概念及其作用。參考答案:數(shù)據(jù)庫(kù)規(guī)范化,又稱數(shù)據(jù)庫(kù)或資料庫(kù)正規(guī)化、標(biāo)準(zhǔn)化,是數(shù)據(jù)庫(kù)設(shè)計(jì)中的一系列原理和技術(shù),以減少數(shù)據(jù)庫(kù)中數(shù)據(jù)冗余,增進(jìn)數(shù)據(jù)的一致性。四、應(yīng)用題1、設(shè)有一教學(xué)管理數(shù)據(jù)庫(kù),其屬性為:學(xué)號(hào)(S#),課程

4、號(hào)(C#),成績(jī)(G),任課教師(TN),教師所在的系(D)。這些數(shù)據(jù)有下列語(yǔ)義: 學(xué)號(hào)和課程號(hào)分別與其代表的學(xué)生和課程一一對(duì)應(yīng)。 一個(gè)學(xué)生所修的每門(mén)課程都有一個(gè)成績(jī)。 每門(mén)課程只有一位任課教師,但每位教師可以有多門(mén)課程。 教師中沒(méi)有重名,每個(gè)教師只屬于一個(gè)系。(1)試根據(jù)上述語(yǔ)義確定函數(shù)依賴集。(2)如果用上面所有屬性組成一個(gè)關(guān)系模式,那么該關(guān)系模式為何模式?并舉例說(shuō)明在進(jìn)行增、刪操作時(shí)的異?,F(xiàn)象。(3)分解為具有依賴保持和無(wú)損連接的3NF。參考答案:(1)F=(S#,C#)G,C#TN,TND(2)關(guān)系模式為1NF,因?yàn)樵撽P(guān)系模式的候選碼為(S#,C#),則非主屬性有G,TN和D。又F中有

5、C#TN,存在非主屬性TN對(duì)候選碼(S#,C#)的部分依賴,即:若新增設(shè)一門(mén)課程而暫時(shí)還沒(méi)有學(xué)生選修時(shí),則因缺少碼S#值而不能進(jìn)行插入操作。若某個(gè)教師調(diào)離學(xué)校要?jiǎng)h除有關(guān)信息時(shí),會(huì)將不該刪除的課程(C#)信息刪除。(3)Fm=(S#,C#)G,C#TN,TND=R1,R2,R3其中: R1=(S#,C#,G) R2=(C#,TN) R3=(TN,D)2.7習(xí)題一、填空題1、常用的Oracle服務(wù)主要有如下四種,分別是_、_、_、_。參考答案:OracleDBConsoleorcl、OracleJobScheduler、OracleService、 OracleTNSListener2、Oracl

6、e數(shù)據(jù)庫(kù)啟動(dòng)的三個(gè)階段是:_、_、_。參考答案:?jiǎn)?dòng)實(shí)例、打開(kāi)控制文件、打開(kāi)數(shù)據(jù)庫(kù)3、Oracle數(shù)據(jù)庫(kù)關(guān)閉的四個(gè)選項(xiàng)是:_、_、_、_。參考答案:normal、immediate、transaction、abort二、選擇題1、系統(tǒng)標(biāo)識(shí)符(SID)是指唯一在網(wǎng)絡(luò)域中區(qū)別于其他數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)實(shí)例名,下面合法的SID是()Amy2orcl BmyoracletestCmy_orclDmyorcl參考答案:A2、安裝Oracle Database 11g可以選擇安裝類型,下列不屬于Oracle Database 11g的安裝類型是()A企業(yè)版B個(gè)人版C定制D免費(fèi)版參考答案:D三、簡(jiǎn)答題1、簡(jiǎn)述Or

7、acle Database 11g在Windows系統(tǒng)下的安裝步驟。參考答案:選擇安裝方法、選擇安裝類型、指定主目錄詳細(xì)信息、產(chǎn)品特定的先決條件檢查、選擇配置選項(xiàng)、安裝、安裝結(jié)束。2、簡(jiǎn)述Oracle中用戶和模式的關(guān)系。參考答案:用戶是用連接數(shù)據(jù)庫(kù)和訪問(wèn)數(shù)據(jù)庫(kù)對(duì)象的。模式是數(shù)據(jù)庫(kù)對(duì)象的集合。模式對(duì)象是數(shù)據(jù)庫(kù)數(shù)據(jù)的邏輯結(jié)構(gòu)。通俗地說(shuō),模式是用來(lái)創(chuàng)建oracle中各種對(duì)象,而用戶用來(lái)連接數(shù)據(jù)庫(kù)并訪問(wèn)模式中對(duì)象,在oracle中模式與用戶是一一對(duì)應(yīng)關(guān)系。四、上機(jī)練習(xí)1、按照書(shū)中步驟,正確安裝Oracle Database 11g,創(chuàng)建數(shù)據(jù)庫(kù),并且創(chuàng)建用戶。2、從操作系統(tǒng)提示符界面,采用上題創(chuàng)建的用戶

8、登錄數(shù)據(jù)庫(kù),并創(chuàng)建EMPLOYEES表進(jìn)行測(cè)試。(表結(jié)構(gòu)如下圖)3、客戶端連接Oracle數(shù)據(jù)庫(kù)時(shí),默認(rèn)端口為1521。創(chuàng)建一個(gè)新的監(jiān)聽(tīng)程序,其端口為1522。然后將ORCL注冊(cè)于該監(jiān)聽(tīng)程序。3.5 習(xí)題一、填空題1查看表結(jié)構(gòu)時(shí),所使用的命令是_,該命令可以簡(jiǎn)寫(xiě)為_(kāi)。參考答案:DESCRIBE、DESC2使用SQL*Plus語(yǔ)句快速編輯SQL語(yǔ)句時(shí),可以使用的命令有APPEND(可以簡(jiǎn)寫(xiě)為A)命令、_ (可以簡(jiǎn)寫(xiě)為C)命令、_(可以簡(jiǎn)寫(xiě)為I)、_(可簡(jiǎn)寫(xiě)為L(zhǎng))命令,以及RUN(可以簡(jiǎn)寫(xiě)為R)命令。參考答案:CHANGE、INPUT、LIST3在SQL*Plus工具中,可以使用SAVE命令將緩沖

9、區(qū)內(nèi)容保存到文件;可以使用_命令讀取并運(yùn)行文件內(nèi)容;可以使用_命令編輯緩沖區(qū)內(nèi)容或文件內(nèi)容;還可以使用SPOOL命令復(fù)制輸出結(jié)果到文件。參考答案:START、EDIT4在SQL語(yǔ)句中,如果在某個(gè)變量前面使用了&符號(hào),那么就表示該變量是一個(gè)臨時(shí)變量。定義變量,可以使用_或ACCEPT命令;刪除變量,可以使用UNDEFINE命令。參考答案:DEFINE5在SQL*Plus中格式化查詢結(jié)果時(shí),COLUMN命令可以對(duì)列格式化顯示效果,PAGESIZE命令可以_,LINESIZE命令可以_。參考答案:設(shè)置頁(yè)的大小、設(shè)置行寬度6創(chuàng)建簡(jiǎn)單報(bào)表時(shí),使用_命令和_命令,分別為報(bào)表設(shè)置頁(yè)眉和頁(yè)腳信息。參考答案:T

10、title、Btitle二、選擇題1在SQL*Plus中連接數(shù)據(jù)庫(kù)時(shí),可以使用CONNECT命令。下面的4個(gè)選項(xiàng)中,哪個(gè)命令是正確的?其中,用戶名為scott,密碼為tiger,數(shù)據(jù)庫(kù)名為orcl。()ACONNECT scott/tiger ;BCONNECT tiger/scott ;CCONN scott/tiger as sysdba ;DCONN scott/tigerorcl as sysdba ;參考答案:D2執(zhí)行語(yǔ)句SAVE scott_emp_query.sql APPEND,執(zhí)行結(jié)果表示()。A如果scott emp_query.sql文件不存在,則出現(xiàn)錯(cuò)誤B如果scott

11、 emp_query.sql文件已經(jīng)存在,則出現(xiàn)錯(cuò)誤C將緩沖區(qū)中的內(nèi)容追加到scott_emp_query.sql文件中。如果該文件不存在,會(huì)創(chuàng)建該文件D將緩沖區(qū)中的內(nèi)容替換掉scott_emp_query.sql文件的內(nèi)容。如果該文件不存在,會(huì)創(chuàng)建該文件參考答案:C3使用SQL*Plus中的_,可以將文件中的內(nèi)容檢索到緩沖區(qū),并且不執(zhí)行。()ASAVE命令BGET命令CSTART命令DSPOOL命令參考答案:B4下面是有關(guān)變量的描述,請(qǐng)問(wèn)哪些描述是正確的?()A臨時(shí)變量是指僅在某個(gè)SQL語(yǔ)句中有效的變量B臨時(shí)變量是在某個(gè)會(huì)話期間有效的變量C已定義變量是指明確定義,其生命期至顯式地刪除、重新定

12、義或退出SQL*Plus為止D已定義的變量是不能被刪除的參考答案:B、C5如果希望控制列的顯式格式,那么可以使用下面的_命令()A.SHOWB.DEFINEC. SPOOLD. COLUMN參考答案:D三、簡(jiǎn)答題1使用DESCRIBE命令,查看scott用戶的dept表的結(jié)構(gòu)信息。參考答案:descscott. dept2使用SAVE命令將緩沖區(qū)內(nèi)容寫(xiě)入到e:test.sql文件中;然后使用START命令將文件中的內(nèi)容讀入到緩沖區(qū),并且進(jìn)行執(zhí)行。參考答案:savee:test.sqlStart e:test.sql3執(zhí)行下列語(yǔ)句,觀察輸出結(jié)果:DEFINE temp = 5000SELECT

13、empno , ename , mgrFROM scott.empWHERE sal = &temp ;參考答案:略4對(duì)scott用戶的emp表的輸出信息進(jìn)行格式設(shè)置。其中,empno列設(shè)置標(biāo)題為“員工編號(hào)”,NUMBER格式為9999;ename列設(shè)置標(biāo)題為“員工名稱”,格式設(shè)置為25個(gè)字符;hiredate列設(shè)置標(biāo)題為“受雇日期”,并且標(biāo)題居中顯示。參考答案:col empno heading員工編號(hào) format 9999;col ename heading 員工名稱 for A25;col hiredate heading受雇日期 justify center;5設(shè)置一頁(yè)顯示30行數(shù)據(jù)

14、,并且設(shè)置一行顯示130個(gè)字符,然后輸出scott用戶的emp表的全部信息。參考答案:SET PAGESIZE 30SET LINESIZE 130SELECT * FROM SCOTT.EMP四、操作練習(xí)下載SQL Developer,建立Oracle數(shù)據(jù)庫(kù)的連接,按照書(shū)中所述步驟,操作熟悉SQL Developer的使用。4.5 習(xí)題一、填空題1如果需要在SELECT子句中包括一個(gè)表的所有列,可以使用符號(hào)_。參考答案:*2WHERE子句可以接收FROM子句輸出的數(shù)據(jù);而HAVING子句可以接收來(lái)自FROM、_或_子句的輸出的數(shù)據(jù)。參考答案:WHERE、GROUP3在SELECT語(yǔ)句中,分組

15、條件的子句是_,對(duì)顯示的數(shù)據(jù)進(jìn)行排序的子句是_。參考答案:GROUP BY、ORDER BY4在DML語(yǔ)句中,INSERT語(yǔ)句可以實(shí)現(xiàn)插入記錄,_語(yǔ)句可以實(shí)現(xiàn)更新記錄,_語(yǔ)句和_語(yǔ)句可以實(shí)現(xiàn)刪除記錄。參考答案:UPDATE、DELETE、TURNCATE5_函數(shù)可以返回某個(gè)數(shù)值的ASCII值,_函數(shù)可以返回某個(gè)ASCII值對(duì)應(yīng)的十進(jìn)制數(shù)。參考答案:ASCII、CHR6使用_函數(shù),可以把數(shù)字或日期類型的數(shù)據(jù)轉(zhuǎn)換成字符串;使用TO_DATE函數(shù),可以把_轉(zhuǎn)換成_,默認(rèn)的日期格式為_(kāi)。參考答案:TO_CHAR、字符串、日期型、yyyy-MM-dd HH:mm:ss二、選擇題1查詢scott用戶的em

16、p表中的總記錄數(shù),可以使用下列哪個(gè)語(yǔ)句?()ASELECT MAX(empno) FROM scott.emp;BSELECT COUNT(empno) FROM scott.emp;CSELECT COUNT(comm) FROM scott.emp;DSELECT COUNT(*) FROM scott.emp;參考答案:D2為了去除結(jié)果集中的重復(fù)行,可以在SELECT中使用下列哪個(gè)關(guān)鍵字?()AALLBDISTINCTCUPDATADMERGE參考答案:B3在SELECT語(yǔ)句中,HAVING子句的作用是()A查詢結(jié)果的分組條件B組的篩選條件C限定返回的行的判斷條件D對(duì)結(jié)果集進(jìn)行排序參考答

17、案:B4下列哪個(gè)聚合函數(shù)可以把一個(gè)列中的所有值相加求和?()AMAX函數(shù)BMIN函數(shù)CCOUNT函數(shù)DSUM函數(shù)參考答案:A5如果要統(tǒng)計(jì)表中有多少行記錄,應(yīng)該使用下列哪個(gè)聚合函數(shù)?()ASUM函數(shù)BAVG函數(shù)CCOUNT函數(shù)DMAX函數(shù)參考答案:C三、簡(jiǎn)答題1標(biāo)準(zhǔn)SQL語(yǔ)言的語(yǔ)句類型可以分為哪三大類,每種語(yǔ)句類型分別用來(lái)操縱哪些語(yǔ)句?參考答案:數(shù)據(jù)操縱語(yǔ)言(DML):用來(lái)操縱數(shù)據(jù)庫(kù)中數(shù)據(jù)的命令。包括:select、insert、update、delete。數(shù)據(jù)定義語(yǔ)言(DDL):用來(lái)建立數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)對(duì)象和定義列的命令。包括:create、alter、drop。數(shù)據(jù)控制語(yǔ)言(DCL):用來(lái)控制

18、數(shù)據(jù)庫(kù)組件的存取許可、權(quán)限等的命令。包括:grant、deny、revoke。2列舉幾個(gè)在WHERE條件中可以使用的操作符。參考答案:使用 = 、= 、= 、符號(hào)和 BETWEEN 。AND 。、IN(set)、LIKE、IS NULL 。3如果要按照降序?qū)?shù)據(jù)進(jìn)行排序,應(yīng)該在ORDER BY子句中使用哪個(gè)關(guān)鍵字?參考答案:DESC4下面這個(gè)SELECT語(yǔ)句能否輸出查詢結(jié)果?如果不能,該如何修改?SELECT empno , ename , deptno , COUNT (*)FROM scott .empGROUP BY deptno參考答案:不能。SELECT deptno , COUNT

19、 (*)FROM scott .empGROUP BY deptno5指定一個(gè)日期值,例如08-8月-2008,獲得這個(gè)日期與系統(tǒng)當(dāng)前日期之間相隔的月份數(shù)和天數(shù)。參考答案:select months_between(08-8月-2008, sysdate) mon_betw from dual;5.8 習(xí)題一、填空題1按照約束的用途,主要可以將表的完整性約束分為NOT NULL約束、_、_、_和_。參考答案:Check、Unique Index、Primary key、Foreign key2使用_關(guān)鍵字,可以快速刪除表中的所有記錄,并且不在撤消表空間中記錄撤消數(shù)據(jù)。參考答案:TRUNCATE

20、3_約束用于定義列中不能出現(xiàn)NULL值,_約束用于定義列中不能出現(xiàn)重復(fù)值,而PRIMARY KEY約束則可以定義列中既不允許出現(xiàn)NULL值,也不允許出現(xiàn)重復(fù)值。參考答案:NOT NULL、UNIQUE二、選擇題1存儲(chǔ)數(shù)據(jù)123.45,可以使用下面哪種數(shù)據(jù)類型?()ANUMBER BNUMBER(5) CNUMBER(5,3)DNUMBER(5,2)參考答案:D2如果某列定義了UNIQUE約束,則()A該列不允許出現(xiàn)重復(fù)值。 B該列不允許出現(xiàn)NULL值。C該列內(nèi)允許出現(xiàn)一個(gè)NULL值。 D該列允許出現(xiàn)多個(gè)NULL值。參考答案:A3為列定義一個(gè)CHECK約束,希望該約束能對(duì)表中已存儲(chǔ)的數(shù)據(jù),以及以

21、后向表中添加或修改的數(shù)據(jù)都進(jìn)行檢查,則應(yīng)該將該約束設(shè)置為如下哪種狀態(tài)?()AENABLE VALIDATE BENABLE NOVALIDATECDISABLE VALIDATE DDISABLE NOVALIDATE參考答案:A4使用如下語(yǔ)句創(chuàng)建一個(gè)臨時(shí)表空間temp: CREAT _ TABLESPACE temp _F:oraclefoletemp.dbf SIZE 10M AUTOEXTENT ON NEXT 2M MAXSIZE 20M;請(qǐng)從下列選項(xiàng)中選擇正確的關(guān)鍵字補(bǔ)充上面的語(yǔ)句。()A(不填)、DATAFILE BTEMP、TEMPFILECTEMPORARY、TEMPFILE

22、DTEMP、DATAFILE參考答案:C5下列關(guān)于約束與索引的說(shuō)法中哪一項(xiàng)是不正確的?()A在字段上定義PRIMARY KEY約束時(shí)會(huì)自動(dòng)創(chuàng)建B樹(shù)惟一索引B在字段上定義UNIQUE約束時(shí)會(huì)自動(dòng)創(chuàng)建B樹(shù)惟一索引C在默認(rèn)的情況下,禁用約束會(huì)刪除對(duì)應(yīng)的索引,而激活約束會(huì)自動(dòng)重建相應(yīng)的索引D在定義FOREIGN KEY 約束時(shí)會(huì)創(chuàng)建B樹(shù)唯一索引參考答案:D三、簡(jiǎn)答題1比較VARCHAR2與CHAR兩種數(shù)據(jù)類型的區(qū)別,并舉例說(shuō)明分別在什么情況下使用這兩種數(shù)據(jù)類型。參考答案:CHAR的長(zhǎng)度是固定的,VARCHAR2的長(zhǎng)度是可以變化的,存儲(chǔ)字符串“ABC,對(duì)于CHAR (10),表示存儲(chǔ)的字符將占10個(gè)字節(jié)

23、(包括7個(gè)空字符),而同樣的VARCHAR2 (10)則只占用3個(gè)字節(jié)的長(zhǎng)度,10只是最大值,當(dāng)你存儲(chǔ)的字符小于10時(shí),按實(shí)際長(zhǎng)度存儲(chǔ)。VARCHAR2比CHAR節(jié)省空間,在效率上比CHAR會(huì)稍微差一些。2創(chuàng)建一個(gè)表后,為表中的某列添加CHECK約束,并分別設(shè)置該約束的狀態(tài)為4種不同的狀態(tài),比較這4種狀態(tài)下的約束檢查效果。參考答案:略3建立一個(gè)學(xué)生表,表結(jié)構(gòu)如下stu_info ( stuid number,name varchar(20),age number (2),sex char(2),birthday date)(1)在數(shù)據(jù)庫(kù)中建立stu_info表。(2)添加主鍵約束(stuid)

24、(3)添加check約束(插入的年齡必須大于19歲)(4)添加非空約束(要求姓名不能為空值)(5)給上面的表添加唯一約束(要求姓名不可重復(fù))參考答案:(1) create table stu_info(stuid number,name varchar(20),age number(2),sex char(2),birthday date);(2) ALTER TABLE stu_infoADD CONSTRAINT stu_info _pk PRIMARY KEY (stuid);(3) ALTER TABLE stu_infoADD CONSTRAINT age_checkcheck(ag

25、e19);(4) alter table stu_info modify name not null;(5) ALTER TABLE stu_infoADD CONSTRAINT name_uniunique(name);6.8 習(xí)題一、填空題1為了保證在SQL方式下進(jìn)行INSERT、DELETE和UPDATE操作達(dá)到安全的目的,一般在SQL下進(jìn)行操作前,建議將環(huán)境設(shè)置成為非自動(dòng)提交的方式,采用的命令是_,若想取消操作,采取的命令是_。參考答案:set autocommit off、rollback2對(duì)某步操作設(shè)置相應(yīng)保存點(diǎn)的命令是_,當(dāng)根據(jù)需要用命令_來(lái)實(shí)現(xiàn)撤消到這一步。參考答案:SAVEP

26、OINT、ROLLBACK TO3關(guān)系數(shù)據(jù)庫(kù)中比較常用的SQL中,采用命令_進(jìn)行插入,采用_來(lái)進(jìn)行數(shù)據(jù)更新,而同時(shí)具有更新和插入功能的命令式_。參考答案:INSERT、UPDATA、MERGE二、選擇題1PL/SQL塊中不能直接使用的SQL命令是()。ASELECT BINSERT CUPDATE DDROP參考答案:D2以零作除數(shù)時(shí)會(huì)引發(fā)()異常。AVALUE_ERRORBZERO_DIVIDECSTORAGE_ERROR DSELF_IS_NULL參考答案:B3要更新游標(biāo)結(jié)果集中的當(dāng)前行,應(yīng)使用()子句。AWHERE CURRENT OFBFOR UPDATECFOR DELETEDFOR

27、 MODIFY參考答案:A4下面不是常用的數(shù)據(jù)對(duì)象權(quán)限的是()ADELETEBREVOKECINSERT DUPDATE 參考答案:B5用于修改表中數(shù)據(jù)的語(yǔ)句是()AEDITBMODIFYCUPDATE DALTER 參考答案:D6在只讀表空間上可以執(zhí)行以下哪些操作?()ACREATE TABLEBALTER TABLECDROP TABLEDINSERT參考答案: C 三、簡(jiǎn)答題1簡(jiǎn)述DETELE操作與TRUNCATE操作的異同。參考答案:truncate,可以刪除表中的所有記錄,釋放表空間,只保留表結(jié)構(gòu)。delete,如果沒(méi)有where條件,也是刪除表中的所有記錄,但是它不釋放空間。TRU

28、NCATE在各種表上無(wú)論是大的還是小的都非常快。如果有ROLLBACK命令DELETE將被撤銷,而TRUNCATE則不會(huì)被撤銷。RUNCATE將重新設(shè)置高水平線和所有的索引。在對(duì)整個(gè)表和索引進(jìn)行完全瀏覽時(shí),經(jīng)過(guò)TRUNCATE操作后的表比DELETE操作后的表要快得多。2已有表文件teacher(教師代碼(C),姓名(C),學(xué)院(C),職稱(C),年齡(N),按照要求寫(xiě)出SQL語(yǔ)句。1查詢職稱為副教授的教師代碼,姓名,學(xué)院,職稱信息;2查詢學(xué)院為“電信學(xué)院”并且職稱為“講師”的所有教師的信息,并將查詢結(jié)果按年齡字段的降序排序。3將所有教師的年齡加1;4將表中年齡小于15歲的教師記錄加上刪除標(biāo)記

29、;參考答案:(1)select 教師代碼,姓名,學(xué)院。職稱 from teacher where 職稱=副教授;(2)select * from teacher where 學(xué)院=電信學(xué)院 and 職稱=講師 order by 年齡 desc;(3)update teacher set 年齡=年齡+1;(4) delete from teacher where 年齡153有一個(gè)表T,有兩個(gè)字段a,b,我們想在表T中做Insert/Update,如果存在,則更新T中b的值,如果不存在,則插入一條記錄。假設(shè)待Insert/Update的記錄為(a=001,b=100)。請(qǐng)使用MERGE命令完成。參

30、考答案:MERGEINTOTT1USING(SELECT1001ASa,2ASbFROMdual)T2ON(T1.a=T2.a)WHENMATCHEDTHENUPDATESETT1.b=T2.bWHENNOTMATCHEDTHENINSERT(a,b)VALUES(T2.a,T2.b);7.5習(xí)題一.填空題1創(chuàng)建視圖的命令是_。若要保證插入或修改的數(shù)據(jù)行必須滿足視圖定義的約束,創(chuàng)建時(shí)附帶的參數(shù)是_;若要保證視圖上不能進(jìn)行任何DML操作,創(chuàng)建時(shí)附帶的參數(shù)是_。參考答案:CREATE VIEW、WITH CHECK OPTION、WITH READ ONLY2創(chuàng)建序列的命令是_。若要使序列的增量為

31、5,創(chuàng)建時(shí)附帶的參數(shù)是_;若要使序列開(kāi)始值為10,創(chuàng)建時(shí)附帶的參數(shù)是_。參考答案:CREATE SEQUENCE、INCREMENT BY 5、START WITH 103視圖中的列并不都支持DML操作,通過(guò)數(shù)據(jù)字典_可以了解視圖中哪些列是可更新的。參考答案:user_updatable_columns4使用_可以獲取序列的當(dāng)前值,使用_可以獲取下一個(gè)值。參考答案:currval、nextval5如果要清除索引中的存儲(chǔ)碎片,可以對(duì)索引進(jìn)行合并或_。參考答案:重建選擇題1以下哪個(gè)視圖可以查到用戶具有使用權(quán)限的表的信息()AUSER_VIEWSBUSER_TABLESCALL_OBJECTSDUS

32、ER_OBJECTS參考答案:C2要查看當(dāng)前用戶下有哪些數(shù)據(jù)表格,適用下列哪個(gè)視圖()AUSER_TABLEBTABCUSER_ALL_TABLESDTABLES_USER參考答案:C3可以使用()偽列來(lái)訪問(wèn)序列。ACURRVAL和NEXTVAL BNEXTVAL和PREVALCCACHE和NOCACHE DMAXVALUE和MINVALUE參考答案:A4帶有錯(cuò)誤的視圖可使用()選項(xiàng)來(lái)創(chuàng)建。AFORCEBWITH CHECK OPTIONCCREATE VIEW WITH ERRORDCREATE ERROR VIEW參考答案:A5在聯(lián)接視圖中,當(dāng)()時(shí),該基表被稱為鍵保留表。A基表的主鍵不是

33、結(jié)果集的主鍵B基表的主鍵是結(jié)果集的主鍵C基表的主鍵是結(jié)果集的外鍵D基表的主鍵不是結(jié)果集的外鍵參考答案:B6使用如下語(yǔ)句創(chuàng)建一個(gè)視圖:CREATE VIEW test view ASSELECT stu.stuname , stu.stuage + 1 newage , cla.clanameFROM student stu LEFT JOIN class cla ON stu.claid = cla.claid;請(qǐng)問(wèn)test view視圖中哪些列是可更新的?()AstunameBstuname, newageCstuname, clanameDstuname, newage, claname參

34、考答案:A7如果創(chuàng)建一個(gè)序列,用于為表的主鍵列生成主鍵值,則創(chuàng)建該序列時(shí)不應(yīng)該指定以下哪種參數(shù)?()AMAXVALUE 1000BMINVALUE 10CCACHE 10DCYCLE參考答案:D8如果在創(chuàng)建序列時(shí)指定其CACHE參數(shù)值為10,當(dāng)序列的當(dāng)前值為5時(shí),數(shù)據(jù)庫(kù)突然關(guān)閉,再次運(yùn)行數(shù)據(jù)庫(kù)后,序列將從以下哪個(gè)值開(kāi)始?()A5 B6C11D16參考答案:C9下列關(guān)于索引的描述哪一項(xiàng)是不正確的?()A表是否具有索引不會(huì)影響到所使用的sql的編寫(xiě)形式B為表創(chuàng)建索引后,所有的查詢操作都會(huì)使用索引C為表創(chuàng)建索引后,可以提高查詢的執(zhí)行速度D為表創(chuàng)建索引后,Oracle優(yōu)化器將根據(jù)具體情況決定是否采用索

35、引參考答案:B三、簡(jiǎn)答題1簡(jiǎn)述表與視圖的關(guān)系。參考答案:聯(lián)系:視圖(view)是在基本表之上建立的表,它的結(jié)構(gòu)(即所定義的列)和內(nèi)容(即所有數(shù)據(jù)行)都來(lái)自基本表,它依據(jù)基本表存在而存在。一個(gè)視圖可以對(duì)應(yīng)一個(gè)基本表,也可以對(duì)應(yīng)多個(gè)基本表。視圖是基本表的抽象和在邏輯意義上建立的新關(guān)系。2表結(jié)構(gòu)說(shuō)明:create table employee(id number(10) not null, 員工工號(hào)salary number(10,2) default 0 not null, 薪水name varchar2(24) not null 姓名);(1)創(chuàng)建序列seq_employee,該序列每次取的時(shí)候

36、它會(huì)自動(dòng)增加,從1開(kāi)始計(jì)數(shù),不設(shè)最大值,并且一直累加,不循環(huán)。參考答案:create sequence seq_employee2 increment by 13 start with 14 nomaxvalue5 nocycle 6 /(2)寫(xiě)一個(gè)PL/SQL塊,插入表user.employee中100條數(shù)據(jù)。插入該表中字段id用序列seq_employee實(shí)現(xiàn),薪水和姓名字段可以任意填寫(xiě)。參考答案:略3如果對(duì)視圖的基表進(jìn)行結(jié)構(gòu)上的改動(dòng),將會(huì)影響視圖的可用性。請(qǐng)基于一個(gè)表創(chuàng)建一個(gè)視圖,在視圖的子查詢語(yǔ)句中使用*查詢基表中的所有列,然后對(duì)該表進(jìn)行結(jié)構(gòu)修改,例如增加列、刪除列,修改列名等,測(cè)試不

37、同情況下視圖的可用性,并思考其中的原因。參考答案:視圖依賴于基礎(chǔ)表的存在而存在,當(dāng)基礎(chǔ)表進(jìn)行了結(jié)構(gòu)上的修改后,有可能會(huì)對(duì)視圖產(chǎn)生印象,如果要再次使用此試圖,需要進(jìn)行編譯。4如果經(jīng)常需要使用如下語(yǔ)句查詢employee表中的員工信息:SELECT * FROM employee WHERE SUBSTRB(ename , 0 , 2) = 李;那么應(yīng)該為ename創(chuàng)建什么索引,如何創(chuàng)建?參考答案:創(chuàng)建基于函數(shù)的索引CREATE INDEX EANME_INDEXON employee (SUBSTRB(ename , 0 , 2)TABLESPACE myspace8.6 習(xí)題一.填空題1PL/

38、SQL程序由三個(gè)塊組成,即_、_、_。參考答案:聲明部分、執(zhí)行部分、異常處理部分2Oracle塊根據(jù)應(yīng)用模塊功能,可以分為四種類型,分別是:_、_、_、_。參考答案:匿名塊、命名塊、子程序、觸發(fā)器 3 Oracle的游標(biāo)分為_(kāi)、_。參考答案:顯示游標(biāo)、隱式游標(biāo)4 Oracle 游標(biāo)有4個(gè)屬性,_判斷游標(biāo)是否被打開(kāi),如果打開(kāi)等于true,否則等于false;_判斷游標(biāo)所在的行是否有效,如果有效,則等于true,否則等于false,_屬性與之相反;_返回當(dāng)前位置為止游標(biāo)讀取的記錄行數(shù)。參考答案:%ISOPEN、%FOUND、 %NOTFOUND、%ROWCOUNT 二、選擇題1關(guān)于存儲(chǔ)過(guò)程參數(shù),正

39、確的說(shuō)法是()A存儲(chǔ)過(guò)程的輸出參數(shù)可以是標(biāo)量類型,也可以是表類型B存儲(chǔ)過(guò)程輸入?yún)?shù)可以不輸入信息而調(diào)用過(guò)程C可以指定字符參數(shù)的字符長(zhǎng)度(函數(shù)的()或者過(guò)程的(number/varchar2))D以上說(shuō)法都不對(duì)參考答案:B2下列說(shuō)法,正確的說(shuō)法是()A只要在存儲(chǔ)過(guò)程中有增刪改語(yǔ)句,一定加自治事務(wù)B在函數(shù)內(nèi)可以修改表數(shù)據(jù)C函數(shù)不能遞歸調(diào)用D以上說(shuō)法都不對(duì)參考答案:B3利用游標(biāo)來(lái)修改數(shù)據(jù)時(shí),F(xiàn)OR UPDATE充分利用了事務(wù)的哪個(gè)特性?()A原子性B一致性C永久性D隔離性參考答案:D4下列哪個(gè)語(yǔ)句無(wú)需COMMIT而自動(dòng)提交( )ACREATE TABLE t(t1 NUMBER,t2 NUMBER)

40、BUPDATE t SET t1=123CDELETE FROM tDINSERT INTO t VALUES(1,3)參考答案:A5下列說(shuō)法不正確的是()A在PLSQL自定義函數(shù)中如果包含UPDATE、DELETE、INSERT語(yǔ)句,不必在函數(shù)體內(nèi)給出COMMIT;B自定義函數(shù)可以在SQL語(yǔ)句中調(diào)用、也可以在PLSQL塊中調(diào)用C自定義函數(shù)可以返回表類型D自定義函數(shù)中的參數(shù)可以是OUT類型參考答案:D6下面定義PL/SQL記錄的語(yǔ)法正確的是()ATYPE IS RECORD BTYPE RECORDCRECORD DTYPE RECORD參考答案:A7在SQL*PLUS環(huán)境中可以利用DBMS_

41、OUTPUT包中的PUT_LINE方法來(lái)回顯服務(wù)器端變量的值,但在此之前要利用一個(gè)命令打開(kāi)服務(wù)器的回顯功能,這一命令是()A set server onB set serverecho onC set servershow onD set serveroutput on參考答案:D三、簡(jiǎn)答題1簡(jiǎn)述NO_DATA_FOUND和%NOTFOUND兩個(gè)保留字的用法。參考答案:SELECT.INTO語(yǔ)句觸發(fā)NO_DATA_FOUND;當(dāng)一個(gè)顯示光標(biāo)的 where 子句未找到時(shí)觸發(fā) %NOTFOUND;當(dāng)UPDATE或DELETE 語(yǔ)句的where 子句未找到時(shí)觸發(fā) SQL%NOTFOUND;在光標(biāo)的提

42、取(Fetch)循環(huán)中要用 %NOTFOUND 或%FOUND 來(lái)確定循環(huán)的退出條件,不要用 NO_DATA_FOUND。2簡(jiǎn)述PL/SQL的異常處理機(jī)制。參考答案:當(dāng)發(fā)生錯(cuò)誤時(shí),程序無(wú)條件轉(zhuǎn)到異常處理部分,這就要求代碼要非常干凈并把錯(cuò)誤處理部分和程序的其它部分分開(kāi)。oracle允許聲明其他異常條件類型以擴(kuò)展錯(cuò)誤/異常處理。這種擴(kuò)展使PL/SQL的異常處理非常靈活。當(dāng)一個(gè)運(yùn)行時(shí)錯(cuò)誤發(fā)生時(shí),稱為一個(gè)異常被拋出。PL/SQL程序編譯時(shí)的錯(cuò)誤不是能被處理得異常,只有在運(yùn)行時(shí)的異常能被處理。在PL/SQL程序設(shè)計(jì)中異常的拋出和處理是非常重要的內(nèi)容。3查找出當(dāng)前用戶模式下,每張表的記錄數(shù),以scott用

43、戶為例,結(jié)果應(yīng)如下:DEPT.4EMP.14BONUS.0SALGRADE.5請(qǐng)編寫(xiě)PL/SQL程序塊實(shí)現(xiàn)。參考答案:DECLARE type tab_names is table of varchar2(20) index by binary_integer; tab_name tab_names; coun number; str varchar2(100);BEGIN select table_name bulk collect into tab_name from user_tables;for i in tab_name.first.tab_name.last LOOP str:=s

44、elect count(*) from |tab_name(i);execute immediate str into coun; dbms_output.put_line(tab_name(i)|.|coun);ENDLOOP;END;9.6 習(xí)題一、填空題1_關(guān)鍵字標(biāo)志著PL/SQL程序中聲明段的開(kāi)始。參考答案: DECLARE 2PL/SQL的異常處理代碼在_塊中實(shí)現(xiàn)。參考答案: EXCEPTION 3觸發(fā)器可以分為三類,分別是:_、_、_。參考答案:DML觸發(fā)器、替代觸發(fā)器、系統(tǒng)及觸發(fā)器4 包中包含_和_,它們共享公共的變量,公共的局部函數(shù)和過(guò)程。參考答案:過(guò)程、函數(shù)5一個(gè)包由兩個(gè)分開(kāi)

45、的部分組成_和_。參考答案:包說(shuō)明( package soecification)、包主體( package body ) 二、選擇題1關(guān)于觸發(fā)器,下列說(shuō)法正確的是()A可以在表上創(chuàng)建INSTEAD OF 觸發(fā)器B語(yǔ)句級(jí)觸發(fā)器不能使用“:old”和“:new”C行級(jí)觸發(fā)器不能用于審計(jì)功能D觸發(fā)器可以顯式調(diào)用參考答案:B2分析下面的PL/SQL代碼塊:BEGINFOR I IN 1.5 LOOPIF I=1 THEN NULL;ELSEIF I=3 THEN COMMIT;ELSEIF 1=5 THEN ROLLBACK;ELSE INSERT INTO test(results) values

46、(i);END IF;END LOOP;COMMIT;END;有多少個(gè)值,被永久地插入到TEST表中?()A0B1C2D3參考答案是: B 3在PL/SQL循環(huán)中,需要測(cè)試當(dāng)前的FETCH是否成功,可以完成這個(gè)要求的游標(biāo)屬性是下列哪個(gè)()。ASQL%ISOPENBSQL%ROWCOUNTCSQL%FOUNDD這一要求無(wú)法使用SQL游標(biāo)屬性完成。參考答案是: D 4檢查下面的PL / SQL塊:DECLARE TYPE EmpList IS VARRAY(2) OF employees.employee_id%TYPE NOT NULL; v_employees EmpList := EmpLi

47、st(); BEGIN DBMS_OUTPUT.PUT_LINE(v_employees.COUNT); v_employees.EXTEND; v_employees(1) := 30; END; /下列關(guān)于上述PL / SQL塊的結(jié)果的說(shuō)法,正確的一項(xiàng)是:()。A它執(zhí)行成功,并顯示值為2B它執(zhí)行成功,并顯示值為0C它生成一個(gè)錯(cuò)誤,因?yàn)閿?shù)組不能擴(kuò)展D它生成一個(gè)錯(cuò)誤,因?yàn)樵撟冮L(zhǎng)數(shù)組的聲明是無(wú)效的。參考答案是: B 三、簡(jiǎn)答題1 簡(jiǎn)述PL/SQL程序包的作用。參考答案:把相關(guān)的過(guò)程和函數(shù)歸類,按照功能的相關(guān)性存放在一起,并賦予一定的管理功能和使用的一組對(duì)象就叫做包。Oracle系統(tǒng)把相關(guān)的模塊歸

48、類成為包,可使開(kāi)發(fā)人員利用面向?qū)ο蟮姆椒ㄟM(jìn)行內(nèi)嵌過(guò)程的開(kāi)發(fā),從而提高系統(tǒng)性能。2 簡(jiǎn)述存儲(chǔ)過(guò)程和函數(shù)的區(qū)別。參考答案:本質(zhì)上沒(méi)區(qū)別。只是函數(shù)有如:只能返回一個(gè)變量的限制。而存儲(chǔ)過(guò)程可以返回多個(gè)。而函數(shù)是可以嵌入在sql中使用的,可以在select中調(diào)用,而存儲(chǔ)過(guò)程不行。執(zhí)行的本質(zhì)都一樣。 函數(shù)限制比較多,比如不能用臨時(shí)表,只能用表變量還有一些函數(shù)都不可用等等而存儲(chǔ)過(guò)程的限制相對(duì)就比較少。3 思考如何在PL/SQL里避免重復(fù)編碼的問(wèn)題,請(qǐng)舉例說(shuō)明。參考答案:使用存儲(chǔ)過(guò)程或函數(shù),舉例略。4 在PL/SQL里如何使用綁定變量,為何使用綁定變量,請(qǐng)舉例說(shuō)明。參考答案:這是解決Oracle應(yīng)用程序可伸縮

49、性的一個(gè)關(guān)鍵環(huán)節(jié);而Oracle的共享池就決定了開(kāi)發(fā)人員必須使用綁定變量;如果想要Oracle 運(yùn)行減慢,甚至完全終止,那就可以不用綁定變量;這里舉例說(shuō)明上述問(wèn)題;為了查詢一個(gè)員工代號(hào)是123,你可以這樣查詢:select * from emp where empno=123;你也可以這樣查詢:select * from emp where empno=:empno;第一個(gè)查詢使用的頻率越高,所消耗的系統(tǒng)硬件資源越大,從而降低了用戶的使用數(shù)量;它也會(huì)把優(yōu)化好的其它查詢語(yǔ)句從共享池中踢出,系統(tǒng)的整體性能降低; 而執(zhí)行綁定變量,提交相同對(duì)象的完全相同的查詢的用戶,,一次性使用就可重復(fù)使用,提高效率。四、應(yīng)用題1用PL/SQL編寫(xiě)函數(shù)計(jì)算一個(gè)給定的正整數(shù)的階乘,并編寫(xiě)調(diào)用程序?qū)υ摵瘮?shù)進(jìn)行調(diào)用。參考答案:FUNCTIONfac(nPOSITIVE)RETURNINTEGERISBEGINIFn=1THENRETUR

溫馨提示

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

評(píng)論

0/150

提交評(píng)論