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

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)原理及應(yīng)用課后習(xí)題參考答案第1章 名詞解釋?zhuān)盒畔?、?shù)據(jù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)模型。【答】信息是數(shù)據(jù)加工處理后得到的結(jié)果;數(shù)據(jù)是描述事物的符號(hào)記錄。描述事物的符號(hào)可以是數(shù)字,也可以是文字、圖形、圖像、聲音、語(yǔ)言等。數(shù)據(jù)庫(kù)是存放數(shù)據(jù)的倉(cāng)庫(kù),數(shù)據(jù)庫(kù)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)中的有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System,DBMS)是一個(gè)專(zhuān)門(mén)用于實(shí)現(xiàn)對(duì)數(shù)據(jù)進(jìn)行管理和維護(hù)的系統(tǒng)軟件,它位于用戶(hù)應(yīng)用程序與操作系統(tǒng)軟件之間。數(shù)據(jù)模型是把現(xiàn)實(shí)世界中的具體事物轉(zhuǎn)換成計(jì)算機(jī)能夠處理的對(duì)象。在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型這個(gè)工具來(lái)抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)

2、據(jù)和信息。簡(jiǎn)述由現(xiàn)實(shí)世界到機(jī)器世界建模的過(guò)程。【答】首先將現(xiàn)實(shí)世界抽象為信息世界,然后再將信息世界轉(zhuǎn)換為機(jī)器世界。即,首先把現(xiàn)實(shí)世界中的客觀對(duì)象抽象為某一種描述信息的模型,這種模型并不依賴(lài)于具體的計(jì)算機(jī)系統(tǒng),而且也不與具體的DBMS有關(guān),而是概念意義上的模型,也就是我們所說(shuō)的概念層數(shù)據(jù)模型;然后再把概念層數(shù)據(jù)模型轉(zhuǎn)換為具體的DBMS支持的數(shù)據(jù)模型,也就是組織層數(shù)據(jù)模型。數(shù)據(jù)模型分為哪兩個(gè)層次?【答】一類(lèi)是概念模型,按照用戶(hù)的觀點(diǎn)對(duì)數(shù)據(jù)和信息進(jìn)行建模;一類(lèi)是邏輯模型(簡(jiǎn)稱(chēng)數(shù)據(jù)模型),按照計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)進(jìn)行建模。簡(jiǎn)述常用的概念層數(shù)據(jù)模型?!敬稹扛拍钅P褪乾F(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。它

3、是對(duì)信息世界的建模,是對(duì)現(xiàn)實(shí)世 界到信息世界的第一次抽象,是數(shù)據(jù)庫(kù)設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的有力工具,也是數(shù)據(jù) 庫(kù)設(shè)計(jì)人員和用戶(hù)之間進(jìn)行交流的語(yǔ)言。什么是組織層數(shù)據(jù)庫(kù)模型, 有哪些常用的組織層數(shù)據(jù)庫(kù)模型?【答】組織層數(shù)據(jù)模型是從數(shù)據(jù)的組織形式的角度來(lái)描述信息,目前,在數(shù)據(jù)庫(kù)技術(shù)的發(fā)展過(guò)程中用到的組織層數(shù)據(jù)模型主要有層次模型(Hierarchical Model)、網(wǎng)狀模型(Network Model)、關(guān)系模型(Relational Model)、面向?qū)ο竽P停∣bject Oriented Model)和對(duì)象關(guān)系模型(Object Relational Model)。組織層數(shù)據(jù)模型是按組織數(shù)據(jù)

4、的邏輯結(jié)構(gòu)來(lái)命名的,如層次模型采用樹(shù)形結(jié)構(gòu)。簡(jiǎn)述數(shù)據(jù)庫(kù)的三級(jí)模式體系結(jié)構(gòu)。并說(shuō)明這種結(jié)構(gòu)的優(yōu)點(diǎn)是什么?【答】數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)是指數(shù)據(jù)庫(kù)的外模式、模式和內(nèi)模式數(shù)據(jù)庫(kù)的三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別,它把數(shù)據(jù)的具體組織留給DBMS,使用戶(hù)能邏輯、抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的具體表示方式與存儲(chǔ)方式。數(shù)據(jù)庫(kù)管理系統(tǒng)在三個(gè)模式之間提供了兩級(jí)映像:外模式/模式映像;模式/內(nèi)模式映像。優(yōu)點(diǎn):兩級(jí)映像功能保證了數(shù)據(jù)庫(kù)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性,使數(shù)據(jù)庫(kù)應(yīng)用程序不隨數(shù)據(jù)庫(kù)數(shù)據(jù)的邏輯或存儲(chǔ)結(jié)構(gòu)的變動(dòng)而變動(dòng)。什么叫數(shù)據(jù)與程序的物理獨(dú)立性?什么叫數(shù)據(jù)與程序的邏輯獨(dú)立性?為什么數(shù)據(jù)庫(kù)

5、系統(tǒng)具有數(shù)據(jù)與程序的獨(dú)立性?【答】數(shù)據(jù)與程序的邏輯獨(dú)立性:當(dāng)模式改變時(shí)(例如增加新的關(guān)系、新的屬性、改變屬性的數(shù)據(jù)類(lèi)型等),由數(shù)據(jù)庫(kù)管理員對(duì)各個(gè)外模式模式的映像做相應(yīng)改變,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫(xiě)的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡(jiǎn)稱(chēng)數(shù)據(jù)的邏輯獨(dú)立性。數(shù)據(jù)與程序的物理獨(dú)立性:當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)改變了,由數(shù)據(jù)庫(kù)管理員對(duì)模式內(nèi)模式映像做相應(yīng)改變,可以使模式保持不變,從而應(yīng)用程序也不必改變,保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡(jiǎn)稱(chēng)數(shù)據(jù)的物理獨(dú)立性。數(shù)據(jù)庫(kù)管理系統(tǒng)在三級(jí)模式之間提供的兩層映像保證了數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。試述數(shù)

6、據(jù)庫(kù)系統(tǒng)的組成?!敬稹繑?shù)據(jù)庫(kù)系統(tǒng)一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶(hù)構(gòu)成。9定義并解釋以下術(shù)語(yǔ):模式,外模式,內(nèi)模式【答】?jī)?nèi)模式:是最接近物理存儲(chǔ)的,也就是數(shù)據(jù)的物理存儲(chǔ)方式,包括數(shù)據(jù)存儲(chǔ)位置、數(shù)據(jù)存儲(chǔ)方式等。外模式:是最接近用戶(hù)的,也就是用戶(hù)所看到的數(shù)據(jù)視圖。模式:是介于內(nèi)模式和外模式之間的中間層,是數(shù)據(jù)的邏輯組織方式。10一個(gè)企業(yè)的數(shù)據(jù)庫(kù)需要存儲(chǔ)如下信息:職工:職工號(hào),工資,電話(huà);部門(mén):部門(mén)號(hào),部門(mén)名,人數(shù);職工子女:姓名,年齡。每個(gè)職工都在某個(gè)部門(mén)工作,每個(gè)部門(mén)由一個(gè)職工管理,當(dāng)父母確定時(shí),其孩子的名字是唯一的,一旦父母離開(kāi)該企業(yè),孩子的信息也不保存

7、。部門(mén)任職請(qǐng)根據(jù)以上信息畫(huà)出E-R圖。職工【答】職工-子女管理子女11學(xué)校中有若干系,每個(gè)系有若干班級(jí)和教研室,每個(gè)教研室有若干教員,其中有的教授和副教授每人帶若干研究生,每個(gè)班有若干學(xué)生,每個(gè)學(xué)生選修若干課程,每門(mén)課程可由若干學(xué)生選修。請(qǐng)用E-R圖畫(huà)出此學(xué)校的概念模型。學(xué)校系下設(shè)教員研究生課程指導(dǎo)選修班級(jí)教研室設(shè)立屬于【答】 屬于第2章. 解釋以下名詞主鍵、候選鍵、關(guān)系、關(guān)系模式【答】(主鍵,primary key)是被挑選出來(lái),作表的行的惟一標(biāo)識(shí)的候選關(guān)鍵字。一個(gè)表只有一個(gè)主關(guān)鍵字。主關(guān)鍵字又可以稱(chēng)為主鍵。 主鍵可以由一個(gè)字段,也可以由多個(gè)字段組成,分別成為單字段主鍵或多字段主鍵。不含有多

