《數(shù)據(jù)庫原理與系統(tǒng)》習題解答_第1頁
《數(shù)據(jù)庫原理與系統(tǒng)》習題解答_第2頁
《數(shù)據(jù)庫原理與系統(tǒng)》習題解答_第3頁
《數(shù)據(jù)庫原理與系統(tǒng)》習題解答_第4頁
《數(shù)據(jù)庫原理與系統(tǒng)》習題解答_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

《數(shù)據(jù)庫原理與系統(tǒng)》習題解答《數(shù)據(jù)庫原理與系統(tǒng)》習題解答習題一一、名詞解釋DB、DBMS、DBS、DBA、數(shù)據(jù)冗余、數(shù)據(jù)異常二、單項選擇題1.DBMS是A、數(shù)據(jù)庫B、數(shù)據(jù)庫系統(tǒng)C、數(shù)據(jù)庫應(yīng)用系統(tǒng)C、數(shù)據(jù)庫管理軟件2.DB、DBMS和DBS三者之間的關(guān)系是A、DB包括DBMS和DBSB、DBMS包括DBS和DBC、DBS包括DB和DBMSD、DBS與DB和DBMS無關(guān)3.關(guān)系數(shù)據(jù)模型的基本數(shù)據(jù)結(jié)構(gòu)是A、樹B、圖C、索引D、關(guān)系4.層次數(shù)據(jù)模型的基本數(shù)據(jù)結(jié)構(gòu)是A、樹B、圖C、索引D、關(guān)系5.層次模型實現(xiàn)數(shù)據(jù)之間聯(lián)系的方法?A、連接B、指針C、公共屬性D、關(guān)系6.常見的數(shù)據(jù)模型是A、層次模型、網(wǎng)狀模型、關(guān)系模型C、對象模型、外部模型、內(nèi)部模型B、概念模型、實體模型、關(guān)系模型D、邏輯模型、概念模型、關(guān)系模型7.提供數(shù)據(jù)庫定義、數(shù)據(jù)操縱數(shù)據(jù)控制和數(shù)據(jù)庫維護功能的軟件稱為A、OSB、DSC、DBMSD、DBS三、簡答題1.數(shù)據(jù)庫系統(tǒng)的組成部分2.DBA的主要職責3.文件系統(tǒng)的數(shù)據(jù)管理方法4.文件系統(tǒng)的主要缺陷5.數(shù)據(jù)庫系統(tǒng)的主要優(yōu)點6.什么是數(shù)據(jù)模型7.層次結(jié)構(gòu)的特點8.DBTG提出的關(guān)于數(shù)掂庫的3個重要規(guī)范9.關(guān)系數(shù)據(jù)模型的基本結(jié)構(gòu)10.關(guān)系數(shù)據(jù)模型實現(xiàn)數(shù)據(jù)聯(lián)系的方法

