數(shù)據(jù)庫管理應(yīng)用與開發(fā)課后答案_第1頁
數(shù)據(jù)庫管理應(yīng)用與開發(fā)課后答案_第2頁
數(shù)據(jù)庫管理應(yīng)用與開發(fā)課后答案_第3頁
數(shù)據(jù)庫管理應(yīng)用與開發(fā)課后答案_第4頁
數(shù)據(jù)庫管理應(yīng)用與開發(fā)課后答案_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第二章

1.Oracle數(shù)據(jù)庫系統(tǒng)的物理存儲(chǔ)結(jié)構(gòu)主要由3類文件組成,分別為數(shù)據(jù)文件、日志文件、控制文件。

2.用戶對(duì)數(shù)據(jù)庫的操作如果產(chǎn)生日志信息、則該日志信息首先被存儲(chǔ)在旦避緩建區(qū)中,隨后由LGWR進(jìn)程保存到日志文件。

3.一個(gè)表空間物理上對(duì)應(yīng)一個(gè)或多個(gè)數(shù)據(jù)文件。

4.在Oracle的邏輯存儲(chǔ)結(jié)構(gòu)中,根據(jù)存儲(chǔ)數(shù)據(jù)的類型,可以將段分為數(shù)據(jù)段、索引段、回退段、LOB段和臨時(shí)段,

5.在Oracle的邏輯存儲(chǔ)結(jié)構(gòu)中,數(shù)據(jù)塊是最小的I/O單元。

6.在多進(jìn)程Oracle實(shí)例系統(tǒng)中,進(jìn)程分為用戶進(jìn)程、后臺(tái)進(jìn)程和服務(wù)器進(jìn)程。當(dāng)一個(gè)用戶運(yùn)行應(yīng)用程序,如PRO*C程序或一個(gè)Oracle工具(如

SQL*Plus),系統(tǒng)將為用戶運(yùn)行的應(yīng)用程序建立一個(gè)用戶進(jìn)程。

第三章

I.標(biāo)準(zhǔn)的SQL語言語句類型可以分為:數(shù)據(jù)定義語句(DDL)、數(shù)據(jù)操縱語句(DML)和數(shù)據(jù)控制語句(DCL)。

2.在需要濾除查詢結(jié)果中重復(fù)的行時(shí),必須使用關(guān)鍵字Distinct;在需要返回查詢結(jié)果中的所有行時(shí),可以使用關(guān)鍵字ALL。

3.如果需要在SELECT子句中包括一個(gè)表的所有列,可使用符號(hào)士。

4.如果定義與組有關(guān)的搜索條件,可以把grmiDbv戶句添加到SELECT語句中。

5.當(dāng)進(jìn)行模糊杳詢時(shí),就使用關(guān)鍵字LIKE和通配符”“或百分號(hào)"%”。

6.WHERE子句可以接收FROM子句輸出的數(shù)據(jù),而HAVING子句貝I」可以接收來自groupbv.FROM或where子句的輸入。

7.使下列SQL語句中添加適當(dāng)?shù)谋磉_(dá)式或子句,使語句可以正常運(yùn)行。

SELECT供應(yīng)商所在城市,COUNT(供應(yīng)商編號(hào))

FROM供應(yīng)商信息

GROUPBY供應(yīng)商所在城市

ORDERBY_2_DESC;

第四章

1.在SQL語句中,用于向表中插入數(shù)據(jù)的語句是Insert,

2.如果需要向表中插入一批已經(jīng)存在的數(shù)據(jù),可以在INSERT語句中使用select語句。

3.創(chuàng)建一個(gè)UPDATE語句來修改ARTISTS表中的數(shù)據(jù),并且把每一行的T_ID值都改成15,應(yīng)該使用的SQL語句是updateartistssettid=15;。

4.使用describe命令可以顯示表的結(jié)構(gòu)信息。

5.使用SQL*Plus的幽命令可以將文件檢索到緩沖區(qū),并且不執(zhí)行。

6.當(dāng)設(shè)置了多個(gè)列的顯示屬性后,如果清除設(shè)置的顯示屬性,可以使用命令clearcolumn,而當(dāng)要清除某列具體的顯示屬性時(shí),需要使用命令

