版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ORACLE11g試題答案(陳冬亮)ORACLE11g試題答案(陳冬亮)ORACLE11g試題答案(陳冬亮)ORACLE11g試題答案(陳冬亮)編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:目錄第一章Oracle11g介紹 2第二章ORACLE11g的體系結(jié)構(gòu) 5第三章ORACLE11g的數(shù)據(jù)庫(kù)管理 9第四章ORACLE11g的表空間管理 11第五章ORACLE11g的表管理 14第六章ORACLE11g的數(shù)據(jù)查詢 19第七章ORACLE數(shù)據(jù)的基本操作 24第八章索引 29第九章視圖 34第十章PL/SQL基礎(chǔ) 38第十一章存儲(chǔ)過(guò)程與函數(shù) 44第十二章觸發(fā)器 49第十三章游標(biāo) 52第十四章安全管理 54第十五章數(shù)據(jù)庫(kù)備份與恢復(fù) 57第一章Oracle11g介紹一、選擇題1.在數(shù)據(jù)庫(kù)系統(tǒng)中,將滿足以下兩個(gè)條件的基本層次聯(lián)系集合稱(chēng)為層次模型:(B)。=1\*GB3①有一個(gè)結(jié)點(diǎn)無(wú)雙親 =2\*GB3②其它結(jié)點(diǎn)無(wú)雙親=3\*GB3③有且僅有一個(gè)結(jié)點(diǎn)無(wú)雙親=4\*GB3④其它結(jié)點(diǎn)有且僅有一個(gè)雙親=5\*GB3⑤允許其它結(jié)點(diǎn)有多個(gè)雙親A.=1\*GB3①和=2\*GB3②B.=3\*GB3③和=4\*GB3④C.=3\*GB3③和=5\*GB3⑤D.=2\*GB3②和=5\*GB3⑤2.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是(C)A.數(shù)據(jù)庫(kù)是一個(gè)DBF文件B.數(shù)據(jù)庫(kù)是一個(gè)關(guān)系C.數(shù)據(jù)庫(kù)是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D.數(shù)據(jù)庫(kù)是一組文件3.根據(jù)關(guān)系數(shù)據(jù)基于的數(shù)據(jù)模型——關(guān)系模型的特征判斷下列正確的一項(xiàng):(B)A.只存在一對(duì)多的實(shí)體關(guān)系,以圖形方式來(lái)表示。B.以二維表格結(jié)構(gòu)來(lái)保存數(shù)據(jù),在關(guān)系表中不允許有重復(fù)行存在。C.能體現(xiàn)一對(duì)多、多對(duì)多的關(guān)系,但不能體現(xiàn)一對(duì)一的關(guān)系。D.關(guān)系模型數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)發(fā)展的最初階段。4.Oracle11g是基于(A)的A.關(guān)系型B.文件系統(tǒng)C.層次型D.網(wǎng)絡(luò)型5.用二維表結(jié)構(gòu)表達(dá)實(shí)體集的模型是(D)A.概念模型B.層次模型C.網(wǎng)狀模型D.關(guān)系模型6.下列四項(xiàng)中說(shuō)法不正確的是(
C)A.數(shù)據(jù)庫(kù)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫(kù)中的數(shù)據(jù)可以共享C.數(shù)據(jù)庫(kù)避免了一切數(shù)據(jù)的重復(fù)
D.數(shù)據(jù)庫(kù)具有較高的數(shù)據(jù)獨(dú)立性7.下列四項(xiàng)中,不屬于關(guān)系數(shù)據(jù)庫(kù)特點(diǎn)的是(
D
)A.數(shù)據(jù)冗余小
B.數(shù)據(jù)獨(dú)立性高C.數(shù)據(jù)共享性好
D.多用戶訪問(wèn)下面系統(tǒng)中不屬于關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的是(C)A.OracleB.MSSQLServerC.IMSD.DB29.MSSQLServer是(D)A.數(shù)據(jù)庫(kù)B.數(shù)據(jù)庫(kù)系統(tǒng)C.數(shù)據(jù)處理系統(tǒng)D.數(shù)據(jù)庫(kù)管理系統(tǒng)二、填空題1.在數(shù)據(jù)庫(kù)系統(tǒng)中管理數(shù)據(jù)的軟件稱(chēng)為_(kāi)__數(shù)據(jù)庫(kù)管理系統(tǒng)________。2.數(shù)據(jù)庫(kù)中數(shù)據(jù)模型可分為三種類(lèi)型:層次模型、網(wǎng)狀模型和關(guān)系模型。3.用樹(shù)型結(jié)構(gòu)表示實(shí)體類(lèi)型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱(chēng)為_(kāi)_層次模型__。4.?dāng)?shù)據(jù)庫(kù)系統(tǒng)各類(lèi)用戶對(duì)數(shù)據(jù)庫(kù)的各種操作請(qǐng)求(數(shù)據(jù)定義、查詢、更新及各種控制)都是由一個(gè)復(fù)雜的軟件來(lái)完成的,這個(gè)軟件叫做__數(shù)據(jù)庫(kù)管理系統(tǒng)___。三、簡(jiǎn)答題1.解釋什么是OracleDatabase11g系統(tǒng)中關(guān)鍵網(wǎng)格技術(shù)解:Oracle11g中“g”是grid的縮寫(xiě),表示網(wǎng)格,網(wǎng)格計(jì)算是一種技術(shù),能對(duì)同源不同計(jì)算類(lèi)型的分布式網(wǎng)絡(luò)進(jìn)行無(wú)縫地、大規(guī)模地?cái)U(kuò)展,允許不同廠商的計(jì)算機(jī)共同工作來(lái)提供無(wú)盡的共享計(jì)算機(jī)資源。比如,有兩臺(tái)PC機(jī),分別來(lái)自不同廠商,內(nèi)存均為516M,現(xiàn)系統(tǒng)運(yùn)行要求1G的內(nèi)存,若PC機(jī)單獨(dú)執(zhí)行肯定不能滿足要求,可以通過(guò)網(wǎng)格計(jì)算和集群技術(shù)將兩臺(tái)PC機(jī)組合在一起,以滿足系統(tǒng)運(yùn)行需求。2.解釋OracleDatabase11g的基本文件目錄的含義解:在OracleDatabase11g中,Oracle的目錄結(jié)構(gòu)是由Oracle_Base及其子目錄Oracle_Home、admin、flash_recovery_area和oradata目錄構(gòu)成的。為方便討論,用Oracle_Base代表Oracle目錄樹(shù)的根,用Oracle_Home表示根目錄下的主目錄。(1)Oracle_Base目錄Oracle_Base代表Oracle目錄樹(shù)的根。如果使用OracleUniversalInstaller進(jìn)行安裝,則Oracle_Base是指system_drive:\oracle\product\。(2)Oracle_Home目錄Oracle_Home主目錄位于system_drive:\Oracle_Base之下,它包含與Oracle軟件運(yùn)行有關(guān)的子目錄和網(wǎng)絡(luò)文件以及選定的組件等;若在主機(jī)上第一次且只安裝了Oracle數(shù)據(jù)庫(kù),沒(méi)有其他Oracle產(chǎn)品,則使用默認(rèn)的主目錄\db_1;如果在同一臺(tái)主機(jī)的同一個(gè)根目錄下安裝多個(gè)產(chǎn)品或安裝了第2次,則Oracle_Home主目錄會(huì)以db_n的形式出現(xiàn),即db_2、db_3等。這也是為什么在Oracle_Base目錄可以有多個(gè)Oracle_Home目錄的緣故。Oracle_Home目錄中包括的主要子目錄有:
·\BIN——主要包含用于數(shù)據(jù)庫(kù)管理的各種命令等。
·\css——與OracleClusterSynchronization服務(wù)有關(guān)的文件。
·\dbs——存放數(shù)據(jù)庫(kù)服務(wù)器端的參數(shù)文件Spfile。
·\demo——存放數(shù)據(jù)庫(kù)實(shí)例模式的腳本等。
·\install——用于存儲(chǔ)ORACLE安裝后的端口號(hào),iSQL*Plus以及EnterpriseManagerDatabaseControl啟動(dòng)并登錄的方式等。
·\network\admin——有關(guān)監(jiān)聽(tīng)器和以及等。
·\sysman\config——用于與OracleEnterpriseManagement有關(guān)的端口管理等。(3)admin目錄數(shù)據(jù)庫(kù)管理文件均存儲(chǔ)在oracle_base\admin\db_name目錄下。各個(gè)子目錄的主要含義如下:
·\bdump——后臺(tái)進(jìn)程跟蹤文件。
·\cdump——信息轉(zhuǎn)儲(chǔ)文件(coredump)。
·\create——數(shù)據(jù)庫(kù)創(chuàng)建文件。
·\exp——數(shù)據(jù)庫(kù)導(dǎo)出文件。
·\pfile——初始化參數(shù)文件。
·\udump——用戶SQL追蹤文件。(4)Oradata目錄數(shù)據(jù)庫(kù)文件存儲(chǔ)在Oracle_Base\oradata\db_name目錄下,該目錄主要存儲(chǔ)數(shù)據(jù)庫(kù)的控制文件、數(shù)據(jù)文件、重做日志文件。其中*.dbf文件對(duì)應(yīng)數(shù)據(jù)庫(kù)中每個(gè)表空間;.ctl文件為控制文件;.log文件對(duì)應(yīng)重做日志文件組及其成員。(5)flash_recovery_area目錄flash_recovery_area目錄存儲(chǔ)并管理與備份和恢復(fù)有關(guān)的文件。它包含系統(tǒng)中每個(gè)數(shù)據(jù)庫(kù)的子目錄。該目錄可用于存儲(chǔ)與恢復(fù)有關(guān)的文件,如控制文件、聯(lián)機(jī)重做日志副本、歸檔日志、閃回日志以及Oracle數(shù)據(jù)庫(kù)恢復(fù)管理器(RMAN)備份等。3.解釋$ORACLE_HOME和$ORACLE_BASE的區(qū)別解:$ORACLE_BASE下是admin和product;$ORACLE_HOME下則是ORACLE的命令、連接庫(kù)、安裝助手、listener等。$ORACLE_HOME比$ORACLE_BASE目錄要更深一些,ORACLE_HOME=$ORACLE_BASE/product/version。$ORACLE_BASE是oracle的根目錄,$ORACLE_HOME是oracle產(chǎn)品的目錄。如果裝了2個(gè)版本的oracle,那么$ORACLE_BASE可以是一個(gè),但$ORACLE_HOME是2個(gè)。第二章ORACLE11g的體系結(jié)構(gòu)一、單項(xiàng)選擇題1.(A)是Oracle服務(wù)器在啟動(dòng)期間用來(lái)標(biāo)識(shí)物理文件和數(shù)據(jù)庫(kù)結(jié)構(gòu)的二進(jìn)制文件。A.控制文件B.參數(shù)文件C.數(shù)據(jù)文件D.日志文件2.(B)進(jìn)程主要職責(zé)是監(jiān)控服務(wù)器進(jìn)程和注冊(cè)數(shù)據(jù)庫(kù)服務(wù)。3.(C)代表了數(shù)據(jù)庫(kù)中最小粒度的邏輯數(shù)據(jù)存儲(chǔ)層次。A.盤(pán)區(qū)B.表空間C.數(shù)據(jù)塊D.數(shù)據(jù)文件4.用于在啟動(dòng)實(shí)例時(shí)配置數(shù)據(jù)庫(kù),確定Oracle11g的運(yùn)行環(huán)境文件是(A)A.參數(shù)文件B.數(shù)據(jù)文件C.可執(zhí)行文件D.控制文件5.下列選項(xiàng)中,哪一部分不是Oracle實(shí)例的組成部分(C)A.系統(tǒng)全局區(qū)SGA后臺(tái)進(jìn)程C.控制文件調(diào)度進(jìn)程6.在全局存儲(chǔ)區(qū)SGA中,哪部分內(nèi)存區(qū)域是循環(huán)使用的(B)A.數(shù)據(jù)緩沖區(qū)B.日志緩沖區(qū)C.共享池D.大池7.解析后的SQL語(yǔ)句在SGA的哪個(gè)區(qū)域中進(jìn)行緩存(C)A.數(shù)據(jù)緩沖區(qū)B.日志緩沖區(qū)C.共享池D.大池8.如果服務(wù)器進(jìn)程無(wú)法在數(shù)據(jù)緩沖區(qū)中找到空閑緩存塊,以添加從數(shù)據(jù)文件中讀取的數(shù)據(jù)塊,則將啟動(dòng)如下哪個(gè)進(jìn)程(A)9.如果服務(wù)器進(jìn)程非正常終止,Oracle系統(tǒng)將使用下列哪一個(gè)進(jìn)程以釋放它所占用的資源(D)10.下列哪個(gè)進(jìn)程用于將修改過(guò)的數(shù)據(jù)從內(nèi)存保存到磁盤(pán)數(shù)據(jù)文件中(A)11.當(dāng)數(shù)據(jù)庫(kù)運(yùn)行在歸檔模式下時(shí),如果發(fā)生日志切換,為了保證不覆蓋舊的日志信息,系統(tǒng)將啟動(dòng)哪個(gè)進(jìn)程(D)12.下面哪個(gè)描述是正確的(A)A.表空間由段組成,段由盤(pán)區(qū)組成,盤(pán)區(qū)由數(shù)據(jù)塊組成。B.段由表空間組成,表空間由盤(pán)區(qū)組成,盤(pán)區(qū)由數(shù)據(jù)塊組成。C.盤(pán)區(qū)由數(shù)據(jù)塊組成,數(shù)據(jù)塊由段組成,段由表空間組成。D.數(shù)據(jù)塊由段組成,段由盤(pán)區(qū)組成,盤(pán)區(qū)由表空間組成。二、填空題1.在Oracle11g的文件系統(tǒng)中包含多種類(lèi)型的文件,這些文件是數(shù)據(jù)文件、控制文件、日志文件、參數(shù)文件、口令文件、跟蹤文件、警告日志文件等。2.一般地,Oracle的后臺(tái)進(jìn)程包括數(shù)據(jù)寫(xiě)入進(jìn)場(chǎng)DBWR、日志寫(xiě)入進(jìn)場(chǎng)LGWR、檢查點(diǎn)進(jìn)程CKPT、系統(tǒng)監(jiān)控進(jìn)場(chǎng)SMON、進(jìn)程監(jiān)控進(jìn)場(chǎng)PMON、歸檔進(jìn)程ARCH、恢復(fù)進(jìn)程RECO、封鎖進(jìn)程LCKn、調(diào)度進(jìn)程Dnnn、服務(wù)器進(jìn)程Snnn、作業(yè)進(jìn)程SNP等。3.一個(gè)表空間物理上對(duì)應(yīng)一個(gè)或多個(gè)數(shù)據(jù)文件。4.用戶對(duì)數(shù)據(jù)庫(kù)的操作如果產(chǎn)生日志信息,則該日志信息首先存儲(chǔ)在日志緩沖區(qū)中,隨后由LGWR進(jìn)程保存到日志文件。5.在Oralce的邏輯存儲(chǔ)結(jié)構(gòu)中,根據(jù)存儲(chǔ)數(shù)據(jù)的類(lèi)型,可將段分為數(shù)據(jù)段、索引段回退段、LOB段和臨時(shí)段。6.Oracle數(shù)據(jù)庫(kù)由一個(gè)或多個(gè)稱(chēng)為表空間的邏輯存儲(chǔ)單元組成。7.內(nèi)存結(jié)構(gòu)是指一個(gè)進(jìn)程在其中進(jìn)行自身對(duì)話或與其他進(jìn)程對(duì)話的內(nèi)存區(qū)域,Oracle使用兩種類(lèi)型的內(nèi)存結(jié)構(gòu),一種是SGA;另一種是PGA。8.數(shù)據(jù)字典試圖分成3類(lèi):DBA_、ALL_和USER_視圖,DBA_視圖包含了數(shù)據(jù)庫(kù)所有對(duì)象的信息,ALL_視圖包含了用戶查詢表時(shí)可以訪問(wèn)的所有對(duì)象的信息,USER_視圖包含了用戶查詢表時(shí)表所擁有的全部對(duì)象的信息。三、問(wèn)答題1.簡(jiǎn)要介紹數(shù)據(jù)文件、表空間、段、盤(pán)區(qū)和數(shù)據(jù)塊之間的關(guān)系。解:每一個(gè)數(shù)據(jù)文件都必須隸屬于某個(gè)表空間但一個(gè)表空間可以由多個(gè)數(shù)據(jù)文件組合而成。Oracle的邏輯存儲(chǔ)單元從小到大依次為數(shù)據(jù)塊、區(qū)、段和表空間。表空間又由許多段組成段由多個(gè)區(qū)組成區(qū)又由多個(gè)數(shù)據(jù)塊組成。2.簡(jiǎn)要描述Oracle數(shù)據(jù)庫(kù)體系的物理結(jié)構(gòu)。解:Oracle數(shù)據(jù)庫(kù)體系的物理結(jié)構(gòu)是指數(shù)據(jù)庫(kù)上實(shí)際的、可以從操作系統(tǒng)看到的文件,可以利用操作系統(tǒng)指令進(jìn)行管理作業(yè),物理存儲(chǔ)結(jié)構(gòu)組成文件如下所列:(1)數(shù)據(jù)文件(DataFile):實(shí)際存儲(chǔ)數(shù)據(jù)的地方;(2)在線重做日志文件(OnlineRedoLogFile):記錄曾經(jīng)發(fā)生過(guò)的動(dòng)作當(dāng)數(shù)據(jù)庫(kù)受損時(shí)可利用在線重做日志文件進(jìn)行必要的恢復(fù)動(dòng)作;(3)控制文件(ControlFile):記錄數(shù)據(jù)庫(kù)必要的信息以驗(yàn)證及維護(hù)數(shù)據(jù)庫(kù)的完整性的信息;(4)初始化參數(shù)文件(ParameterFile):當(dāng)數(shù)據(jù)庫(kù)開(kāi)啟時(shí)用來(lái)架構(gòu)出Oracle內(nèi)存結(jié)構(gòu)的文件;(5)密碼文件(PasswordFile):驗(yàn)證哪些帳號(hào)能開(kāi)啟、關(guān)閉Oracle數(shù)據(jù)庫(kù)。3.介紹Oracle實(shí)例系統(tǒng)中,各后臺(tái)進(jìn)程的作用。解:(1)DBWRn(DatabaseWriter)的主要工作是將數(shù)據(jù)緩沖區(qū)中被改過(guò)的數(shù)據(jù)寫(xiě)回到數(shù)據(jù)文件里;(2)LGWR(LogWriter)主要的工作是將RedoLogBuffer里的記錄寫(xiě)到在線重做日志文件中;(3)SMON(SystemMonitor)有兩個(gè)主要的功能。<1>執(zhí)行InstanceRecovery:當(dāng)數(shù)據(jù)庫(kù)不正常中斷后再度開(kāi)啟時(shí),SMON會(huì)自動(dòng)執(zhí)行InstanceRecovery,也就是會(huì)將在線重做日志里面的數(shù)據(jù)回寫(xiě)到數(shù)據(jù)文件里面。<2>收集空間:將表空間內(nèi)相鄰的空間進(jìn)行合并的動(dòng)作;(4)PMON(ProcessMonitor):監(jiān)視數(shù)據(jù)庫(kù)的用戶進(jìn)程。若用戶的進(jìn)程不當(dāng)而被中斷,PMON會(huì)負(fù)責(zé)清理任何遺留下來(lái)的資源,并釋放失效的進(jìn)程所保留的鎖,然后從ProcessList中移除,以終止ProcessID;(5)CKPT(Checkpoint)主要負(fù)責(zé)更新數(shù)據(jù)庫(kù)的最新?tīng)顟B(tài),CKPT當(dāng)Checkpoint完成時(shí)會(huì)更新控制文件和數(shù)據(jù)庫(kù)文件的文件頭;(6)ARCn(Archiver)當(dāng)Oracle數(shù)據(jù)庫(kù)設(shè)定為ARCHIVELOGMode時(shí),ARCn會(huì)在LogSwitch時(shí)自動(dòng)將RedoLogFile復(fù)制一份到指定的目錄下稱(chēng)為歸檔日志文件Archivedredologs。4.數(shù)據(jù)字典包含了哪些信息具有什么功能解:數(shù)據(jù)字典是Oracle數(shù)據(jù)庫(kù)的核心組件,它是由一系列只讀的基礎(chǔ)表和視圖組成的,它保存了關(guān)于數(shù)據(jù)庫(kù)本身以及其中存儲(chǔ)的所有對(duì)象的基本信息。對(duì)數(shù)據(jù)字典的管理和維護(hù)由Oracle系統(tǒng)負(fù)責(zé),任何數(shù)據(jù)庫(kù)用戶都無(wú)法對(duì)數(shù)據(jù)字典中內(nèi)容進(jìn)行修改,但是可以查看數(shù)據(jù)字典的內(nèi)容。為了方便用戶查看數(shù)據(jù)字典中的信息,數(shù)據(jù)字典中的信息通過(guò)表和視圖的形式組織起來(lái)。數(shù)據(jù)字典中的內(nèi)容都被保存在System表空間中,大多數(shù)情況下,用戶可以通過(guò)數(shù)據(jù)字典視圖來(lái)獲取與數(shù)據(jù)庫(kù)相關(guān)的信息,而不需要訪問(wèn)數(shù)據(jù)字典表。用戶所使用的數(shù)據(jù)字典視圖大致分為三類(lèi),并且各種類(lèi)型的視圖以不同名稱(chēng)的前綴表示。這三類(lèi)視圖如下:(1)USER視圖是以USER_字符為名稱(chēng)前綴的數(shù)據(jù)字典視圖。每個(gè)數(shù)據(jù)庫(kù)用戶都有一組屬于自己的視圖,在USER視圖中包含了該用戶模式下所有對(duì)象的信息。(2)ALL視圖ALL視圖是以ALL_字符為名稱(chēng)前綴的數(shù)據(jù)字典視圖。ALL數(shù)據(jù)字典視圖是USER視圖的擴(kuò)展,在ALL視圖中記錄了屬于該用戶模式的所有對(duì)象的信息以及該用戶可以訪問(wèn)的屬于其他模式的對(duì)象的信息。(3)DBA視圖DBA視圖是以DBA_字符為名稱(chēng)前綴的數(shù)據(jù)字典視圖。在DBA數(shù)據(jù)字典視圖中記錄了全部數(shù)據(jù)庫(kù)對(duì)象的信息。5.在確定數(shù)據(jù)塊大小(DB_BLOCK_SIZE)的時(shí)候,要注意考慮哪些因素解:如果行很小,而且訪問(wèn)是隨機(jī)的,則應(yīng)選用較小的塊;如果行很小,而且訪問(wèn)是順序的,則應(yīng)選用較大的塊;如果行很小,而且訪問(wèn)既是隨機(jī)又是順序的,那么就應(yīng)該選用較大的塊;如果行很大,應(yīng)該選用較大的塊。6.PctUsed和PctFree表示什么含義,有什么作用解:PctUsed:為一個(gè)百分比數(shù)值,當(dāng)BLOCK中已經(jīng)使用的空間降低到該數(shù)值以下時(shí),該BLOCK才是可用的,達(dá)到或是超過(guò)這個(gè)數(shù)值的BLOCK是不可用的。PctFree:用于指定BLOCK中必需保留的最小空間的比例。一般在控制具有獨(dú)立segment結(jié)構(gòu)的對(duì)象時(shí),可使用PctFree和PctUsed參數(shù)控制數(shù)據(jù)塊何時(shí)進(jìn)入或離開(kāi)表、索引或簇的可用清單。使用PctUsed參數(shù)設(shè)置最小塊的閾值來(lái)控制一個(gè)數(shù)據(jù)塊應(yīng)在何時(shí)放回到相應(yīng)段的可用清單中。例如,所有段的缺省PctUsed設(shè)置為40%,因此,當(dāng)事務(wù)處理刪除數(shù)據(jù)塊中的行時(shí),如果它只有39%是裝滿的,ORACLE將該數(shù)據(jù)塊放回到相應(yīng)段的可用清單中。如果你預(yù)計(jì)很少有刪除操作,則可設(shè)置PctUsed為較高的值(如60),當(dāng)偶然的刪除操作發(fā)生時(shí),使數(shù)據(jù)塊彈出可用清單。但是,如果你預(yù)計(jì)將PctUsed設(shè)置為較低的值(如40),使ORACLE不常產(chǎn)生塊在表的可用空間中移進(jìn)或移出的開(kāi)銷(xiāo)。使用PctFree參數(shù)設(shè)置最大的閾值,以控制對(duì)將來(lái)的行的更新操作保留多少數(shù)據(jù)塊空間。當(dāng)某個(gè)數(shù)據(jù)塊使PctFree裝滿時(shí),ORACLE從相應(yīng)段的可用清單中刪除該塊。如果你預(yù)計(jì)只有很少的更新操作會(huì)增加行的大小,則可將PctFree設(shè)置為較低的值(如5或者10),使得ORACLE填滿每個(gè)塊的更多的空間。但是,如果你預(yù)計(jì)更新操作將會(huì)經(jīng)常增加行的大小,則將PctFree設(shè)置為較高的值(如20或30),使得ORACLE為已有行的更新操作保留更多的塊空間;否則,將出現(xiàn)行鏈。7.SGA主要有那些部分,主要作用是什么解:(1)數(shù)據(jù)高速緩沖區(qū):存放著Oracle系統(tǒng)最近使用過(guò)的數(shù)據(jù)庫(kù)數(shù)據(jù)塊;(2)共享池:相當(dāng)于程序高速緩沖區(qū),所有的用戶程序都存放在共享SQL池中;(3)重做日志緩沖區(qū):用于緩沖區(qū)在對(duì)數(shù)據(jù)進(jìn)行修改的操作過(guò)程中生成的重做記錄。第三章ORACLE11g的數(shù)據(jù)庫(kù)管理一、單項(xiàng)選擇題1.下列哪個(gè)部分不是oracle實(shí)例的組成部分(C)A.系統(tǒng)全局區(qū)域
B.服務(wù)器進(jìn)程
C.數(shù)據(jù)庫(kù)作者
D.系統(tǒng)監(jiān)控器
2.你用DBCA建立了一個(gè)數(shù)據(jù)庫(kù)而沒(méi)有保存模版定義?,F(xiàn)在你打算用DBCA拷貝整個(gè)數(shù)據(jù)庫(kù)和數(shù)據(jù),下列哪個(gè)是首先要做的(D)A.使用腳本建立新的數(shù)據(jù)庫(kù),使用DBCA導(dǎo)入數(shù)據(jù)B.用DBCA模版管理從現(xiàn)有數(shù)據(jù)庫(kù)建立一個(gè)新的數(shù)據(jù)庫(kù),數(shù)據(jù)也如此導(dǎo)入C.從模版列表中選擇先前建立的數(shù)據(jù)庫(kù)模版并建立數(shù)據(jù)庫(kù)D.從現(xiàn)有數(shù)據(jù)庫(kù)中拷貝數(shù)據(jù)文件建立新的數(shù)據(jù)庫(kù),然后利用DBCA拷貝數(shù)據(jù)
3.你正在你的組織緊急事件處置演習(xí)中。幾乎沒(méi)有時(shí)間通報(bào)用戶,你就需要盡快地停止數(shù)據(jù)庫(kù)進(jìn)程。下列命令哪個(gè)是你需要要執(zhí)行的(D)A.shutdownabort
B.shutdowntransactional
C.shutdown
D.shutdownimmediate4.你正在用共享服務(wù)器管理一個(gè)數(shù)據(jù)庫(kù)。Large_pool_size是50M。你執(zhí)行命令:altersystemsetLarge_pool_size=100Mscope=memory后然后關(guān)閉并重啟數(shù)據(jù)庫(kù)?,F(xiàn)在Large_pool_size是多少(A)A.50MB.默認(rèn)Large_pool_size大小C.100M
D.和使用中的oracleSPfile設(shè)置的一樣5.你使用下列命令連接數(shù)據(jù)庫(kù):sqlplus:1522/orcl.目標(biāo)數(shù)據(jù)庫(kù)是哪一個(gè)(A)A.
C.orcl
D.scott
E.以上都不是
6.下列哪個(gè)不是有效的數(shù)據(jù)庫(kù)狀態(tài)(A)A.開(kāi)機(jī)B.關(guān)閉C.啟動(dòng)D.裝載
E.不裝載7.如果一個(gè)數(shù)據(jù)庫(kù)舉例(instance)失敗,但是沒(méi)有停止運(yùn)行,你必須使用哪個(gè)命令使實(shí)例恢復(fù)能被執(zhí)行(B)nomount
B.shutdownimmediate;startforcemount
abort;startup8.Oracle數(shù)據(jù)庫(kù)由一個(gè)或多個(gè)稱(chēng)為()的邏輯存儲(chǔ)單元組成。(B)A.表B.表空間C.行D.單元二、填空題1.如果用戶需要在已經(jīng)安裝好了的Oracle系統(tǒng)上創(chuàng)建,修改或者刪除數(shù)據(jù)庫(kù),就需要使用DBCA。2.啟動(dòng)數(shù)據(jù)庫(kù)時(shí),如果裝載數(shù)據(jù)庫(kù)但打不開(kāi)數(shù)據(jù)庫(kù)可執(zhí)行STARTUPMOUNT命令。3.采用終止模式關(guān)閉數(shù)據(jù)庫(kù),可執(zhí)行SHUTDOWNABORT命令。4.數(shù)據(jù)庫(kù)的初始化參數(shù)DB-NAME的長(zhǎng)度最大可為8個(gè)字符。5.數(shù)據(jù)庫(kù)實(shí)例,也被稱(chēng)作數(shù)據(jù)庫(kù)服務(wù)或服務(wù)器,是一組操作系統(tǒng)進(jìn)程和內(nèi)存區(qū)域.Oracle使用他們來(lái)管理數(shù)據(jù)庫(kù)訪問(wèn)。6.每個(gè)Oracle11g數(shù)據(jù)庫(kù)在創(chuàng)建后都有4個(gè)默認(rèn)的數(shù)據(jù)庫(kù)用戶:system、sys、sysman和DBcnmp。7.字符集中的NLS-LANG參數(shù)包含3個(gè)組成部分:語(yǔ)言、地域、字符集
。8.可通過(guò)在SQL*Plus中查詢動(dòng)態(tài)視圖VINSTANCE來(lái)查看實(shí)例的禁止操作狀態(tài)。三、問(wèn)答題1.Oracle數(shù)據(jù)庫(kù)在創(chuàng)建后都會(huì)有4個(gè)默認(rèn)數(shù)據(jù)庫(kù)用戶,簡(jiǎn)要說(shuō)明它們的功能解:4個(gè)默認(rèn)的數(shù)據(jù)庫(kù)用戶分別為:SYS、SYSTEM、SYSMAN和DBSNMP。(1)SYS,默認(rèn)密碼為CHANGE_ON_INSTALL,當(dāng)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)時(shí),SYS用戶將被默認(rèn)創(chuàng)建并授予DBA角色,所有數(shù)據(jù)庫(kù)數(shù)據(jù)字典中的基本表和視圖都存儲(chǔ)在名為SYS的方案中,這些基本表和視圖對(duì)于Oracle數(shù)據(jù)庫(kù)的操作時(shí)非常重要的。為了維護(hù)數(shù)據(jù)字典的真實(shí)性,SYS方案中的表只能由系統(tǒng)來(lái)維護(hù),他們不能被任何用戶或數(shù)據(jù)庫(kù)管理員修改,而且任何用戶不能在SYS方案中創(chuàng)建表;(2)SYSTEM,默認(rèn)密碼為MANAGER,與SYS一樣,在創(chuàng)建Oracle數(shù)據(jù)庫(kù)時(shí),SYSTEM用戶被默認(rèn)創(chuàng)建并被授予DBA角色,用于創(chuàng)建顯示管理信息的表或視圖,以及被各種Oracle數(shù)據(jù)庫(kù)應(yīng)用和工具使用的內(nèi)容表或視圖;(3)SYSMAN是Oracle數(shù)據(jù)庫(kù)中用于EM管理的用戶,如果你不用該用戶,也可以刪除。(4)DBSNMP是Oracle數(shù)據(jù)庫(kù)中用于智能代理(IntelligentAgent)的用戶,用來(lái)監(jiān)控和管理數(shù)據(jù)庫(kù)相關(guān)性能的用戶,如果停止該用戶,則無(wú)法提取相關(guān)的數(shù)據(jù)信息。2.如何轉(zhuǎn)換到spfile解:使用Createspfilefrompfile命令。3.給出數(shù)據(jù)庫(kù)正常啟動(dòng)所經(jīng)歷的幾種狀態(tài)解:(1)STARTUPNOMOUNT–數(shù)據(jù)庫(kù)實(shí)例啟動(dòng);(2)STARTUPMOUNT-數(shù)據(jù)庫(kù)裝載;(3)STARTUPOPEN–數(shù)據(jù)庫(kù)打開(kāi)。第四章ORACLE11g的表空間管理一、單項(xiàng)選擇題1.對(duì)于系統(tǒng)表的空間,Oracle建議的大小是(D)A.100MB.200M2.下列動(dòng)態(tài)視圖中,(C)是從控制文件中得到的所有表空間的名稱(chēng)和數(shù)量。A.V$INSTANCE$DATABASE$TABLESPACE$DATAFILES3.如果一個(gè)表空間脫機(jī)在哪里查看(B)A.dba_tablespaces
B.v$tablespaces
C.v$database
D.dba_datafile_status4.下面哪個(gè)參數(shù)不能在STORAGE子句中進(jìn)行設(shè)置(B)A.INITIAL
B.PCTUSED
C.MINEXTENTS
D.NEXT數(shù)據(jù)庫(kù)的最小I/O單位是(D),最小磁盤(pán)分配單位是(C)A.表空間
B.段
C.盤(pán)區(qū)
D.數(shù)據(jù)塊6.在設(shè)置自動(dòng)撤消管理時(shí),下列(B)參數(shù)用于設(shè)置所使用的撤消表空間,(C)參數(shù)用于設(shè)置撤消數(shù)據(jù)的保留時(shí)間。
B.UNDO_TABLESPACE
D.ROLLBACK_SEGMENTS7.把一個(gè)表空間切換到OFFLINE狀態(tài)時(shí),可以使用4個(gè)參數(shù),不包括下列哪個(gè)選項(xiàng)(D)8.在設(shè)置撤消表空間的自動(dòng)管理功能時(shí),DBA通過(guò)使用相關(guān)的初始化參數(shù)對(duì)自動(dòng)撤消表空間進(jìn)行配置。下面的4個(gè)參數(shù)中,哪一個(gè)不是與自動(dòng)撤消管理功能相關(guān)的參數(shù)(D)
B.UNDO_TABLESPACE
D.TRANSACTIONS二、填空題1.表空間是Oracle數(shù)據(jù)庫(kù)中數(shù)據(jù)的邏輯組織,每個(gè)數(shù)據(jù)庫(kù)至少有一個(gè)系統(tǒng)表空間。2.表空間是O
racle數(shù)據(jù)庫(kù)中數(shù)據(jù)的邏輯組織,它存儲(chǔ)段的集合,在操作系統(tǒng)級(jí)映到一個(gè)或多個(gè)數(shù)據(jù)文件上。3.創(chuàng)建表空間時(shí)Oracle允許指定后來(lái)創(chuàng)建的,并分配給表空間的對(duì)象的默認(rèn)存儲(chǔ)參數(shù)。其中INITIAL參數(shù)設(shè)置創(chuàng)建時(shí)分配給每一個(gè)新對(duì)象的初始區(qū)間的大小。4.創(chuàng)建表空間時(shí),創(chuàng)建表空間的對(duì)象的默認(rèn)存儲(chǔ)參數(shù)中,INITIAL參數(shù)和NEXT參數(shù)通常大小相同。5.DBA-TS-QUOTAS動(dòng)態(tài)視圖中列舉了所有用戶的表空間配額。6.DBA_FREE_SPACE
視圖用來(lái)判斷tablespace的剩余空間。7.表空間的管理類(lèi)型分為本地管理表空間(LMT)和數(shù)據(jù)字典管理表空間(DMT)。8.一個(gè)表空間具有離線(OFFLINE)、在線(ONLINE)、只讀(READONLY)和讀寫(xiě)(READWRITE)。9.創(chuàng)建UNDO表空間時(shí),所使用的表空間管理方式為本地管理表空間,并且盤(pán)區(qū)的管理方式只允許使用臨時(shí)表空間方式。三、問(wèn)答題表空間和PERMANENT表空間的區(qū)別是什么解:(1)永久性表空間(Permanent)用戶需要保留的任何段和一個(gè)會(huì)話或事務(wù)的應(yīng)用數(shù)據(jù)都保留在永久性表空間,如SYSTEM和SYSAUX表空間。從Oracle11g開(kāi)始,SYSTEM表空間默認(rèn)為本地化管理,表空間第一個(gè)數(shù)據(jù)文件中的位圖段管理所有的空間使用。(2)臨時(shí)表空間(Temporary)數(shù)據(jù)庫(kù)中可同時(shí)在線和激活多個(gè)臨時(shí)表空間,但Oracle11g前同一用戶的多個(gè)會(huì)話共享一個(gè)臨時(shí)表空間,因?yàn)閮H只有一個(gè)默認(rèn)的臨時(shí)表空間可被賦給用戶。為解決潛在的性能瓶頸,Oracle支持臨時(shí)表空間組.臨時(shí)表空間組由至少一個(gè)臨時(shí)表空間組成。2.本地管理表空間和字典管理表空間的含義與特點(diǎn)是什么解:(1)字典管理表空間(DMT)Oracle使用$表來(lái)記錄空閑空間,使用$表來(lái)記錄已經(jīng)使用過(guò)的空間。當(dāng)從表空間分配新的Extent時(shí),必須先獲得spacetransaction(ST)enqueuelatch后才能插入或刪除$和$表。在特定的時(shí)間內(nèi),只有一個(gè)進(jìn)程能獲得STenqueue,這通常會(huì)引起競(jìng)爭(zhēng)和等待。(2)本地管理表空間(LMT)使用LMT,每個(gè)表空間使用表空間數(shù)據(jù)文件中的一個(gè)bitmap結(jié)構(gòu)來(lái)管理空閑和已使用的空間的元數(shù)據(jù)信息。每一bit對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)block或一組blcok。本地管理表空間的好處:(1)不需要使用recursivesql訪問(wèn)UET$和FET$(2)消除了對(duì)于UET$和FET$的競(jìng)爭(zhēng)(singleSTenqueue)(3)不用定期連接空閑空間,LMT會(huì)自動(dòng)跟蹤相鄰的空閑空間。(4)使用LMT時(shí),分配extent只是改變segmentheader中的bitmapstructure,不會(huì)產(chǎn)生回滾信息。3.什么是自動(dòng)撤消管理,它有什么好處解:自動(dòng)撤銷(xiāo)管理允許DBA指定撤銷(xiāo)信息在提交之后需要保留的時(shí)間,以防止在長(zhǎng)時(shí)間的查詢過(guò)程中出現(xiàn)“snapshottooold”的錯(cuò)誤??梢酝ㄟ^(guò)設(shè)置UNDO_RETENTION參數(shù)來(lái)實(shí)現(xiàn)這一過(guò)程。這一參數(shù)的缺省值為900秒(即15分鐘),但你可以設(shè)置這一參數(shù)以保證Oracle保留撤銷(xiāo)日志。無(wú)需定義和管理回滾段,就可以簡(jiǎn)單地指定一個(gè)撤銷(xiāo)表空間而減輕Oracle的負(fù)擔(dān)。自動(dòng)撤銷(xiāo)管理需要一個(gè)當(dāng)?shù)毓芾沓蜂N(xiāo)表空間,這一表空間用于存放撤銷(xiāo)段。所需要的建立一個(gè)撤銷(xiāo)表空間,設(shè)置UNDO_MANAGEMENT=AUTO,然后與數(shù)據(jù)庫(kù)進(jìn)行連接。當(dāng)啟動(dòng)一個(gè)例子時(shí),Oracle會(huì)自動(dòng)選擇第一個(gè)可用的撤銷(xiāo)表空間。4.如何創(chuàng)建非標(biāo)準(zhǔn)數(shù)據(jù)塊表空間解:oracle創(chuàng)建表空間相關(guān)的參數(shù)為bd_block_size默認(rèn)的大小即標(biāo)準(zhǔn)的大小,我們?nèi)绻恢付ň唧w的大小,所創(chuàng)建的表空間的數(shù)據(jù)塊即可db_block_size所指定的大小進(jìn)創(chuàng)建的。如下例:createtablespacetbs_cb9datafile'/opt/oracle/oradata/orcl/'size10M;當(dāng)我們創(chuàng)建非標(biāo)準(zhǔn)塊的表空間時(shí),如果沒(méi)有設(shè)置db_nk_cache_size的大小,創(chuàng)建表空間時(shí)會(huì)報(bào)錯(cuò)誤.ora-29339,相關(guān)描述的意思表空間的數(shù)據(jù)塊大小也配置文件不匹配。一般我們有兩種方法進(jìn)行解決。查看系統(tǒng)默認(rèn)的db_block_size大小;showparameterdb_block_size;db_block_sizeinteger8192;createtablespacetbs_cb8datafile'/opt/oracle/oradata/orcl/'size10Mblocksize16k;由于我們創(chuàng)建的塊大小與系統(tǒng)默認(rèn)的塊大小不一致會(huì)報(bào)ora-29339方法1.如果我們是以spfile方式啟動(dòng)數(shù)據(jù)庫(kù)的,我們只需要對(duì)執(zhí)行以下命令即可.由于本系統(tǒng)默認(rèn)塊的大小為8K,所以我以16為例創(chuàng)建一個(gè)非標(biāo)準(zhǔn)的表空間.altersystemsetdb_16K_cache_size=20Mscope=both;方法2.如果我們是以pfile方式啟動(dòng)數(shù)據(jù)庫(kù)的,a.關(guān)閉數(shù)據(jù)庫(kù)shutdownimmediate;b.在初始化參數(shù)據(jù)增加(在pfile里增加,如果showparameterspfile沒(méi)有手動(dòng)創(chuàng)建一個(gè)pflle文件進(jìn)行啟動(dòng))db_16K_cache_size=20M;pfile='路徑';第五章ORACLE11g的表管理一、單項(xiàng)選擇題表的唯一鍵約束與主鍵約束的一個(gè)區(qū)別是(A)A.唯一鍵標(biāo)識(shí)的列可以為空B.主鍵標(biāo)識(shí)的列可以為空C.唯一鍵標(biāo)識(shí)的列只可以為單列D.主鍵標(biāo)識(shí)的列只可以為單列2.下列哪個(gè)是無(wú)效的列名(A)
#
3.如果希望在激活約束時(shí)不驗(yàn)證表中已有的數(shù)據(jù)是否滿足約束的定義,那么可以使用下列哪個(gè)關(guān)鍵字(D)語(yǔ)言中,刪除一個(gè)表的命令是(B)A.DELETEB.DROPD.REMORE5.有一個(gè)關(guān)系:學(xué)生(學(xué)號(hào),姓名,系別),規(guī)定學(xué)號(hào)的值域是8個(gè)數(shù)字組成的字符串,這一規(guī)則屬于(C)A.實(shí)體完整性約束B(niǎo).參照完整性約束C.用戶自定義完整性約束D.關(guān)鍵字完整性約束6.如果要修改表的結(jié)構(gòu),應(yīng)該使用SQL語(yǔ)言的命令(C)TABLEB.MODIFYTABLETABLED.CHANGETABLE7.如果各類(lèi)元組在表的主鍵上取值為空值,那么它違反了關(guān)系的______A______完整性約束A.實(shí)體完整性B.引用完整性C.域完整性D.用戶8.下面關(guān)于主鍵約束的描述正確的是(A)A.主鍵約束用于唯一的確定表中的每一行數(shù)據(jù)。B.在一個(gè)表中,最多只能有兩個(gè)主鍵約束。C.主鍵約束只能由一個(gè)列組成。D.主鍵約束不能由一個(gè)單列組成。9.如果希望更新表authors中的first_name列為非空,那么可以使用哪個(gè)語(yǔ)句(B)tableauthorsaddfirst_namenotnullB.altertableauthorsmodifyfirst_namenotnullC.altertableauthorsalterfirst_namenotnullD.altertableauthorsdropfirst_namenotnull10.表Sales存儲(chǔ)其在某一天所銷(xiāo)售的商品。在一張銷(xiāo)售單上可以銷(xiāo)售多個(gè)商品。表Sales的結(jié)構(gòu)如下:CREATETABLESales(cSalesNochar(4)notnull,cProductIDchar(4)notnull,dDatedatetimenotnull,mPricemoneynotnull,nQtynotnull)關(guān)于表Sales,下述哪個(gè)陳述為真(A)A.屬性cSalesNo和屬性cProductId的組合作為主關(guān)鍵字。B.屬性cSalesNo和屬性cProductId是候選關(guān)鍵字。C.選擇屬性cSalesNo作為主關(guān)鍵字。D.如果屬性cSalesNo作為主關(guān)鍵字,則cProductId屬性作為替代關(guān)鍵字。11.雇員的情況和其所工作的部門(mén)存儲(chǔ)在表Employee和表Department中。有許多雇員名字相同但雇員代碼不同。除此之外,在一個(gè)部門(mén)里,可以有多個(gè)雇員。表Employee創(chuàng)建如下:CREATETABLEEmployee(ECodechar(6)notnull,Namechar(20)notnull,DepartmentIdchar(4)notnull)表Department創(chuàng)建如下:CREATETABLEDepartment(DepartmentIdchar(4)notnull,DepartmentNamechar(10)notnull)關(guān)于這二張表,下述那條陳述為真(D)A.通過(guò)在表Department的DepartmentId屬性上創(chuàng)建外關(guān)鍵字約束對(duì)應(yīng)表Employee的屬性DepartmentId來(lái)實(shí)現(xiàn)實(shí)體完整性B.通過(guò)在表Employee的DepartmentId屬性上創(chuàng)建外關(guān)鍵字約束對(duì)應(yīng)表Department的屬性DepartmentId來(lái)實(shí)現(xiàn)實(shí)體完整性C.通過(guò)在表Department的屬性DepartmentId上創(chuàng)建外關(guān)鍵字約束對(duì)應(yīng)表Employee的屬性DepartmentId來(lái)實(shí)現(xiàn)引用完整性。D.通過(guò)在表Employee的屬性DepartmentId上創(chuàng)建外關(guān)鍵字約束對(duì)應(yīng)表Department的屬性DepartmentId來(lái)實(shí)現(xiàn)引用完整性。12.下列哪種約束實(shí)現(xiàn)域完整性(A)A.主關(guān)鍵字約束。B.檢查約束。C.唯一約束。D.缺省約束。13.對(duì)于主鍵的說(shuō)法錯(cuò)誤的是(B)。A.主鍵字段輸入的數(shù)據(jù)不允許重復(fù)B.主鍵字段的數(shù)據(jù),允許輸入空值C.若主鍵由多個(gè)鍵組合而成,則某個(gè)主鍵字段可能存在重復(fù)值D.主鍵字段可以是字符數(shù)據(jù)類(lèi)型14.下列哪個(gè)對(duì)象屬于模式對(duì)象(C)A.數(shù)據(jù)段B.盤(pán)區(qū)C.表D.表空間15.為了減少表中的鏈接記錄和遷移記錄,應(yīng)當(dāng)增大表的哪一個(gè)存儲(chǔ)參數(shù)(A)。16.你定義了一個(gè)對(duì)象類(lèi)型myOBJ,要基于該類(lèi)型來(lái)創(chuàng)建表tab1,語(yǔ)句為(C)。TABLEtab1OFmyOBJ;TABLEmyOBJOFtab1;TABLEtab1ASmyOBJ;TABLEtab1TYPEOFmyOBJ;17.在表tab1中有列為col1,其數(shù)據(jù)類(lèi)型為INTEGER,在PL/SQL的DECLARE部分聲明了一個(gè)變量var1,語(yǔ)句為:var1%TYPE;不久后,執(zhí)行了語(yǔ)句:ALTERTABLEtab1MODIFY(col1(NUMBER(5,2));則var1的數(shù)據(jù)類(lèi)型為(B)。A.整數(shù)型B.數(shù)字型C.字符型D.以上皆非二、填空題1.表是存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫(kù)段,是Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù)存儲(chǔ)的基本單位。2.Oracle中DESCRIBE命令可以快速掌握表及其中所有表列的概要。3.表的系統(tǒng)信息包括表的結(jié)構(gòu)和表的屬性等信息,可以使用user_tables、user_objects、user_segments和ser_tab_privs等數(shù)據(jù)字典查看有關(guān)表和列的屬性信息。4.ROWID實(shí)際上保存的是記錄的物理地址,因此通過(guò)ROWID來(lái)訪問(wèn)記錄可以獲得最快的訪問(wèn)速度。5.為Student表手動(dòng)分配存儲(chǔ)空間,并且大小由NEXT參數(shù)設(shè)置,則應(yīng)使用的語(yǔ)句為ALTERTABLEStudentALLOCATEEXTENT;如果為Student表手動(dòng)分配一個(gè)大小為128KB的新盤(pán)區(qū),則應(yīng)使用的語(yǔ)句為ALTERTABLEStudentALLOCATEEXTENT(SIZE128K)。6.填寫(xiě)下列語(yǔ)句,使其可以為class表的ID列添加一個(gè)名為PK_CLASS_ID的主鍵約束。ALTERTABLEclassAddCONSTRAINTPK_CLASS_IDPRIMARYKEY(ID)。7.在STORAGE子句中可以設(shè)置6個(gè)存儲(chǔ)參數(shù)。其中,INITIAL指定為表中的數(shù)據(jù)分配的第一個(gè)盤(pán)區(qū)大小;NEXT指定為存儲(chǔ)表中的數(shù)據(jù)分配的第二個(gè)盤(pán)區(qū)大小;PCTINCREASE指定從第二個(gè)盤(pán)區(qū)之后,每個(gè)盤(pán)區(qū)相對(duì)于上一個(gè)盤(pán)區(qū)的增長(zhǎng)百分比;MINEXTENTS指定允許為表中的數(shù)據(jù)所分配的最小盤(pán)區(qū)數(shù)目;MAXEXTENTS指定允許為表中的數(shù)據(jù)所分配的最大盤(pán)區(qū)數(shù)目。8.創(chuàng)建部門(mén)表DEPT(deptid,deptname,address),對(duì)應(yīng)的字段類(lèi)型均為字符型,字符長(zhǎng)度自定,,對(duì)應(yīng)的字段含義分別是(部門(mén)號(hào),部門(mén)名,地址),其中dept為主關(guān)鍵字,該表創(chuàng)建語(yǔ)句createtableDEPT(deptidvarchar2(100)notnullPRIMARYKEY,deptnamevarchar2(100),addressvarchar2(100));commentoncolumnis'部門(mén)號(hào)';commentoncolumnis'部門(mén)名';commentoncolumnis'地址';。9.創(chuàng)建雇員表EMP(empno,empname,deptid,salary),對(duì)應(yīng)的字段類(lèi)型分別為char(3)/char(8)/char(2)/float,對(duì)應(yīng)的字段含義分別是(雇員號(hào),雇員名,部門(mén)號(hào),工資),其中empno為主關(guān)鍵字,deptid為外鍵,引用表DEPT的主鍵。該表創(chuàng)建語(yǔ)句createtableEMP(empnochar(3)notnullPRIMARYKEY,empnamechar(8),deptidchar(2),salaryfloat);commentoncolumnis'雇員號(hào)';commentoncolumnis'雇員名';commentoncolumnis'部門(mén)名';commentoncolumnis'工資';CONSTRAINTFK_DEPTNOFOREIGNKEY(DEPTNO)REFERENCESDEPT(DEPTID)。三、問(wèn)答題1.簡(jiǎn)要介紹模式與用戶的關(guān)系解:(1)用戶(user):Oracle用戶是用連接數(shù)據(jù)庫(kù)和訪問(wèn)數(shù)據(jù)庫(kù)對(duì)象的。(用戶是用來(lái)連接數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù)庫(kù));(2)模式(schema):模式是數(shù)據(jù)庫(kù)對(duì)象的集合。模式對(duì)象是數(shù)據(jù)庫(kù)數(shù)據(jù)的邏輯結(jié)構(gòu);(3)用戶(user)與模式(schema)的區(qū)別:用戶是用來(lái)連接數(shù)據(jù)庫(kù)對(duì)象。而模式用是用創(chuàng)建管理對(duì)象的。模式跟用戶在oracle是一對(duì)一的關(guān)系。2.給出兩個(gè)檢查表結(jié)構(gòu)的方法解:(1)DESCRIBE命令;(2)包。3.介紹創(chuàng)建表時(shí)常用的數(shù)據(jù)類(lèi)型解:bit:整型int:整型smallint:整型tinyint:整型numeric:精確數(shù)值型decimal:精確數(shù)值型money:貨幣型smallmoney:貨幣型float:近似數(shù)值型real:近似數(shù)值型datetime:日期時(shí)間型Smalldatetime:日期時(shí)間型cursor:特殊數(shù)據(jù)型timestamp:特殊數(shù)據(jù)型Uniqueidentifier:特殊數(shù)據(jù)型char:字符型varchar:字符型text:字符型nchar:統(tǒng)一編碼字符型nvarchar:統(tǒng)一編碼字符型ntext:統(tǒng)一編碼字符型binary:二進(jìn)制數(shù)據(jù)類(lèi)型varbinary:二進(jìn)制數(shù)據(jù)類(lèi)型image:二進(jìn)制數(shù)據(jù)類(lèi)型4.簡(jiǎn)要介紹數(shù)據(jù)庫(kù)表的約束和主要類(lèi)型、作用解:主要四種:(1)實(shí)體完整性約束(每一行反應(yīng)不同的實(shí)體)通過(guò)索引,唯一約束。主鍵約束或標(biāo)識(shí)屬性來(lái)體現(xiàn);(2)域完整性約束(指給定列的輸入有效性)通過(guò)限制數(shù)據(jù)類(lèi)型,檢查約束,輸入格式,外鍵約束,默認(rèn)值,非空等體現(xiàn);(3)引用完整性約束(表之間的聯(lián)系)通過(guò)主外建;(4)自定義完整性約束(根據(jù)用戶的需求)第六章ORACLE11g的數(shù)據(jù)查詢一、單項(xiàng)選擇題1.ORDERBY的作用是(C)A.查詢輸出分組B.設(shè)置查詢條件C.對(duì)記錄排序D.限制查詢返回的數(shù)據(jù)行2.設(shè)有一個(gè)關(guān)系:DEPT(DNO,DNAME),如果要找出倒數(shù)第三個(gè)字母為W,并且至少包含4個(gè)字母的DNAME,則查詢條件子句應(yīng)寫(xiě)成WHEREDNAMELIKE(B)A.‘__W_%’B.‘_%W__’C.‘_W__’D.‘_W_%’3.已知成績(jī)關(guān)系如下圖所示。
執(zhí)行SQL語(yǔ)句:
SELECTCOUNT(DISTINCT學(xué)號(hào))
FROM成績(jī)
WHERE分?jǐn)?shù)>60
查詢結(jié)果中包含的元組數(shù)目是(B)成績(jī)
學(xué)號(hào)課程號(hào)分?jǐn)?shù)S1C180S1C275S2C1nullS2C255S3C390A.1C.3D.4.基于"學(xué)生-選課-課程"數(shù)據(jù)庫(kù)中的三個(gè)關(guān)系:S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER),若要求查找選修"數(shù)據(jù)庫(kù)技術(shù)"這門(mén)課程的學(xué)生姓名和成績(jī),將使用關(guān)系(D)A.S和SCB.SC和C和C、SC和C5.基于"學(xué)生-選課-課程"數(shù)據(jù)庫(kù)中的三個(gè)關(guān)系:S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C)(C#,CNAME,TEACHER),若要求查找姓名中第一個(gè)字為'王'的學(xué)生號(hào)和姓名。下面列出的SQL語(yǔ)句中,哪個(gè)(些)是正確的(B)Ⅰ.SELECTS#,SNAMEFROMSWHERESNAME=ˊ王%ˊⅡ.SELECTS#,SNAMEFROMSWHERESNAMELIKEˊ王%ˊⅢ.SELECTS#,SNAMEFROMSWHERESNAMELIKEˊ王_ˊA.ⅠB.ⅡC.ⅢD.全部6.有如下兩個(gè)關(guān)系,其中雇員信息表關(guān)系EMP的主鍵是雇員號(hào),部門(mén)信息表關(guān)系DEPT的主鍵是部門(mén)號(hào)。EMP雇員號(hào)雇員名部門(mén)號(hào)工資001張山022000010王宏達(dá)011200056馬林生021000DEPT部門(mén)號(hào)部門(mén)名地址01業(yè)務(wù)部1號(hào)樓02銷(xiāo)售部2號(hào)樓03服務(wù)部3號(hào)樓執(zhí)行如下操作:select,,,,,fromemparightouterjoindeptbon=請(qǐng)問(wèn)執(zhí)行結(jié)果中有(C)條記錄。A.1B.2C.3D.7.下列函數(shù)不屬于集函數(shù)的是(D)A.maxB.avgC.countD.substring8.從貨物定單數(shù)據(jù)表(order)中查詢出其中定單金額(order_price)在1000和5000之間的定單的詳細(xì)信息,并按照定單金額(order_price)升序排列。正確的語(yǔ)句是(A)。A.Select*fromorderwhereorder_pricebetween1000and5000orderbyorder_priceASCB.Select*fromorderwhereorder_pricebetween1000and5000orderbyorder_priceDESCC.Select*fromorderwhere1000<order_price<5000orderbyorder_priceASCD.Select*fromorderwhere1000<order_price<5000orderbyorder_priceDESC9.在數(shù)據(jù)庫(kù)中,要防止大于100的數(shù)據(jù)保存到age列,可以(D)。A.使用主鍵約束B(niǎo).使用缺省約束C.使用外鍵約束D.使用檢查約束10.(C)函數(shù)不能用于日期/時(shí)間類(lèi)型。11.HAVING子句的作用是(A)A.查詢結(jié)果的分組條件B.組的篩選條件C.限定返回的行的判斷條件D.對(duì)結(jié)果集進(jìn)行排序12.查詢一個(gè)表的總記錄數(shù),可以采用(C)統(tǒng)計(jì)函數(shù)。(*)(*)(*)(*)13.下列涉及空值的操作,不正確的是(C)A.AGEISNULLB.AGEISNOTNULLC.AGE=NULLD.NOT(AGEISNULL)二、填空題1.集合運(yùn)算符UNION實(shí)現(xiàn)了集合的并運(yùn)算,操作INTERSECT實(shí)現(xiàn)了對(duì)集合的交運(yùn)算,而MINUS則實(shí)現(xiàn)了減運(yùn)算。2.如果只需要返回匹配的列,則應(yīng)當(dāng)使用INNERJOIN連接。3.如果使用逗號(hào)分隔連接查看兩個(gè)表,其中一表有20行,而另一表有50行,如果未使用WHERE子句,則將返回1000行。4.外連接的三種類(lèi)型是LEFTJOIN、RIGHTJOIN和FULLJOIN。5.DISTINCT關(guān)鍵字用來(lái)限定檢索結(jié)果中只顯示那些不冗余的數(shù)據(jù),該關(guān)鍵字使用在SELECT子句中列的列表前面。6.在orderby子句中,ASC關(guān)鍵字表示升序排列,DESC關(guān)鍵字表示降序排列。7.在連接操作中,如果左表和右表中不滿足連接條件的數(shù)據(jù)都出現(xiàn)在結(jié)果中,那么這種連接是FULLJOIN。BY的作用是實(shí)現(xiàn)分組查詢。9.標(biāo)準(zhǔn)的SQL語(yǔ)言語(yǔ)句類(lèi)型可分為:數(shù)據(jù)操縱語(yǔ)句(DML)、數(shù)據(jù)定義語(yǔ)句(DDL、數(shù)據(jù)控制語(yǔ)句(DCL)和數(shù)據(jù)查詢語(yǔ)句(DQL).三、問(wèn)答題1.簡(jiǎn)要介紹SQL語(yǔ)言的特點(diǎn)。解:SQL(StructuredQueryLanguage,即結(jié)構(gòu)化查詢語(yǔ)言,又簡(jiǎn)稱(chēng)SQL語(yǔ)言)在關(guān)系型數(shù)據(jù)庫(kù)中的地位就猶如英語(yǔ)在世界上的地位一樣,它是數(shù)據(jù)庫(kù)系統(tǒng)的通用語(yǔ)言,,用戶可以利用它幾乎同樣的語(yǔ)句在不同的數(shù)據(jù)庫(kù)系統(tǒng)上執(zhí)行同樣的操作。比如“select*from數(shù)據(jù)表名”代表要從某個(gè)數(shù)據(jù)表中取出全部數(shù)據(jù),在Oracle、SQLServer、Foxpro等關(guān)系型數(shù)據(jù)庫(kù)中都可以使用這條語(yǔ)句。SQL已經(jīng)被ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)化組織)確定為數(shù)據(jù)庫(kù)系統(tǒng)的工業(yè)標(biāo)準(zhǔn)。關(guān)系型數(shù)據(jù)庫(kù)的主要功能都是通過(guò)SQL語(yǔ)言來(lái)實(shí)現(xiàn)的。一般來(lái)說(shuō),SQL語(yǔ)言按照功能可以分為4大類(lèi):數(shù)據(jù)查詢語(yǔ)言(DQL)、數(shù)據(jù)定義語(yǔ)言(DLL)、數(shù)據(jù)操作語(yǔ)言(DML)和數(shù)據(jù)控制語(yǔ)言(DCL)。數(shù)據(jù)查詢語(yǔ)言DQL主要用來(lái)查詢數(shù)據(jù),數(shù)據(jù)定義語(yǔ)言DDL主要用來(lái)建立、刪除和修改數(shù)據(jù)對(duì)象,數(shù)據(jù)操縱語(yǔ)言DML主要完成數(shù)據(jù)操作的命令如插入刪除修改數(shù)據(jù)等操作,數(shù)據(jù)控制語(yǔ)言DCL主要用來(lái)控制對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),服務(wù)器的關(guān)閉、啟動(dòng)等。SQL語(yǔ)言集DQL、DLL、DML、DCL于一體,可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)生命同期的全部活動(dòng)。數(shù)據(jù)庫(kù)中的數(shù)據(jù)可以用SQL語(yǔ)言來(lái)進(jìn)行讀取、更新、增加和刪除記錄。SQL結(jié)構(gòu)比較簡(jiǎn)單,其命令總數(shù)不超過(guò)30個(gè),其中常用命令包括:CREATETABLE、ALTERTABLE、DROPTABLE、INSERT、UPDATE、SELECT、DELETE。SQL語(yǔ)句對(duì)大小寫(xiě)不敏感,但其關(guān)鍵詞常用大寫(xiě)來(lái)表示。SQL語(yǔ)言簡(jiǎn)單易學(xué)、風(fēng)格統(tǒng)一,利用簡(jiǎn)單的幾個(gè)英語(yǔ)單詞的組合就可以完成所有的功能,幾乎可以不加修改地嵌入到如VB、PB這樣的前端開(kāi)發(fā)平臺(tái)上,利用前端工具的計(jì)算能力和SQL的數(shù)據(jù)庫(kù)操縱能力,可以快速建立數(shù)據(jù)庫(kù)應(yīng)用程序。在SQL語(yǔ)言中訪問(wèn)數(shù)據(jù)表是通過(guò)“用戶名.數(shù)據(jù)表”的形式來(lái)進(jìn)行的。比如在Oracle數(shù)據(jù)庫(kù)服務(wù)器安裝過(guò)程中,默認(rèn)建立有scott用戶,該用戶對(duì)dept數(shù)據(jù)表和emp數(shù)據(jù)表有數(shù)據(jù)查詢的權(quán)限,因此訪問(wèn)數(shù)據(jù)表的語(yǔ)句為select*from。當(dāng)然,如果用戶是用scott用戶本身登錄的,則訪問(wèn)數(shù)據(jù)表的語(yǔ)句可以簡(jiǎn)化為select*fromemp,實(shí)質(zhì)上是一樣的。2.簡(jiǎn)要介紹數(shù)據(jù)庫(kù)表之間的連接類(lèi)型及其特點(diǎn)。解:連接類(lèi)型可分為三種:內(nèi)連接、外連接和交叉連接。內(nèi)連接(INNERJOIN)使用比較運(yùn)算符進(jìn)行表間某(些)列數(shù)據(jù)的比較操作,并列出這些表中與連接條件相匹配的數(shù)據(jù)行。根據(jù)所使用的比較方式不同,內(nèi)連接又分為等值連接、自然連接和不等連接三種。外連接分為左外連接(LEFTOUTERJOIN或LEFTJOIN)、右外連接(RIGHTOUTERJOIN或RIGHTJOIN)和全外連接(FULLOUTERJOIN或FULLJOIN)三種。與內(nèi)連接不同的是,外連接不只列出與連接條件相匹配的行,而是列出左表(左外連接時(shí))、右表(右外連接時(shí))或兩個(gè)表(全外連接時(shí))中所有符合搜索條件的數(shù)據(jù)行。交叉連接(CROSSJOIN)沒(méi)有WHERE子句,它返回連接表中所有數(shù)據(jù)行的笛卡爾積,其結(jié)果集合中的數(shù)據(jù)行數(shù)等于第一個(gè)表中符合查詢條件的數(shù)據(jù)行數(shù)乘以第二個(gè)表中符合查詢條件的數(shù)據(jù)行數(shù)。3.設(shè)有關(guān)系EMP(ENO,ENAME,SALARY,DNO),其中各屬性的含義依次為職工號(hào)、姓名、工資和所在部門(mén)號(hào),以及關(guān)系DEPT(DNO,DNAME,MANAGER),其中各屬性含義依次為部門(mén)號(hào)、部門(mén)名稱(chēng)、部門(mén)經(jīng)理的職工號(hào)。試用SQL語(yǔ)句完成以下查詢:(1)列出各部門(mén)中工資不低于600元的職工的平均工資。(2)寫(xiě)出“查詢001號(hào)職工所在部門(mén)名稱(chēng)”的查詢語(yǔ)句。(3)請(qǐng)用SQL語(yǔ)句將“銷(xiāo)售部”的那些工資數(shù)額低于600的職工的工資上調(diào)10%。解:(1)SELECTAVG(SALARY)FROMEMPWHERESALARY>=600(2)SELECTB.DNAMEFROMEMPA,DEPTBWHEREA.DNO=B.DNOANDA.ENO=’001(3)UPDATEASETA.SALARY=A.SALARY*FROMEMPA,DEPTBWHEREA.DNO=B.DNOANDB.DNAME=’銷(xiāo)售部’ANDA.SALARY<6004.已知有學(xué)生關(guān)系S(SNO,SNAME,AGE,DNO),各屬性含義依次為學(xué)號(hào),姓名、年齡和所在系號(hào);學(xué)生選課關(guān)系SC(SNO,CNO,SCORE),各屬性含義依次為學(xué)號(hào)、課程號(hào)和成績(jī)。
(1)分析以下SQL語(yǔ)句:SELECTSNOFROMSCWHERESCORE=(SELECTMAX(SCORE)FROMSCWHERECNO=’002’)請(qǐng)問(wèn)上述語(yǔ)句完成了什么查詢操作(2)試用SQL語(yǔ)句完成如下查詢:按系號(hào)列出各系學(xué)生的平均成績(jī)。(3)試用SQL語(yǔ)句完成如下查詢:列出同時(shí)選修了001號(hào)和002號(hào)課程的學(xué)生的學(xué)號(hào)解:讀取學(xué)生選課關(guān)系中成績(jī)?yōu)檎n程號(hào)為002的最高成績(jī)的學(xué)號(hào)。(2)SELECTDNO,AVG(SCORE)FROMSA,SCBWHERE=GROUPBYDNO(3)SELECTSNOFROMSWHEREIN(SELECTFROMSCA,SCBWHERE=001AND=002AND=5.已知3個(gè)表:工程技術(shù)人員表emp(sno,sname,sgrade),含義分別為技術(shù)人員代號(hào)、姓名和技術(shù)等級(jí);項(xiàng)目表project(prjno,prjname,sgrade),含義分別為項(xiàng)目代號(hào),項(xiàng)目名稱(chēng),項(xiàng)目所需的技術(shù)等級(jí);項(xiàng)目日?qǐng)?bào)酬表pay(sno,prjno,daypay),含義分別為技術(shù)人員代號(hào),項(xiàng)目代號(hào),項(xiàng)目日?qǐng)?bào)酬。要求技術(shù)人員只能參加低于其技術(shù)等級(jí)的項(xiàng)目。(1)請(qǐng)查詢出技術(shù)等級(jí)大于2的項(xiàng)目代號(hào)和項(xiàng)目名稱(chēng),同時(shí)按項(xiàng)目等級(jí)降序排序。(2)請(qǐng)查詢出工程技術(shù)人員姓名為“張三”,項(xiàng)目代號(hào)為“A001”的項(xiàng)目日?qǐng)?bào)酬。(3)請(qǐng)查詢出可以參加編號(hào)為“A001”的項(xiàng)目的工程技術(shù)人員代號(hào)和姓名。(4)請(qǐng)查詢出姓名為“張三”的工程技術(shù)人員可以參加的項(xiàng)目代號(hào)和項(xiàng)目名稱(chēng)。解:(1)SELECTprjno,prjnameFROMprojectWHEREsgrade>2ORDERBYprjnameDESC(2)SELECTdaypayFROMempA,payBWHEREA.sno=B.snoANDsname=’張三’ANDprjno=’A001(3)SELECTsno,snameFROMempA,payBWHEREA.sno=B.snoANDprjno=’A001(4)SELECT,prjnameFROMempA,payB,projectCWHEREA.sno=B.snoANDB.prjno=C.prjnoANDsname=’張三’第七章ORACLE數(shù)據(jù)的基本操作一、單項(xiàng)選擇題1.下列中哪個(gè)不是DML命令(B)
2.假設(shè)ondeletecascade選項(xiàng)沒(méi)有被定義約束,什么是潛在的外部鍵約束影響在delete聲明(B)A.外部鍵約束能防止刪除行如果刪除行違反外部鍵中定義的關(guān)系的話B.外部鍵約束確保在刪除行之前對(duì)數(shù)據(jù)表有正確的權(quán)限C.如果只有一行的被刪除,該外部鍵約束將被忽略D.外部鍵對(duì)刪除表述沒(méi)有影響3.用來(lái)插入數(shù)據(jù)記錄的工具是(D)。
4.有如下兩個(gè)關(guān)系,其中雇員信息表關(guān)系EMP的主鍵是雇員號(hào),部門(mén)信息表關(guān)系DEPT的主鍵是部門(mén)號(hào)。EMP雇員號(hào)雇員名部門(mén)號(hào)工資001張山022000010王宏達(dá)011200056馬林生021000101趙敏041500DEPT部門(mén)號(hào)部門(mén)名地址01業(yè)務(wù)部1號(hào)樓02銷(xiāo)售部2號(hào)樓03服務(wù)部3號(hào)樓04財(cái)務(wù)部4號(hào)樓若執(zhí)行下面列出的操作,哪個(gè)操作不能成功執(zhí)行(C)。A.從DEPT中刪除部門(mén)號(hào)=‘03’的行B.在DEPT中插入行(‘06’,‘計(jì)劃部’,‘6號(hào)樓’)C.將DEPT中部門(mén)號(hào)=‘02’的部門(mén)號(hào)改為‘D.將DEPT中部門(mén)號(hào)=‘01’的地址改為‘5號(hào)樓語(yǔ)言集數(shù)據(jù)查詢、數(shù)據(jù)操作、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,語(yǔ)句INSERT、DELETE、UPDATE實(shí)現(xiàn)哪類(lèi)功能(B)。A.數(shù)據(jù)查詢B.數(shù)據(jù)操縱C.數(shù)據(jù)定義D.數(shù)據(jù)控制6.若用如下的SQL語(yǔ)句創(chuàng)建了一個(gè)表S:CREATETABLES(S#CHAR(6)NOTNULL,SNAMECHAR(8)NOTNULL,SEXCHAR(2),AGEINTEGER)今向S表插入如下行時(shí),(B)可以被插入。A.(‘991001’,‘李明芳’,女,‘23’B.(‘990746’,‘張為’C.(,‘陳道一’,‘男’,32)D.(‘992345’,NULL,‘女’7.用于刪除表中所有數(shù)據(jù)行的命令是(B)A.DELETETABLEB.TRUNCATETABLEC.DROPTABLED.ALTERTABLE8.假設(shè)ABC中的所有列均為字符數(shù)據(jù)類(lèi)型,A列的默認(rèn)值為“VA”,同時(shí)還有B列和C列,則執(zhí)行以下SQL語(yǔ)句:INSERTABC(A,C)VALUES(‘V’,‘NULL’)后,下列的說(shuō)法哪一項(xiàng)正確(A)。A.插入B列的值為字符‘NULL’B.插入A列的值為字符VAC.插入B列的值空值D.插入C列的值空值9.如果要設(shè)置SQL*PLUS每頁(yè)打印的數(shù)值,則可以使用如下哪個(gè)命令(C)PAGEPAGESIZE10.用來(lái)插入數(shù)據(jù)的命令是(),用于更新的命令是()。(A)
,UPDATE
,INSERT
,UPDATE
,INSERT
INTO
11.在創(chuàng)建序列的過(guò)程中,下列(A)選項(xiàng)指定序列在達(dá)到最大值或最小值后,將繼續(xù)從頭開(kāi)始生成值。A.CycleB.NocycleC.CacheD.Nocache二、填空題1.序列是一種可被多個(gè)用戶使用的用于產(chǎn)生一系列唯一數(shù)字的數(shù)據(jù)庫(kù)對(duì)象。尤其適合多用戶環(huán)境中,可以生成唯一的序列號(hào)而沒(méi)有磁盤(pán)I/O或事務(wù)處理鎖定開(kāi)銷(xiāo)。2.序列包含的兩個(gè)偽列是Currval和Nextval。3.使用序列可以生成一列整數(shù)值,這些整數(shù)值可以用作主鍵約束。4.數(shù)據(jù)操作語(yǔ)言允許用戶對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢、插入、更新和刪除等操作,相應(yīng)的命令是SELECT、INSERT、UPDATE和DELETE等。5.一般情況下,merge語(yǔ)句包括了兩個(gè)數(shù)據(jù)操縱命令,如果合并條件成立則執(zhí)行UPDATE命令,如果合并條件不成立則執(zhí)行INSERT命令。6.如果確定要?jiǎng)h除一個(gè)大表的全部記錄,可以執(zhí)行TRUNCATE命令,它可以釋放占有的數(shù)據(jù)塊表空間。7.要設(shè)置SQL*PLUS顯示數(shù)字時(shí)的格式可以使用NumFormat命令,而要設(shè)置某個(gè)數(shù)字列的顯示格式要使用Column命令。8.使用SAVE命令可以將緩沖區(qū)中的SQL命令保存到一個(gè)文件中,并且可以使用START命令運(yùn)行該文件。9.當(dāng)設(shè)置多個(gè)列的顯示屬性后,如果清除設(shè)置的顯示屬性,可以使用命令CLEAR,當(dāng)要清除某列具體的顯示屬性時(shí),需要使用命令OFF。10.如果需要向表中插入一批已經(jīng)存在的數(shù)據(jù),可以在INSERT語(yǔ)句中使用SELECT語(yǔ)句。11.用SELECT進(jìn)行模糊查詢時(shí),可以使用_通配符_或__百分號(hào)_匹配符,模糊查詢只能針對(duì)字段類(lèi)型是_字符__的查詢。12.下面語(yǔ)句創(chuàng)建一個(gè)序列對(duì)象,該序列對(duì)象的開(kāi)始數(shù)為2,每次遞增2,當(dāng)大于1000后,序列值重新返回到2,在空白處填寫(xiě)適當(dāng)?shù)拇a,完成上述要求。createsequenceseg_test_startwith2__________incrementby2_______maxvalue1000______cycle__。三、問(wèn)答題1.簡(jiǎn)述DELETE語(yǔ)句與TRUNCATE語(yǔ)句的差異。解:如果想要?jiǎng)h除表的所有數(shù)據(jù),truncate語(yǔ)句要比delete語(yǔ)句快。因?yàn)閠runcate刪除了表,然后根據(jù)表結(jié)構(gòu)重新建立它,而delete刪除的是記錄,并沒(méi)有嘗試去修改表。這也是為什么當(dāng)向一個(gè)使用delete清空的表插入數(shù)據(jù)時(shí),數(shù)據(jù)庫(kù)會(huì)記住前面產(chǎn)生的AUTOINCREMENT序列,并且繼續(xù)利用它對(duì)AUTOINCREMENT字段編號(hào)。而truncate刪除表后,表是從1開(kāi)始為autoincrement字段編號(hào)。不過(guò)truncate命令快規(guī)快,卻不像delete命令那樣對(duì)事務(wù)處理是安全的。因此,如果我們想要執(zhí)行truncate刪除的表正在進(jìn)行事務(wù)處理,這個(gè)命令就會(huì)產(chǎn)生退出并產(chǎn)生錯(cuò)誤信息。2.有如下兩個(gè)關(guān)系,其中雇員信息表關(guān)系EMP的主鍵是雇員號(hào),部門(mén)信息表關(guān)系DEPT的主鍵是部門(mén)號(hào)。EMP雇員號(hào)(EMPNO)雇員名(EMPNAME)部門(mén)號(hào)(DEPTID)工資(SALARY)001張山022000010王宏達(dá)011200056馬林生021000101趙敏041500DEPT部門(mén)號(hào)(DEPTID)部門(mén)名(DEPTNAME)地址(ADDRESS)01業(yè)務(wù)部1號(hào)樓02銷(xiāo)售部2號(hào)樓03服務(wù)部3號(hào)樓04財(cái)務(wù)部4號(hào)樓向表插入雇員號(hào)為“100”,雇員名為“李四”,部門(mén)號(hào)為“02”的雇員更新雇員號(hào)為“100”的薪水為2000將薪水低于1200的雇員薪水加300元?jiǎng)h除部門(mén)號(hào)為“04”的部門(mén)執(zhí)行語(yǔ)句INSERTEMPVALUES(‘020’,’王五’,’05’如何實(shí)現(xiàn)將部門(mén)號(hào)為“01”的部門(mén)刪除解:(1)DEPT表中的部門(mén)號(hào)(DEPTID)沒(méi)有“05”的數(shù)據(jù),外鍵部門(mén)號(hào)(DEPTID)的限制所致。(2)先刪除表EMP中部門(mén)號(hào)為“01”的數(shù)據(jù)。3.已知一個(gè)員工表TBEmp,包含以下字段列名稱(chēng)數(shù)據(jù)類(lèi)型備注idvarchar2(10)代表員工號(hào)碼,主鍵namevarchar2(2)代表員工名字,非空sexvarchar2(10)代表員工性別birthdaydate代表出生日期memovarchar2(100)代表員工備注(1)創(chuàng)建員工表TBEmp(2)增加一個(gè)字段salary,類(lèi)型number(3)刪除表的memo字段(4)把name字段長(zhǎng)度改為100(5)插入以下數(shù)據(jù)(‘001’,‘陳四’,‘男’,‘1980-10-20(6)查詢有工資的員工信息(7)查詢名字中沒(méi)有ac的員工姓名和出生日期(8)查詢工資在900到2300之間的員工信息(9)查詢女員工個(gè)數(shù)(性別為female的)(10)查詢拿最高工資的員工信息(11)按照員工年齡由高到低來(lái)排序,顯示員工號(hào)碼、姓名、出生日期(使用to_char函數(shù),日期按照年/月/日時(shí):分顯示)to_char(birthday,’yyyy/mm/ddhh:mi:ss’)(12)將Jack的出生日期修改為1977-2-1,工資增加200元(13)更新表格,在所有員工的號(hào)碼后面加上‘emp’(14)刪除號(hào)碼是e001和e002和e003的員工(15)將員工的id和姓名連接起來(lái)使用別名newname來(lái)顯示(語(yǔ)法se
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年1月A股及港股月度金股組合:關(guān)注“啞鈴”型配置
- 單位管理制度收錄大合集人事管理篇十篇
- 2023-2029年中國(guó)非布司他片行業(yè)市場(chǎng)發(fā)展監(jiān)測(cè)及投資戰(zhàn)略咨詢報(bào)告
- 2025年電動(dòng)工具零部件市場(chǎng)分析報(bào)告
- 2024年山東鋁業(yè)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 宮頸癌早期預(yù)防和篩查
- 2024年08月山東日照銀行招考筆試歷年參考題庫(kù)附帶答案詳解
- 廣州軟件學(xué)院《高級(jí)語(yǔ)言程序設(shè)計(jì)(VB)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025至2031年中國(guó)丙烯酸-丙烯酸羥丙酯共聚物行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年中國(guó)蛇行簧成型機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2023-2024學(xué)年浙江省富陽(yáng)市小學(xué)數(shù)學(xué)五年級(jí)上冊(cè)期末通關(guān)試題
- TTAF 092-2022 移動(dòng)終端融合快速充電測(cè)試方法
- GB/T 9410-2008移動(dòng)通信天線通用技術(shù)規(guī)范
- GB/T 5343.2-2007可轉(zhuǎn)位車(chē)刀及刀夾第2部分:可轉(zhuǎn)位車(chē)刀型式尺寸和技術(shù)條件
- GB/T 32285-2015熱軋H型鋼樁
- GB/T 13772.2-1992機(jī)織物中紗線抗滑移性測(cè)定方法模擬縫合法
- SVG運(yùn)行與維護(hù)課件
- 企業(yè)大學(xué)商學(xué)院建設(shè)方案
- 部編人教版 六年級(jí)下冊(cè)道德與法治課堂作業(yè)(含答案)
- 幼兒園大班數(shù)學(xué):《長(zhǎng)頸鹿的水果店》 課件
- 獨(dú)生子女證明(模板)
評(píng)論
0/150
提交評(píng)論