數(shù)據(jù)庫原理與應(yīng)用 習(xí)題及答案 第三章_第1頁
數(shù)據(jù)庫原理與應(yīng)用 習(xí)題及答案 第三章_第2頁
數(shù)據(jù)庫原理與應(yīng)用 習(xí)題及答案 第三章_第3頁
數(shù)據(jù)庫原理與應(yīng)用 習(xí)題及答案 第三章_第4頁
數(shù)據(jù)庫原理與應(yīng)用 習(xí)題及答案 第三章_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第三章課后習(xí)題答案3.1試述SQL語言的特點(diǎn)。答:1.綜合統(tǒng)一2.高度非過程化3.面向集合的操作方式4.以同一種語法結(jié)構(gòu)提供兩種使用方式3.2解釋下列術(shù)語:SQL模式:SQL語言所支持的關(guān)系數(shù)據(jù)庫的體系結(jié)構(gòu),包括視圖、基本表、存儲文件三個(gè)層次?;颈恚汉喎Q基表。是數(shù)據(jù)庫中實(shí)際存在的表,在SQL中一個(gè)關(guān)系對應(yīng)于一個(gè)表。視圖:SQL用視圖概念支持非標(biāo)準(zhǔn)的外模式概念。視圖是從一個(gè)或幾個(gè)基表導(dǎo)出的表,雖然它也是關(guān)系形式,但它本身不實(shí)際存儲在數(shù)據(jù)庫中,只存放對視圖的定義信息(沒有對應(yīng)的數(shù)據(jù))。因此,視圖是一個(gè)虛表(VirtualTable)或虛關(guān)系,而基表是一種實(shí)關(guān)系(PracticalRelation)。單表查詢:只涉及到一個(gè)關(guān)系的查詢。連接查詢:同時(shí)涉及兩個(gè)以上的表的查詢。嵌套查詢:將一個(gè)查詢塊嵌套在另一個(gè)查詢塊的WHERE子句或HAVING條件中的查詢。3.3試述SQL語言的特點(diǎn)。1.綜合統(tǒng)一2.高度非過程化3.面向集合的操作方式4.以同一種語法結(jié)構(gòu)提供兩種使用方式3.4試述SQL體系結(jié)構(gòu)和關(guān)系數(shù)據(jù)庫模式之間的關(guān)系。SQL語言支持關(guān)系數(shù)據(jù)庫體系結(jié)構(gòu),即外模式、模式和內(nèi)模式,利用SQL語言可以實(shí)現(xiàn)對三級模式的定義、修改和數(shù)據(jù)的操縱功能,在此基礎(chǔ)上形成了SQL體系結(jié)構(gòu);在SQL體系結(jié)構(gòu)中的視圖對應(yīng)了關(guān)系數(shù)據(jù)模式的外模式,基本表對應(yīng)了關(guān)系數(shù)據(jù)模式的模式,存儲文件對應(yīng)了關(guān)系數(shù)據(jù)模式的內(nèi)模式。3.5SQL是如何實(shí)現(xiàn)實(shí)體完整性、參照完整性和用戶定義完整性的?實(shí)體完整性要求表的主碼的完整性??梢酝ㄟ^建立唯一索引、PRIMARYKEY約束、UNIQUE約束,以及列的IDENTITY屬性來實(shí)施實(shí)體完整性。參照完整性維持被參照表和參照表之間的數(shù)據(jù)一致性,通過主鍵(PRIMARYKEY)約束和外鍵(FOREIGNKEY)約束來實(shí)現(xiàn)。用戶定義完整性可以定義特定業(yè)務(wù)規(guī)則。UNIQUE、NOTNULL約束,CHECK謂詞都可以用于實(shí)現(xiàn)用戶定義完整性。3.6討論當(dāng)對一個(gè)視圖進(jìn)行更新的時(shí)候可能會出現(xiàn)什么樣的問題?若視圖的屬性來自屬性表達(dá)式或常數(shù),則不允許對視圖執(zhí)行INSERT和UPDATE操作,但允許執(zhí)行DELETE操作。若視圖的屬性來自庫函數(shù),則不允許對此視圖更新。若視圖定義中有GROUPBY子句,則不允許對此視圖更新。若視圖定義中有DISTINCT任選項(xiàng),則不允許對此視圖更新。若視圖定義中有嵌套查詢,并且嵌套查詢的FROM子句涉及導(dǎo)出該視圖的基本表,則不允許對此視圖更新。若視圖由兩個(gè)以上的基本表導(dǎo)出,則不允許對此視圖更新。如果在一個(gè)不允許更新的視圖上再定義一個(gè)視圖,這種二次視圖是不允許更新的。3.7設(shè)有兩個(gè)基本表R(A,B,C)和S(A,B,C)試用SQL查詢語句表達(dá)下列關(guān)系代數(shù)表達(dá)式:⑴R∩S:(select*fromR)INTERSECT(select*fromS)⑵R-S:(select*fromR)EXCEPT(select*fromS)⑶R∪S:(select*fromR)UNION(select*fromS)⑷R×S:select*fromR,S3.8對于教學(xué)數(shù)據(jù)庫的三個(gè)基本表:S(學(xué)號,姓名,年齡,性別)SC(學(xué)號,課程號,成績)C(課程號,課程名,任課教師姓名)試用SQL語句表達(dá)下列查詢:⑴查詢姓劉的老師所授課程的課程號和課程名。SELECT課程號,課程名FROMCWHERE任課教師姓名=’劉%’;⑵查詢年齡大于23歲的男同學(xué)的學(xué)號和姓名。SELECT學(xué)號,姓名FROMSWHERE性別=’男’AND年齡>23;⑶查詢學(xué)號為S3的學(xué)生所學(xué)課程的課程號、課程名和任課教師姓名。SELECT課程號,課程名,任課教師姓名FROMCWHERE課程號IN(SELECT課程號FROMSCWHERE學(xué)號=’S3’);⑷查詢“張小飛”沒有選修的課程號和課程名。SELECT*FROMCWHERENOTEXISTS (SELECT學(xué)習(xí).課程號 FROMSC,SWHERESC.課程號=C.課程號ANDS.學(xué)號=SC.學(xué)號ANDS.姓名='張小飛');⑸查詢至少選修了3門課程的學(xué)生的學(xué)號和姓名。SELECT學(xué)號,姓名FROMSWHERE學(xué)號IN (SELECT學(xué)號FROMSCGROUPBY學(xué)號HAVINGCOUNT(課程號)>=3);⑹查詢?nèi)繉W(xué)生都選修了的課程編號和課程名稱。SELECT課程號,課程名FROMCWHERENOTEXISTS(SELECT*FROMSWHERENOTEXISTS(SELECT*FROMSCWHERESC.課程號=C.課程號ANDS.學(xué)號=SC.學(xué)號));⑺在SC中刪除尚無成績的選課元組。DELETEFROMSCWHERE成績ISNULL;⑻把“高等數(shù)學(xué)”課的所有不及格成績都改為60。UPDATESCSET成績=60WHERE成績<60AND課程號IN(SELECT課程號FROMCWHERE課程名='高等數(shù)學(xué)');⑼把低于總評均成績的女同學(xué)的成績提高5%。UPDATESCSET成績=成績*1.05WHERE學(xué)號IN (SELECT學(xué)號FROMSWHERE性別=’女’)AND成績<(SELECTAVG(成績)FROMSC);⑽向C中插入元組(‘C8’,‘VC++’,‘王昆’)INSERTINTOCVALUES(’C8’,’VC++’,’王昆’);3.9設(shè)有下列四個(gè)關(guān)系模式:PRODUCT(MAKER,MODEL,TYPE)PC(MODEL,SPEED,RAM,HD,CD,PRICE)LAPTOP(MODEL,SPEED,RAM,SCREEN,PRICE)PRINTER(MODEL,COLOR,TYPE,PRICE)注:PRODUCT表中TYPE屬性列的取值為pc或laptop或printer;PRINTER表中color屬性列的取值為ture或false,代表彩色或單色。試用SQL語句表達(dá)下列查詢:⑴找出價(jià)格高于1萬5千元,并且運(yùn)行速度低于同價(jià)位PC的平均運(yùn)行速度的LAPTOP。SELECT*FROMLAPTOPWHEREPRICE>15000ANDSPEED<(SELECTAVG(SPEED) FROMPCWHEREPC.PRICE=LAPTOP.PRICE);⑵找出生產(chǎn)價(jià)格最低的彩色打印機(jī)的廠家。SELECTMAKERFROMPRODUCTWHEREMODELIN(SELECTMODELFROMPRINTERWHERECOLOR=trueANDPRICE<=(SELECTMIN(PRICE)FROMPRINTER));⑶計(jì)算由廠家“HP”生產(chǎn)的PC機(jī)和LAPTOP機(jī)的平均價(jià)格。(SELECTTYPE,AVG(PRICE) FROMPC,PRODUCTWHEREPC.MODEL=PRODUCT.MODELAND PRODUCT.MAKER=’HP’ GROUPBYTYPE)UNION(SELECTTYPE,AVG(PRICE) FROMLAPTOP,PRODUCTWHEREAPTOP.MODEL=PRODUCT.MODELANDPRODUCT.MAKER=’HP’GROUPBYTYPE;)⑷計(jì)算各廠商所生產(chǎn)的LAPTOP機(jī)的顯示器的平均尺寸。SELECTMAKER,AVG(SCREEN)FROMLAPTOP,PRODUCTWHERELAPTOP.MODEL=PRODUCT.MODELGROUPBYMAKER;⑸找出每一個(gè)生產(chǎn)廠商的PC機(jī)的最高價(jià)格。SELECTMAKER,MAX(PRICE)FROMPC,PRODUCT WHEREPC.MODEL=PRODUCT.MODELGROUPBYMAKER;⑹計(jì)算生產(chǎn)打印機(jī)的各個(gè)廠商所生產(chǎn)的PC機(jī)的硬盤的平均容量。SELECTMAKER,AVG(HD)FROMPC,PRODUCTWHEREPC.MODEL=PRODUCT.MODELANDMAKERIN(SELECTMAKERFROMPRODUCTWHERETYPE=’printer’)GROUPBYMAKER;3.10試設(shè)計(jì)如圖3-2中顯示的數(shù)據(jù)庫模式Library,用來記錄書籍、借書人和書籍借出的情況,參照完整性在圖中用有向弧來表示。請用SQL語言建立圖中的關(guān)系模式,并完成下列操作:CREATETABLEPUBLISHER( NAMECHAR(20)PRIMARYKEY, ADDRESSCHAR(30), PHONECHAR(12));CREATETABLEBOOK( BOOKIDCHAR(4)PRIMARYKEY, TITLECHAR(20), PUBLISHERNAMECHAR(20)REFERENCESPUBLISHER(NAME));CREATETABLEAUTHOR( BOOKIDCHAR(4)REFERENCESBOOK(BOOKID), AUTHORCHAR(8), PRIMARYKEY(BOOKID));CREATETABLEBORROWER( CARDIDCHAR(4)PRIMARYKEY, NAMECHAR(8), ADDRESSCHAR(30), PHONECHAR(12));CREATETABLEBORROW( BOOKIDCHAR(4)REFERENCESBOOK(BOOKID), CARDIDCHAR(4)REFERENCESBORROWER(CARDID), DATEOUTDATETIME, DUEOUTDATETIME, IS_RETURNBOOL, PRIMARYKEY(BOOKID,CARDID);)⑴查詢“高等教育出版社”出版的所有圖書名稱和編號。SELECTBOOKID,TITLEFROMBOOKWHEREPUBLISHERNAME=’高等教育出版社’;⑵查詢所有作者是“郭雨辰”的圖書的編號和名稱。SELECTBOOKID,TITLEFROMBOOKWHEREBOOKIDIN(SELECTBOOKIDFROMAUTHORWHEREAUTHOR=’郭雨辰’);⑶查詢“王麗”借過的所有圖書的名稱。SELECTTITLEFROMBOOKWHEREBOOKIDIN (SELECTBOOKID FROMBORROW WHERECARDIDIN (SELECTCARDID FROMBORROWER WHERENAME=’王麗’);⑷查詢“李明”在2018年上半年期間借過的圖書名稱。SELECTTITLEFROMBOOKWHEREBOOKIDIN (SELECTBOOKID FROMBORROW WHEREDATEOUTBETWEEN‘2018/1/1’AND‘2018/6/30’ANDCARDIDIN (SELECTCARDID FROMBORROWER WHERENAME=’李明’);⑸建立視圖,顯示2017年期間沒有被人借過的圖書編號和名稱。CREATEVIEWUNPOPULARBOOKASSELECTBOOKID,TITLEFROMBOOKWHEREBOOKIDNOTIN (SELECTBOOKID FROMBORROW WHEREDATEOUTBETWEEN‘2017/1/1’AND‘2017/12/31’);⑹建立超期未歸還書籍的視圖,顯示圖書編號和名稱,以及借書人姓名和電話。CREATEVIEWDELAYASSELECTBOOKID,TITLE,NAME,PHONEFROMBOOK,BORROW,BORROWERWHEREBOOK.BOOKID=BORROW.BOOKIDANDBORROW.CARDID=BORROWER.CARDIDANDIS_RETURN=false;⑺建立熱門書籍的視圖,顯示2017年期間借出次數(shù)最多的10本圖書名稱。CREATEVIEWPOPULARBOOKASSELECTTOP10TITLEFROMBOOK,BORROWWHEREBOOK.BOOKID=BOR

溫馨提示

  • 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

提交評論