OFF/column歹U名clear.、

7.使用SAVE命令可以將緩沖區(qū)中的SQL命令保存到一個(gè)文件中,并且可以使用Start命令運(yùn)行該文件。

8.要設(shè)置SQL*Pkis顯示數(shù)字時(shí)的格式可以使用NumFormat命令,而要設(shè)置某個(gè)數(shù)字列的顯示格式要使用Column命令。

第五章

1.在Oracle系統(tǒng)中,為了實(shí)現(xiàn)對(duì)表、視圖和索引等數(shù)據(jù)庫對(duì)象進(jìn)行管理,Oracle采用模式實(shí)現(xiàn)。

2.一個(gè)模式只能夠被一個(gè)數(shù)據(jù)庫用戶所擁有,其創(chuàng)建的所有模式對(duì)象都保存在自己的模式中。

3Char數(shù)據(jù)類型與Varchar2類型都用于存儲(chǔ)字符串。如果定義了Char類型的字段,并且向其賦值時(shí),字符串的長(zhǎng)度小于定義的長(zhǎng)度,則使用空

格填充;而近型里旦-類型的字段用于存儲(chǔ)變長(zhǎng)的字符串,即如果向該列賦值的字符長(zhǎng)度小于定義時(shí)的長(zhǎng)度,該列的字符長(zhǎng)度只會(huì)是實(shí)際字符數(shù)據(jù)

的長(zhǎng)度,系統(tǒng)不會(huì)使用空格填充。

4.R0WID實(shí)際上保存的是記錄的物理地址,因此通過ROWID來訪問記錄右以獲得最快的訪問速度。

5.在STORAGE子句中可以設(shè)置6個(gè)存儲(chǔ)參數(shù)。其中,Ini迤L指定為表中的數(shù)據(jù)分配的第?個(gè)盤區(qū)的大??;曲生指定為存儲(chǔ)表中的數(shù)據(jù)分配的第二

個(gè)盤區(qū)大小;Pctincrease指定從第二個(gè)盤區(qū)之后,每個(gè)盤區(qū)相對(duì)于上一個(gè)盤區(qū)的增長(zhǎng)百分比;西西邈西指定允許為表中的數(shù)據(jù)所分配的最小盤區(qū)

數(shù)目;Maxextents指定允許為表中的數(shù)據(jù)所分配的最大盤區(qū)數(shù)目。

6.通過數(shù)據(jù)塊空間管理參數(shù)可以控制數(shù)據(jù)塊中空閑空間的使用方法,其中Pctfree用丁?控制數(shù)據(jù)塊的更新預(yù)留的空間,而Pctused用「控制數(shù)據(jù)塊在

刪除時(shí)釋放空間的門檻。

,為Sludenl表手動(dòng)分配存儲(chǔ)空間,并且大小由NEXT參數(shù)設(shè)置,則應(yīng)使用的語句為AltertableStudentallocateextent;:如果為Student表手動(dòng)分

配了一個(gè)大小為128KB的新盤區(qū),則應(yīng)使用的語句為AltertableStudentallocateextent(size128k);0

8.填寫下面語句,使其可以將Class表移動(dòng)到表空間SYSTEM中的數(shù)據(jù)段,并且其初始化盤區(qū)為30KB,第二個(gè)盤區(qū)為20KB,隨后分配的盤區(qū)不會(huì)

增長(zhǎng)。Initial30k

Nex120k

ALTERTABLEClassmove

Pctincrease0

TABLESPACESYSTEM

MAXEXTENTSUNLIMITED);