《數(shù)據(jù)庫原理與系統(tǒng)》習題解答習題二一、概念題1.解釋下列事業(yè)術(shù)語的合義:關(guān)系、元組、屬性、屬性域、超碼、候選碼、主碼、外碼。2.簡述關(guān)系的性質(zhì)。3.說明關(guān)系數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)之間聯(lián)系的方法。4.什么是實體完整性和參照完整性?5.什么是數(shù)據(jù)字典和系統(tǒng)目錄?6.什么是關(guān)系代數(shù)的選銹、投影、并、差、笛卡兒積、交和連接運算?7.什么是自然連接?8.什么是左外連接、右外連接和全外連接?9.外連接與自然連接的區(qū)別是什么?二、單項選擇題1.下面對關(guān)系性質(zhì)的描述中,錯誤的是A、表中的—行稱為一個元組C、表中的一列稱為一個屬性2.“元數(shù)據(jù)”是指B、行與列交叉點不允許有多個值D、表中任意兩行可能相同A、數(shù)據(jù)結(jié)構(gòu)的描述C、數(shù)據(jù)的來源B、數(shù)據(jù)項的描述D、系統(tǒng)自身的各種有用信息,包括數(shù)據(jù)結(jié)構(gòu)的描述B、空格C、空字符串D、不確定B、主碼不允許空值3.在數(shù)據(jù)庫系統(tǒng)中,空值是A、04.實體完整性是指關(guān)系中A、不允許有空行C、屬性值外碼取空值D、外碼允許取空值5.已知關(guān)系R與S如圖2.25所示:在關(guān)系S中,違反參照完整性約束的元組是A、(11,21)B、(22,NULL)C、(33,33)A、(44,11)6.已知關(guān)系R和S,R∩S等價于A、(R-S)-SC、(S-R)-RB、S-(S-R)D、S-(R-S)7.關(guān)系R和S各有10個元組,則關(guān)系R×S的元組個數(shù)為A、10B、20C、100D、不確定8.從關(guān)系中選擇指定的屬性組成新關(guān)系的關(guān)系運算是A、選取B、投影C、連接D、笛卡兒乘積《數(shù)據(jù)庫原理與系統(tǒng)》習題解答9.有關(guān)系:學生(學號,姓名,性別,專業(yè),宿舍編號,宿舍地址),主碼是A、宿合編號B、學號C、宿舍地址,姓名D、宿舍編號,學號10.有兩個關(guān)系:部門(編號,部門名稱,地址.電話)和職工(職工號,姓名,性別,職務(wù).編號)。職工關(guān)系的外碼是A、職工號D、編號,部門名稱11.若關(guān)系R1和R2的結(jié)構(gòu)相同,各有10個元組,則R1R2的元組個數(shù)為A、10B、小于等于10C、20D、小于等于20B、編號C、職工號,編號12.設(shè)關(guān)系R和S的屬性個數(shù)分別為2和3,則與關(guān)系代數(shù)表達式R||S等價的是12A、B、C、D、13.當關(guān)系R和S自然連接時,能夠把R和S中不滿足連接條件的元組保留在結(jié)果關(guān)系中的運算是A、左外連接B、右外連接C、全外連接D、等值連接14.設(shè)關(guān)系R(A,B)和S(B,C)中分別有10個和15個元組,屬性B是R的主碼.則R|×|S中元組數(shù)目的范圍是A、(0,15)B、(10,15)C、(10,25)D、(0,150)l5.設(shè)有關(guān)系R和S如圖2.26所示,則關(guān)系A(chǔ)、6B、7C、8D、9的元組數(shù)目是16.設(shè)有關(guān)系R和S,如圖2.27所示,R的主碼是編號,S的主碼是學號、外碼是編號。若有如下4個元組:ⅠI(S3李林,C),Ⅱ(S,江荷,C),Ⅲ(S4,白玉.C),Ⅳ(S,康嘉,NULL),能夠插入2l145關(guān)系3的元組是A、I,Ⅱ,ⅣB、I,ⅢC、I,ⅡD、I,Ⅳ《數(shù)據(jù)庫原理與系統(tǒng)》習題解答]7.已知關(guān)系R如圖2.28所示,可以作為R主碼的屬性組是A、XYZB、XYWC、XZWD、YZW]8.關(guān)系R和S分別有20、15個元組,則RS、R-S、R∩S的元組數(shù)不可能是A、29,13,6B、30,15,5C、35,20,0D、28,13,7R-S=R-(R∩S)]9.設(shè)關(guān)系R和S的屬性數(shù)目分別是a和b、則關(guān)系RS的屬性數(shù)目是A、a十bB、a—bC、a×bD、a/b三、解答題1.設(shè)有4個關(guān)系模式:供應(yīng)商關(guān)系:S(SNO,SNAME,CITY),屬性依次是供應(yīng)商號、供應(yīng)商名稱和所在城市零件關(guān)系:P(PNO,PNAME,COLOR),屬性依次是是產(chǎn)品號、品名和顏色工程關(guān)系:J(JNO,JNAME,CITY),屬性依次是是工程號、工程名和所在城市供應(yīng)關(guān)系:SPJ(SNO,PNO,JNO,QTY),屬性依次是供應(yīng)商號、產(chǎn)品號、工程號和數(shù)量試用關(guān)系代數(shù)完成下列操作:(])J1工程零件的所有供應(yīng)商號i(2)求供應(yīng)J1工程P1零件的供應(yīng)商號;(3)求供應(yīng)J1工程紅色零件的供應(yīng)商號;(4)求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號;(5)求S1供應(yīng)商供應(yīng)零件的所有工程號。2.設(shè)有3個關(guān)系模式:《數(shù)據(jù)庫原理與系統(tǒng)》習題解答學生(學號,姓名,性別,專業(yè))課程(課程號,課程名稱,學分)成績(學號,課程號,分數(shù))試用關(guān)系代數(shù)表達式完成下列操作:(1)所有學生成績獲得滿分(100分)的課程號、課程名稱;(2)檢索至少有一門課程的分數(shù)達到95分以上的學生信息,包括學號、姓名和專業(yè)(3)檢索沒有任何一門課程成績在80分以下的學生的信息,包括學號、姓名和專業(yè)(4)檢索”英語”專業(yè)學生所學課程的信息,包括學號、姓名、課程名稱和分數(shù);(5)檢索“數(shù)據(jù)庫原理“課程分數(shù)高于90分的所有學生的學號、姓名、專業(yè)和分數(shù);(6)檢索沒有不及格分數(shù)的學生的信息,包括學號、姓名和專業(yè);(7)檢索“國際貿(mào)易”專業(yè)選修“數(shù)據(jù)庫原理”課程的學號和姓名。答案:(1)所有學生成績獲得滿分(100分)的課程號、課程名稱;π課程號,課程名稱(σ分數(shù)=100(成績)|×|課程)(2)檢索至少有一門課程的分數(shù)達到95分以上的學生信息,包括學號、姓名和專業(yè)π學號,姓名,專業(yè)(σ分數(shù)>=95(成績)|×|學生)(3)檢索沒有任何一門課程成績在80分以下的學生的信息,包括學號、姓名和專業(yè)π學號,姓名,專業(yè)(學生)-π學號,姓名,專業(yè)(σ分數(shù)<80(成績)|×|學生)(4)檢索”英語”專業(yè)學生所學課程的信息,包括學號、姓名、課程名稱和分數(shù);π學號,姓名,課程名稱,分數(shù)(課程|×|成績|×|σ專業(yè)=‘英語’(學生))(5)檢索“數(shù)據(jù)庫原理“課程分數(shù)高于90分的所有學生的學號、姓名、專業(yè)和分數(shù);π學號,姓名,專業(yè),分數(shù)(σ課程名稱=‘數(shù)據(jù)庫原理’(課程)|×|σ分數(shù)>90(成績)|×|學生)(6)檢索沒有不及格分數(shù)的學生的信息,包括學號、姓名和專業(yè);π學號,姓名,專業(yè)(學生)-π學號,姓名,專業(yè)(σ分數(shù)<60(成績)|×|學生)(7)檢索“國際貿(mào)易”專業(yè)選修“數(shù)據(jù)庫原理”課程的學號和姓名。(三表連接,投影)π學號,姓名,專業(yè)(σ課程名稱=‘數(shù)據(jù)庫原理’(課程)|×|成績|×|σ專業(yè)=‘國際貿(mào)易’(學生))3、設(shè)有3個關(guān)系模式:員工(職工姓名,街道,城市)工作(職工姓名,公司名稱,工資)公司(公司名稱,城市)用關(guān)系代數(shù)表達式來表達下列問題:(1)列出泰斗公司所有員工的姓名;(2)列出泰斗公司所有員工的姓名和居住的城市;(3)列出泰斗公司所有年收入在10萬元以上的員工姓名、居住的街道和城市(4)列出所有居住地與工作的公司在同一城市的員工姓名;(5)列出不在泰斗公司的所有員工的姓名答案:(1)列出泰斗公司所有員工的姓名;π職工姓名(σ公司名稱=‘泰斗公司’(工作))(2)列出泰斗公司所有員工的姓名和居住的城市;π職工姓名,城市(σ公司名稱=‘泰斗公司’(員工|×|工作)(3)列出泰斗公司所有年收入在10萬元以上的員工姓名、居住的街道和城市

《數(shù)據(jù)庫原理與系統(tǒng)》習題解答π職工姓名,街道,城市(σ公司名稱=‘泰斗公司’AND工資>100000(員工|×|工作)(4)列出所有居住地與工作的公司在同一城市的員工姓名;π職工姓名(σ員工.城市=公司.城市(員工|×|工作|×|公司)(5)列出不在泰斗公司的所有員工的姓名π職工姓名(員工)-π職工姓名(σ公司名稱=‘泰斗公司’(員工|×|工作|))習題三一、單項選擇題1.SQL語言是A、高級語言2.在SQL語言查詢語句中,SELECT子句實現(xiàn)關(guān)系代數(shù)的C、連接運算D、交運算3.在SQL語言查詢語句中,WHERE子句實現(xiàn)關(guān)系代數(shù)的A、投影運算B、選擇運算C、連接運算D、交運算4.為在查詢結(jié)果中去掉重復(fù)元組.應(yīng)該使用保留字A、UNIQUEB、UNIONC、COUNT5.當關(guān)系R和S做自然連接時,能夠保留R中不滿足連接條件元組的操作是A、左外連接B、右外連接C、內(nèi)部連接D、全外連接6.SQL語言中,更新表結(jié)構(gòu)的的命令是B、宿主語言C、匯編語言D、非過程化語言A、投影運算B、選擇運算D、DISTINCTA、UPDATETABLEC、ALTERTABLEB、MODIFYTABLED、CHANGETABLE7.下列聚合函數(shù)中不忽略空值(NULL)的是A、SUM(列名)B、MAX(列名)C、AVG(列名)D、COUNT(*)8.SQL語言中,下列涉及空值操作的短語,不正確的是(VFP全部正確,SQLSERVER中C錯)A、AGEISNULLB、AGEISNOTNULLC、AGE=NULLD、NOT(AGEISNULL)9.SQL語言中,刪除一個表的命令是A、CLEARTABLEC、DROPTABLEC、DELETETABLED、REMOVETABLE10.設(shè)有一個關(guān)系:DEPT(DNO,DNANE).如果要找出倒數(shù)第三個字母為W.并且至少包含4個字母的DNAME,則查詢條件子句應(yīng)寫成WHEREDNANCLIKE//有疑問A.’__W_%’,B.’_W_%’,C.’__W_’D.’_%W__’SELECT*FROMSTUDENTWHERESNAMELIKE'__林_%'11已知班級和學生關(guān)系如圖3.11所示。執(zhí)行下列語句,在學生關(guān)系中插入新的數(shù)據(jù):IINSERTINTO學生VALUES(101,”李玲”,”女”,”C01”)ⅡINSERTINTO(shè)學生VALUES(103,”田京”,”男”,”C03”)ⅢINSERTINTO(shè)學生VALUES(106,”康雨”,”男”,NULL)ⅣINSERTINTO學生VALUES(105,”何光”,”男”,”C02”)《數(shù)據(jù)庫原理與系統(tǒng)》習題解答能正確執(zhí)行的語句是A、I,ⅡB、Ⅲ,ⅣC、I,Ⅱ,ⅢD、I,Ⅱ,Ⅲ,Ⅳ二、解答題1.沒有3個關(guān)系模式:業(yè)務(wù)員(業(yè)務(wù)員編號,業(yè)務(wù)員姓名,性別,年齡,月薪)訂單(訂單號,日期,客戶編號,業(yè)務(wù)員編號,金額)客戶(客戶編號,客戶姓名,地址,類別)用SQL語句解答下列(1)-(12)題。(1)顯示所有50歲以上女業(yè)務(wù)員的姓名和年齡;(2)檢索年齡最大的業(yè)務(wù)員姓名和年齡;(3)顯示所有業(yè)務(wù)員的姓名和月薪.要求按照月薪降序排列;(4)檢索月薪在2000元到3000元之間的業(yè)務(wù)員姓名。用BETWEEN關(guān)鍵詞;(5)統(tǒng)計每個客戶簽定訂單的數(shù)目和總金額;(6)檢索所有經(jīng)辦客戶王明訂單的業(yè)務(wù)員姓名(分別用連接和子查詢實現(xiàn))(7)統(tǒng)計每個業(yè)務(wù)員簽定500元以上訂單的數(shù)目;(8)檢索簽定2個以上訂單的業(yè)務(wù)員姓名;(9)將所有業(yè)務(wù)員的月薪增加10%;(10)將業(yè)務(wù)員關(guān)悅的月薪改為3500元;(11)檢索超過平均月薪的業(yè)務(wù)員姓名和年齡;(12)將簽定訂單總金額超過2萬元的月薪增加5%。答案:(1)顯示所有50歲以上女業(yè)務(wù)員的姓名和年齡;SELECT業(yè)務(wù)員姓名,年齡FROM業(yè)務(wù)員WHERE年齡>50AND性別=‘女’(2)檢索年齡最大的業(yè)務(wù)員姓名和年齡;SELECT業(yè)務(wù)員姓名,年齡FROM業(yè)務(wù)員WHERE年齡=(SELECTMAX(年齡)FROM業(yè)務(wù)員)(3)顯示所有業(yè)務(wù)員的姓名和月薪.要求按照月薪降序排列;SELECT業(yè)務(wù)員姓名,月薪FROM業(yè)務(wù)員ORDERBY月薪DESC(4)檢索月薪在2000元到3000元之間的業(yè)務(wù)員姓名。用BETWEEN關(guān)鍵詞;SELECT業(yè)務(wù)員姓名FROM業(yè)務(wù)員WHERE月薪BETWEEN2000AND3000(5)統(tǒng)計每個客戶簽定訂單的數(shù)目和總金額;SELECT客戶編號,COUNT(*)訂單數(shù)目,SUM(金額)總金額FROM訂單GROUPBY客戶編號(6)檢索所有經(jīng)辦客戶王明訂單的業(yè)務(wù)員姓名(分別用連接和子查詢實現(xiàn))SELECT業(yè)務(wù)員.業(yè)務(wù)員姓名FROM業(yè)務(wù)員,訂單,客戶WHERE業(yè)務(wù)員.業(yè)務(wù)員編號=訂單.業(yè)務(wù)員編號AND訂單.客戶編號=客戶.客戶編號AND客戶.客戶姓名=‘王明’《數(shù)據(jù)庫原理與系統(tǒng)》習題解答SELECT業(yè)務(wù)員.業(yè)務(wù)員姓名FROM業(yè)務(wù)員innerjoin訂單innerjoin客戶on業(yè)務(wù)員.業(yè)務(wù)員編號=訂單.業(yè)務(wù)員編號on訂單.客戶編號=客戶.客戶編號where客戶.客戶姓名=‘王明’SELECT業(yè)務(wù)員姓名FROM業(yè)務(wù)員WHERE業(yè)務(wù)員.業(yè)務(wù)員編號IN(SELECT業(yè)務(wù)員編號FROM訂單WHERE客戶編號IN(SELECT客戶編號FROM客戶WHERE客戶姓名=‘王明’))(7)統(tǒng)計每個業(yè)務(wù)員簽定500元以上訂單的數(shù)目;SELECT業(yè)務(wù)員編號,COUNT(*)訂單數(shù)目FROM訂單where金額>500GROUPBY業(yè)務(wù)員編號(8)檢索簽定2個以上訂單的業(yè)務(wù)員姓名;SELECT業(yè)務(wù)員姓名FROM業(yè)務(wù)員WHERE業(yè)務(wù)員編號IN(SELECT業(yè)務(wù)員編號FROM訂單GROUPBY業(yè)務(wù)員編號HAVINGCOUNT(*)>2)(9)將所有業(yè)務(wù)員的月薪增加10%;UPDATE業(yè)務(wù)員SET月薪=月薪*1.1(10)將業(yè)務(wù)員關(guān)悅的月薪改為3500元;UPDATE業(yè)務(wù)員SET月薪=3500WHERE業(yè)務(wù)員姓名=‘關(guān)悅’(11)檢索超過平均月薪的業(yè)務(wù)員姓名和年齡;SELECT業(yè)務(wù)員姓名,年齡FROM業(yè)務(wù)員WHERE月薪>(SELECTAVG(月薪)FROM業(yè)務(wù)員)(12)將簽定訂單總金額超過2萬元的月薪增加5%。UPDATE業(yè)務(wù)員SET月薪=月薪*1.05WHERE業(yè)務(wù)員編號IN(SELECT業(yè)務(wù)員編號FROM業(yè)務(wù)員GROUPBY業(yè)務(wù)員編號HAVINGSUM(金額)>20000)2.設(shè)有3個關(guān)系模式:學生(學號,姓名,性別,專業(yè),籍貫)課程(課程號,課程名,學時,性質(zhì))成績(學號,課程號,分數(shù))回答下列(1)-(10)題。(1)檢索所有女同學的姓名。試寫出實現(xiàn)該查詢的關(guān)系代數(shù)表達式;(2)檢索選修“數(shù)據(jù)庫”課程的學生姓名。要求寫出關(guān)系代數(shù)表達式和實現(xiàn)這個查詢的SQL語句;(3)檢索課程號等于“C101”,且分數(shù)90分以上(含90分)學生的姓名。要求寫出關(guān)系代數(shù)表達式和實現(xiàn)這個查詢的SQL語句;(4)寫出SQL語句,檢索學習“Cl01”課程中分數(shù)最高的學生姓名;(5)寫出SQL語句,檢索所有未選修“Cl01”課程的學生姓名;(6)寫出SQL語句,在成績表中增加“學分”列,并根據(jù)學分=學時/18的算法,填上每門課程的學分;(7)寫出SQL語句,實現(xiàn)關(guān)系代數(shù)表達式:成績-分數(shù)>=60(成績);(8)寫出SQL語句,檢索選修5門以上課程的學生姓名;(9)創(chuàng)建一個查詢成績的視圖VSK,其屬性有姓名、課程名和分數(shù);(10)檢索學生選課情況,顯示姓名、課程名和分數(shù),其中包括沒有選課的學生。答案:(1)檢索所有女同學的姓名。試寫出實現(xiàn)該查詢的關(guān)系代數(shù)表達式;π姓名(σ性別=‘女’(學生))《數(shù)據(jù)庫原理與系統(tǒng)》習題解答(2)檢索選修“數(shù)據(jù)庫”課程的學生姓名。要求寫出關(guān)系代數(shù)表達式和實現(xiàn)這個查詢的SQL語句;π姓名(σ課程名=‘數(shù)據(jù)庫’(課程|×|成績)|×|學生)SELECT姓名FROM課程,成績,學生WHERE課程.課程名=‘數(shù)據(jù)庫’AND課程.課程號=成績.課程號AND成績.學號=學生.學號(3)檢索課程號等于“C101”,且分數(shù)90分以上(含90分)學生的姓名。要求寫出關(guān)系代數(shù)表達式和實現(xiàn)這個查詢的SQL語句;π姓名(σ課程號=‘C101’分數(shù)>=90(成績)|×|學生)SELECT姓名FROM成績,學生WHERE成績.課程號=‘C101’AND成績.分數(shù)>=90AND成績.學號=學生.學號(4)寫出SQL語句,檢索學習“Cl01”課程中分數(shù)最高的學生姓名;SELECT姓名FROM學生WHERE學號IN(SELECT學號FROM成績WHERE課程號=‘C101’AND分數(shù)=(SELECTMAX(分數(shù))FROM成績WHERE課程號=‘C101’))(5)寫出SQL語句,檢索所有未選修“Cl01”課程的學生姓名;SELECT姓名FROM學生WHERE學號NOTIN(SELECT學號FROM成績WHERE課程號=‘C101’)SELECT姓名FROM學生WHERE學號IN(SELECT學號FROM成績WHERENOT課程號=‘C101’)(6)寫出SQL語句,在成績表中增加“學分”列,并根據(jù)學分=學時/18的算法,填上每門課程的學分;ALTERTABLE成績ADD學分INTEGERUPDATE成績SET學分=課程.學時/18FROM成績INNERJOIN課程ON成績.課程號=課程.課程號(7)寫出SQL語句,實現(xiàn)關(guān)系代數(shù)表達式:成績-分數(shù)>=60(成績);SELECT*FROM成績WHERENOT分數(shù)<60SELECT*FROM成績MINUSSELECT*FROM成績WHERE分數(shù)>=60(8)寫出SQL語句,檢索選修5門以上課程的學生姓名;SELECT姓名FROM學生WHERE學號IN(SELECT學號FROM成績GOUPBY學號HAVINGCOUNT(*)>5)(9)創(chuàng)建一個查詢成績的視圖VSK,其屬性有姓名、課程名和分數(shù);CREATEVIEWVSKASSELECT學生.姓名,課程.課程名,成績.分數(shù)FROM課程,成績,學生WHERE課程.課程號=成績.課程號AND成績.學號=學生.學號(10)檢索學生選課情況,顯示姓名、課程名和分數(shù),其中包括沒有選課的學生。SELECT學生.姓名,課程.課程名,成績.分數(shù)FROM學生leftouterjoin成績innerjoin課程on成績.學號=學生.學號ON課程.課程號=成績.課程號(錯誤的寫法)SELECT學生.姓名,課程.課程名,成績.分數(shù)FROM學生leftouterjoin成績on成績.學號=學生.學號innerjoin課程ON課程.課程號=成績.課程號er、outer可省略innSELECTstudent.sname,course.cname,sc.gradeFROMstudentleftouterjoinsconsc.sno=student.snoinnerjoincourseONcourse.cno=o《數(shù)據(jù)庫原理與系統(tǒng)》習題解答習題四一、名詞解釋實體、實體集、屬性、屬性域、主碼、單值屬性、多值屬性、派生屬性、基數(shù)二、單項選擇題1.數(shù)據(jù)庫設(shè)計中,概念模型A、依賴于計算機的硬件C、獨立于DBMSB、依賴于DBMSD、獨立于計算機的硬件和DBMS2.將E-R模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型屬于數(shù)據(jù)庫的A、概念設(shè)計B、物理設(shè)計C、邏輯設(shè)計D、運行設(shè)計3.設(shè)在某個公司環(huán)境中,一個部門有多名職工,一名職工只能屬于一個部門,則部門與職工之間的聯(lián)系是A、—對一D、不確定4.概念結(jié)構(gòu)設(shè)計的主要目標是真實地反映A、企業(yè)對信息的需求B、DBA的管理信息需求B、一對多C、多對多C、數(shù)據(jù)庫系統(tǒng)的維護需求D、應(yīng)用程序員的編程需求5.數(shù)據(jù)庫設(shè)計人員和用戶之間溝通信息的橋梁是A、程序流程圖B、實體-聯(lián)系圖C、模塊結(jié)構(gòu)圖D、數(shù)據(jù)結(jié)構(gòu)圖6.在E-R模型轉(zhuǎn)換成關(guān)系模型的過程中,下列不正確的做法是A、每個聯(lián)系均轉(zhuǎn)換成一個關(guān)系B、每個實體集均轉(zhuǎn)換成一個關(guān)系D、M:N聯(lián)系轉(zhuǎn)換成—個關(guān)系C、1:N聯(lián)系不必轉(zhuǎn)換成關(guān)系7.假設(shè)任一個E-R模型中,存在10個不同的實體集和12個不同的二元聯(lián)系(二元聯(lián)系是指兩個實體集之目的聯(lián)系),其中3個1:1聯(lián)系、4個1:N聯(lián)系、5個M:N聯(lián)系,則這個E-R模型轉(zhuǎn)換成關(guān)系的數(shù)目可能是A、14B、15C、19D、228.當同一個實體集內(nèi)部實體之間存在著一個M:N的關(guān)系時,根據(jù)E-R模型轉(zhuǎn)換成關(guān)系模型的規(guī)則,轉(zhuǎn)換成關(guān)系的數(shù)目為A、1B、2C、3D、4三、簡答題1.簡述數(shù)據(jù)庫設(shè)計的基本步驟。2.概念設(shè)計的主要內(nèi)容有哪些?3.使用派生屬性有什么好處?4.確定基數(shù)的依據(jù)是什么?基數(shù)的用途是什么?5.舉例說明一元、二元、三元和N元聯(lián)系。6.舉例說明實體之間的聯(lián)系方式?7.簡述E-R模型轉(zhuǎn)換為關(guān)系模型的規(guī)則。四、設(shè)計題1.假設(shè)圖書館業(yè)務(wù)規(guī)則:(1)讀者需要憑借書證借閱圖書,借書證有借書證號、姓名、年齡、單位等屬性;(2)每一本圖書有書號、書名、作者、出版社等屬性;(3)每一本借出的圖書有借書證號、書號、借出日期、應(yīng)還日期。試:

《數(shù)據(jù)庫原理與系統(tǒng)》習題解答①根據(jù)上述業(yè)務(wù)規(guī)則設(shè)計E-R模型,要求E-R圖中注明屬性和聯(lián)系的類型。②將E-R模型轉(zhuǎn)換成關(guān)系模型。③用SQL語句創(chuàng)建表、定義完整性規(guī)則。答案:②三個關(guān)系模式:借書證(借書證號,姓名,年齡,單位),主碼為{借書證號};圖書(書號,書名,作者,出版社),主碼為{書號};借閱(借書證號,書號,借出日期,應(yīng)還日期),主碼為{借書證號,書號},{借書證號}為外碼,{書號}為外碼。①借出日期應(yīng)還日期nm借書證圖書借閱借書證號出版社姓名單位年齡書號書名作者③略2.假設(shè)城市交通管理業(yè)務(wù)規(guī)則:(1)每個駕車者必須有駕駛執(zhí)照,駕照有編號、姓名、性別、年齡、身份證號、工作單位、發(fā)證日期等屬性(2)每個機動車要有一個牌照,牌照有車號、型號、制造商、生產(chǎn)日期、所有者等屬性;(3)如果司機違反交通規(guī)則,將受到懲罰,懲罰記錄有日期、車號、駕照編號、違章情節(jié)記載、處罰方式等屬性。試:①根據(jù)上述業(yè)務(wù)規(guī)則設(shè)計E-R模型,要求E-R圖中注明屬性和聯(lián)系的類型。②將E-R模型轉(zhuǎn)換成關(guān)系模型。③用SQL語句創(chuàng)建表、定義完整性規(guī)則。答案:①違章情節(jié)記載處罰方式日期mn駕照牌照懲罰編號年齡…制造商生產(chǎn)日姓名性別車號型號《數(shù)據(jù)庫原理與系統(tǒng)》習題解答②三個關(guān)系模式:③略3.假設(shè)某集團公司生產(chǎn)多種產(chǎn)品,公司在全國沒有多個代理兩,由代理商經(jīng)銷本公司的所有產(chǎn)品。每個代理商可以經(jīng)銷公司的多種產(chǎn)品,且在每一個代理商處都能夠買到公司的任何一種產(chǎn)品。代理商有編號、代理商名稱和地址等屬性;產(chǎn)品有產(chǎn)品號、品名、規(guī)格、單價等屬性。代理商與產(chǎn)品之間存在供貨聯(lián)系,每次供貨將記錄供貸日期、產(chǎn)品號、數(shù)量、單價和經(jīng)辦人。試:①根據(jù)上述業(yè)務(wù)規(guī)則設(shè)計E-R模型,要求E-R圖中注明屬性和聯(lián)系的類型。②將E-R模型轉(zhuǎn)換成關(guān)系模型。③用SQL語句創(chuàng)建表、定義完整性規(guī)則。答案:略習題五一、單項選擇題1.如果關(guān)系模式R屬于1NF,且每個非主屬性都完全函數(shù)依賴于R的主碼,則R屬于A、2NFB、3NFC、BCNFD、4NF2.有關(guān)系R(P,Q,M,N),F是R上成立的函數(shù)依賴集,F(xiàn)={(P→Q,Q→M)|,則R的候選碼是A、PB、QC、PQD、PN3.有學生關(guān)系R(學號,姓名,系名稱,系地址),每一名學生屬于一個系,每一個系有一個地址,則R屬于A、1NFB、2NFC、3NFD、4NF4.下列陳述中.錯誤的是A、2NF必然屬于1NFC、3NF必然屬于BCNFB、3NF必然屬于2NFD、BCNF必然屬于3NF5.已知關(guān)系R(A,B,C,D),F是R上成立的函數(shù)依賴集,F(xiàn)={(A,B→C,D),B→D},則R應(yīng)分解成A、R1(A,B)和R2(C,D)C、R1(A,C)和R2(B,D)B、R1(A,B,C)和R2(B,D)D、R1(A,B,D)和R2(B,C)6.在訂單管理中,客戶—次購物(一張訂單)可以訂購多種商品。設(shè)有訂單關(guān)系R(訂單號,日期,客戶名稱,商品編碼,數(shù)量),則R的主碼是A、訂單號B、訂單號,客戶名稱7.第6題中的關(guān)系R最高屬于C、商品編碼D、訂單號,商品編碼

《數(shù)據(jù)庫原理與系統(tǒng)》習題解答A、1NFB、2NFC、3NFD、4NF({商品編碼,數(shù)量,日期}多值依賴于{訂單號},但是{訂單號}不是候選碼)8.設(shè)有關(guān)系模式R(A,B,C,D).F是R上的函數(shù)依賴集,F={D→A,D→B},R的候選碼是A、ADB、BCC、BDD、CD9.設(shè)有關(guān)系模式R(A,B,C,D,M,N),R上的函數(shù)依賴集F={M→D,C→B,B→A,(C,M)→N},則R最高達到//推出{C,M}為候選碼,推出(C,M)→D,推出M→D為部分函數(shù)依賴A、1NFB、2NFC、3NFD、4NF二、綜合設(shè)計題解題步驟:1)分析問題中包含的基本概念(即實體)2)假設(shè)一個實體對應(yīng)一個關(guān)系模式,確定每個關(guān)系模式的主碼3)由上述基本關(guān)系模式的主碼合并成一個超碼4)剔除超碼中的部分屬性,得到給定關(guān)系模式的候選碼5)由每個關(guān)系模式的主碼、給定關(guān)系模式的候選碼識別出屬性間的基本函數(shù)依賴關(guān)系6)識別出部分依賴關(guān)系、傳遞依賴關(guān)系1.假設(shè)某商業(yè)集團數(shù)據(jù)庫中有一個關(guān)系模式:R(商店編號,商品編號,數(shù)量,部門編號,負責人)如果規(guī)定:(1)每個商店的每種商品只在一個部門銷售;(2)每個商店的每個部門只有一個負責人;(3)每個商店的每種商品只有一個庫存數(shù)量。試回答下列問題:①根據(jù)上述規(guī)定寫出R的基本函數(shù)依賴;②找出R的候選碼;③試問R最高達到第幾范式?為什么?④如果R不屬于3NF,請將分解成3NF模式集。答案:R中包含三個基本概念:商店,商品,部門①R的基本函數(shù)依賴包括:{商店編號,商品編號→數(shù)量},{商店編號,商品編號→部門編號},{商店編號,商品編號→負責人}//傳遞依賴,{部門編號→負責人}②R的候選碼為{商店編號,商品編號}③R最高達到2范式。因為非主屬性都完全函數(shù)依賴于候選碼,但存在傳遞函數(shù)依賴{商店編號,商品編號→負責人}④可將R分解為兩個關(guān)系模式:商店商品(商店編號,商品編號,數(shù)量,部門編號)部門(部門編號,負責人)2.假設(shè)當前使用一個手工操作的學生文檔,其文檔的格式如圖5.13所示假設(shè)規(guī)定:(1)一名學生可以選修多門課程,且一門課程有多人選修;(2)一門課程僅有一個教師講授,—名教師可以講多門課程;(3)學生學習一門課程有一個分數(shù);(4)每一名教師有一個辦公室,一個辦公室有多么教師;

《數(shù)據(jù)庫原理與系統(tǒng)》習題解答如果依據(jù)上述文檔和規(guī)定,設(shè)計一個關(guān)系模式R:R(學號,學生姓名,課程號,課程名,分數(shù),教師姓名,教師辦公室)試:①找出R的候選碼;②寫出關(guān)系R的基本函數(shù)依賴集,并畫出函數(shù)依賴圖;③判斷R最高達到第幾范式,說明理由;④如果有必要,將R分解成3NF模式集。答案:R中包含三個基本概念:學生,課程,教師(學號,學生姓名,課程號,課程名,分數(shù),教師姓名,教師辦公室①R的候選碼為{學號,課程號}②R的基本函數(shù)依賴包括:{學號,課程號→學生姓名},//部分函數(shù)依賴{學號,課程號→課程名},//部分函數(shù)依賴{學號,課程號→分數(shù)},{學號,課程號→教師姓名},//部分函數(shù)依賴{學號,課程號→教師辦公室},//傳遞依賴{學號→學生姓名},{課程號→課程名},{教師姓名→教師辦公室},{課程號→教師姓名},{課程號→教師辦公室}③R最高達到1范式。因為存在非主屬性部分函數(shù)依賴于主碼,如學號→學生姓名④可將R分解為五個關(guān)系模式:學生(學號,學生姓名)課程(課程號,課程名)教師(教師姓名,教師辦公室)成績(學號,課程號,分數(shù))教師課程(教師姓名,課程號)函數(shù)依賴圖略3.假設(shè)公司的訂單業(yè)務(wù)規(guī)定:(1)訂單號是惟一的,每一張訂單對應(yīng)一個訂單號;(2)一張訂單可以訂購多種產(chǎn)品,每一種產(chǎn)品可以在多個訂單中出現(xiàn);(3)一張訂單有一個客戶,且一個客戶可以有多張訂單;(4)每一個產(chǎn)品編號對應(yīng)一種產(chǎn)品的品名和單價;(5)每一個客戶有一個確定的名稱和電話號碼。根據(jù)上述規(guī)定設(shè)計一個關(guān)系模式:《數(shù)據(jù)庫原理與系統(tǒng)》習題解答R(訂單號,日期,客戶名稱,電話號碼,產(chǎn)品編碼,品名,價格,數(shù)量)試:①找出R的候選碼;②寫出關(guān)系R的基本函數(shù)依賴集,并畫出函數(shù)依賴圖;③判斷R最高達到第幾范式,說明理由;④給出一個可能的3NF模式集。答案:①{訂單號,客戶名稱,產(chǎn)品編碼}為一個超碼,由于“一張訂單有一個客戶”,所以{訂單號,產(chǎn)品編碼}為一個候選碼②關(guān)系R的基本函數(shù)依賴集為{(訂單號→日期),(客戶名稱→電話號碼),(產(chǎn)品編碼→品名),(產(chǎn)品編碼→價格),(訂單號,產(chǎn)品編碼→數(shù)量),(訂單號→客戶名稱),(訂單號→電話號碼)//傳遞依賴,(訂單號,產(chǎn)品編碼→日期)//部分依賴,(訂單號,產(chǎn)品編碼→客戶名稱),(訂單號,產(chǎn)品編碼→電話號碼),(訂單號,產(chǎn)品編碼→品名),(訂單號,產(chǎn)品編碼→價格),(訂單號,產(chǎn)品編碼→數(shù)量)}函數(shù)依賴圖略③R最高達到第幾范式1NF,因為非主屬性日期部分函數(shù)依賴于主碼{訂單號,產(chǎn)品編碼}④一個可能的3NF模式集為:訂單(訂單號,客戶名稱,產(chǎn)品編碼,日期,數(shù)量),主碼為{訂單號,產(chǎn)品編碼}客戶(客戶名稱,電話號碼),主碼為{客戶名稱}產(chǎn)品(產(chǎn)品編碼,品名,價格),主碼為{產(chǎn)品編碼}習題六一、簡答題1.什么是局部變量和全局變量?2.局部變量與全局變量的主要區(qū)別是什么?3.在SQL程序設(shè)計中,游標的用途是什么?4.簡述SQL程序設(shè)計中游標的使用方法。5.什么是存儲過程?其優(yōu)點是什么?6.什么是數(shù)據(jù)庫觸發(fā)器?其作用是什么?7.INSERTED和DELETED表的用途是什么?8.簡述INSERT觸發(fā)器的工作原理。9.簡述DELETE觸發(fā)器的工作原理。10.簡述UPDATE觸發(fā)器的工作原理。11.簡述INSTEADOF觸發(fā)器的工作原理。12.簡述嵌入式SQL的預(yù)處理過程。二、SQL程序設(shè)計1.編寫一個SQL程序,完成將新生信息插入到學生檔案表,并將其中一部分信息再插入借書證表、學生貸款、學生醫(yī)療表,要求插入之后顯示插入的數(shù)據(jù)。2.在學生檔案表上創(chuàng)建一個觸發(fā)器,實現(xiàn)下列任務(wù):當新生信息插入到學生檔案表中時,將

《數(shù)據(jù)庫原理與系統(tǒng)》習題解答其中一部分信息再插入借書證表、學生貸款、學生醫(yī)療表,要求插入之后顯示插入的數(shù)據(jù)。CREATETRIGGERTRIGGER_學生檔案表_INSERTON學生檔案表FORINSERTASBEGINinsertinto借書證表(學號)select學號frominsertedinsertinto學生貸款(學號)select學號frominsertedinsertinto學生醫(yī)療表(學號)select學號frominsertedselect*frominsertedENDGO3.在某出版社數(shù)據(jù)厙中,有圖書關(guān)系R(書號,書名,類別,定價)。如果教材類圖書的平均定價大于30,則顯示“平均價格超過30元”,反之顯示“平均價格不超過30元”,并列出所有教材類的書名。編寫一個SQL程序完成這個任務(wù)。USE出版社GOIF(SELECTAVG(定價)FROMRWHERE類別=’教材’)>30PRINT‘平均價格超過30元’ELSEBEGINPRINT‘平均價格不超過30元’SELECT書名FROMRWHERE類別=’教材’ENDGO4.在某出版社數(shù)據(jù)厙中,有圖書關(guān)系R(書號,書名,類別,定價)。如果教材類圖書的平均定價大于30,則執(zhí)行循環(huán),將高于平均值的教材類圖書的定價下調(diào)1%,直至所有教材類圖書的平均定價小于或等于30元為止。編寫一個SQL程序完成這個任務(wù)。USE出版社GODECLARE@PJDJFloat(yī)WHILE(select@PJDJ=AVG(定價)FROMRWHERE類別=’教材’)>30?UPDATERSET定價=定價*0.99WHERE類別=’教材’AND定價>@PJDJGO5.假設(shè)有銀行賬戶關(guān)系R(賬號,客戶姓名,余額)。轉(zhuǎn)賬業(yè)務(wù)規(guī)定,當一個賬戶余額大于等于轉(zhuǎn)賬金額時,則執(zhí)行轉(zhuǎn)賬業(yè)務(wù),并通知客戶轉(zhuǎn)賬的金額和賬面余額;否則不執(zhí)行轉(zhuǎn)賬操作。通知客戶不執(zhí)行轉(zhuǎn)賬的理由。試編寫轉(zhuǎn)賬業(yè)務(wù)的存儲過程,該存儲過程有轉(zhuǎn)出賬號、轉(zhuǎn)入賬號和轉(zhuǎn)賬金額3個參數(shù),要求保證事務(wù)的原子性。6.有學生和成績關(guān)系如下:S(學號,姓名,性別,專業(yè))R(學號,課程號,課程名稱,分數(shù))試編寫一個查詢成績的存儲過程,存儲過程帶有學號和課程號2個參數(shù)。

《數(shù)據(jù)庫原理與系統(tǒng)》習題解答CREATEPROCEDUEPRO_GRADE@XHCHAR(10),@KCHCHAR(8)ASSELECTS.學號S.姓名,R.課程號,R.課程名稱,R.分數(shù)FROMS,RWHERES.學號=R.學號ANDS.學號=@XHANDR.課程號=@KCHGO7.有產(chǎn)品關(guān)系R(產(chǎn)品號,品名,厙存量),在R上創(chuàng)建一個觸發(fā)器。實現(xiàn)當修改厙存量時,測試修改后的值,若低于100,則發(fā)出采購該產(chǎn)品的通知,若高于1000,則發(fā)出"積壓"的消息。同時要求設(shè)計一個SQL程序,驗證觸發(fā)器的作用。8.有系和學生2個關(guān)系:系(系名稱,系主任,電話號碼,地址)學生(學號,姓名,性別,專業(yè),系名稱)設(shè)計一個存儲過程,根據(jù)學號(參數(shù)),查詢學生和所在系的信息。9.假設(shè)有職工工資表:R(職工號,姓名,基本工資,附加工資,房租,水電,應(yīng)發(fā)工資,稅款,實發(fā)工資)繳納個人所得稅的規(guī)定如下:●個人收入>5000,稅率20%;●個人收入>2000且<=5000,稅率10%;●個人收入>800且<=2000,稅率5%;●個人收入<=800,免稅。工資的計算方法(1)應(yīng)發(fā)工資=基本工資+附加工資。(2)采取分段計算稅款的算法,超過5000元部分收20%;2000-5000之間部分收10%;800-2000之間部分收5%;800下免稅。具體算法如圖6.13所示。(3)實發(fā)工資=應(yīng)發(fā)工資-稅款。試編寫一個簡單的SQL腳本程序,創(chuàng)建工資表并完成計算實發(fā)工資的任務(wù)。CREATETABLER(職工號CHAR(6),姓名CHAR(8),基本工資FLOAT,附加工資FLOAT,房租FLOAT,水電FLOAT,應(yīng)發(fā)工資FLOAT,稅款FLOAT,實發(fā)工資FLOAT)GOUPDATERSET應(yīng)發(fā)工資=基本工資+附加工資UPDATERSET稅款=(CASEWHEN應(yīng)發(fā)工資>5000THEN(應(yīng)發(fā)工資-5000)*0.2+(5000-2000)*0.1+(2000-800)*0.05?WHEN應(yīng)發(fā)工資<=5000AND應(yīng)發(fā)工資>2000THEN(應(yīng)發(fā)工資-2000)*0.1+(2000-800)*0.05?WHEN應(yīng)發(fā)工資<=2000AND應(yīng)發(fā)工資>800THEN(應(yīng)發(fā)工資-800)*0.05WHEN應(yīng)發(fā)工資<=800THEN0END)UPDATERSET實發(fā)工資=應(yīng)發(fā)工資-稅款GO

《數(shù)據(jù)庫原理與系統(tǒng)》習題解答習題七一、名詞解釋事務(wù)、封鎖、X封鎖、活鎖、死鎖、可串行化調(diào)度、不可串行化調(diào)度、兩段封鎖協(xié)議。二、單項選擇題1.事務(wù)“要么不做,要么全做”的性質(zhì)稱為事務(wù)的A、持久性2.SQL的COMMIT和ROLLBACK語句的主要用途是實現(xiàn)事務(wù)的A、原子性C、一致性D、持久性3.“授權(quán)機制”用于數(shù)據(jù)庫系統(tǒng)的A、完整性控制B、安全性控制C、一致性控制4.“視圖”可用于數(shù)據(jù)庫系統(tǒng)的B、隔離性C、一致性D、原子性B、隔離性D、并發(fā)控制《數(shù)據(jù)庫原理與系統(tǒng)》習題解答A完整性控制B、安全性控制C、一致性控制D、并發(fā)控制5.事務(wù)“使數(shù)據(jù)庫從一個一致狀態(tài)轉(zhuǎn)變到另一個一致狀態(tài)”的性質(zhì)稱為事務(wù)的A、原子性C、一致性D、持久性6.在數(shù)據(jù)庫系統(tǒng)中,利用封鎖機制實現(xiàn)B、安全性控制C、一致性控制7.數(shù)據(jù)庫系統(tǒng)的恢復(fù)子系統(tǒng)實現(xiàn)事務(wù)的A、原于性B、隔離性C、一致性D、持久性8.數(shù)據(jù)庫系統(tǒng)的并發(fā)控制保證了事務(wù)的A、原子性C、一致性D、持久性9.在加鎖協(xié)議中規(guī)定“先申請先服務(wù)”的原則,可以避免數(shù)據(jù)庫系統(tǒng)出現(xiàn)A、活鎖B、死鎖C、讀-寫沖突D、寫-寫沖突10.如果事務(wù)T獲得數(shù)據(jù)項Q上S鎖,則T對QB、隔離性A、完整性控制D、并發(fā)控制B、隔離性A、不能讀不能寫B、只能讀不能寫C、不能讀只能寫D、既可讀又可寫11.如果事務(wù)T獲得數(shù)據(jù)項Q上X鎖,則T對QA、不能讀不能寫B(tài)、只能讀不能寫C、不能讀只能寫D、既可讀又可寫12.事務(wù)的隔離性由DBMS的A、安全性子系統(tǒng)實現(xiàn)B、完整性子系統(tǒng)實現(xiàn)C、并發(fā)控制子系統(tǒng)實現(xiàn)D、恢復(fù)子系統(tǒng)實現(xiàn)13.事務(wù)的持久性由DBMS的A、安全性子系統(tǒng)實現(xiàn)B、完整性子系統(tǒng)實現(xiàn)C、并發(fā)控制子系統(tǒng)實現(xiàn)D、恢復(fù)子系統(tǒng)實現(xiàn)14.在數(shù)據(jù)庫系統(tǒng)中,“臟數(shù)據(jù)”是指一個事務(wù)讀了另一個事務(wù)A、未更新的數(shù)據(jù)D、末刷新的數(shù)據(jù)B、更新之后末提交但是后來撤銷的數(shù)據(jù)C、末提交的數(shù)據(jù)15.數(shù)據(jù)庫系統(tǒng)安排多個事務(wù)并發(fā)執(zhí)行的過程稱為A、步驟B、進程C、調(diào)度D、優(yōu)先級16.封鎖可以避免數(shù)據(jù)的不一致性,但可能會引起系統(tǒng)A、崩潰B、死鎖C、故障D、數(shù)據(jù)丟失17.SQL的GRANT和REVOKE語句用于數(shù)據(jù)庫的A、安全性控制B、一致性控制C、完整性控制D、并發(fā)控制18.事務(wù)日志用于數(shù)據(jù)庫的A、安全B、恢復(fù)C、審計D、跟蹤三、填空題1.DBMS并發(fā)控制的任務(wù)是保證事務(wù)的執(zhí)行是可串行的。2.事務(wù)的隔離性是由DBMS的并發(fā)控制實現(xiàn)的。3.完全恢復(fù)模型是以后援副本和事務(wù)日志副本為基礎(chǔ)的恢復(fù)方法。4.在數(shù)據(jù)庫系統(tǒng)中,角色管理機制可以簡化為多個具有相同權(quán)限的用戶授權(quán)和回收權(quán)限(授權(quán))的工作量5.只轉(zhuǎn)儲上次備份后變化數(shù)據(jù)的方法稱為增量備份。6.兩段封鎖協(xié)議規(guī)定事務(wù)在鎖增長階段階段可以獲得鎖。7.數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性、有效性和相容性。8.SQL中,域檢查子句是CHECK。9.在數(shù)據(jù)庫系統(tǒng)中,域完整性約束是對屬性值有效性的約束10.允許用戶把獲得的權(quán)限再轉(zhuǎn)授給他人的SQL短語是WITHGRANTOPTION

《數(shù)據(jù)庫原理與系統(tǒng)》習題解答五、設(shè)計題1.設(shè)教學數(shù)據(jù)庫的模式如下:S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)試用多種方式定義下列完整性約束:(1)在關(guān)系S中插入學生年齡值應(yīng)在16~25歲之間(2)在關(guān)系SC中插入元組時,其S#值和C#值必須分別在S和C中出現(xiàn)。(3)在關(guān)系SC中修改GRADE值時,必須仍在0~100之間。(4)在刪除關(guān)系C中一個元組時,首先要把關(guān)系SC中具有同樣C#的元組全部刪去。(5)在關(guān)系S中把某個S#值修改為新值時,必須同時把關(guān)系SC中那些同樣的S#值也修改為新值。解:(1)CREATETABLES(S#CHAR(4),SNAMECHAR(10)NOTNULL,AGESMALLINT,PRIMARYKEY(S#),CHECK(AGE>=16ANDAGE<=25))(2)采用外鍵子句約束CREATETABLESC(S#CHAR(4),C#CHAR(4),GRADESMALLINT,F(xiàn)OREIGNKEY(S#)REFERENCES(S#),FOREIGNKEY(C#)REFERENCEC(C#))(3)采用元組檢查CREATETABLESC(S#CHAR(4),C#CHAR(4),GRADESMALLINT,FOREIGNKEY(S#)REFERENCES(S#),FOREIGNKEY(C#)REFERENCEC(C#),CHECK(GRADE>=0andAGE<=100))(4)采用外鍵約束CREATETABLESC(S#CHAR(4),C#CHAR(4),GRADESMALLINT,FOREIGNKEY(S#)REFERENCES(S#),

《數(shù)據(jù)庫原理與系統(tǒng)》習題解答FOREIGNKEY(C#)REFERENCEC(C#)ONDELETECASCADE)(5)采用外鍵約束CREATETABLESC(S#CHAR(4),C#CHAR(4),GRADESMALLINT,FOREIGNKEY(S#)REFERENCES(S#)ONUPDATECASCADE,F(xiàn)OREIGNKEY(C#)REFERENCEC(C#))2.在教學數(shù)據(jù)庫的關(guān)系S、SC、C中,試用SQL2的斷言機制定義下列兩個完整性約束:(1)學生必須在選修Maths課后,才能選修其他課程。(2)每個男學生最多選修20門課程。解:(1)CREATEASSERTIONASS1C

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論