8、余屬性的超鍵稱(chēng)為候選鍵。關(guān)系模式是靜態(tài)的,比如我們看到的一張二維表的表頭,即有哪些構(gòu)成,每個(gè)列的名稱(chēng),類(lèi)型啊長(zhǎng)度等等 關(guān)系是動(dòng)態(tài)的,就是一張二維表的具體內(nèi)容,是除了標(biāo)題以外的數(shù)據(jù)行,因?yàn)楸頂?shù)據(jù)經(jīng)常被修改,插入,刪除,所以不同時(shí)刻、關(guān)系可能不一樣、其實(shí),關(guān)系就是數(shù)學(xué)中的集合了,每一行就是集合的一個(gè)元素。關(guān)系模式是指關(guān)系的描述,現(xiàn)實(shí)世界隨著時(shí)間在不斷地變化,因而在不同的時(shí)刻,關(guān)系模式的關(guān)系也會(huì)有所變化。數(shù)據(jù)模型的三要素是什么?【答】數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作以及數(shù)據(jù)的完整性約束關(guān)系數(shù)據(jù)庫(kù)的三個(gè)完整性是什么? 各是什么含義?【答】關(guān)系模型中可以有三類(lèi)完整性約束:實(shí)體完整性、參照完整性和用戶(hù)定義的完整性。實(shí)體

9、完整性規(guī)則定義了對(duì)關(guān)系中主屬性取值的約束,即對(duì)主屬性的值域的約束;而參照完整性規(guī)則定義了參照關(guān)系和被參照關(guān)系的外碼與主碼之間的參照約束,即對(duì)參照關(guān)系的外碼屬性值域的約束,規(guī)定外碼屬性的值域只能是空值或是相應(yīng)被參照關(guān)系主碼屬性的值。用戶(hù)定義完整性就是針對(duì)某一具體的關(guān)系數(shù)據(jù)庫(kù)的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿(mǎn)足的語(yǔ)義要求,由應(yīng)用的環(huán)境決定。4. 利用表2-至表2-10給出的三個(gè)關(guān)系,實(shí)現(xiàn)如下查詢(xún)的關(guān)系代數(shù)表達(dá)式。(1)查詢(xún)“網(wǎng)絡(luò)工程系”學(xué)生的選課情況,列出學(xué)號(hào)、姓名、課程號(hào)和成績(jī)。(2)查詢(xún)“VB”課程的考試情況,列出學(xué)生姓名、所在系和考試成績(jī)。(3)查詢(xún)考試成績(jī)高于90 分的學(xué)生的姓

10、名、課程名和成績(jī)。(4)查詢(xún)至少選修了0821103學(xué)生所選的全部課程的學(xué)生姓名和所在系。(5)查詢(xún)至少選了“001”和“002”兩門(mén)課程的學(xué)生姓名、所在系和所選的課程號(hào)?!敬稹柯?.試述等值連接與自然連接的區(qū)別和聯(lián)系?!敬稹康戎颠B接表示為RA=BS,自然連接表示為RS;自然連接是除去重復(fù)屬性的等值連接。兩者之間的區(qū)別和聯(lián)系如下:1)自然連接一定是等值連接,但等值連接不一定是自然連接。2)等值連接要求相等的分量,不一定是公共屬性;而自然連接要求相等的分量必須是公共屬性。3)等值連接不把重復(fù)的屬性除去;而自然連接要把重復(fù)的屬性除去。6. 設(shè)有一個(gè)SPJ數(shù)據(jù)庫(kù),包括S、P、J及SPJ4個(gè)關(guān)系模式:

11、 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)組成。工程項(xiàng)目表J由工程項(xiàng)目代碼(JNO)、工程項(xiàng)目名(JNAME)、工程項(xiàng)目所在城市(CITY)組成。供應(yīng)情況表SPJ由供應(yīng)商代碼(JNO)、零件代碼(PNO)、工程項(xiàng)目代碼(JNO)、供應(yīng)數(shù)量(Q

12、TY)組成,表示某供應(yīng)商供應(yīng)某種零件給某工程的數(shù)量為QTY。今有若干數(shù)據(jù)如下:試用關(guān)系代數(shù)語(yǔ)言完成如下查詢(xún):(1)求供應(yīng)工程J1零件的供應(yīng)商號(hào)碼SNO;(2)求供應(yīng)工程J1零件P1的供應(yīng)商號(hào)碼SNO;(3)求供應(yīng)工程J1零件為紅色的供應(yīng)商號(hào)碼SNO;(4)求沒(méi)有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)JNO;(5)求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號(hào)JNO。【答】第3章SQL支持的主要數(shù)據(jù)類(lèi)型有數(shù)值型、字符串類(lèi)型、日期時(shí)間型數(shù)據(jù)類(lèi)型、二進(jìn)制數(shù)據(jù)類(lèi)型SQL語(yǔ)言主要分為數(shù)據(jù)定義、數(shù)據(jù)查詢(xún)、數(shù)據(jù)操縱、數(shù)據(jù)控制四大功能創(chuàng)建student表(注意引號(hào))CREATE TABLE NewTable (s

13、no char(3) NOT NULL ,sname char(8) NOT NULL ,ssex char(2) NOT NULL ,sbirthday datetime NULL ,class char(5) NULL ,PRIMARY KEY (sno);創(chuàng)建課程表CREATE TABLE course (cno char(5) NOT NULL ,cname varchar(10) NOT NULL ,tno char(3) NOT NULL ,PRIMARY KEY (cno);創(chuàng)建成績(jī)表CREATE TABLE score (sno char(3) NOT NULL ,cno ch

14、ar(5) NOT NULL ,degree decimal(4,1) NULL ,PRIMARY KEY (sno, cno);創(chuàng)建教師表CREATE TABLE teacher (tno char(3) NOT NULL ,tname char(4) NOT NULL ,tsex char(2) NOT NULL ,tbirthday datetime NULL ,prof char(6) NULL ,depart varchar(10) NOT NULL ,PRIMARY KEY (tno);用SQL語(yǔ)句完成以下題目select sname,ssex,class from student

15、select distinct depart from teacherselect * from studentselect * from score where degree between 60 and 80select * from score where degree in(85,86,88)select * from student where class=95031 or ssex=女select * from student order by class descselect * from score order by cno,degree descselect class,co

16、unt(*) as 學(xué)生人數(shù) from student group by class having class=95031select sno,cno,degree,(select max(degree) from score) as maxscore from scorewhere degree=(select max(degree) from score)select cno,avg(degree) from score group by cno(12) select avg(degree) from score group by cno having cno=(select cno fr

17、om score group by cno having count(*)=5) and cno like 3% (13)select sno from score where degree70 and degree=90 then Awhen degree between 80 and 89 THEN Bwhen degree between 70 and 79 THEN Cwhen degree between 60 and 69 THEN Delse Eend)rankfrom score(19) select sno,cno,degreefrom scorewhere cno=3-10

18、5and degree(select degreefrom scorewhere sno=109and cno=3-105)(20) select x.* from score xwhere degree(SELECT degree FROM score WHERE sno=109 AND cno=3-105)(22) select sno,sname,sbirthday from studentwhere datepart(year,sbirthday)= (select datepart(year,sbirthday) from student where sno=108)(23) sel

19、ect degree from score where cno= (select cno from course join teacher on teacher.tno=course.tno where tname=張旭)(24) select tname from teacher join course on teacher.tno=course.tnowhere cno in (select cno from score group by cno having count(*)5)(25) select * from student where class in(95033,95031);

20、(26) select distinct cno from score where degree85;(27) select cno,sno,degree from score where cno in (select cno from course ,teacher wherecourse.tno=teacher.tno and teacher.depary=計(jì)算機(jī)系)(28) select tname,prof from teacher a where prof not in (select prof from teacher b where b.depary != a.depary)(2

21、9) select * from score where cno=3-105 and degreeany (select degree from score where cno=3-245)order by degree desc(30) select cno,sno,degree from score where cno=3-105 and degreeall(select degree from score where cno=3-245) order by degree desc(31) select tname,tsex,tbirthday from teacher union sel

22、ect sname,ssex,sbirthday from student(32) select tname,tsex,tbirthday from teacher where tsex=女 union select sname,ssex,sbirthday from student where ssex=女(33) select * from score as s1 wheredegree1(37) SELECT * FROM Student WHERE sno NOT IN (select sno from student WHERE sname LIKE 王%)(38) select s

23、name,datediff(year,Sbirthday,current_timestamp) from student(39) SELECT top 1 sbirthday FROM Student ORDER BY sbirthdaySELECT TOP 1 sbirthday FROM Student ORDER BY sbirthday desc(40) select * from student order by class desc,Sbirthday(41) select tname,tsex,cname from teacher left join course on cour

24、se.tno=teacher.tno where tsex=男(42) SELECT TOP 1 *FROM score ORDER BY degree DESC(43) SELECT sname FROM Student WHERE Ssex=(SELECT Ssex from Student WHERE sname=李軍)(44) select sname from student where ssex=(select ssex from student where sname=李軍)and class=(select class from student where sname=李軍)a

25、nd sname not in (李軍)(45) SELECT *FROM score WHERE sno IN (SELECT sno FROM Student WHERE Ssex=男) AND cno =(SELECT cno FROM course WHERE cname=計(jì)算機(jī)導(dǎo)論)第4章1解釋下列名詞:函數(shù)依賴(lài)、部分函數(shù)依賴(lài)、傳遞函數(shù)依賴(lài)、1NF、2NF、3NF【答】函數(shù)依賴(lài):某個(gè)屬性集決定另一個(gè)屬性集時(shí),稱(chēng)另一屬性集依賴(lài)于該屬性集。函數(shù)依賴(lài)是由數(shù)學(xué)派生的術(shù)語(yǔ),它表征一個(gè)屬性或?qū)傩约系闹祵?duì)另一個(gè)屬性或?qū)傩约系闹档囊蕾?lài)性。部分函數(shù)依賴(lài)(partial functional dep

26、endency)是一個(gè)數(shù)學(xué)用語(yǔ)。在關(guān)系模式R(U)中,如果XY,并且存在X的一個(gè)真子集X0,使得X0Y,則稱(chēng)Y對(duì)X部分函數(shù)依賴(lài)。 傳遞函數(shù)依賴(lài):設(shè)X,Y,Z是關(guān)系R中互不相同的屬性集合,存在XY(YX),YZ,則稱(chēng)Z傳遞函數(shù)依賴(lài)于X。1NF即第一范式,是指數(shù)據(jù)庫(kù)表的每一列都是不可分割的基本數(shù)據(jù)項(xiàng),同一列中不能有多個(gè)值,即實(shí)體中的某個(gè)屬性不能有多個(gè)值或者不能有重復(fù)的屬性。2NF即第二范式,是指每個(gè)表必須有且僅有一個(gè)數(shù)據(jù)元素為主關(guān)鍵字(Primary key),其他數(shù)據(jù)元素與主關(guān)鍵字一一對(duì)應(yīng)。3NF即第三范式,是指表中的所有數(shù)據(jù)元素不但要能唯一地被主關(guān)鍵字所標(biāo)識(shí),而且它們之間還必須相互獨(dú)立,不存在