STORAGE(

9.根據(jù)約束的作用域,約束可以分為表級(jí)約束和列級(jí)約束兩種。列級(jí)約束是字段定義的一部分,只能夠應(yīng)用在一個(gè)列上;而表級(jí)約束的定義獨(dú)立于

列的定義,它可以應(yīng)用于一個(gè)表中的多個(gè)列。

10.填寫下面的語句,使其可以為Class表的ID列添加一個(gè)名為PK.CLASSJD的主鍵約束。

ALTERTABLEClass

AddconstraintPK_CLASS_IDPRIMARYKEY(ID)

11.假設(shè)已經(jīng)創(chuàng)建了CHAINED_ROWS表,填寫下面的語句,以便對(duì)“業(yè)務(wù)員信息”表進(jìn)行鏈接記錄分析:

ANALYZETABLE業(yè)務(wù)員信息

Listchainedrowsintochainedrows

第六章

1.在使用逗號(hào)連接的多表查詢中,為了防止出現(xiàn)笛卡兒積,需要SELECT語句的叱蛇里『?句中提供連接條件。

2.使用逗號(hào)連接的多表查詢中,用戶可以根據(jù)下述基本原則創(chuàng)建需要的各種查詢:Er些L子句應(yīng)當(dāng)包括所有的表名,在皿里子句中應(yīng)定義一個(gè)連

接條件,當(dāng)列名為多個(gè)表共有時(shí),列名必須被限制。

3.直登連接為具有相同名稱的列自動(dòng)進(jìn)行記錄匹配,它不必指定任何同等連接條件。

4.集合運(yùn)算符UNION實(shí)現(xiàn)了集合的并運(yùn)算,操作INTERSECT實(shí)現(xiàn)了對(duì)集合的交運(yùn)算,而MINUS則實(shí)現(xiàn)。減運(yùn)算。

5.使用關(guān)鍵字連接子查詢時(shí),EXISTS關(guān)鍵只注重子杳詢是否返問行,如果子查詢返回一個(gè)或多個(gè)行,那么便返PI為真,否則為假。

第七章

1.PL/SQL程序塊主要包含3個(gè)主要部分:聲明部分、可執(zhí)行部分和異常處理部分。

2.使用顯式游標(biāo)主要有4個(gè)步驟:聲明游標(biāo)、打開游標(biāo)、檢索數(shù)據(jù)、關(guān)閉游標(biāo)°

3.在PL/SQL中,如果SELECT語句沒有返回列,則會(huì)引發(fā)ORACLE錯(cuò)誤,并引發(fā)no_data_found異常。

4.自定義異常必須使用raise語句引發(fā)。

5.查看操作在數(shù)據(jù)表中所影響的行數(shù),可通過游標(biāo)的%RowC<nint屬性實(shí)現(xiàn)。

6.查看下面的程序塊,DBMS_OUTPUT將顯示什么結(jié)果?N

DECLAREBEGIN

var_aCHAR(1):=N;var_a:='Y';

BEGINEND;

DECLAREDBMS_OUTPUT.put_line(var_a);

var_aCHAR(2);END;

7.查看下面的程序塊,其中變下varb的結(jié)果為5。

DECLAREELSIFvar_a>1000THEN

Var_anumber:=1200;var_b:=10;

Var_bnumber;ELSE

BEGINvar_b:=8;

IFvar_a>500THENENDIF;

var_b:=5;END;

8.下列程序計(jì)算由()~9之間的任意3個(gè)不相同的數(shù)字組成的三位數(shù),共有多少種不同的組合方式?完成下列程序使其能夠正確運(yùn)行。

DECLAREcounter:=counter+1;

counternumber:=0;ENDIF;

ENDLOOP;

ENDIF;

BEGIN

FORiIN1..9LOOP

FORjIN0..9LOOP

IFi!=jTHEN

FORkIN0..9LOOP

IFk!=iandk!=i

第八章

1.在下面程序的空白處填寫一定的代碼,使該函數(shù)可以獲取指定編號(hào)的商品價(jià)格。

CREATEORREPLACEFUNCTIONget_price

FROM商品信息WHERE商品編號(hào)=P」D;

(P_IDvarchar2)

RETURNv_price;

returnnumberis

EXCEPTION

IS

WHENNO_DATA_FOUNDTHENDBMS_OUTPUT.PUT_LINE(,查找

v_priceNUMBER;的商品不存在!,);

BEGIN

WHENTOO_MANY_ROWSTHENDBMS_OUTPUT.PUT_LINE(,程

SELECT單價(jià)

序運(yùn)行錯(cuò)誤!請(qǐng)使用游標(biāo)');

intov_price

WHENOTHERSTHENDBMS_OUTPUT.PUT_LINE('發(fā)生其彳也錯(cuò)誤!

ENDget_price;

2.假設(shè)有一個(gè)程序包,其中包含了兩個(gè)重載的函數(shù)max。寫出下面程序調(diào)用max函數(shù)后的運(yùn)行結(jié)果。

程序包主體:Result:=x;

CreateorreplacepackagebodyElse

TESTisResult:=y;

Functionmax(xinnuniber.yinnumber)returnnumberisEndif;

Resultnumber;Return(result),

BeginEndmax;

Ifx>ythenFunctionmax(xinnumber,yinnumbenzinnumber)returnnumberisresult

BeginReturn(result);

Result:=test.max(x,y);Endmax;

Result:=test.max(result,z);End;

運(yùn)行結(jié)果:21

3.在下面程序的空白處填寫適當(dāng)?shù)拇a,使得調(diào)用該過程時(shí)可以統(tǒng)計(jì)某產(chǎn)地的商品數(shù)量和總價(jià)。

CREATEORREPLACEPROCEDUREproc_demo(FROM商品信息WHERE產(chǎn)地二Merchplace:

Merch_placeINvarchar2,EXCEPTION

Price_sumoutNUMBER,WHENNO_DATA_FOUNDTHEN

Merch_countoutNUMBER)DBMS_OUTPUT.PUT_LINEC所需數(shù)據(jù)不存在!,);

ISWHENOTHERSTHEN

BEGINDBMS_OUTPUT.PUT_LINEC發(fā)生其他錯(cuò)誤!,);

