![《數(shù)據(jù)庫原理及應(yīng)用(MySQL)》課后答案 曾鳳生 鄭燕娥_第1頁](http://file4.renrendoc.com/view/3ec8e5cfd78240895fd568a79a5aa257/3ec8e5cfd78240895fd568a79a5aa2571.gif)
![《數(shù)據(jù)庫原理及應(yīng)用(MySQL)》課后答案 曾鳳生 鄭燕娥_第2頁](http://file4.renrendoc.com/view/3ec8e5cfd78240895fd568a79a5aa257/3ec8e5cfd78240895fd568a79a5aa2572.gif)
![《數(shù)據(jù)庫原理及應(yīng)用(MySQL)》課后答案 曾鳳生 鄭燕娥_第3頁](http://file4.renrendoc.com/view/3ec8e5cfd78240895fd568a79a5aa257/3ec8e5cfd78240895fd568a79a5aa2573.gif)
![《數(shù)據(jù)庫原理及應(yīng)用(MySQL)》課后答案 曾鳳生 鄭燕娥_第4頁](http://file4.renrendoc.com/view/3ec8e5cfd78240895fd568a79a5aa257/3ec8e5cfd78240895fd568a79a5aa2574.gif)
![《數(shù)據(jù)庫原理及應(yīng)用(MySQL)》課后答案 曾鳳生 鄭燕娥_第5頁](http://file4.renrendoc.com/view/3ec8e5cfd78240895fd568a79a5aa257/3ec8e5cfd78240895fd568a79a5aa2575.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《數(shù)據(jù)庫原理及應(yīng)用(MySQL)》課后答案作者:曾鳳生鄭燕娥第1章名詞解釋:信息、數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)模型。【答】信息是數(shù)據(jù)加工處理后得到的結(jié)果;數(shù)據(jù)是描述事物的符號記錄。描述事物的符號可以是數(shù)字,也可以是文字、圖形、圖像、聲音、語言等。數(shù)據(jù)庫是存放數(shù)據(jù)的倉庫,數(shù)據(jù)庫是長期存儲在計算機中的有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,DBMS)是一個專門用于實現(xiàn)對數(shù)據(jù)進行管理和維護的系統(tǒng)軟件,它位于用戶應(yīng)用程序與操作系統(tǒng)軟件之間。數(shù)據(jù)模型是把現(xiàn)實世界中的具體事物轉(zhuǎn)換成計算機能夠處理的對象。在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。簡述由現(xiàn)實世界到機器世界建模的過程?!敬稹渴紫葘F(xiàn)實世界抽象為信息世界,然后再將信息世界轉(zhuǎn)換為機器世界。即,首先把現(xiàn)實世界中的客觀對象抽象為某一種描述信息的模型,這種模型并不依賴于具體的計算機系統(tǒng),而且也不與具體的DBMS有關(guān),而是概念意義上的模型,也就是我們所說的概念層數(shù)據(jù)模型;然后再把概念層數(shù)據(jù)模型轉(zhuǎn)換為具體的DBMS支持的數(shù)據(jù)模型,也就是組織層數(shù)據(jù)模型。數(shù)據(jù)模型分為哪兩個層次?【答】一類是概念模型,按照用戶的觀點對數(shù)據(jù)和信息進行建模;一類是邏輯模型(簡稱數(shù)據(jù)模型),按照計算機系統(tǒng)的觀點對數(shù)據(jù)進行建模。簡述常用的概念層數(shù)據(jù)模型?!敬稹?/p>
概念模型是現(xiàn)實世界到機器世界的一個中間層次。它是對信息世界的建模,是對現(xiàn)實世界到信息世界的第一次抽象,是數(shù)據(jù)庫設(shè)計人員進行數(shù)據(jù)庫設(shè)計的有力工具,也是數(shù)據(jù)庫設(shè)計人員和用戶之間進行交流的語言。什么是組織層數(shù)據(jù)庫模型,有哪些常用的組織層數(shù)據(jù)庫模型?【答】組織層數(shù)據(jù)模型是從數(shù)據(jù)的組織形式的角度來描述信息,目前,在數(shù)據(jù)庫技術(shù)的發(fā)展過程中用到的組織層數(shù)據(jù)模型主要有層次模型(HierarchicalModel)、網(wǎng)狀模型(NetworkModel)、關(guān)系模型(RelationalModel)、面向?qū)ο竽P停∣bjectOrientedModel)和對象關(guān)系模型(ObjectRelationalModel)。組織層數(shù)據(jù)模型是按組織數(shù)據(jù)的邏輯結(jié)構(gòu)來命名的,如層次模型采用樹形結(jié)構(gòu)。簡述數(shù)據(jù)庫的三級模式體系結(jié)構(gòu)。并說明這種結(jié)構(gòu)的優(yōu)點是什么?【答】數(shù)據(jù)庫的三級模式結(jié)構(gòu)是指數(shù)據(jù)庫的外模式、模式和內(nèi)模式數(shù)據(jù)庫的三級模式是對數(shù)據(jù)的三個抽象級別,它把數(shù)據(jù)的具體組織留給DBMS,使用戶能邏輯、抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機中的具體表示方式與存儲方式。數(shù)據(jù)庫管理系統(tǒng)在三個模式之間提供了兩級映像:外模式/模式映像;模式/內(nèi)模式映像。優(yōu)點:兩級映像功能保證了數(shù)據(jù)庫中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性,使數(shù)據(jù)庫應(yīng)用程序不隨數(shù)據(jù)庫數(shù)據(jù)的邏輯或存儲結(jié)構(gòu)的變動而變動。什么叫數(shù)據(jù)與程序的物理獨立性?什么叫數(shù)據(jù)與程序的邏輯獨立性?為什么數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)與程序的獨立性?【答】數(shù)據(jù)與程序的邏輯獨立性:當(dāng)模式改變時(例如增加新的關(guān)系、新的屬性、改變屬性的數(shù)據(jù)類型等),由數(shù)據(jù)庫管理員對各個外模式/模式的映像做相應(yīng)改變,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。數(shù)據(jù)與程序的物理獨立性:當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了,由數(shù)據(jù)庫管理員對模式/內(nèi)模式映像做相應(yīng)改變,可以使模式保持不變,從而應(yīng)用程序也不必改變,保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。數(shù)據(jù)庫管理系統(tǒng)在三級模式之間提供的兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。試述數(shù)據(jù)庫系統(tǒng)的組成。【答】數(shù)據(jù)庫系統(tǒng)一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。9.定義并解釋以下術(shù)語:模式,外模式,內(nèi)模式【答】內(nèi)模式:是最接近物理存儲的,也就是數(shù)據(jù)的物理存儲方式,包括數(shù)據(jù)存儲位置、數(shù)據(jù)存儲方式等。外模式:是最接近用戶的,也就是用戶所看到的數(shù)據(jù)視圖。模式:是介于內(nèi)模式和外模式之間的中間層,是數(shù)據(jù)的邏輯組織方式。10.一個企業(yè)的數(shù)據(jù)庫需要存儲如下信息:職工:職工號,工資,電話;部門:部門號,部門名,人數(shù);職工_子女:姓名,年齡。每個職工都在某個部門工作,每個部門由一個職工管理,當(dāng)父母確定時,其孩子的名字是唯一的,一旦父母離開該企業(yè),孩子的信息也不保存。部門任職請根據(jù)以上信息畫出E-R圖。部門任職職工【答】職工職工-子女職工-子女管理子女管理子女11.學(xué)校中有若干系,每個系有若干班級和教研室,每個教研室有若干教員,其中有的教授和副教授每人帶若干研究生,每個班有若干學(xué)生,每個學(xué)生選修若干課程,每門課程可由若干學(xué)生選修。請用E-R圖畫出此學(xué)校的概念模型。學(xué)校系下設(shè)教員研究生學(xué)校系下設(shè)教員研究生課程指導(dǎo)選修班級教研室設(shè)立屬于屬于屬于第2章1.解釋以下名詞主鍵、候選鍵、關(guān)系、關(guān)系模式【答】(主鍵,primarykey)是被挑選出來,作表的行的惟一標(biāo)識的候選關(guān)鍵字。一個表只有一個主關(guān)鍵字。主關(guān)鍵字又可以稱為主鍵。主鍵可以由一個字段,也可以由多個字段組成,分別成為單字段主鍵或多字段主鍵。不含有多余屬性的超鍵稱為候選鍵。關(guān)系模式是靜態(tài)的,比如我們看到的一張二維表的表頭,即有哪些構(gòu)成,每個列的名稱,類型啊長度等等關(guān)系是動態(tài)的,就是一張二維表的具體內(nèi)容,是除了標(biāo)題以外的數(shù)據(jù)行,因為表數(shù)據(jù)經(jīng)常被修改,插入,刪除,所以不同時刻、關(guān)系可能不一樣、其實,關(guān)系就是數(shù)學(xué)中的集合了,每一行就是集合的一個元素。關(guān)系模式是指關(guān)系的描述,現(xiàn)實世界隨著時間在不斷地變化,因而在不同的時刻,關(guān)系模式的關(guān)系也會有所變化。數(shù)據(jù)模型的三要素是什么?【答】數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作以及數(shù)據(jù)的完整性約束關(guān)系數(shù)據(jù)庫的三個完整性是什么?各是什么含義?【答】關(guān)系模型中可以有三類完整性約束:實體完整性、參照完整性和用戶定義的完整性。實體完整性規(guī)則定義了對關(guān)系中主屬性取值的約束,即對主屬性的值域的約束;而參照完整性規(guī)則定義了參照關(guān)系和被參照關(guān)系的外碼與主碼之間的參照約束,即對參照關(guān)系的外碼屬性值域的約束,規(guī)定外碼屬性的值域只能是空值或是相應(yīng)被參照關(guān)系主碼屬性的值。用戶定義完整性就是針對某一具體的關(guān)系數(shù)據(jù)庫的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求,由應(yīng)用的環(huán)境決定。4.利用表2-8至表2-10給出的三個關(guān)系,實現(xiàn)如下查詢的關(guān)系代數(shù)表達式。(1)查詢“網(wǎng)絡(luò)工程系”學(xué)生的選課情況,列出學(xué)號、姓名、課程號和成績。(2)查詢“VB”課程的考試情況,列出學(xué)生姓名、所在系和考試成績。(3)查詢考試成績高于90分的學(xué)生的姓名、課程名和成績。(4)查詢至少選修了0821103學(xué)生所選的全部課程的學(xué)生姓名和所在系。(5)查詢至少選了“C001”和“C002”兩門課程的學(xué)生姓名、所在系和所選的課程號?!敬稹柯?.試述等值連接與自然連接的區(qū)別和聯(lián)系?!敬稹康戎颠B接表示為R∞A=BS,自然連接表示為R∞S;自然連接是除去重復(fù)屬性的等值連接。兩者之間的區(qū)別和聯(lián)系如下:1)自然連接一定是等值連接,但等值連接不一定是自然連接。2)等值連接要求相等的分量,不一定是公共屬性;而自然連接要求相等的分量必須是公共屬性。3)等值連接不把重復(fù)的屬性除去;而自然連接要把重復(fù)的屬性除去。6.設(shè)有一個SPJ數(shù)據(jù)庫,包括S、P、J及SPJ4個關(guān)系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供應(yīng)商表S由供應(yīng)商代碼(SNO)、供應(yīng)商姓名(SNAME)、供應(yīng)商狀態(tài)(STATUS)、供應(yīng)商所在城市(CITY)組成。零件表P由零件代碼(PNO)、零件名(PNAME)、顏色(COLOR)、重量(WEIGHT)組成。工程項目表J由工程項目代碼(JNO)、工程項目名(JNAME)、工程項目所在城市(CITY)組成。供應(yīng)情況表SPJ由供應(yīng)商代碼(JNO)、零件代碼(PNO)、工程項目代碼(JNO)、供應(yīng)數(shù)量(QTY)組成,表示某供應(yīng)商供應(yīng)某種零件給某工程的數(shù)量為QTY。今有若干數(shù)據(jù)如下:試用關(guān)系代數(shù)語言完成如下查詢:(1)求供應(yīng)工程J1零件的供應(yīng)商號碼SNO;(2)求供應(yīng)工程J1零件P1的供應(yīng)商號碼SNO;(3)求供應(yīng)工程J1零件為紅色的供應(yīng)商號碼SNO;(4)求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號JNO;(5)求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號JNO?!敬稹康?章SQL支持的主要數(shù)據(jù)類型有數(shù)值型、字符串類型、日期時間型數(shù)據(jù)類型、二進制數(shù)據(jù)類型SQL語言主要分為數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)控制四大功能創(chuàng)建student表(注意引號)CREATETABLE`NewTable`(`sno`char(3)NOTNULL,`sname`char(8)NOTNULL,`ssex`char(2)NOTNULL,`sbirthday`datetimeNULL,`class`char(5)NULL,PRIMARYKEY(`sno`));創(chuàng)建課程表CREATETABLE`course`(`cno`char(5)NOTNULL,`cname`varchar(10)NOTNULL,`tno`char(3)NOTNULL,PRIMARYKEY(`cno`));創(chuàng)建成績表CREATETABLE`score`(`sno`char(3)NOTNULL,`cno`char(5)NOTNULL,`degree`decimal(4,1)NULL,PRIMARYKEY(`sno`,`cno`));創(chuàng)建教師表CREATETABLE`teacher`(`tno`char(3)NOTNULL,`tname`char(4)NOTNULL,`tsex`char(2)NOTNULL,`tbirthday`datetimeNULL,`prof`char(6)NULL,`depart`varchar(10)NOTNULL,PRIMARYKEY(`tno`));用SQL語句完成以下題目selectsname,ssex,classfromstudentselectdistinctdepartfromteacherselect*fromstudentselect*fromscorewheredegreebetween60and80select*fromscorewheredegreein(85,86,88)select*fromstudentwhereclass='95031'orssex='女'select*fromstudentorderbyclassdescselect*fromscoreorderbycno,degreedescselectclass,count(*)as學(xué)生人數(shù)fromstudentgroupbyclasshavingclass='95031'selectsno,cno,degree,(selectmax(degree)fromscore)asmaxscorefromscorewheredegree=(selectmax(degree)fromscore)selectcno,avg(degree)fromscoregroupbycno(12)selectavg(degree)fromscoregroupbycnohavingcno=(selectcnofromscoregroupbycnohavingcount(*)>=5)andcnolike'3%'(13)selectsnofromscorewheredegree>70anddegree<90(14)selecta.sname,o,b.degreefromstudenta,scorebwherea.sno=b.sno(15)selectb.sno,ame,b.degreefromcoursea,scorebwhereo=o(16)selecta.sname,ame,c.degreefromstudenta,courseb,scorecwherea.sno=c.snoando=o(17)selectavg(a.degree)fromscorea,studentbwhereb.class='95033'anda.sno=b.sno或Selectavg(degree)fromscorewheresnoin(selectsnofromstudentwhereclass='95033')(18)此題grade換成degreeselectsno,cno,degree,(case whendegree>=90then'A' whendegreebetween80and89THEN'B' whendegreebetween70and79THEN'C' whendegreebetween60and69THEN'D' else'E'end)rankfromscore(19)selectsno,cno,degreefromscorewherecno='3-105'anddegree>(selectdegreefromscorewheresno='109'andcno='3-105')(20)selectx.*fromscorexwheredegree<(selectmax(y.degree)fromscoreywherey.sno=x.sno)(21)SELECT*FROMscoreWHEREdegree>(SELECTdegreeFROMscoreWHEREsno=109ANDcno='3-105')(22)selectsno,sname,sbirthdayfromstudentwheredatepart(year,sbirthday)=(selectdatepart(year,sbirthday)fromstudentwheresno='108')(23)selectdegreefromscorewherecno=(selectcnofromcoursejointeacheronteacher.tno=course.tnowheretname='張旭')(24)selecttnamefromteacherjoincourseonteacher.tno=course.tnowherecnoin(selectcnofromscoregroupbycnohavingcount(*)>5)(25)select*fromstudentwhereclassin('95033','95031');(26)selectdistinctcnofromscorewheredegree>85;(27)selectcno,sno,degreefromscorewherecnoin(selectcnofromcourse,teacherwherecourse.tno=teacher.tnoandteacher.depary='計算機系')(28)selecttname,proffromteacherawhereprofnotin(selectproffromteacherbwhereb.depary!=a.depary)(29)select*fromscorewherecno='3-105'anddegree>any(selectdegreefromscorewherecno='3-245')orderbydegreedesc(30)selectcno,sno,degreefromscorewherecno='3-105'anddegree>all(selectdegreefromscorewherecno='3-245')orderbydegreedesc(31)selecttname,tsex,tbirthdayfromteacherunionselectsname,ssex,sbirthdayfromstudent(32)selecttname,tsex,tbirthdayfromteacherwheretsex='女'unionselectsname,ssex,sbirthdayfromstudentwheressex='女'(33)select*fromscoreass1wheredegree<(selectavg(degree)fromscoreass2groupbycnohavingo=o)(34)selecttname,a.deparyfromteacherawhereexists(select*fromcoursebwherea.tno=b.tno)(35)selecttname,a.deparyfromteacherawherenotexists(select*fromcoursebwherea.tno=b.tno)selecttname,deparyfromteacherwheretnonotin(selecttnofromcoursewherecnoin(selectdistinctcnofromscore))(36)selectclassfromstudentgroupbyclass,ssexhavingssex='男'andcount(ssex)>1(37)SELECT*FROMStudentWHEREsnoNOTIN(selectsnofromstudentWHEREsnameLIKE'王%')(38)selectsname,datediff(year,Sbirthday,current_timestamp)fromstudent(39)SELECTtop1sbirthdayFROMStudentORDERBYsbirthdaySELECTTOP1sbirthdayFROMStudentORDERBYsbirthdaydesc(40)select*fromstudentorderbyclassdesc,Sbirthday(41)selecttname,tsex,cnamefromteacherleftjoincourseoncourse.tno=teacher.tnowheretsex='男'(42)SELECTTOP1*FROMscoreORDERBYdegreeDESC(43)SELECTsnameFROMStudentWHERESsex=(SELECTSsexfromStudentWHEREsname='李軍')(44)selectsnamefromstudentwheressex=(selectssexfromstudentwheresname='李軍')andclass=(selectclassfromstudentwheresname='李軍')andsnamenotin('李軍')(45)SELECT*FROMscoreWHEREsnoIN(SELECTsnoFROMStudentWHERESsex='男')ANDcno=(SELECTcnoFROMcourseWHEREcname='計算機導(dǎo)論')第4章1.解釋下列名詞:函數(shù)依賴、部分函數(shù)依賴、傳遞函數(shù)依賴、1NF、2NF、3NF【答】函數(shù)依賴:某個屬性集決定另一個屬性集時,稱另一屬性集依賴于該屬性集。函數(shù)依賴是由數(shù)學(xué)派生的術(shù)語,它表征一個屬性或?qū)傩约系闹祵α硪粋€屬性或?qū)傩约系闹档囊蕾囆?。部分函?shù)依賴(partialfunctionaldependency)是一個數(shù)學(xué)用語。在關(guān)系模式R(U)中,如果X→Y,并且存在X的一個真子集X0,使得X0→Y,則稱Y對X部分函數(shù)依賴。傳遞函數(shù)依賴:設(shè)X,Y,Z是關(guān)系R中互不相同的屬性集合,存在X→Y(Y→X),Y→Z,則稱Z傳遞函數(shù)依賴于X。1NF即第一范式,是指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重復(fù)的屬性。2NF即第二范式,是指每個表必須有且僅有一個數(shù)據(jù)元素為主關(guān)鍵字(Primarykey),其他數(shù)據(jù)元素與主關(guān)鍵字一一對應(yīng)。3NF即第三范式,是指表中的所有數(shù)據(jù)元素不但要能唯一地被主關(guān)鍵字所標(biāo)識,而且它們之間還必須相互獨立,不存在其他的函數(shù)關(guān)系。2.設(shè)有關(guān)系模式R(A,B,C,D),函數(shù)依賴集F={A→B,B→A,AC→D,BC→D,AD→C,BD→C,A→CD,B→CD},回答下列問題:(1)R的鍵是什么?(2)R是否為3NF?為什么?【答】(1)因為AF+=ABCD,BF+=ACD,所以A,B都是關(guān)系R的候選鍵,任一個都可以選出作為關(guān)系R的鍵;(2)因為A→CD,所以A→C,A→D,而F中存在AC→D,即存在部分函數(shù)依賴,所以不滿足2NF,也就不滿足3NF,3.針對學(xué)生選課系統(tǒng)的3個關(guān)系模式,完成下列各題:(1)寫出每個關(guān)系模式的函數(shù)依賴,分析是否存在部分依賴、傳遞依賴?(2)給出每個關(guān)系模式的鍵、外鍵。(3)每個滿足什么范式?略4.設(shè)有關(guān)系模式R(A,B,C,D,E),函數(shù)依賴集F={A→B,B→C,C→D,D→E},若分解關(guān)系R為R1(A,B,C)和R2(C,D,E)?;卮鹣铝袉栴}:(1)確定R1和R2分別是第幾范式?(2)判斷此分解的無損連接性?!敬稹浚?)R1(A,B,C)中因函數(shù)依賴集F={A→B,B→C},所以A→C,存在傳遞函數(shù)依賴,所以不滿足3NF,因不存在部分函數(shù)依賴,所以是2NF;R2(C,D,E)中因函數(shù)依賴F={C→D,D→E},所以C→E,存在傳遞函數(shù)依賴,所以不滿足3NF,因不存在部分函數(shù)依賴,所以是2NF;(2)初始表格ABCDER1A1A2A3B14B15R2B21B22A3A4A5修改后的表格ABCDER1A1A2A3A4A5R2B21B22A3A4A5所以此分解是無損連接性5.設(shè)有關(guān)系模式R(A,B,C,D,E,F(xiàn)),函數(shù)依賴集F={E→D,C→B,CE→F,B→A},回答下列問題:(1)確定R是第幾范式?(2)如何將R無損連接并保持函數(shù)依賴地分解為3NF?!敬稹浚?)因為C→B,B→A,所以存在傳遞函數(shù)依賴,不滿足3NF,又因所有的依賴都是完全函數(shù)依賴,所以R是2NF。(2)將R分解為R1(B,C,D,E),函數(shù)依賴集F1={E→D,C→B,CE→F},R2(A,B),函數(shù)依賴集F2={B→A},這樣R無損連接并保持函數(shù)依賴地分解為3NF。6.對于關(guān)系模式R(U)=R(A,B,C,D,E)和函數(shù)依賴集F={A→BC,CD→E,B→D,E→A},試計算:(1)AF+,BF+;(2)R(U)的候選碼?!敬稹浚?)AF+=ABCDEBF+=BD因為AF+=ABCDE,是全集,所以A是候選碼因為EF+=ABCDE,是全集,所以E也是候選碼因為CDF+=CDEAB,是全集,所以CD也是候選碼7.SQL的查詢處理分為哪幾個階段,分別完成什么工作?【答】RDBMS查詢處理分為以下四個階段:查詢分析、查詢檢查、查詢優(yōu)化、查詢執(zhí)行。查詢分析對查詢語句進行掃描,詞法分析(識別出保留字,變量,運算符,發(fā)現(xiàn)拼寫錯誤)和語法分析(判斷是否符合SQL的語法規(guī)則,出現(xiàn)錯誤就報告SQL語法錯誤)查詢檢查即有效性檢查:對符合語法規(guī)則的查詢語句進行語義檢查,也就是根據(jù)數(shù)據(jù)字典中有關(guān)的模式定義去檢查語句中的數(shù)據(jù)庫對象,比如表名,屬性名是否都在存在和有效.查詢優(yōu)化是關(guān)鍵部分,主要是進行語法樹分析,劃分為代數(shù)優(yōu)化(邏輯優(yōu)化),物理優(yōu)化(存取路徑,底層算法).8.查詢優(yōu)化分為哪兩種類型?它們的含義分別是什么?【答】代數(shù)優(yōu)化和物理優(yōu)化,要做優(yōu)化,首先理解查詢處理過程.查詢處理:把用戶提交給RDBMS的查詢語句轉(zhuǎn)換為高效的查詢執(zhí)行計劃.經(jīng)過的步驟:查詢分析,查詢檢查,查詢優(yōu)化(指的是DBMS完成的)和查詢執(zhí)行.關(guān)系代數(shù)表達式由關(guān)系代數(shù)操作組合而成。操作中,以笛卡爾積和聯(lián)接操作最費時,并生成大量的中間結(jié)果。如果直接按表達式書寫的順序執(zhí)行,必將花費很多時間,并生成大量的中間結(jié)果,效率較低。在執(zhí)行前,由DBMS的查詢子系統(tǒng)先對關(guān)系代數(shù)表達式進行優(yōu)化,盡可能先執(zhí)行選擇和投影操作,以便減少中間結(jié)果,并節(jié)省時間。物理優(yōu)化(存取路徑,底層算法).優(yōu)化的依據(jù):基于規(guī)則,基于代價,基于語義優(yōu)化器得出一個執(zhí)行策略,并生成相應(yīng)的查詢計劃.9.試舉例說明啟發(fā)式優(yōu)化過程。【答】見教材例子4.1810.簡述物理優(yōu)化的主要因素?!敬稹课锢韮?yōu)化(存取路徑,底層算法).優(yōu)化的依據(jù):基于規(guī)則,基于代價,基于語義優(yōu)化器得出一個執(zhí)行策略,并生成相應(yīng)的查詢計劃.選擇運算應(yīng)盡可能先做。把投影運算和選擇運算同時進行把投影同其前或后的雙目運算結(jié)合起來。把某些選擇同在它前面執(zhí)行的笛卡爾積結(jié)合起來成為一個連續(xù)運算。等值連接比笛卡爾積省時間的多。找出公共子表達式第5章1.解釋下列名詞:數(shù)據(jù)字典、數(shù)據(jù)流圖、聚集【答】數(shù)據(jù)字典是指對數(shù)據(jù)的數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯等進行定義和描述,其目的是對數(shù)據(jù)流程圖中的各個元素做出詳細的說明,使用數(shù)據(jù)字典為簡單的建模項目。簡而言之,數(shù)據(jù)字典是描述數(shù)據(jù)的信息集合,是對系統(tǒng)中使用的所有數(shù)據(jù)元素的定義的集合。數(shù)據(jù)流圖(DataFlowDiagram):簡稱DFD,它從數(shù)據(jù)傳遞和加工角度,以圖形方式來表達系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,數(shù)據(jù)流圖DFD是描述系統(tǒng)中數(shù)據(jù)流程的一種圖形工具,它標(biāo)志了一個系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換邏輯輸出所需的加工處理。聚集(Aggregation)是一種特殊形式的關(guān)聯(lián)。聚集表示類之間的關(guān)系是整體與部分的關(guān)系。數(shù)據(jù)庫的設(shè)計過程一般包括幾個階段?每個階段的主要任務(wù)是什么?【答】數(shù)據(jù)庫設(shè)計(DatabaseDesign)是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。數(shù)據(jù)庫設(shè)計的設(shè)計內(nèi)容包括:需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫的實施和數(shù)據(jù)庫的運行和維護。需求分析:調(diào)查和分析用戶的業(yè)務(wù)活動和數(shù)據(jù)的使用情況,弄清所用數(shù)據(jù)的種類、范圍、數(shù)量以及它們在業(yè)務(wù)活動中交流的情況,確定用戶對數(shù)據(jù)庫系統(tǒng)的使用要求和各種約束條件等,形成用戶需求規(guī)約。概念設(shè)計:對用戶要求描述的現(xiàn)實世界(可能是一個工廠、一個商場或者一個學(xué)校等),通過對其中諸處的分類、聚集和概括,建立抽象的概念數(shù)據(jù)模型。邏輯設(shè)計:主要工作是將現(xiàn)實世界的概念數(shù)據(jù)模型設(shè)計成數(shù)據(jù)庫的一種邏輯模式。物理設(shè)計:根據(jù)特定數(shù)據(jù)庫管理系統(tǒng)所提供的多種存儲結(jié)構(gòu)和存取方法等依賴于具體計算機結(jié)構(gòu)的各項物理設(shè)計措施,對具體的應(yīng)用任務(wù)選定最合適的物理存儲結(jié)構(gòu)(包括文件類型、索引結(jié)構(gòu)和數(shù)據(jù)的存放次序與位邏輯等)、存取方法和存取路徑等。驗證設(shè)計:在上述設(shè)計的基礎(chǔ)上,收集數(shù)據(jù)并具體建立一個數(shù)據(jù)庫,運行一些典型的應(yīng)用任務(wù)來驗證數(shù)據(jù)庫設(shè)計的正確性和合理性。運行與維護設(shè)計:在數(shù)據(jù)庫系統(tǒng)正式投入運行的過程中,必須不斷地對其進行調(diào)整與修改。簡述E-R圖轉(zhuǎn)化為關(guān)系模型的轉(zhuǎn)化規(guī)則?!敬稹浚?)實體類型的轉(zhuǎn)換將每個實體類型轉(zhuǎn)換成一個關(guān)系模式,實體的屬性即為關(guān)系的屬性,實體標(biāo)識符即為關(guān)系的鍵。(2)聯(lián)系類型的轉(zhuǎn)換1)實體間的聯(lián)系是1:1可以在兩個實體類型轉(zhuǎn)換成兩個關(guān)系模式中的任意一個關(guān)系模式的屬性中加入另一個關(guān)系模式的鍵和聯(lián)系類型的屬性。2)如實體間的聯(lián)系是1:N則在N端實體類型轉(zhuǎn)換成的關(guān)系模式中加入1端實體類型轉(zhuǎn)換成的關(guān)系模式的鍵和聯(lián)系類型的屬性。3)如實體間的聯(lián)系是M:N則將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。(3)三元聯(lián)系轉(zhuǎn)換1:1:1可以在三個實體類型轉(zhuǎn)換成的三個關(guān)系模式中任意一個關(guān)系模式的屬性中加入另兩個關(guān)系模式的鍵(作為外鍵)和聯(lián)系類型的屬性1:1:N在N端實體類型轉(zhuǎn)換成的關(guān)系模式中加入兩個1端實體類型的鍵(作為外鍵)和聯(lián)系類型的屬性1:M:N將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為M端和N端實體類型的鍵(作為外鍵)加上聯(lián)系類型的屬性,而鍵為M端和N端實體鍵的組合M:N:P將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為三端實體類型的鍵(作為外鍵)加上聯(lián)系類型的屬性,而鍵為三端實體鍵的組合4.學(xué)校有若干個系,每個系有若干班級和教研室,每個教研室有若干教師,每個教師教若干門課程。每個班有若干個學(xué)生,每個學(xué)生選修若干門課程,每門課程有若干個學(xué)生選修。(1)根據(jù)以上描述,繪制出E-R圖。(2)將E-R圖轉(zhuǎn)化為關(guān)系模型,只需要給出每個關(guān)系模式的名稱。教師課程學(xué)生講授教師課程學(xué)生講授選修班級教研室設(shè)立屬于屬于屬于學(xué)校學(xué)校系下設(shè)(2)關(guān)系模式有:學(xué)校、系、班級、教研室、教師、課程、學(xué)生、選修5.假如銀行儲蓄系統(tǒng)的功能是:將儲戶填寫的存款單或取款單輸入系統(tǒng)。如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期和利率等信息,并打印出存款單給儲戶;如果是取款單,系統(tǒng)計算清單給用戶。(1)畫出該系統(tǒng)的數(shù)據(jù)流圖。(2)畫出該系統(tǒng)的模塊結(jié)構(gòu)圖。略6.根據(jù)下列描述,畫出相應(yīng)的E-R圖,并將E-R圖轉(zhuǎn)換為滿足3NF的關(guān)系模式,指明每個關(guān)系模式的主鍵和外鍵?,F(xiàn)要實現(xiàn)一個顧客購物系統(tǒng),需求描述如下:一個顧客可去多個商店購物,一個商店可有多名顧客購物;每個顧客一次可購買多種商品,但對同一種商品不能同時購買多次,但在不同時間可購買多次;每種商品可銷售給不同的顧客。對顧客的每次購物都需要記錄其購物的商店、購買商品的數(shù)量和購買日期。需要記錄的“商店”信息包括:商店編號、商店名、地址、聯(lián)系電話;需要記錄的顧客信息包括:顧客號、姓名、住址、身份證號、性別。需要記錄的商品信息包括:商品號、商品名、進貨價格、進貨日期、銷售價格。略7.某工廠生產(chǎn)若干產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的零件可用在不同的產(chǎn)品上。這些零件由不同的原材料制成,不同零件所用的材料可以相同。這些零件按所屬的不同產(chǎn)品分別放在倉庫中,原材料按照類別放在若干倉庫中。請用E-R圖畫出此工廠產(chǎn)品、零件、材料、倉庫的概念模型。生產(chǎn)產(chǎn)品工廠生產(chǎn)產(chǎn)品工廠制成制成倉庫存放材料倉庫存放材料組成組成零件零件1.什么是數(shù)據(jù)的安全性控制?【答】數(shù)據(jù)庫的安全性控制是指保護數(shù)據(jù)庫,以防止不合法的使用造成的數(shù)據(jù)泄密、更改或破壞。2.數(shù)據(jù)庫安全問題主要體現(xiàn)在哪些方面?【答】:數(shù)據(jù)庫的不安全因素體現(xiàn)在非授權(quán)的用戶對數(shù)據(jù)庫的惡意存取和破壞、數(shù)據(jù)庫中重要或敏感的數(shù)據(jù)被泄露以及安全環(huán)境的脆弱性。數(shù)據(jù)庫管理系統(tǒng)需通過一套可信計算機及信息安全技術(shù)標(biāo)準(zhǔn)以及數(shù)據(jù)庫安全控制技術(shù)來提供安全保障。3.數(shù)據(jù)庫安全性級別有哪幾種?【答】:為了保護數(shù)據(jù)庫,防止故意的破壞,可以在從低到高的5個級別上設(shè)置各種安全措施:(1)環(huán)境級計算機系統(tǒng)的機房和設(shè)備應(yīng)加以保護,防止有人進行物理破壞。(2)用戶級工作人員應(yīng)清正廉潔,正確授予用戶訪問數(shù)據(jù)庫的權(quán)限。(3)操作系統(tǒng)級應(yīng)防止未經(jīng)授權(quán)的用戶從操作系統(tǒng)處著手訪問數(shù)據(jù)庫。(4)網(wǎng)絡(luò)級由于大多數(shù)數(shù)據(jù)庫系統(tǒng)都允許用戶通過網(wǎng)絡(luò)進行遠程訪問,網(wǎng)絡(luò)軟件內(nèi)部的安全性是很重要的。(5)數(shù)據(jù)庫系統(tǒng)級數(shù)據(jù)庫系統(tǒng)的職責(zé)是檢查用戶的身份是否合法及使用數(shù)據(jù)庫的權(quán)限是否正確。4.試述實現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術(shù)?!敬稹浚簲?shù)據(jù)庫安全控制的方法主要有用戶標(biāo)識與鑒別、存取控制、視圖機制、審計、數(shù)據(jù)加密等。用戶標(biāo)識與鑒別是系統(tǒng)提供的最外層安全保護措施,通常結(jié)合用戶標(biāo)識和口令鑒別用戶。數(shù)據(jù)庫安全最重要的一點就是確保只授權(quán)給合法的用戶訪問數(shù)據(jù)庫,同時令所有未被授權(quán)的人員無法接近數(shù)據(jù),這主要通過數(shù)據(jù)庫系統(tǒng)的存取控制機制實現(xiàn)。當(dāng)前的DBMS一般支持兩種類型的存取控制機制:自主存取控制和強制存取控制。視圖機制把要保密的數(shù)據(jù)對無權(quán)存取的用戶隱藏起來,從而自動地對數(shù)據(jù)提供一定程度的安全保護。審計是把用戶對數(shù)據(jù)庫的所有操作自動記錄下來放入審計日志中,DBA就可以及時發(fā)現(xiàn)非法的或未授權(quán)的操作,并作出相應(yīng)的處理。數(shù)據(jù)加密是防止數(shù)據(jù)庫中數(shù)據(jù)在存儲和傳輸中失密的有效手段。加密方法主要有兩種:對稱密鑰加密法和非對稱密鑰加密法。5.MySQL的安全性機制中用戶與權(quán)限如何進行有效管理?【答】:為了保證數(shù)據(jù)庫的安全性和完整性,MySQL提供了一整套安全管理機制。MySQL的安全性機制主要包括用戶管理與權(quán)限管理。用戶管理機制包括登錄和退出MySQL服務(wù)器,創(chuàng)建用戶,刪除用戶,修改用戶密碼和為用戶賦權(quán)限等操作。SQL提供了非常靈活的授權(quán)機制,用戶對自己建立的基本表和視圖擁有全部的操作權(quán)限,并且可以用GRANT語句把其中某些權(quán)限授予其他用戶或角色,被授權(quán)的用戶如果有“繼續(xù)授權(quán)”的許可,還可以把獲得的權(quán)限再授予其他用戶,DBA擁有對數(shù)據(jù)庫中所有對象的所有權(quán)限,并可以根據(jù)應(yīng)用的需要將不同的權(quán)限授予不同的用戶,而所有授予出去的權(quán)力在必要時又都可以用REVOKE語句收回。6.安全數(shù)據(jù)庫有哪些研究方向?【答】:數(shù)據(jù)庫的高安全性研究主要包含以下幾個方向:(1)自定義數(shù)據(jù)類型的數(shù)據(jù)庫加密算法的開發(fā)。(2)加密數(shù)據(jù)使用的性能優(yōu)化。(3)基于邏輯圖的秘鑰管理技術(shù)。(4)基于混沌理論的偽隨機技術(shù)。(5)基于容錯學(xué)習(xí)和屬性加密的全同態(tài)加密體制。第7章習(xí)題1.什么是數(shù)據(jù)的完整性控制?【答】:數(shù)據(jù)的完整性控制指的是為保證數(shù)據(jù)的完整性而采取恰當(dāng)?shù)牟僮鳌?.什么是數(shù)據(jù)庫的完整性約束條件?可分為哪幾類?【答】:為維護數(shù)據(jù)庫的完整性,避免數(shù)據(jù)庫中存在不符合語義、不正確的數(shù)據(jù),進行語義約束。那么這些加在數(shù)據(jù)庫數(shù)據(jù)之上的語義約束條件稱為“數(shù)據(jù)庫完整性約束條件”。在關(guān)系模型中有四類完整性約束:實體完整性、參照完整性、域完整性、和用戶定義的完整性,其中實體完整性和參照完整性約束條件為最重要的完整性約束,稱為關(guān)系的兩個不變性。3.DBMS的完整性控制應(yīng)具有哪些功能?【答】:DBMS的完整性控制機制應(yīng)具有三個方面的功能:(1)定義功能,即提供定義完整性約束條件的機制。(2)檢查功能,即檢查用戶發(fā)出的操作請求是否違背了完整性約束條件。(3)違約處理,即監(jiān)視數(shù)據(jù)操作的整個過程,如果發(fā)現(xiàn)有違背了完整約束條件的情況,則采取恰當(dāng)?shù)牟僮鱽肀WC數(shù)據(jù)的完整性。例如拒絕操作、報告違反情況、改正錯誤等方法來保證數(shù)據(jù)的完整性。4.RDBMS在實現(xiàn)參照完整性時需要考慮哪些方面?【答】:(1)外碼能否接受空值的問題。在實現(xiàn)參照完整性時,除了應(yīng)該定義外碼以外,還應(yīng)該根據(jù)應(yīng)用環(huán)境確定外碼列是否允許取空值。(2)在被參照關(guān)系中刪除元組的問題。要保持關(guān)系的參照完整性,就需要對參照表的相應(yīng)元組進行處理,其處理策略:①級聯(lián)刪除②受限刪除③置空值刪除。(3)在參照關(guān)系中插入元組時的問題。其處理策略:①受限插入②遞歸插入。(4)修改關(guān)系中主碼的問題。其處理策略:①不允許修改主碼②允許修改主碼。(5)修改表是被參照關(guān)系元組的問題。其處理策略:①級聯(lián)修改②拒絕修改③置空值修改。5.試述實體完整性的定義以及其屬性約束包含哪些?【答】:實體完整性為元組級完整性,規(guī)定表的每一個元組都應(yīng)該有一個唯一的標(biāo)識符,一般通過在表中定義的主鍵約束來體現(xiàn),且其值不能為空。如果一個關(guān)系的主碼是由多個屬性構(gòu)成的,那么每個屬性都不能取空值。其屬性約束包含PRIMARYKEY、NOTNULL、索引、UNIQUE、IDENTITY等。6.用戶自定義完整性指的是什么?如何進行完整性檢查和違約處理。、【答】:用戶定義的完整性是針對某個特定關(guān)系數(shù)據(jù)庫的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求,通過CKECK、DEFAULT,NOTNULL,UNIQUE,IDENTITY屬性約束。用戶自定義完整性的檢查和違約處理策略是當(dāng)插入元組或修改屬性的值時,DBMS檢查屬性上的約束條件是否被滿足,如果不滿足則操作被拒絕執(zhí)行。第8章習(xí)題1.什么是事務(wù)?事務(wù)的基本性質(zhì)是什么?【答】:事務(wù)是用戶定義的一個的數(shù)據(jù)庫操作序列,這些操作要么全做,要么全不做,是一個不可分割的邏輯單元。事務(wù)的基本性質(zhì)包含原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。事務(wù)的原子性是指事務(wù)中包含的所有操作要么全做,要么一個也不做;事務(wù)的一致性應(yīng)該把數(shù)據(jù)庫從一個一致性狀態(tài)轉(zhuǎn)換到另外一個一致性狀態(tài);事務(wù)的隔離性保證多個事務(wù)并發(fā)執(zhí)行不可相互干擾;數(shù)據(jù)庫的持久性指的是對數(shù)據(jù)庫的改變必須是永久的。2.事務(wù)中的提交和回滾是什么意思,如何表示?【答】:事務(wù)提交是將事物中所有對數(shù)據(jù)庫的更新寫回到磁盤上的物理數(shù)據(jù)庫中,事務(wù)正常結(jié)束;事務(wù)回滾是在事務(wù)運行的過程中發(fā)生了某種故障,事務(wù)不能繼續(xù)執(zhí)行,系統(tǒng)將事務(wù)中對數(shù)據(jù)庫的所有已完成的更新操作全部撤消,回滾到事務(wù)開始時的狀態(tài)。事務(wù)的提交和回滾的表示形式如下:BEGINTRANSACTIONSQL語句1SQL語句2……COMMIT(ROLLBACK)3.什么是事務(wù)調(diào)度?什么是可串行化?【答】:事務(wù)調(diào)度指的是每個事務(wù)的指令在系統(tǒng)中執(zhí)行的時間順序。任何一組事務(wù)的調(diào)度必須保證兩點:(1)調(diào)度必須包含所有事務(wù)的指令;(2)一個事務(wù)中指令的順序在調(diào)度中必須保持不變。如果幾個事務(wù)并行執(zhí)行的結(jié)果和按次序串行執(zhí)行的結(jié)果相同,則稱該并行執(zhí)行結(jié)果是正確的,這樣的調(diào)度稱為可串行化的調(diào)度。4.數(shù)據(jù)庫恢復(fù)的基本原理?【答】:當(dāng)系統(tǒng)運行過程中發(fā)生故障,利用數(shù)據(jù)庫后備副本、日志文件以及數(shù)據(jù)庫事務(wù)的兩個必要操作(前滾和回滾)可以將數(shù)據(jù)庫恢復(fù)到故障前的某個一致性狀態(tài),且在提交事務(wù)之前,必然要先提交日志。因為如果先提交事務(wù),正好提交了一半斷電,這個事務(wù)只執(zhí)行了一半,由于沒有日志記錄,所以根本無法獲取這個事務(wù)的執(zhí)行情況,比如執(zhí)行了哪些操作,哪些操作還未執(zhí)行,因此也就無法恢復(fù)事務(wù)。5.試分析具有檢查點的數(shù)據(jù)庫恢復(fù)策略?【答】:具有檢查點的技術(shù)在日志文件中增加了“檢查點記錄”和一個“重新開始”文件,并讓子系統(tǒng)在登錄日志文件期間動態(tài)地維護日志。它的主要作用就是保證在檢查點時刻外存上的日志文件和數(shù)據(jù)庫文件的內(nèi)容是完全一致的。當(dāng)系統(tǒng)出現(xiàn)故障發(fā)生時,對于檢查點前后各種狀態(tài)事務(wù)的不同處理情況采取相應(yīng)的恢復(fù)策略:T1:在檢查點之前提交,無須redo。T2:在檢查點之前開始執(zhí)行,在檢查點之后、故障點之前提交,要redo。T3:在檢查點之前開始執(zhí)行,在故障點時還未完成,所以予以撤銷。T4:在檢查點之后開始執(zhí)行,在故障點之前提交,要redo。T5:在檢查點之后開始執(zhí)行,在故障點時還未完成,所以予以撤銷。6.數(shù)據(jù)庫系統(tǒng)主要包含哪幾種故障?【答】:數(shù)據(jù)庫系統(tǒng)主要有3種故障:事務(wù)故障、系統(tǒng)故障、介質(zhì)故障。事務(wù)故障指的是事務(wù)的運行沒有到達預(yù)期的終點就被終止,有兩種錯誤可能造成事務(wù)執(zhí)行失敗。系統(tǒng)故障又稱軟故障,指在硬件故障、軟件錯誤(如CPU故障、突然停電、DBMS、操作系統(tǒng)或應(yīng)用程序等異常終止)的影響下,導(dǎo)致內(nèi)存中數(shù)據(jù)丟失,并使得事務(wù)處理終止,但未破壞外存中數(shù)據(jù)庫。介質(zhì)故障又稱硬故障,指由于磁盤的磁頭碰撞、瞬時的強磁場干擾等造成磁盤的損壞,破壞外存上的數(shù)據(jù)庫,并影響正在存取這部分數(shù)據(jù)的所有事務(wù)。7.為什么要進行數(shù)據(jù)庫轉(zhuǎn)儲,比較各種數(shù)據(jù)轉(zhuǎn)儲方法?【答】:數(shù)據(jù)庫一旦被破壞就需要利用轉(zhuǎn)儲的數(shù)據(jù)庫副本和日志文件進行數(shù)據(jù)庫的恢復(fù),把數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。數(shù)據(jù)轉(zhuǎn)儲方法分為:靜態(tài)海量轉(zhuǎn)儲、動態(tài)海量轉(zhuǎn)儲、靜態(tài)增量轉(zhuǎn)儲和動態(tài)增量轉(zhuǎn)儲。靜態(tài)轉(zhuǎn)儲的優(yōu)點是實現(xiàn)簡單,恢復(fù)方便,缺點是降低了數(shù)據(jù)庫的可用性。動態(tài)轉(zhuǎn)儲的優(yōu)點是不用等待正在運行的用戶事務(wù)結(jié)束、不會影響新事務(wù)的運行,缺點是不能保證副本中的數(shù)據(jù)正確有效。海量轉(zhuǎn)儲的優(yōu)點是從恢復(fù)角度看,使用得到的后備副本進行恢復(fù)往往更方便,缺點是數(shù)據(jù)庫很大時,事務(wù)處理又十分頻繁,增量轉(zhuǎn)儲方式更實用更有效。8.事務(wù)故障恢復(fù)策略是什么?【答】:事務(wù)故障恢復(fù)策略為:(1)反向掃描日志文件,查找該事務(wù)的更新操作。(2)對該事務(wù)的更新操作執(zhí)行逆操作,即將事務(wù)更新前的舊值寫人數(shù)據(jù)庫。若是插入操作,則做刪除操作;若是刪除操作,則做插入操作。若是修改操作,則相當(dāng)于用修改前舊值代替修改后新值。(3)繼續(xù)反向掃描日志文件,查找該事務(wù)的其他更新操作,并做同樣處理,如此處理下去。直至讀到此事務(wù)的開始標(biāo)識。事務(wù)的故障恢復(fù)就完成了。第9章習(xí)題1.并發(fā)操作會帶來哪幾類數(shù)據(jù)不一致問題?用什么方法能避免各種不一致的情況?【答】:并發(fā)操作帶來的數(shù)據(jù)不一致性主要包括3類:丟失修改(LostUpdate)、不可重復(fù)讀(Non-RepeatableRead)和讀“臟”數(shù)據(jù)(DirtyRead)。封鎖協(xié)議分三級,各級封鎖協(xié)議對并發(fā)操作帶來的丟失修改、不可重復(fù)讀和讀“臟”數(shù)據(jù)等不一致問題,可以在不同程度上予以解決。2.數(shù)據(jù)庫的并發(fā)控制的主要技術(shù)是什么?【答】:封鎖機制是并發(fā)控制的重要手段。所謂封鎖是使事務(wù)對它要操作的數(shù)據(jù)有一定的控制權(quán)。封鎖通常包含申請加鎖、獲得鎖以及釋放鎖這3個環(huán)節(jié):(1)事務(wù)T在對某個數(shù)據(jù)對象操作之前,先向系統(tǒng)發(fā)出加鎖請求;(2)加鎖后事務(wù)T就獲得對該數(shù)據(jù)對象的控制權(quán);(3)只有事務(wù)T釋放該鎖,其他的事務(wù)才能更新此數(shù)據(jù)對象。為了達到封鎖的目的,事務(wù)在使用時應(yīng)選擇合適的鎖,并遵循一定的封鎖協(xié)議。3.基本的封鎖類型有幾種?試述它們的特征?!敬稹浚鹤罨镜姆怄i類型有兩種:排它鎖(ExclusiveLocks,簡稱X鎖)和共享鎖(ShareLocks,簡稱S鎖)。(1)排它鎖又稱寫鎖,若事務(wù)T對數(shù)據(jù)對象A加上X鎖,則只允許T讀取和修改A,其他任何事務(wù)既不能讀取和修改A,也不能再對A加任何類型的鎖,直到T釋放A上的鎖。申請對A的排他鎖,可以表示為Xlock(A)。(2)共享鎖又稱讀鎖,若事務(wù)T對數(shù)據(jù)對象A加上S鎖,則事務(wù)T可以讀A但不能修改A,其他事務(wù)只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。這就保證了其他事務(wù)可以讀A,但在T釋放A上的S鎖之前不能對A做任何修改。申請對A的共享鎖,可以表示為Slock(A)。4.什么是活鎖?什么是死鎖?如何預(yù)防產(chǎn)生活鎖與死鎖?【答】:活鎖:在多個事務(wù)請求對統(tǒng)一數(shù)據(jù)封鎖時,總是使某一用戶等待的情況。死鎖:多事務(wù)交錯等待的僵持局面。避免活鎖的簡單方法是采用先來先服務(wù)的策略,即對要求封鎖數(shù)據(jù)的事務(wù)排隊,使前面的事務(wù)先獲得數(shù)據(jù)的封鎖權(quán)。在數(shù)據(jù)庫中解決死鎖問題主要有兩類方法:一類方法是采取一定措施來預(yù)防死鎖的發(fā)生;另一類方法是允許發(fā)生死鎖,采用一定手段定期診斷系統(tǒng)中有無死鎖,若有則解除之。5.不同封鎖協(xié)議與系統(tǒng)一致性級別的關(guān)系是什么?【答】:封鎖協(xié)議分三級,各級封鎖協(xié)議對并發(fā)操作帶來的丟失修改、不可重復(fù)讀和讀“臟”數(shù)據(jù)等不一致問題,可以在不同程度上予以解決。使用一級封鎖協(xié)議可以解決丟失修改問題,但不能保證可重復(fù)讀和不讀“臟”數(shù)據(jù),因為一級封鎖協(xié)議沒有對讀數(shù)據(jù)進行加鎖。二級封鎖協(xié)議不僅防止了丟失修改,而且也可以進一步防止讀“臟”數(shù)據(jù)。三級封鎖協(xié)議除防止了丟失修改和不讀“臟”數(shù)據(jù)外,還進一步防止了不可重復(fù)讀。6.什么樣的并發(fā)調(diào)度是正確的調(diào)度?【答】:如果一個事務(wù)的運行沒有受到其他事務(wù)的干擾,就可以認為該事務(wù)的運行結(jié)果是正常的或者預(yù)想的。事務(wù)串行執(zhí)行的順序不同可能會產(chǎn)生不同的結(jié)果,但由于不會將數(shù)據(jù)庫置于不一致狀態(tài),那么所有事務(wù)串行起來的調(diào)度策略都是正確的調(diào)度策略。7.什么是兩段鎖協(xié)議?其作用是什么?【答】:兩段鎖協(xié)議是指所有事務(wù)必須分兩個階段提出加鎖和解鎖申請。(1)在任何數(shù)據(jù)進行讀、寫操作之前,首先要申請并獲得對該數(shù)據(jù)的封鎖。(2)在釋放一個封鎖之后,事務(wù)不再申請和獲得任何其他封鎖。兩段鎖(Two-PhaseLocking)協(xié)議是用于保證并發(fā)調(diào)度可串行性的封鎖協(xié)議。第11章習(xí)題什么是大數(shù)據(jù)?【答】:“大數(shù)據(jù)”研究機構(gòu)Gartner給出了這樣的定義?!按髷?shù)據(jù)”是需要新處理模式才能具有更強的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長率和多樣化的信息資產(chǎn)。從數(shù)據(jù)的類別上看,“大數(shù)據(jù)”指的是無法使用傳統(tǒng)流程或工具處理或分析的信息。它定義了那些
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇科版數(shù)學(xué)八年級上冊聽評課記錄《4-3實數(shù)(2)》
- 中考人教版地理一輪復(fù)習(xí):八年級下冊第九章 青藏地區(qū) 聽課評課記錄
- 小學(xué)二年級加減數(shù)學(xué)口算練習(xí)題
- 湘教版地理七年級下冊《 第八章 走進國家 第四節(jié)法國導(dǎo)》聽課評課記錄
- 五年級口算題50道
- 學(xué)生營養(yǎng)餐供貨協(xié)議書范本
- 醫(yī)院和醫(yī)院合作協(xié)議書范本
- 機器購銷合同范本
- 2025年度知識產(chǎn)權(quán)交易市場運營管理協(xié)議
- 北京市房屋租賃合同范本
- 8.3+區(qū)域性國際組織+課件高中政治統(tǒng)編版選擇性必修一當(dāng)代國際政治與經(jīng)濟
- 2025年國網(wǎng)陜西省電力限公司高校畢業(yè)生招聘1100人(第二批)高頻重點提升(共500題)附帶答案詳解
- 《深度學(xué)習(xí)的7種有力策略》
- 遼寧中醫(yī)藥大學(xué)附屬醫(yī)院社會招聘真題
- 2025年潞安化工集團招聘筆試參考題庫含答案解析
- 幼兒園一日生活安全課件
- 《認罪認罰案件被追訴人反悔應(yīng)對機制研究》
- 多旋翼無人飛行器嵌入式飛控開發(fā)實戰(zhàn)-基于STM32系列微控制器的代碼實現(xiàn)
- 國家開放大學(xué)護理社會實踐報告
- 采購經(jīng)理年終述職報告
- 網(wǎng)絡(luò)直播平臺用戶行為規(guī)范及管理制度
評論
0/150
提交評論