27、其他的函數(shù)關(guān)系。2設(shè)有關(guān)系模式R(A,B,C,D),函數(shù)依賴(lài)集F AB,BA,ACD,BCD,ADC,BDC,ACD,BCD ,回答下列問(wèn)題:(1)R的鍵是什么?(2)R是否為3NF? 為什么?【答】(1)因?yàn)锳F+=ABCD,BF+=ACD,所以A,B都是關(guān)系R的候選鍵,任一個(gè)都可以選出作為關(guān)系R的鍵;(2)因?yàn)锳CD,所以AC,AD,而F中存在ACD,即存在部分函數(shù)依賴(lài),所以不滿(mǎn)足2NF,也就不滿(mǎn)足3NF,3針對(duì)學(xué)生選課系統(tǒng)的3個(gè)關(guān)系模式,完成下列各題:(1)寫(xiě)出每個(gè)關(guān)系模式的函數(shù)依賴(lài),分析是否存在部分依賴(lài)、 傳遞依賴(lài)? (2)給出每個(gè)關(guān)系模式的鍵、 外鍵。(3)每個(gè)滿(mǎn)足什么范式?略4設(shè)有

28、關(guān)系模式R(A,B,C,D,E),函數(shù)依賴(lài)集F=AB,BC,CD,DE,若分解關(guān)系R為R1(A,B,C)和R2(C,D,E)?;卮鹣铝袉?wèn)題:(1)確定R1和R2分別是第幾范式?(2)判斷此分解的無(wú)損連接性?!敬稹浚?)R1(A,B,C)中因函數(shù)依賴(lài)集F=AB,BC,所以AC,存在傳遞函數(shù)依賴(lài),所以不滿(mǎn)足3NF,因不存在部分函數(shù)依賴(lài),所以是2NF;R2(C,D,E)中因函數(shù)依賴(lài)F=CD,DE,所以CE,存在傳遞函數(shù)依賴(lài),所以不滿(mǎn)足3NF,因不存在部分函數(shù)依賴(lài),所以是2NF;(2)初始表格ABCDER1A1A2A3B14B15R2B21B22A3A4A5修改后的表格ABCDER1A1A2A3A4A

29、5R2B21B22A3A4A5所以此分解是無(wú)損連接性5設(shè)有關(guān)系模式R(A,B,C,D,E,F(xiàn)),函數(shù)依賴(lài)集F=ED,CB,CEF,BA,回答下列問(wèn)題:(1)確定R是第幾范式?(2)如何將R無(wú)損連接并保持函數(shù)依賴(lài)地分解為3NF?!敬稹浚?)因?yàn)镃B,BA,所以存在傳遞函數(shù)依賴(lài),不滿(mǎn)足3NF,又因所有的依賴(lài)都是完全函數(shù)依賴(lài),所以R是2NF。(2)將R分解為R1(B,C,D,E),函數(shù)依賴(lài)集F1=ED,CB,CEF,R2(A,B),函數(shù)依賴(lài)集F2=BA,這樣R無(wú)損連接并保持函數(shù)依賴(lài)地分解為3NF。6對(duì)于關(guān)系模式R(U)=R(A,B,C,D,E)和函數(shù)依賴(lài)集F=ABC,CDE,BD,EA,試計(jì)算:(1

30、)AF+,BF+;(2)R(U)的候選碼?!敬稹浚?)AF+=ABCDE BF+=BD因?yàn)锳F+=ABCDE,是全集,所以A是候選碼 因?yàn)镋F+=ABCDE,是全集,所以E也是候選碼 因?yàn)镃DF+=CDEAB,是全集,所以CD也是候選碼7SQL的查詢(xún)處理分為哪幾個(gè)階段,分別完成什么工作?【答】RDBMS查詢(xún)處理分為以下四個(gè)階段:查詢(xún)分析、查詢(xún)檢查、查詢(xún)優(yōu)化、查詢(xún)執(zhí)行。查詢(xún)分析對(duì)查詢(xún)語(yǔ)句進(jìn)行掃描, 詞法分析(識(shí)別出保留字, 變量, 運(yùn)算符, 發(fā)現(xiàn)拼寫(xiě)錯(cuò)誤)和語(yǔ)法分析(判斷是否符合SQL的語(yǔ)法規(guī)則, 出現(xiàn)錯(cuò)誤就報(bào)告SQL語(yǔ)法錯(cuò)誤)查詢(xún)檢查即有效性檢查: 對(duì)符合語(yǔ)法規(guī)則的查詢(xún)語(yǔ)句進(jìn)行語(yǔ)義檢查, 也就