SELECTSUM(單價(jià)),COUNT(*)INTOPrice_sum,Merch_countENDproc_demo;

第九章

1.為了建立外部表,首先需要指示數(shù)據(jù)文件在操作系統(tǒng)上的位置。現(xiàn)在假設(shè)在操作系統(tǒng)的F:\DATAFILE文件夾中存有一個(gè)數(shù)據(jù)文件,使用create

directoryexterior_dataas,F(xiàn):\DATAFILE,;語句使Oracle可以訪問數(shù)據(jù)文件。

2.在使用CREATETABLE語句創(chuàng)建索引組織表時(shí),必須使用。n;anizati()nindex子句指示創(chuàng)建的表為索引組織表,并且為索引組織表指定主鋌。

3.PCTTHRESHOLD指定一個(gè)數(shù)據(jù)塊的百分比,當(dāng)一行中的數(shù)據(jù)占用空間大于這個(gè)百分比時(shí),該行將被分隔到兩個(gè)位置存儲(chǔ):主鋌列被存儲(chǔ)在基本

索引段中,所有其他列被存儲(chǔ)在溢出段中。

4.0racle中的臨時(shí)表可以分為事務(wù)級(jí)臨時(shí)表和會(huì)話級(jí)臨時(shí)表,創(chuàng)建事務(wù)級(jí)別的臨時(shí)表,需要使用oncommitdeleterows子句;創(chuàng)建一個(gè)會(huì)話級(jí)別的

臨時(shí)表,則需要使用oncommitpreserverrowsF句。

5.在創(chuàng)建對(duì)象類型時(shí),用戶不必特意創(chuàng)建構(gòu)造函數(shù),它由系統(tǒng)隱式創(chuàng)建,名稱與對(duì)象類型的名稱相同,并且它會(huì)接收對(duì)象類型的所有屬性作為它的

參數(shù)。

6.如果用戶想要對(duì)對(duì)象類型的實(shí)例進(jìn)行比較排序,則需要使用映射方法Map,它最重要的一個(gè)特點(diǎn)是:當(dāng)在WHERE或ORDERBY等比較關(guān)系子

句中使用對(duì)象時(shí)會(huì)被間接地使用。

7.有兩種方法向?qū)ο蟊硖砑訑?shù)據(jù):一種是像關(guān)系表一樣在INSERT的VALUES子句中,為對(duì)象的每個(gè)屬性提供值,隱式地創(chuàng)建對(duì)象類型實(shí)例,向?qū)?/p>

