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

下載本文檔

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

文檔簡介

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

2、系主鍵:書號外鍵:出版社名借書人關(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é)號,課程號,成績)專業(yè)資料整理WOR格式精品用SQL語言編寫實(shí)現(xiàn)下列功能的代碼:1、 建立一個學(xué)生表,要求設(shè)置學(xué)號屬性為主鍵,規(guī)定年齡大16。于2、查詢年齡在20至23歲之間的

3、學(xué)生的姓名、系別、和年齡。3、查詢各系的人數(shù)及平均年齡。4、計(jì)算“數(shù)據(jù)庫原理”課程的學(xué)生平均成績。5、將計(jì)算機(jī)科學(xué)系全體學(xué)生的成績置零。+3! +?管理系','機(jī)電6、 創(chuàng)建一個“經(jīng)濟(jì)系”全體學(xué)生的視圖 V_JJX。S=1! +2 !7、 創(chuàng)建一個自定義函數(shù),可以求解任意數(shù)n的階乘累加和,即計(jì) 算算'經(jīng)濟(jì)系'+n!,并用n=10調(diào)用該函數(shù)。8建一個規(guī)則,并將其綁定到學(xué)生表的所在系列上,規(guī)定取值為(系','信息系)之一。9、創(chuàng)建一個觸發(fā)器,要求當(dāng)更新課程表的課程號時(shí),能更新成績表中相應(yīng)的課 程號。答案:1、建立一個學(xué)生表。CREATETABLE 學(xué)