31、是根據(jù)數(shù)據(jù)字典中有關(guān)的模式定義去檢查語(yǔ)句中的數(shù)據(jù)庫(kù)對(duì)象, 比如表名, 屬性名是否都在存在和有效. 查詢(xún)優(yōu)化是關(guān)鍵部分,主要是進(jìn)行語(yǔ)法樹(shù)分析,劃分為代數(shù)優(yōu)化(邏輯優(yōu)化), 物理優(yōu)化(存取路徑, 底層算法).8查詢(xún)優(yōu)化分為哪兩種類(lèi)型? 它們的含義分別是什么?【答】代數(shù)優(yōu)化和物理優(yōu)化,要做優(yōu)化, 首先理解查詢(xún)處理過(guò)程. 查詢(xún)處理: 把用戶(hù)提交給RDBMS的查詢(xún)語(yǔ)句轉(zhuǎn)換為高效的查詢(xún)執(zhí)行計(jì)劃. 經(jīng)過(guò)的步驟: 查詢(xún)分析, 查詢(xún)檢查, 查詢(xún)優(yōu)化(指的是DBMS完成的)和查詢(xún)執(zhí)行.關(guān)系代數(shù)表達(dá)式由關(guān)系代數(shù)操作組合而成。操作中,以笛卡爾積和聯(lián)接操作最費(fèi)時(shí),并生成大量的中間結(jié)果。如果直接按表達(dá)式書(shū)寫(xiě)的順序執(zhí)行,必

32、將花費(fèi)很多時(shí)間,并生成大量的中間結(jié)果,效率較低。在執(zhí)行前,由DBMS的查詢(xún)子系統(tǒng)先對(duì)關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化,盡可能先執(zhí)行選擇和投影操作,以便減少中間結(jié)果,并節(jié)省時(shí)間。物理優(yōu)化(存取路徑, 底層算法). 優(yōu)化的依據(jù): 基于規(guī)則, 基于代價(jià), 基于語(yǔ)義 優(yōu)化器得出一個(gè)執(zhí)行策略, 并生成相應(yīng)的查詢(xún)計(jì)劃.9試舉例說(shuō)明啟發(fā)式優(yōu)化過(guò)程?!敬稹恳?jiàn)教材例子4.1810簡(jiǎn)述物理優(yōu)化的主要因素?!敬稹课锢韮?yōu)化(存取路徑, 底層算法). 優(yōu)化的依據(jù): 基于規(guī)則, 基于代價(jià), 基于語(yǔ)義 優(yōu)化器得出一個(gè)執(zhí)行策略, 并生成相應(yīng)的查詢(xún)計(jì)劃.選擇運(yùn)算應(yīng)盡可能先做。把投影運(yùn)算和選擇運(yùn)算同時(shí)進(jìn)行把投影同其前或后的雙目運(yùn)算結(jié)合起來(lái)

33、。把某些選擇同在它前面執(zhí)行的笛卡爾積結(jié)合起來(lái)成為一個(gè)連續(xù)運(yùn)算。等值連接比笛卡爾積省時(shí)間的多。找出公共子表達(dá)式第5章1解釋下列名詞:數(shù)據(jù)字典、數(shù)據(jù)流圖、聚集【答】數(shù)據(jù)字典是指對(duì)數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理邏輯等進(jìn)行定義和描述,其目的是對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做出詳細(xì)的說(shuō)明,使用數(shù)據(jù)字典為簡(jiǎn)單的建模項(xiàng)目。簡(jiǎn)而言之,數(shù)據(jù)字典是描述數(shù)據(jù)的信息集合,是對(duì)系統(tǒng)中使用的所有數(shù)據(jù)元素的定義的集合。數(shù)據(jù)流圖(Data Flow Diagram):簡(jiǎn)稱(chēng)DFD,它從數(shù)據(jù)傳遞和加工角度,以圖形方式來(lái)表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過(guò)程,數(shù)據(jù)流圖DFD是描述系統(tǒng)中數(shù)據(jù)流程的一種圖

34、形工具,它標(biāo)志了一個(gè)系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換邏輯輸出所需的加工處理。聚集(Aggregation)是一種特殊形式的關(guān)聯(lián)。聚集表示類(lèi)之間的關(guān)系是整體與部分的關(guān)系。數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程一般包括幾個(gè)階段? 每個(gè)階段的主要任務(wù)是什么?【答】數(shù)據(jù)庫(kù)設(shè)計(jì)(Database Design)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿(mǎn)足各種用戶(hù)的應(yīng)用需求(信息要求和處理要求)。數(shù)據(jù)庫(kù)設(shè)計(jì)的設(shè)計(jì)內(nèi)容包括:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)的實(shí)施和數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù)。需求分析:調(diào)查和分析用戶(hù)的業(yè)務(wù)活動(dòng)和數(shù)據(jù)的使用情況,

35、弄清所用數(shù)據(jù)的種類(lèi)、范圍、數(shù)量以及它們?cè)跇I(yè)務(wù)活動(dòng)中交流的情況,確定用戶(hù)對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的使用要求和各種約束條件等,形成用戶(hù)需求規(guī)約。概念設(shè)計(jì):對(duì)用戶(hù)要求描述的現(xiàn)實(shí)世界(可能是一個(gè)工廠(chǎng)、一個(gè)商場(chǎng)或者一個(gè)學(xué)校等),通過(guò)對(duì)其中諸處的分類(lèi)、聚集和概括,建立抽象的概念數(shù)據(jù)模型。邏輯設(shè)計(jì):主要工作是將現(xiàn)實(shí)世界的概念數(shù)據(jù)模型設(shè)計(jì)成數(shù)據(jù)庫(kù)的一種邏輯模式。物理設(shè)計(jì):根據(jù)特定數(shù)據(jù)庫(kù)管理系統(tǒng)所提供的多種存儲(chǔ)結(jié)構(gòu)和存取方法等依賴(lài)于具體計(jì)算機(jī)結(jié)構(gòu)的各項(xiàng)物理設(shè)計(jì)措施,對(duì)具體的應(yīng)用任務(wù)選定最合適的物理存儲(chǔ)結(jié)構(gòu)(包括文件類(lèi)型、索引結(jié)構(gòu)和數(shù)據(jù)的存放次序與位邏輯等)、存取方法和存取路徑等。驗(yàn)證設(shè)計(jì):在上述設(shè)計(jì)的基礎(chǔ)上,收集數(shù)據(jù)并具體

36、建立一個(gè)數(shù)據(jù)庫(kù),運(yùn)行一些典型的應(yīng)用任務(wù)來(lái)驗(yàn)證數(shù)據(jù)庫(kù)設(shè)計(jì)的正確性和合理性。運(yùn)行與維護(hù)設(shè)計(jì):在數(shù)據(jù)庫(kù)系統(tǒng)正式投入運(yùn)行的過(guò)程中,必須不斷地對(duì)其進(jìn)行調(diào)整與修改。簡(jiǎn)述E-R圖轉(zhuǎn)化為關(guān)系模型的轉(zhuǎn)化規(guī)則?!敬稹浚?)實(shí)體類(lèi)型的轉(zhuǎn)換將每個(gè)實(shí)體類(lèi)型轉(zhuǎn)換成一個(gè)關(guān)系模式,實(shí)體的屬性即為關(guān)系的屬性,實(shí)體標(biāo)識(shí)符即為關(guān)系的鍵。(2)聯(lián)系類(lèi)型的轉(zhuǎn)換1)實(shí)體間的聯(lián)系是1:1可以在兩個(gè)實(shí)體類(lèi)型轉(zhuǎn)換成兩個(gè)關(guān)系模式中的任意一個(gè)關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的鍵和聯(lián)系類(lèi)型的屬性。2)如實(shí)體間的聯(lián)系是1:N則在N端實(shí)體類(lèi)型轉(zhuǎn)換成的關(guān)系模式中加入1端實(shí)體類(lèi)型轉(zhuǎn)換成的關(guān)系模式的鍵和聯(lián)系類(lèi)型的屬性。3)如實(shí)體間的聯(lián)系是M:N則將聯(lián)系類(lèi)型