象表添加數(shù)據(jù);另一種方式是顯式地創(chuàng)建對(duì)象實(shí)例,然后再將它添加到對(duì)象表。

8.0racle數(shù)據(jù)庫提供對(duì)表或索引的分區(qū)方法有5種:范圍分區(qū)、散列分區(qū)、列表分區(qū)、組合范圍散列分區(qū)和組合范圍列表分區(qū)。

9.簇是一種用于存儲(chǔ)數(shù)據(jù)表中數(shù)據(jù)的方法。簇實(shí)際是一組表,由?組共享相同數(shù)據(jù)塊的多個(gè)表組成。

第十章

1.B樹索引可以是唯一的或者不唯一的,唯一的B樹索引可以保證索引列上不會(huì)有重復(fù)的值。

2.在為表中某個(gè)列定義PRIMARTKEY約束PK_ID后,則系統(tǒng)默認(rèn)創(chuàng)建的索引名為PK」D.

3.在B樹索引中,通過在索引中保存排過序的索引列的值與相對(duì)應(yīng)的RiwlIL來實(shí)現(xiàn)快速查找.

4.如果表中某列的基數(shù)比較低,則應(yīng)該在該列上創(chuàng)建位圖索引。

5.如果要獲知索引的使用情況,可以通過查詢V$OBJECTUSAGE視圖;而要獲知索引的當(dāng)前狀態(tài),可以查詢IndexStats視圖。

第十一章

1.在不為視圖指定列名的情況下,視圖列的名稱將使用表列的名稱。

2.視圖與數(shù)據(jù)庫中的表非常相似,用戶也可以在視圖進(jìn)行INSERT、UPDATE,和DELETE操作。通過視圖修改數(shù)據(jù)時(shí),實(shí)際上是在修改基本表中

的數(shù)據(jù);相應(yīng)地,改變基本表中的數(shù)據(jù)也會(huì)反映到該表產(chǎn)生的視圖中。

3.視圖是否可以更新,這取決于定義視圖的SELECT語句,通常情況下,該語句越復(fù)雜,創(chuàng)建的視圖可以更新的可能性也就越小.

4.下面的語句創(chuàng)建了一個(gè)序列對(duì)象,該序列對(duì)象的開始數(shù)為2,每次遞增2,當(dāng)大于1000后,序列值重新返回到2.在空白處填寫適當(dāng)?shù)拇a,完成

上述要求。

Incremeniby2

Createsequenceseg_test

Maxvalue

Startwith2

第十二章

1.假設(shè)有一個(gè)表TEST,它僅包含一個(gè)字段DATA?,F(xiàn)在創(chuàng)建一個(gè)觸發(fā)器,實(shí)現(xiàn)將添加的數(shù)據(jù)變大寫。在下面的空白處填寫適當(dāng)?shù)恼Z句,使之可以正

常運(yùn)行。Begin

Createorreplacetriggertest_trigger:new.data:=uppcr(:new.data):

AfterinsertonTESTforeachrowEnd:

必退和MI里指定了觸發(fā)器的觸發(fā)時(shí)間。當(dāng)為?個(gè)表配置了約束時(shí),它們將會(huì)特別有用,蚪QK支可以規(guī)定Oracle在應(yīng)用約束前調(diào)用觸

發(fā)器,而AEJ旦旦規(guī)定在應(yīng)用約束后調(diào)用觸發(fā)器。

3.假設(shè)有一個(gè)名為ACTION_TYPE的表,它記錄了對(duì)STUDENT表的操作。在空白處填寫適當(dāng)?shù)拇a,完成上述功能。

Createorreplacetriggerbiud_student_triggerifinsertingthenaction:-INSERT,;

Beforeinsertorupdateordeleteonstudentelsifupdatin口thenaction:-UPDATE";

Declareelsifdeletingthenaction:='DELETE,;

Actionaction_type.type%type;endif;

Begininsertintoaction_typevalue(usenaclion);

第十三章End;

1.事務(wù)的ACID特性包括原壬性、一致性,隔離控和永久性。

2.在設(shè)置事務(wù)隔離層時(shí),需要使用關(guān)鍵字set

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論