4、生表(學(xué)號 CHAR(5)PRIMARYKEY,姓名 CHAR(20),性別 CHAR(2),年齡 INTCHECK( 年齡 >16),所在系CHAR(15)2、查詢年齡在20至23歲之間的學(xué)生的姓名、系別、和年齡SELECT姓名,所在系,年齡FROM學(xué)生表WHER年齡 BETWEEN20AND233、查詢各系的人數(shù)及平均年齡。SELECT 所在系,COUNT(*),AVG( 年齡)FROM學(xué)生表GROUPB所 在系4、計(jì)算數(shù)據(jù)庫應(yīng)用課程的學(xué)生平均成績SELECTAVG(成績)FROM成績表WHER課程號in(SELECT 課程號FROM®程表WHERE課程名='數(shù)據(jù)庫

5、應(yīng)用')5、將計(jì)算機(jī)科學(xué)系全體學(xué)生的成績置零UPDATE成 績表SET成績=0WHER學(xué)號 in(SELECT 學(xué)號FROM學(xué)生表WHERE所在系='計(jì)算機(jī)科學(xué) ')系6、createviewV_JJXasselect*from 學(xué)生表WHER所在系=經(jīng)濟(jì)系'I7、CREATEFUNCTION F_C(nlNT)RETURNSBIGINTAS專業(yè)資料整理WOR格式BEGIN專業(yè)資料整理WOR格式精品DECLAREiint,pbigint,sbigintSELECTi=1,p=1,s=OWHILEi<=nBEGINSETp=p*iSETs=s+pSETi=i

6、+1ENDReturnSENDGoselect dbo.F_C(10)-調(diào)用8.Creat rulr_szas zcin(經(jīng)濟(jì)系V管理'機(jī)電eex5系系5I信息系')go execsp_bindruler_s,zx表學(xué)生.所在系9、Createtriggertr_up_kconkcForupdateAsDeclarekh_oldchar(3),kh_newchar(3)課程號Selectkh_old=deleted.課程號,kh_new=inserted.Fromdeletedd,insertediWhered. 課程名=i.課程名Updatexs_kcset課程號=kh_ne

7、wWhere 課程號=kh_old專業(yè)資料整理WOR格式精品三、現(xiàn)有關(guān)系數(shù)據(jù)庫如下: 數(shù)據(jù)庫名:工程管理 職工表(職工編號char,姓名,性別,民族,工資,身份證號 )工程表(工程號char(6),名稱)參加表(ID,職工編號,工程號,天數(shù))用SQL語言實(shí)現(xiàn)下列功能的 sql語句代碼:1.創(chuàng)建數(shù)據(jù)庫,名為工程管理,其它參數(shù)可自己指定(5分)創(chuàng)建上述三表的代2碼(12 分);要求使用以下約束:主鍵 (職工表.職工編號,工程表.工程號)、外鍵(參加表.職工編號, 參加表.工程號)、默認(rèn)(民族:漢族)、非空(姓名)、唯一(身份證號)、檢查(性別、天數(shù)在 0200之間),自動編號(ID)3.插入、修改

8、與刪除記錄操作(12分):(1)向工程表插入:100001100003工程名稱修路A段鋪路B段(2)修改工程號為(3)刪除工程號為100003的工程名稱為:基座打樁100003的工程信息4.創(chuàng)建名為參加表視圖的視圖(姓名,工程名稱,天數(shù));(8分)5.創(chuàng)建名為某工程參加職工的內(nèi)嵌表值函數(shù),完成輸入一項(xiàng)工程號,返回表中含有參加該工程的職工的職工姓名、性別、工資、身份證號和天(5數(shù);分)調(diào)用函數(shù)檢索:所有參加'100001'這項(xiàng)工程的職工姓名;(3分)。6. 創(chuàng)建名為職工參加天數(shù)的存儲過程:在參加表視圖中查找某給定姓名的職工參加所有工程的總天數(shù)。(5分)執(zhí)行存儲過程:計(jì)算職工“張明

9、”的總天數(shù)。(3分)7. 創(chuàng)建一個名為GZ_RULE的規(guī)則,并將其綁定到職工表的工資列上,規(guī)定取值為1000元到3000元之間。(6分)8. 創(chuàng)建一個名為del_tr的觸發(fā)器,如果某人參加工程的天數(shù)不為0,就不能刪除該職工的信息,即回滾撤銷刪除。(6分)1.createdatabase use工程管理go2.createtable職工表工程管 理(5 分)(5 分)(編號char(6)primarykey,姓名nchar(4)notnull, 性女'),別nchar(1)check(民性別in('男族nchar(8)default':'漢族'notnul

10、l,工資nchar(12),身份證號char(18)unique專業(yè)資料整理WOR格式專業(yè)資料整理WOR格式精品createtable工程表( 工程號char(6)primarykey, 工程名稱char(40)notnull )(2 分)createtable參加表-)(4 分)(IDIDENTITY(1,1),職工編職工表(職工編號號char(6)references工程表(工程號),工程號cha佝referencesbetween0and200)天數(shù)intcheck(天數(shù))3.inser工程t表工inser程表t工程updat表工e程表deletvalues('100001

11、9;,'修路values('100003','鋪路set 名稱='基座打樁'wherewhere 工程號='100003'A段')B段')工程號='100003'e4.createview參加表視圖asselect 姓名,工程名稱,天數(shù)from 職工表,參加表,工程表where職工表.職工編號=參加表職工編號AND職工表.編號二參加表.職工編號5.createfunction returnstableas某工程參加職(工程 varchar(6)工號return(sele姓名、性別、工資、身份證號,天

12、數(shù)ct職工表.編號二參加表.職工編號AND工程號二砂程號fromwheregoselect*from某工程參加職('100001')工6.createprocedure職工參加天數(shù) 工名 nchar(16)asbeginselectsum(天數(shù))fromwhere 姓名=職工名參加表視圖7.endgo execute職工參加天數(shù)'張明'createrulegz_rule_asGZBETWEEN1000AND3000gsp_bindrule o 工表gz_rule專業(yè)資料整理WOR格式工資I職工表8.Createtriggerdel_tronFordeleteAs

13、Begin專業(yè)資料整理WOR格式精品If(select天數(shù)from職工號參加表wherefromdeleted)<>0職工號inRollback(selec tend的和,并使四、1、計(jì)算1+2*3+4*5+6*7?+96*97+98*99用PRINT顯示計(jì)算結(jié)果DECLARElint,sumint, csumchar(1O)SELECTI= , sum=WHILEI<=BEGINSELECTI=SELECTsum=ENDSELECTcsum=convert(char(10),sum)?+96*97+98*99='+csum'1+2*3+4*5+6*7姓公積工

14、號名基本工資津貼金養(yǎng)老保險(xiǎn)失業(yè)保險(xiǎn)醫(yī)療保險(xiǎn)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元,則使用WHILE有人的崗位津貼加10元,如果最高崗位津貼超過300 元,則退出 WHILE循環(huán)。2、假定某單位有一工資數(shù)據(jù)表,表名為GZ部分?jǐn)?shù)據(jù)如下:USE TEST循環(huán)將所GODECLAREavgjtdecimal(4,1)WHILE<150BEGINUPDATE GZSETIF>300BEGINPRINT'最高崗位津貼超過300元' -中途退出WHILE循環(huán)ENDENDSEL

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論