數(shù)據(jù)庫原理復(fù)習(xí)題_第1頁
數(shù)據(jù)庫原理復(fù)習(xí)題_第2頁
數(shù)據(jù)庫原理復(fù)習(xí)題_第3頁
數(shù)據(jù)庫原理復(fù)習(xí)題_第4頁
數(shù)據(jù)庫原理復(fù)習(xí)題_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)精品一、一個圖書館理系統(tǒng)中有如下信息:圖書:書號、書名、數(shù)量、位置借書人:借書證號、姓名、單位出版社:出版社名、郵編、地址、電話、E-mail其中約定:任何人可以借多種書,任何一種書可以被多個人借,借書和還書時,要登記相應(yīng)的借書日期和還書日期;一個出版社可以出版多種書籍,同一本書僅為一個出版社所出版,出版社名具有惟一性。根據(jù)以上情況,完成如下設(shè)計:(1)設(shè)計系統(tǒng)的E-R圖;5分(2)將E-R圖轉(zhuǎn)換為關(guān)系模式;3分(3)指出轉(zhuǎn)換后的每個關(guān)系模式的關(guān)系鍵(主鍵,外鍵)。2分

2、解答:(1書號書名數(shù)量位置社名郵編地址圖書出版出版社N1N借書日期借閱還書日期電話E_mailM借書人借書證號姓名單位圖書關(guān)系模式:圖書(書號,書名,數(shù)量,位置,出版社名)關(guān)系主鍵:書號外鍵:出版社名借書人關(guān)系模式:借書人(借書證號,姓名,單位)關(guān)系主鍵:借書證號出版社關(guān)系模式:出版社(出版社名,郵編,地址,電話,E-mail)關(guān)系主鍵:出版社名借閱關(guān)系模式:借閱(借書證號,書號,借書日期,還書日期)關(guān)系主鍵:(借書證號,書號)外鍵1:借書證號外鍵2:書號二、有一個學(xué)生課程數(shù)據(jù)庫,數(shù)據(jù)庫中包括三個表:學(xué)生表(學(xué)號,姓名,性別,年齡,所在系)課程表(課程號,課程名,先修課號,學(xué)分)成績表(學(xué)號,

3、課程號,成績)精品用SQL語言編寫實現(xiàn)下列功能的代碼:1、建立一個學(xué)生表,要求設(shè)置學(xué)號屬性為主鍵,規(guī)定年齡大于2、查詢年齡在20至23歲之間的學(xué)生的姓名、系別、和年齡。3、查詢各系的人數(shù)及平均年齡。4、計算“數(shù)據(jù)庫原理”課程的學(xué)生平均成績。5、將計算機科學(xué)系全體學(xué)生的成績置零。6、創(chuàng)建一個“經(jīng)濟系”全體學(xué)生的視圖V_JJX。7、創(chuàng)建一個自定義函數(shù),可以求解任意數(shù)n的階乘累加和,即計算+n!,并用n=10調(diào)用該函數(shù)。8、建一個規(guī)則,并將其綁定到學(xué)生表的所在系列上,規(guī)定取值為(16。S=1!+2!+3!+經(jīng)濟系,管理系,機電,信息系)之一。9、創(chuàng)建一個觸發(fā)器,要求當(dāng)更新課程表的課程號時,能更新成績

4、表中相應(yīng)的課程號。答案:1、建立一個學(xué)生表。CREATETABLE學(xué)生表(學(xué)號CHAR(5)PRIMARYKEY,姓名CHAR(20),性別CHAR(2),年齡INTCHECK(所在系CHAR(15)年齡16),2、查詢年齡在20至23歲之間的學(xué)生的姓名、系別、和年齡SELECT姓名,所在系,年齡FROM學(xué)生表WHERE年齡BETWEEN20AND233、查詢各系的人數(shù)及平均年齡。SELECT所在系,COUNT(*),AVG(年齡)FROM學(xué)生表GROUPBY所在系4、計算數(shù)據(jù)庫應(yīng)用課程的學(xué)生平均成績SELECTAVG(成績)FROM成績表WHERE課程號in(SELECT課程號WHERE課程

5、名=FROM課程表數(shù)據(jù)庫應(yīng)用)5、將計算機科學(xué)系全體學(xué)生的成績置零UPDATE成績表SET成績=0WHERE學(xué)號in(SELECT學(xué)號FROM學(xué)生表WHERE所在系=計算機科學(xué)系6、createviewV_JJXasselect*from學(xué)生表)WHERE所在系=經(jīng)濟系7、CREATEFUNCTIONF_C(nINT)RETURNSBIGINTASBEGIN精品DECLAREiint,pbigint,sbigintSELECTi=1,p=1,s=0WHILEi=nBEGINSETp=p*iSETs=s+pSETi=i+1ENDReturnSENDGoselectdbo.F_C(10)-調(diào)用8.

6、Createruler_szxaszcin(經(jīng)濟系,管理系,機電系,信息系)goexecsp_bindruler_szx,學(xué)生表.所在系9、Createtriggertr_up_kconkcForupdateAsDeclarekh_oldchar(3),kh_newchar(3)Selectkh_old=deleted.課程號,kh_new=inserted.Fromdeletedd,insertediWhered.課程名=i.課程名Updatexs_kcset課程號=kh_new課程號Where課程號=kh_old工程名稱修路A段鋪路B段精品三、現(xiàn)有關(guān)系數(shù)據(jù)庫如下:數(shù)據(jù)庫名:工程管理職工表(

7、職工編號char(6),姓名,性別,民族,工資,身份證號)工程表(工程號char(6),名稱)參加表(ID,職工編號,工程號,天數(shù))用SQL語言實現(xiàn)下列功能的sql語句代碼:1.創(chuàng)建數(shù)據(jù)庫,名為工程管理,其它參數(shù)可自己指定(5分)。2.創(chuàng)建上述三表的代碼(12分);要求使用以下約束:主鍵(職工表.職工編號,工程表.工程號)、外鍵(參加表.職工編號,參加表.工程號)、默認(民族:漢族)、非空(姓名)、唯一(身份證號)、檢查(性別、天數(shù)在0200之間),自動編號(ID)3插入、修改與刪除記錄操作(12分):(1)向工程表插入:工程號2)修改工程號為的工程名稱為:基座打樁3)刪除工程號為的工程信息4