37、也轉(zhuǎn)換成關(guān)系模式,其屬性為兩端實(shí)體類(lèi)型的鍵加上聯(lián)系類(lèi)型的屬性,而鍵為兩端實(shí)體鍵的組合。(3) 三元聯(lián)系轉(zhuǎn)換 1:1:1可以在三個(gè)實(shí)體類(lèi)型轉(zhuǎn)換成的三個(gè)關(guān)系模式中任意一個(gè)關(guān)系模式的屬性中加入另兩個(gè)關(guān)系模式的鍵(作為外鍵)和聯(lián)系類(lèi)型的屬性 1:1:N在N端實(shí)體類(lèi)型轉(zhuǎn)換成的關(guān)系模式中加入兩個(gè)1端實(shí)體類(lèi)型的鍵(作為外鍵)和聯(lián)系類(lèi)型的屬性 1:M:N將聯(lián)系類(lèi)型也轉(zhuǎn)換成關(guān)系模式,其屬性為M端和N端實(shí)體類(lèi)型的鍵(作為外鍵)加上聯(lián)系類(lèi)型的屬性,而鍵為M端和N端實(shí)體鍵的組合 M:N:P將聯(lián)系類(lèi)型也轉(zhuǎn)換成關(guān)系模式,其屬性為三端實(shí)體類(lèi)型的鍵(作為外鍵)加上聯(lián)系類(lèi)型的屬性,而鍵為三端實(shí)體鍵的組合4學(xué)校有若干個(gè)系,每個(gè)系

38、有若干班級(jí)和教研室,每個(gè)教研室有若干教師,每個(gè)教師教若干門(mén)課程。每個(gè)班有若干個(gè)學(xué)生,每個(gè)學(xué)生選修若干門(mén)課程,每門(mén)課程有若干個(gè)學(xué)生選修。(1)根據(jù)以上描述,繪制出E-R圖。(2)將E-R圖轉(zhuǎn)化為關(guān)系模型,只需要給出每個(gè)關(guān)系模式的名稱(chēng)。教師課程學(xué)生講授選修班級(jí)教研室設(shè)立屬于屬于屬于【答】學(xué)校系下設(shè)(2)關(guān)系模式有:學(xué)校、系、班級(jí)、教研室、教師、課程、學(xué)生、選修5假如銀行儲(chǔ)蓄系統(tǒng)的功能是:將儲(chǔ)戶(hù)填寫(xiě)的存款單或取款單輸入系統(tǒng)。如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類(lèi)型、存款日期和利率等信息,并打印出存款單給儲(chǔ)戶(hù);如果是取款單,系統(tǒng)計(jì)算清單給用戶(hù)。(1)畫(huà)出該系統(tǒng)的數(shù)據(jù)流圖。(2)畫(huà)出該系統(tǒng)的模塊結(jié)

39、構(gòu)圖。略6根據(jù)下列描述,畫(huà)出相應(yīng)的ER圖,并將ER圖轉(zhuǎn)換為滿(mǎn)足3NF的關(guān)系模式,指明每個(gè)關(guān)系模式的主鍵和外鍵?,F(xiàn)要實(shí)現(xiàn)一個(gè)顧客購(gòu)物系統(tǒng),需求描述如下:一個(gè)顧客可去多個(gè)商店購(gòu)物,一個(gè)商店可有多名顧客購(gòu)物;每個(gè)顧客一次可購(gòu)買(mǎi)多種商品,但對(duì)同一種商品不能同時(shí)購(gòu)買(mǎi)多次,但在不同時(shí)間可購(gòu)買(mǎi)多次;每種商品可銷(xiāo)售給不同的顧客。對(duì)顧客的每次購(gòu)物都需要記錄其購(gòu)物的商店、購(gòu)買(mǎi)商品的數(shù)量和購(gòu)買(mǎi)日期。需要記錄的 “ 商店” 信息包括:商店編號(hào)、商店名、地址、聯(lián)系電話(huà);需要記錄的顧客信息包括:顧客號(hào)、姓名、住址、身份證號(hào)、性別。需要記錄的商品信息包括:商品號(hào)、商品名、進(jìn)貨價(jià)格、進(jìn)貨日期、銷(xiāo)售價(jià)格。略7某工廠(chǎng)生產(chǎn)若干產(chǎn)品

40、,每種產(chǎn)品由不同的零件組成,有的零件可用在不同的產(chǎn)品上。這些零件由不同的原材料制成,不同零件所用的材料可以相同。這些零件按所屬的不同產(chǎn)品分別放在倉(cāng)庫(kù)中,原材料按照類(lèi)別放在若干倉(cāng)庫(kù)中。請(qǐng)用E-R圖畫(huà)出此工廠(chǎng)產(chǎn)品、零件、材料、倉(cāng)庫(kù)的概念模型。生產(chǎn)產(chǎn)品工廠(chǎng)制成倉(cāng)庫(kù)存放材料組成零件1. 什么是數(shù)據(jù)的安全性控制?【答】數(shù)據(jù)庫(kù)的安全性控制是指保護(hù)數(shù)據(jù)庫(kù),以防止不合法的使用造成的數(shù)據(jù)泄密、更改或破壞。2. 數(shù)據(jù)庫(kù)安全問(wèn)題主要體現(xiàn)在哪些方面?【答】:數(shù)據(jù)庫(kù)的不安全因素體現(xiàn)在非授權(quán)的用戶(hù)對(duì)數(shù)據(jù)庫(kù)的惡意存取和破壞、數(shù)據(jù)庫(kù)中重要或敏感的數(shù)據(jù)被泄露以及安全環(huán)境的脆弱性。數(shù)據(jù)庫(kù)管理系統(tǒng)需通過(guò)一套可信計(jì)算機(jī)及信息安全技術(shù)

41、標(biāo)準(zhǔn)以及數(shù)據(jù)庫(kù)安全控制技術(shù)來(lái)提供安全保障。3. 數(shù)據(jù)庫(kù)安全性級(jí)別有哪幾種?【答】:為了保護(hù)數(shù)據(jù)庫(kù),防止故意的破壞,可以在從低到高的5個(gè)級(jí)別上設(shè)置各種安全措施:(1)環(huán)境級(jí) 計(jì)算機(jī)系統(tǒng)的機(jī)房和設(shè)備應(yīng)加以保護(hù),防止有人進(jìn)行物理破壞。(2)用戶(hù)級(jí) 工作人員應(yīng)清正廉潔,正確授予用戶(hù)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的權(quán)限。(3)操作系統(tǒng)級(jí) 應(yīng)防止未經(jīng)授權(quán)的用戶(hù)從操作系統(tǒng)處著手訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。(4)網(wǎng)絡(luò)級(jí) 由于大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)都允許用戶(hù)通過(guò)網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程訪(fǎng)問(wèn),網(wǎng)絡(luò)軟件內(nèi)部的安全性是很重要的。(5)數(shù)據(jù)庫(kù)系統(tǒng)級(jí) 數(shù)據(jù)庫(kù)系統(tǒng)的職責(zé)是檢查用戶(hù)的身份是否合法及使用數(shù)據(jù)庫(kù)的權(quán)限是否正確。4. 試述實(shí)現(xiàn)數(shù)據(jù)庫(kù)安全性控制的常用方法和技術(shù)?!敬稹浚?/p>

