數(shù)據(jù)庫原理與技術作業(yè)參考答案_第1頁
數(shù)據(jù)庫原理與技術作業(yè)參考答案_第2頁
數(shù)據(jù)庫原理與技術作業(yè)參考答案_第3頁
數(shù)據(jù)庫原理與技術作業(yè)參考答案_第4頁
數(shù)據(jù)庫原理與技術作業(yè)參考答案_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《數(shù)據(jù)庫原理與技術》作業(yè)參考答案

第1章作業(yè)

(1)解釋如下概念:

實體,屬性,DB,DBMS,DBA

(2)試述數(shù)據(jù)庫系統(tǒng)的特點,并與之比較文件系統(tǒng)的缺點

(3)試述DBA的職責

答:

(1)

實體:客觀存在并且可以唯一區(qū)別的物體,可以是一個具體的事物,也可以是一個具

體的事件。

屬性:實體的某一特性或特征。

DB:即數(shù)據(jù)庫,存放數(shù)據(jù)的倉庫,在DBMS的集中管理下,有較好的數(shù)據(jù)獨立性,較

少的冗余,相互間有聯(lián)系的文件集合。

DBMS:即數(shù)據(jù)庫管理系統(tǒng),是介于數(shù)據(jù)庫與操作系統(tǒng)之間的用于管理數(shù)據(jù)庫的管理軟

件,主要包括的功能見書。

DBA:即數(shù)據(jù)庫管理員,負責管理與維護數(shù)據(jù)庫系統(tǒng)的人員

(2)數(shù)據(jù)庫系統(tǒng)主要包括面向全組織的數(shù)據(jù)庫結構,有較好的數(shù)據(jù)與程序獨立性,有較

少的冗余,有完整的控制技術,最小存取單位是數(shù)據(jù)項等特點。與之相對應的文件系統(tǒng)是:

獨立性不高,冗余大,無控制技術,最小存取單位為記錄。

(3)DBA主要有4個職責,主要的職責見書。

第2章作業(yè)

(1)試用關系代數(shù)、QBE寫出如下查詢:

找出張三的學號與年齡

找出成績>=90的學生學號與姓名

找出選修數(shù)據(jù)庫的所有學生的學號、姓名、年齡及成績

表為:S(S#,SN,SA),C(C#,CN,ST),SC(S#,C#,G)

參考解答:

1.碼,關系,元組:參見教材。

2(1)%0鼠肉架三國))

3;SS

#NA

>張三P

.義

(2)n(S|X|6(SC).QBE參見書

S#.SN6>-9O

(3)n(S|X|SC.|X|6(C)),QBE參見書

S#.SN.SA.GCN>='整桶W'

第3章作業(yè)

設有下列關系模式:

S(sno,SN,AGE,SEX,dno),S表示學生,其中sno表示學號,SN表示姓名,AGE表示年齡,SEX

表示性別,Dno表示學生所在系號,要求sno為主碼,SEX為,,男”,女或淇它age在12至U65之

間.

C(cno,CN),C表示課程,其中eno表示課程編號,CN表示課程名禰,主碼為eno;

SC(sno,eno,GRADE),SC表示學生選課,其中sno為選課的學生學號,cn。為學生所選課程

編號,GRADE表示學生成績,0到100;主碼為sno,eno,外部碼分別為sno,eno

請用SQL語言完成下列操作:

(1)創(chuàng)建上面三個基本表;(考慮關系的完整性)

(2)每個表插入二個值,體現(xiàn)完整性

(3)完成以下查詢:

①檢索選修了課程號為C1或C2課程,且成績高于或等于70分的學生的姓名,課程

名和成績。

②檢索所有學生的姓名、所選課程的課程名和成績,并且按課程號的升序和成績的降序進

行排列。

③檢索選修了“C語言”課程的學生的姓名。

@檢索所有學生中年齡最大的學生的姓名及年齡。

⑤求所有學生中年齡的最大值和最小值。

⑥求所有學生中女生的總人數(shù)。

⑦求選課在四門以上的學生所選課程的學號與平均成績(不統(tǒng)計不及格的課程),按平

均成績降序列出.

(4)將成績達到55分的改為及格60分

(5)刪除成績?yōu)榭盏某煽冇涗洸⑾嚓P的學生記錄(只要有一門為空)轉入到另一個表中

(ST)

(6)將01系的學生記錄授權給用戶zhang,liwenq;將C01課程的所有成績記錄及相關選

課的學生記錄授權給用戶wa

答:

createtableS(snochar(7)primarykey,

SNchar(8),

AGEnumber(2)check(agebetween12and65),

SEXchar(4)check(sexin,"女"其它

"),dnochar(3))

createtablec(cnochar(3)primarykey,cnvarchar2(32))

createtableSC(snochar(7)referencess.sno,

enochar(3)referencesc.eno,

GRADEnumber(3)check(gradebetween0and100),

Primarykey(sno,cno)

)

(2)

insertinfosvaluesf,,0203101"7-M男"「HOT)

insertintosvalues(?0202102"李嵐風",18「女

"/D02")

insertintocvalues(?C01"數(shù)據(jù)庫原理與編程")

insertintocvalues(?C02"離散數(shù)學")

insertintosc

values(?020310rC01",92)insertinto

scvalues(?0203101";C02",88)

insertintosc

values(?0202102"C01",52)insertinto

scvalues(?0202102";C02",89)

(3)完成以下查詢:

①Selectsn,cn,gradefroms,c,sc

wheres.sno=o=oandgrade>=70and(cno=<*Cl"orcno="C2B)

?Selectsn,cn,gradefroms,c,sc

wheres.sno=sc.snoando=o

orderbyc.eno,gradedesc

③Selectsnfroms

wheresnoin(selectsnofromsc

whereenoin(selectenofromcwherecn-'C語言"))

④Selectsn,agefroms

whereage=(selectmax(age)froms)

(5)Selectmax(age),min(age)froms

⑥Selectcount)*)fromswheresex=M女"

⑦Selectdistinctavg(grade),snofromsc

wheregrade>=60

Groupbysno

Havingcount(cno)>4

(4)

updatescsetgrade=60wheregrade>=55

(5)

createtablestasselect*fromscwheregradeisnull

deletefromscwheregradeisnull

(6)

createviews_Olasselect*fromswheredno=01

createviewsc_c01asselectgrade,s.sno,s.sn,s.sex,s.agefromsc,swheres.sno=sc.sno

grantselect,updateons_01tozhang,liwenq

grantselectonsc_cO1towa

第4章作業(yè)

現(xiàn)有如下表,new_class(專業(yè)號,班號,人數(shù))

值如(il,1,36),01,6,32),(i2,9,32),(pl,3,30)等.

編寫程序(過程),實現(xiàn)如下要求:

產生下列學號,并插入到stud_no(no)中,

學號值如11041014-11041364,i2049014Tl049324,pl043014~pl043304等,其中第1,2位

為專業(yè)號,第3,4位為學年(可固定為04,也可隨著年度不同而不同),第5位為班號,第6,7位為

序號(從01至班級人數(shù)),第8位為尾號,,4(固定).

提示:使用游標

答:首先建表:

createtablenew_student_class(specialty_codechar(2),

class_numberchar(l),student_numbernumber(2));

插入數(shù)據(jù):

insertintonew_student_classvalues('ir,l,36);

insertintonew_student_classvalues('ir,6,32);

insertintonew_student_classvalues('i2',9,32);

insertintonew_student_classvalues('pr,3,30);

建立過程:

createorreplaceprocedurestud_no_create(s_yearinchar)/*s_year為學年*/

is

sp_codeCHAR(2);

cl_numCHAR(l);

st_numnumber(2);

jnumber(4);

spec_codechar(2):=ia;

CURSORc_Student_noIS

SELECTspecialty_code,c^ass_number,student_number

FROMnew_student_class

orderbyspecialty_code,class.number;

BEGIN

/*cursorprocessing.*/

OPENc_Student_no;

J:=0;

LOOP

-Retreiveonerow.

FETCHc_Student_noINTOsp_code,cl_num,st_num;

Ifspec_code<>sp_codethen

J:=0;

Spec_code:=sp_code;

Endif;

—Exittheloopafterallrowshavebeenretreived.

EXITWHENc_Student_no%NOTFOUND;

ForIin1..st_numloop

J:=j+1;

Ifi<10then

INSERTINTOstudent_no(no,sno)

selectj,sp_code||s_year||cl_num||0||to_char(i)||4fromdual;

Else

INSERTINTOstudent_no(no,sno)

Selectj,sp_code||s_year||cl_num||to_char(i)114fromdual;

Endif;

ENDLOOP;

ENDLOOP;

CLOSEc_Student_no;

END;

第5章作業(yè)

(1)查詢優(yōu)化的一般準則

(2)給出各類關系系統(tǒng)的定義:最小關系系統(tǒng);關系上完備的系統(tǒng);

答:

(1)選擇盡可能先做,投影與選擇一起做,先做預處理(如索引),將聯(lián)接與笛卡爾

乘積盡可能最后做,對公共表達式進行處理等。

(2)最小關系系統(tǒng):支持表結構,而且只有表這種結構;支持選擇投影聯(lián)接等關系運

算,而且不依賴任何物理路徑。

關系上完備的系統(tǒng)或稱完備式關系系統(tǒng),在最小關系系統(tǒng)的基礎上,增加了對關系中

的集合運算操作如并交差等操作即關系操作完備性。

第6章作業(yè)

(1)名詞解釋

碼,部分函數(shù)依賴,傳遞函數(shù)依賴

(2)證明:

關系模式R為BCNF,則R一定為3NF,也一定為2NF;反之則不然。

(3)已知關系模型R(A,B,C,D,E),滿足的函數(shù)依賴集為,F(xiàn)={AB-*C,D-E,

BD-A,A-*D}

求:R所有的碼

R的最高范式

答:

(1)參見教材

(2)證明思路:假設R為BCNF,而R不為3NF,

則按3NF定義,一定存在R的碼x,非主屬性y,屬性z,

有x->z,z->y,非z->x,y不包含在z中。

對于函數(shù)依賴z->y,因為y不包含在z中,

而R為BCNF,按BCNF定義,則z一定包含R的碼,這樣一定有z->x,矛盾。

所以假設R為BCNF,而R一定為3NF

對于設R

溫馨提示

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

評論

0/150

提交評論