8、.創(chuàng)建名為參加表視圖的視圖(姓名,工程名稱,天數(shù));(8分)創(chuàng)建名為某工程參加職工的內(nèi)嵌表值函數(shù),完成輸入一項工程號,返回表中含有參加該工程的職工的職工姓名、性別、工資、身份證號和天數(shù);(5分)調(diào)用函數(shù)檢索:所有參加這項工程的職工姓名;(3分)。創(chuàng)建名為職工參加天數(shù)的存儲過程:在參加表視圖中查找某給定姓名的職工參加所有工程的總天數(shù)。(5分)執(zhí)行存儲過程:計算職工“張明”的總天數(shù)。(3分)7創(chuàng)建一個名為GZ_RULE的規(guī)則,并將其綁定到職工表的工資列上,規(guī)定取值為1000元到3000元之間。(6分)8.創(chuàng)建一個名為del_tr的觸發(fā)器,如果某人參加工程的天數(shù)不為0,就不能刪除該職工的信息,即回滾

9、撤銷刪除。(6分)1.createdatabaseuse工程管理go工程管理-(5分)2.createtable職工表-(5分)(編號char(6)primarykey,姓名nchar(4)notnull,性別nchar(1)check(民族nchar(8)default性別in(男,漢族notnull,女),工資nchar(12),身份證號char(18)unique)精品createtable工程表-(2分)(工程號char(6)primarykey,工程名稱char(40)notnull)createtable參加表(IDIDENTITY(1,1),職工編號char(6)referenc

10、es工程號char(6)references天數(shù)intcheck(天數(shù))-職工表(職工編號工程表(工程號),between0and200)(4),分)3.insertinsertupdatedelete工程表工程表工程表工程表values(,修路values(,鋪路set名稱=基座打樁wherewhere工程號=A段)B段)工程號=4.createviewselect姓名,where職工表.參加表視圖as工程名稱,天數(shù)from職工表,參加表,工程表職工編號=參加表.職工編號AND職工表.編號=參加表.職工編號5.createfunction某工程參加職工(工程號varchar(6)return

11、stableasreturn(selectfromwhere姓名、性別、工資、身份證號,天數(shù)職工表.編號=參加表.職工編號AND工程號=工程號)goselect*from某工程參加職工()6.createprocedure職工參加天數(shù)職工名nchar(16)asbeginselectsum(天數(shù))from參加表視圖where姓名=職工名endgoexecute職工參加天數(shù)張明7.createrulegz_rule_asGZBETWEEN1000AND3000gosp_bindrulegz_rule,職工表.工資8.Createtriggerdel_tronFordelete職工表AsBegin

12、精品If(select天數(shù)from參加表where職工號in(select職工號fromdeleted)0Rollbackend四、1、計算1+2*3+4*5+6*7+96*97+98*99的和,并使用PRINT顯示計算結(jié)果。DECLAREIint,sumint,csumchar(10)SELECTI=_,sum=_WHILEI=_BEGINSELECTI=_SELECTsum=_ENDSELECTcsum=convert(char(10),sum)_1+2*3+4*5+6*7+96*97+98*99=+csum2、假定某單位有一工資數(shù)據(jù)表,表名為GZ,部分?jǐn)?shù)據(jù)如下:工號姓名基本工資津貼公積金養(yǎng)老保險失業(yè)保險醫(yī)療保險1001程鑫1,200.00100.0010.0030.0020.0020.001002李倩如1,100.00123.0012.0023.0023.0021.001103張大宏1,111.00121.0012.0021.0021.0012.001104趙楠欣1,212.00211.0013.0031.0031.0032.00對以上數(shù)據(jù)表要做如下處理:如果平均崗位津貼低于150元,則使用有人的崗位津貼加10元,如果最高崗位津貼超過300元,則退出WHILEUSETESTGODECLAREavgjtdecimal(4,1)WH

溫馨提示

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

評論

0/150

提交評論