42、數(shù)據(jù)庫(kù)安全控制的方法主要有用戶(hù)標(biāo)識(shí)與鑒別、存取控制、視圖機(jī)制、審計(jì)、數(shù)據(jù)加密等。用戶(hù)標(biāo)識(shí)與鑒別是系統(tǒng)提供的最外層安全保護(hù)措施,通常結(jié)合用戶(hù)標(biāo)識(shí)和口令鑒別用戶(hù)。數(shù)據(jù)庫(kù)安全最重要的一點(diǎn)就是確保只授權(quán)給合法的用戶(hù)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),同時(shí)令所有未被授權(quán)的人員無(wú)法接近數(shù)據(jù),這主要通過(guò)數(shù)據(jù)庫(kù)系統(tǒng)的存取控制機(jī)制實(shí)現(xiàn)。當(dāng)前的DBMS一般支持兩種類(lèi)型的存取控制機(jī)制:自主存取控制和強(qiáng)制存取控制。視圖機(jī)制把要保密的數(shù)據(jù)對(duì)無(wú)權(quán)存取的用戶(hù)隱藏起來(lái),從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù)。審計(jì)是把用戶(hù)對(duì)數(shù)據(jù)庫(kù)的所有操作自動(dòng)記錄下來(lái)放入審計(jì)日志中,DBA就可以及時(shí)發(fā)現(xiàn)非法的或未授權(quán)的操作,并作出相應(yīng)的處理。數(shù)據(jù)加密是防止數(shù)據(jù)庫(kù)中數(shù)

43、據(jù)在存儲(chǔ)和傳輸中失密的有效手段。加密方法主要有兩種:對(duì)稱(chēng)密鑰加密法和非對(duì)稱(chēng)密鑰加密法。5. MySQL的安全性機(jī)制中用戶(hù)與權(quán)限如何進(jìn)行有效管理?【答】:為了保證數(shù)據(jù)庫(kù)的安全性和完整性,MySQL提供了一整套安全管理機(jī)制。MySQL的安全性機(jī)制主要包括用戶(hù)管理與權(quán)限管理。用戶(hù)管理機(jī)制包括登錄和退出MySQL服務(wù)器,創(chuàng)建用戶(hù),刪除用戶(hù),修改用戶(hù)密碼和為用戶(hù)賦權(quán)限等操作。SQL提供了非常靈活的授權(quán)機(jī)制,用戶(hù)對(duì)自己建立的基本表和視圖擁有全部的操作權(quán)限,并且可以用GRANT語(yǔ)句把其中某些權(quán)限授予其他用戶(hù)或角色,被授權(quán)的用戶(hù)如果有“繼續(xù)授權(quán)”的許可,還可以把獲得的權(quán)限再授予其他用戶(hù),DBA擁有對(duì)數(shù)據(jù)庫(kù)中所

44、有對(duì)象的所有權(quán)限,并可以根據(jù)應(yīng)用的需要將不同的權(quán)限授予不同的用戶(hù),而所有授予出去的權(quán)力在必要時(shí)又都可以用 REVOKE語(yǔ)句收回。6. 安全數(shù)據(jù)庫(kù)有哪些研究方向?【答】:數(shù)據(jù)庫(kù)的高安全性研究主要包含以下幾個(gè)方向:(1)自定義數(shù)據(jù)類(lèi)型的數(shù)據(jù)庫(kù)加密算法的開(kāi)發(fā)。(2)加密數(shù)據(jù)使用的性能優(yōu)化。(3)基于邏輯圖的秘鑰管理技術(shù)。(4)基于混沌理論的偽隨機(jī)技術(shù)。(5)基于容錯(cuò)學(xué)習(xí)和屬性加密的全同態(tài)加密體制。第7章 習(xí)題1.什么是數(shù)據(jù)的完整性控制?【答】:數(shù)據(jù)的完整性控制指的是為保證數(shù)據(jù)的完整性而采取恰當(dāng)?shù)牟僮鳌?.什么是數(shù)據(jù)庫(kù)的完整性約束條件?可分為哪幾類(lèi)?【答】:為維護(hù)數(shù)據(jù)庫(kù)的完整性,避免數(shù)據(jù)庫(kù)中存在不符合

45、語(yǔ)義、不正確的數(shù)據(jù),進(jìn)行語(yǔ)義約束。那么這些加在數(shù)據(jù)庫(kù)數(shù)據(jù)之上的語(yǔ)義約束條件稱(chēng)為“數(shù)據(jù)庫(kù)完整性約束條件”。在關(guān)系模型中有四類(lèi)完整性約束:實(shí)體完整性、參照完整性、域完整性、和用戶(hù)定義的完整性,其中實(shí)體完整性和參照完整性約束條件為最重要的完整性約束,稱(chēng)為關(guān)系的兩個(gè)不變性。3.DBMS的完整性控制應(yīng)具有哪些功能?【答】:DBMS的完整性控制機(jī)制應(yīng)具有三個(gè)方面的功能: (1)定義功能,即提供定義完整性約束條件的機(jī)制。 (2)檢查功能,即檢查用戶(hù)發(fā)出的操作請(qǐng)求是否違背了完整性約束條件。 (3)違約處理,即監(jiān)視數(shù)據(jù)操作的整個(gè)過(guò)程,如果發(fā)現(xiàn)有違背了完整約束條件的情況,則采取恰當(dāng)?shù)牟僮鱽?lái)保證數(shù)據(jù)的完整性。例如拒

46、絕操作、報(bào)告違反情況、改正錯(cuò)誤等方法來(lái)保證數(shù)據(jù)的完整性。4.RDBMS在實(shí)現(xiàn)參照完整性時(shí)需要考慮哪些方面?【答】:(1)外碼能否接受空值的問(wèn)題。在實(shí)現(xiàn)參照完整性時(shí),除了應(yīng)該定義外碼以外,還應(yīng)該根據(jù)應(yīng)用環(huán)境確定外碼列是否允許取空值。(2)在被參照關(guān)系中刪除元組的問(wèn)題。要保持關(guān)系的參照完整性,就需要對(duì)參照表的相應(yīng)元組進(jìn)行處理,其處理策略:級(jí)聯(lián)刪除受限刪除置空值刪除。(3)在參照關(guān)系中插入元組時(shí)的問(wèn)題。其處理策略:受限插入遞歸插入。(4)修改關(guān)系中主碼的問(wèn)題。其處理策略:不允許修改主碼允許修改主碼。(5)修改表是被參照關(guān)系元組的問(wèn)題。其處理策略:級(jí)聯(lián)修改拒絕修改 置空值修改。5.試述實(shí)體完整性的定義

47、以及其屬性約束包含哪些?【答】:實(shí)體完整性為元組級(jí)完整性,規(guī)定表的每一個(gè)元組都應(yīng)該有一個(gè)唯一的標(biāo)識(shí)符,一般通過(guò)在表中定義的主鍵約束來(lái)體現(xiàn),且其值不能為空。如果一個(gè)關(guān)系的主碼是由多個(gè)屬性構(gòu)成的,那么每個(gè)屬性都不能取空值。其屬性約束包含PRIMARY KEY、NOT NULL、索引、UNIQUE、IDENTITY等。6.用戶(hù)自定義完整性指的是什么?如何進(jìn)行完整性檢查和違約處理。、【答】:用戶(hù)定義的完整性是針對(duì)某個(gè)特定關(guān)系數(shù)據(jù)庫(kù)的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿(mǎn)足的語(yǔ)義要求,通過(guò)CKECK、DEFAULT,NOT NULL,UNIQUE,IDENTITY屬性約束。用戶(hù)自定義完整性的檢查

