




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《數據庫原理與技術》作業(yè)參考答案
第1章作業(yè)
(1)解釋如下概念:
實體,屬性,DB,DBMS,DBA
(2)試述數據庫系統的特點,并與之比較文件系統的缺點
(3)試述DBA的職責
答:
(1)
實體:客觀存在并且可以唯一區(qū)別的物體,可以是一個具體的事物,也可以是一個具
體的事件。
屬性:實體的某一特性或特征。
DB:即數據庫,存放數據的倉庫,在DBMS的集中管理下,有較好的數據獨立性,較
少的冗余,相互間有聯系的文件集合。
DBMS:即數據庫管理系統,是介于數據庫與操作系統之間的用于管理數據庫的管理軟
件,主要包括的功能見書。
DBA:即數據庫管理員,負責管理與維護數據庫系統的人員
(2)數據庫系統主要包括面向全組織的數據庫結構,有較好的數據與程序獨立性,有較
少的冗余,有完整的控制技術,最小存取單位是數據項等特點。與之相對應的文件系統是:
獨立性不高,冗余大,無控制技術,最小存取單位為記錄。
(3)DBA主要有4個職責,主要的職責見書。
第2章作業(yè)
(1)試用關系代數、QBE寫出如下查詢:
找出張三的學號與年齡
找出成績>=90的學生學號與姓名
找出選修數據庫的所有學生的學號、姓名、年齡及成績
表為: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)每個表插入二個值,體現完整性
(3)完成以下查詢:
①檢索選修了課程號為C1或C2課程,且成績高于或等于70分的學生的姓名,課程
名和成績。
②檢索所有學生的姓名、所選課程的課程名和成績,并且按課程號的升序和成績的降序進
行排列。
③檢索選修了“C語言”課程的學生的姓名。
@檢索所有學生中年齡最大的學生的姓名及年齡。
⑤求所有學生中年齡的最大值和最小值。
⑥求所有學生中女生的總人數。
⑦求選課在四門以上的學生所選課程的學號與平均成績(不統計不及格的課程),按平
均成績降序列出.
(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"數據庫原理與編程")
insertintocvalues(?C02"離散數學")
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è)
現有如下表,new_class(專業(yè)號,班號,人數)
值如(il,1,36),01,6,32),(i2,9,32),(pl,3,30)等.
編寫程序(過程),實現如下要求:
產生下列學號,并插入到stud_no(no)中,
學號值如11041014-11041364,i2049014Tl049324,pl043014~pl043304等,其中第1,2位
為專業(yè)號,第3,4位為學年(可固定為04,也可隨著年度不同而不同),第5位為班號,第6,7位為
序號(從01至班級人數),第8位為尾號,,4(固定).
提示:使用游標
答:首先建表:
createtablenew_student_class(specialty_codechar(2),
class_numberchar(l),student_numbernumber(2));
插入數據:
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)給出各類關系系統的定義:最小關系系統;關系上完備的系統;
答:
(1)選擇盡可能先做,投影與選擇一起做,先做預處理(如索引),將聯接與笛卡爾
乘積盡可能最后做,對公共表達式進行處理等。
(2)最小關系系統:支持表結構,而且只有表這種結構;支持選擇投影聯接等關系運
算,而且不依賴任何物理路徑。
關系上完備的系統或稱完備式關系系統,在最小關系系統的基礎上,增加了對關系中
的集合運算操作如并交差等操作即關系操作完備性。
第6章作業(yè)
(1)名詞解釋
碼,部分函數依賴,傳遞函數依賴
(2)證明:
關系模式R為BCNF,則R一定為3NF,也一定為2NF;反之則不然。
(3)已知關系模型R(A,B,C,D,E),滿足的函數依賴集為,F={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中。
對于函數依賴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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論