48、和違約處理策略是當(dāng)插入元組或修改屬性的值時(shí),DBMS檢查屬性上的約束條件是否被滿(mǎn)足,如果不滿(mǎn)足則操作被拒絕執(zhí)行。第8章 習(xí)題1. 什么是事務(wù)?事務(wù)的基本性質(zhì)是什么?【答】:事務(wù)是用戶(hù)定義的一個(gè)的數(shù)據(jù)庫(kù)操作序列,這些操作要么全做,要么全不做,是一個(gè)不可分割的邏輯單元。事務(wù)的基本性質(zhì)包含原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。事務(wù)的原子性是指事務(wù)中包含的所有操作要么全做,要么一個(gè)也不做;事務(wù)的一致性應(yīng)該把數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)轉(zhuǎn)換到另外一個(gè)一致性狀態(tài);事務(wù)的隔離性保證多個(gè)事務(wù)并發(fā)執(zhí)行不可相互干擾;數(shù)據(jù)庫(kù)的持久性指

49、的是對(duì)數(shù)據(jù)庫(kù)的改變必須是永久的。2. 事務(wù)中的提交和回滾是什么意思,如何表示?【答】:事務(wù)提交是將事物中所有對(duì)數(shù)據(jù)庫(kù)的更新寫(xiě)回到磁盤(pán)上的物理數(shù)據(jù)庫(kù)中,事務(wù)正常結(jié)束;事務(wù)回滾是在事務(wù)運(yùn)行的過(guò)程中發(fā)生了某種故障,事務(wù)不能繼續(xù)執(zhí)行,系統(tǒng)將事務(wù)中對(duì)數(shù)據(jù)庫(kù)的所有已完成的更新操作全部撤消,回滾到事務(wù)開(kāi)始時(shí)的狀態(tài)。事務(wù)的提交和回滾的表示形式如下:BEGIN TRANSACTION SQL 語(yǔ)句1 SQL 語(yǔ)句2 COMMIT(ROLLBACK)3. 什么是事務(wù)調(diào)度?什么是可串行化?【答】:事務(wù)調(diào)度指的是每個(gè)事務(wù)的指令在系統(tǒng)中執(zhí)行的時(shí)間順序。任何一組事務(wù)的調(diào)度必須保證兩點(diǎn):(1)調(diào)度必須包含所有事務(wù)的指令;(

50、2)一個(gè)事務(wù)中指令的順序在調(diào)度中必須保持不變。如果幾個(gè)事務(wù)并行執(zhí)行的結(jié)果和按次序串行執(zhí)行的結(jié)果相同,則稱(chēng)該并行執(zhí)行結(jié)果是正確的,這樣的調(diào)度稱(chēng)為可串行化的調(diào)度。4. 數(shù)據(jù)庫(kù)恢復(fù)的基本原理?【答】:當(dāng)系統(tǒng)運(yùn)行過(guò)程中發(fā)生故障,利用數(shù)據(jù)庫(kù)后備副本、日志文件以及數(shù)據(jù)庫(kù)事務(wù)的兩個(gè)必要操作(前滾和回滾)可以將數(shù)據(jù)庫(kù)恢復(fù)到故障前的某個(gè)一致性狀態(tài),且在提交事務(wù)之前,必然要先提交日志。因?yàn)槿绻忍峤皇聞?wù),正好提交了一半斷電,這個(gè)事務(wù)只執(zhí)行了一半,由于沒(méi)有日志記錄,所以根本無(wú)法獲取這個(gè)事務(wù)的執(zhí)行情況,比如執(zhí)行了哪些操作,哪些操作還未執(zhí)行,因此也就無(wú)法恢復(fù)事務(wù)。5. 試分析具有檢查點(diǎn)的數(shù)據(jù)庫(kù)恢復(fù)策略?【答】:具有檢查

51、點(diǎn)的技術(shù)在日志文件中增加了“檢查點(diǎn)記錄”和一個(gè)“重新開(kāi)始”文件,并讓子系統(tǒng)在登錄日志文件期間動(dòng)態(tài)地維護(hù)日志。它的主要作用就是保證在檢查點(diǎn)時(shí)刻外存上的日志文件和數(shù)據(jù)庫(kù)文件的內(nèi)容是完全一致的。當(dāng)系統(tǒng)出現(xiàn)故障發(fā)生時(shí),對(duì)于檢查點(diǎn)前后各種狀態(tài)事務(wù)的不同處理情況采取相應(yīng)的恢復(fù)策略:T1:在檢查點(diǎn)之前提交,無(wú)須redo。T2:在檢查點(diǎn)之前開(kāi)始執(zhí)行,在檢查點(diǎn)之后、故障點(diǎn)之前提交,要redo。T3:在檢查點(diǎn)之前開(kāi)始執(zhí)行,在故障點(diǎn)時(shí)還未完成,所以予以撤銷(xiāo)。T4:在檢查點(diǎn)之后開(kāi)始執(zhí)行,在故障點(diǎn)之前提交,要redo。T5:在檢查點(diǎn)之后開(kāi)始執(zhí)行,在故障點(diǎn)時(shí)還未完成,所以予以撤銷(xiāo)。6. 數(shù)據(jù)庫(kù)系統(tǒng)主要包含哪幾種故障?【答

52、】:數(shù)據(jù)庫(kù)系統(tǒng)主要有3 種故障:事務(wù)故障、系統(tǒng)故障、介質(zhì)故障。事務(wù)故障指的是事務(wù)的運(yùn)行沒(méi)有到達(dá)預(yù)期的終點(diǎn)就被終止,有兩種錯(cuò)誤可能造成事務(wù)執(zhí)行失敗。系統(tǒng)故障又稱(chēng)軟故障,指在硬件故障、軟件錯(cuò)誤(如CPU故障、突然停電、DBMS、操作系統(tǒng)或應(yīng)用程序等異常終止)的影響下,導(dǎo)致內(nèi)存中數(shù)據(jù)丟失,并使得事務(wù)處理終止,但未破壞外存中數(shù)據(jù)庫(kù)。介質(zhì)故障又稱(chēng)硬故障,指由于磁盤(pán)的磁頭碰撞、瞬時(shí)的強(qiáng)磁場(chǎng)干擾等造成磁盤(pán)的損壞,破壞外存上的數(shù)據(jù)庫(kù),并影響正在存取這部分?jǐn)?shù)據(jù)的所有事務(wù)。7. 為什么要進(jìn)行數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ),比較各種數(shù)據(jù)轉(zhuǎn)儲(chǔ)方法?【答】:數(shù)據(jù)庫(kù)一旦被破壞就需要利用轉(zhuǎn)儲(chǔ)的數(shù)據(jù)庫(kù)副本和日志文件進(jìn)行數(shù)據(jù)庫(kù)的恢復(fù),把數(shù)據(jù)庫(kù)從錯(cuò)

53、誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。數(shù)據(jù)轉(zhuǎn)儲(chǔ)方法分為:靜態(tài)海量轉(zhuǎn)儲(chǔ)、動(dòng)態(tài)海量轉(zhuǎn)儲(chǔ)、靜態(tài)增量轉(zhuǎn)儲(chǔ)和動(dòng)態(tài)增量轉(zhuǎn)儲(chǔ)。靜態(tài)轉(zhuǎn)儲(chǔ)的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,恢復(fù)方便,缺點(diǎn)是降低了數(shù)據(jù)庫(kù)的可用性。動(dòng)態(tài)轉(zhuǎn)儲(chǔ)的優(yōu)點(diǎn)是不用等待正在運(yùn)行的用戶(hù)事務(wù)結(jié)束、不會(huì)影響新事務(wù)的運(yùn)行,缺點(diǎn)是不能保證副本中的數(shù)據(jù)正確有效。海量轉(zhuǎn)儲(chǔ)的優(yōu)點(diǎn)是從恢復(fù)角度看,使用得到的后備副本進(jìn)行恢復(fù)往往更方便,缺點(diǎn)是數(shù)據(jù)庫(kù)很大時(shí),事務(wù)處理又十分頻繁,增量轉(zhuǎn)儲(chǔ)方式更實(shí)用更有效。8. 事務(wù)故障恢復(fù)策略是什么?【答】:事務(wù)故障恢復(fù)策略為:(1)反向掃描日志文件,查找該事務(wù)的更新操作。(2)對(duì)該事務(wù)的更新操作執(zhí)行逆操作,即將事務(wù)更新前的舊值寫(xiě)人數(shù)據(jù)庫(kù)。若是插入操作,則做

54、刪除操作;若是刪除操作,則做插入操作。若是修改操作,則相當(dāng)于用修改前舊值代替修改后新值。(3)繼續(xù)反向掃描日志文件,查找該事務(wù)的其他更新操作,并做同樣處理,如此處理下去。直至讀到此事務(wù)的開(kāi)始標(biāo)識(shí)。事務(wù)的故障恢復(fù)就完成了。第9章 習(xí)題1. 并發(fā)操作會(huì)帶來(lái)哪幾類(lèi)數(shù)據(jù)不一致問(wèn)題?用什么方法能避免各種不一致的情況?【答】:并發(fā)操作帶來(lái)的數(shù)據(jù)不一致性主要包括3類(lèi):丟失修改(Lost Update)、不可重復(fù)讀(Non-Repeatable Read)和讀 “臟”數(shù)據(jù)(Dirty Read)。封鎖協(xié)議分三級(jí),各級(jí)封鎖協(xié)議對(duì)并發(fā)操作帶來(lái)的丟失修改、不可重復(fù)讀和讀“臟”數(shù)據(jù)等不一致問(wèn)題,可以在不同程度上予以解

55、決。2. 數(shù)據(jù)庫(kù)的并發(fā)控制的主要技術(shù)是什么?【答】:封鎖機(jī)制是并發(fā)控制的重要手段。所謂封鎖是使事務(wù)對(duì)它要操作的數(shù)據(jù)有一定的控制權(quán)。封鎖通常包含申請(qǐng)加鎖、獲得鎖以及釋放鎖這3個(gè)環(huán)節(jié):(1)事務(wù)T在對(duì)某個(gè)數(shù)據(jù)對(duì)象操作之前,先向系統(tǒng)發(fā)出加鎖請(qǐng)求;(2)加鎖后事務(wù)T就獲得對(duì)該數(shù)據(jù)對(duì)象的控制權(quán);(3)只有事務(wù)T 釋放該鎖,其他的事務(wù)才能更新此數(shù)據(jù)對(duì)象。為了達(dá)到封鎖的目的,事務(wù)在使用時(shí)應(yīng)選擇合適的鎖,并遵循一定的封鎖協(xié)議。3. 基本的封鎖類(lèi)型有幾種?試述它們的特征?!敬稹浚鹤罨镜姆怄i類(lèi)型有兩種:排它鎖(Exclusive Locks,簡(jiǎn)稱(chēng)X鎖)和共享鎖(Share Locks,簡(jiǎn)稱(chēng)S鎖)。(1)排它鎖又

56、稱(chēng)寫(xiě)鎖,若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上X鎖,則只允許T讀取和修改A,其他任何事務(wù)既不能讀取和修改A,也不能再對(duì)A加任何類(lèi)型的鎖,直到T釋放A上的鎖。申請(qǐng)對(duì)A的排他鎖,可以表示為Xlock(A)。(2)共享鎖又稱(chēng)讀鎖,若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上S鎖,則事務(wù)T可以讀A但不能修改A,其他事務(wù)只能再對(duì)A加S鎖,而不能加X(jué)鎖,直到T釋放A上的S鎖。這就保證了其他事務(wù)可以讀A,但在T釋放A上的S鎖之前不能對(duì)A做任何修改。申請(qǐng)對(duì)A的共享鎖,可以表示為Slock(A)。4. 什么是活鎖?什么是死鎖?如何預(yù)防產(chǎn)生活鎖與死鎖?【答】:活鎖:在多個(gè)事務(wù)請(qǐng)求對(duì)統(tǒng)一數(shù)據(jù)封鎖時(shí),總是使某一用戶(hù)等待的情況。死鎖:多事務(wù)交錯(cuò)等待的僵

57、持局面。避免活鎖的簡(jiǎn)單方法是采用先來(lái)先服務(wù)的策略,即對(duì)要求封鎖數(shù)據(jù)的事務(wù)排隊(duì),使前面的事務(wù)先獲得數(shù)據(jù)的封鎖權(quán)。在數(shù)據(jù)庫(kù)中解決死鎖問(wèn)題主要有兩類(lèi)方法:一類(lèi)方法是采取一定措施來(lái)預(yù)防死鎖的發(fā)生;另一類(lèi)方法是允許發(fā)生死鎖,采用一定手段定期診斷系統(tǒng)中有無(wú)死鎖,若有則解除之。5. 不同封鎖協(xié)議與系統(tǒng)一致性級(jí)別的關(guān)系是什么?【答】:封鎖協(xié)議分三級(jí),各級(jí)封鎖協(xié)議對(duì)并發(fā)操作帶來(lái)的丟失修改、不可重復(fù)讀和讀“臟”數(shù)據(jù)等不一致問(wèn)題,可以在不同程度上予以解決。使用一級(jí)封鎖協(xié)議可以解決丟失修改問(wèn)題,但不能保證可重復(fù)讀和不讀“臟”數(shù)據(jù),因?yàn)橐患?jí)封鎖協(xié)議沒(méi)有對(duì)讀數(shù)據(jù)進(jìn)行加鎖。二級(jí)封鎖協(xié)議不僅防止了丟失修改,而且也可以進(jìn)一步防

58、止讀“臟”數(shù)據(jù)。三級(jí)封鎖協(xié)議除防止了丟失修改和不讀“臟”數(shù)據(jù)外,還進(jìn)一步防止了不可重復(fù)讀。6. 什么樣的并發(fā)調(diào)度是正確的調(diào)度?【答】:如果一個(gè)事務(wù)的運(yùn)行沒(méi)有受到其他事務(wù)的干擾,就可以認(rèn)為該事務(wù)的運(yùn)行結(jié)果是正常的或者預(yù)想的。事務(wù)串行執(zhí)行的順序不同可能會(huì)產(chǎn)生不同的結(jié)果,但由于不會(huì)將數(shù)據(jù)庫(kù)置于不一致?tīng)顟B(tài),那么所有事務(wù)串行起來(lái)的調(diào)度策略都是正確的調(diào)度策略。7. 什么是兩段鎖協(xié)議?其作用是什么?【答】:兩段鎖協(xié)議是指所有事務(wù)必須分兩個(gè)階段提出加鎖和解鎖申請(qǐng)。(1)在任何數(shù)據(jù)進(jìn)行讀、寫(xiě)操作之前,首先要申請(qǐng)并獲得對(duì)該數(shù)據(jù)的封鎖。(2)在釋放一個(gè)封鎖之后,事務(wù)不再申請(qǐng)和獲得任何其他封鎖。兩段鎖(Two-Pha

59、se Locking)協(xié)議是用于保證并發(fā)調(diào)度可串行性的封鎖協(xié)議。第11章 習(xí)題什么是大數(shù)據(jù)?【答】:“大數(shù)據(jù)”研究機(jī)構(gòu)Gartner給出了這樣的定義?!按髷?shù)據(jù)”是需要新處理模式才能具有更強(qiáng)的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長(zhǎng)率和多樣化的信息資產(chǎn)。從數(shù)據(jù)的類(lèi)別上看,“大數(shù)據(jù)”指的是無(wú)法使用傳統(tǒng)流程或工具處理或分析的信息。它定義了那些超出正常處理范圍和大小、迫使用戶(hù)采用非傳統(tǒng)處理方法的數(shù)據(jù)。試述數(shù)據(jù)庫(kù)與大數(shù)據(jù)的差異?!敬稹浚簲?shù)據(jù)庫(kù),傳統(tǒng)上是指關(guān)系型數(shù)據(jù)庫(kù),比如MySQL和Oracle等,這種數(shù)據(jù)側(cè)重于事務(wù)的處理。大數(shù)據(jù)一般用于分析數(shù)據(jù),一般只做查詢(xún),不修改數(shù)據(jù)。數(shù)據(jù)庫(kù)說(shuō)大數(shù)據(jù)的差異主要體現(xiàn)在以

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論