《數(shù)據(jù)庫系統(tǒng)概論》第四版課后習(xí)題答案_第1頁
《數(shù)據(jù)庫系統(tǒng)概論》第四版課后習(xí)題答案_第2頁
《數(shù)據(jù)庫系統(tǒng)概論》第四版課后習(xí)題答案_第3頁
《數(shù)據(jù)庫系統(tǒng)概論》第四版課后習(xí)題答案_第4頁
《數(shù)據(jù)庫系統(tǒng)概論》第四版課后習(xí)題答案_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1章緒論

1.試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。

答:

(1)數(shù)據(jù)(Data):描述事物的符號(hào)記錄稱為數(shù)據(jù)。數(shù)據(jù)的種類有數(shù)

字、文字、圖形、圖像、聲音、正文等。數(shù)據(jù)與其語義是不行分的。解析

在現(xiàn)代計(jì)算機(jī)系統(tǒng)中數(shù)據(jù)的概念是廣義的。早期的計(jì)算機(jī)系統(tǒng)主要用于科

學(xué)計(jì)算,處理的數(shù)據(jù)是整數(shù)、實(shí)數(shù)、浮點(diǎn)數(shù)等傳統(tǒng)數(shù)學(xué)中的數(shù)據(jù)?,F(xiàn)代計(jì)

算機(jī)能存儲(chǔ)和處理的對(duì)象特別廣泛,表示這些對(duì)象的數(shù)據(jù)也越來越困難。

數(shù)據(jù)與其語義是不行分的。500這個(gè)數(shù)字可以表示一件物品的價(jià)格是

500元,也可以表示一個(gè)學(xué)術(shù)會(huì)議參與的人數(shù)有500人,還可以表示一

袋奶粉重500克。

(2)數(shù)據(jù)庫(DataBase,簡稱DB):數(shù)據(jù)庫是長期儲(chǔ)存在計(jì)算機(jī)內(nèi)

的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按確定的數(shù)據(jù)模型組

織、描述和儲(chǔ)存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并

可為各種用戶共享。

(3)數(shù)據(jù)庫系統(tǒng)(DataBas。Sytem,簡稱DBS):數(shù)據(jù)庫系統(tǒng)是

指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成,一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理

系統(tǒng)(與其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員構(gòu)成。解析數(shù)據(jù)庫系統(tǒng)

和數(shù)據(jù)庫是兩個(gè)概念。數(shù)據(jù)庫系統(tǒng)是一個(gè)人一機(jī)系統(tǒng),數(shù)據(jù)庫是數(shù)據(jù)庫系

統(tǒng)的一個(gè)組成部分。但是在日常工作中人們常常把數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)

庫。希望讀者能夠從人們講話或文章的上下文中區(qū)分“數(shù)據(jù)庫系統(tǒng)”和“數(shù)

據(jù)庫”,不要引起混淆。

(4)數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementsytem,簡稱DBMs):

數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,用于科

學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲得和維護(hù)數(shù)據(jù)。DBMS的主要功能包括數(shù)

據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫的運(yùn)行管理功能、數(shù)據(jù)庫的建立和維

護(hù)功能。解析DBMS是一個(gè)大型的困難的軟件系統(tǒng),是計(jì)算機(jī)中的基礎(chǔ)軟

件。目前,特地研制DBMS的廠商與其研制的DBMS產(chǎn)品很多。聞名的有

美國IBM公司的DBZ關(guān)系數(shù)據(jù)庫管理系統(tǒng)和IMS層次數(shù)據(jù)庫管理系

統(tǒng)、美國Oracle公司的orade關(guān)系數(shù)據(jù)庫管理系統(tǒng)、s油ase公司

的s油ase關(guān)系數(shù)據(jù)庫管理系統(tǒng)、美國微軟公司的SQLServe,關(guān)系

數(shù)據(jù)庫管理系統(tǒng)等。

2.運(yùn)用數(shù)據(jù)庫系統(tǒng)有什么好處?

答:

運(yùn)用數(shù)據(jù)庫系統(tǒng)的好處是由數(shù)據(jù)庫管理系統(tǒng)的特點(diǎn)或優(yōu)點(diǎn)確定的。運(yùn)用數(shù)

據(jù)庫系統(tǒng)的好處很多,例如,可以大大提高應(yīng)用開發(fā)的效率,便利用戶的

運(yùn)用,減輕數(shù)據(jù)庫系統(tǒng)管理人員維護(hù)的負(fù)擔(dān),等等。運(yùn)用數(shù)據(jù)庫系統(tǒng)可以

大大提高應(yīng)用開發(fā)的效率。因?yàn)樵跀?shù)據(jù)庫系統(tǒng)中應(yīng)用程序不必考慮數(shù)據(jù)的

定義、存儲(chǔ)和數(shù)據(jù)存取的具體路徑,這些工作都由DBMS來完成。用一個(gè)

通俗的比方,運(yùn)用了DBMS就如有了一個(gè)好參謀、好助手,很多具體的技

術(shù)工作都由這個(gè)助手來完成。開發(fā)人員就可以專注于應(yīng)用邏輯的設(shè)計(jì),而

不必為數(shù)據(jù)管理的許很多多困難的細(xì)微環(huán)節(jié)操勞。還有,當(dāng)應(yīng)用邏輯變更,

數(shù)據(jù)的邏輯結(jié)構(gòu)也須要變更時(shí).,由于數(shù)據(jù)庫系統(tǒng)供應(yīng)了數(shù)據(jù)與程序之間的

獨(dú)立性,數(shù)據(jù)邏輯結(jié)構(gòu)的變更是DBA的責(zé)任,開發(fā)人員不必修改應(yīng)用程

序,或者只須要修改很少的應(yīng)用程序,從而既簡化了應(yīng)用程序的編制,又

大大削減了應(yīng)用程序的維護(hù)和修改。運(yùn)用數(shù)據(jù)庫系統(tǒng)可以減輕數(shù)據(jù)庫系統(tǒng)

管理人員維護(hù)系統(tǒng)的負(fù)擔(dān)。因?yàn)镈BMS在數(shù)據(jù)庫建立、運(yùn)用和維護(hù)時(shí)對(duì)數(shù)

據(jù)庫進(jìn)行統(tǒng)一的管理和限制,包括數(shù)據(jù)的完整性、平安性、多用戶并發(fā)限

制、故障復(fù)原等,都由DBMS執(zhí)行??傊?,運(yùn)用數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)是很多

的,既便于數(shù)據(jù)的集中管理,限制數(shù)據(jù)冗余,提高數(shù)據(jù)的利用率和一樣性,

又有利于應(yīng)用程序的開發(fā)和維護(hù)。讀者可以在自己今后的工作中結(jié)合具體

應(yīng)用,仔細(xì)加以體會(huì)和總結(jié)。

3?試述文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)分和聯(lián)系。

答:

文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)分是:文件系統(tǒng)面對(duì)某一應(yīng)用程序,共享性差,

冗余度大,數(shù)據(jù)獨(dú)立性差,記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu),由應(yīng)用程序自己

限制。數(shù)據(jù)庫系統(tǒng)面對(duì)現(xiàn)實(shí)世界,共享性高,冗余度小,具有較高的物理

獨(dú)立性和確定的邏輯獨(dú)立性,整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述,由數(shù)據(jù)庠管

理系統(tǒng)供應(yīng)數(shù)據(jù)的平安性、完整性、并發(fā)限制和復(fù)原實(shí)力。

文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的聯(lián)系是:文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)都是計(jì)算機(jī)系統(tǒng)

中管理數(shù)據(jù)的軟件。解析文件系統(tǒng)是操作系統(tǒng)的重要組成部分;而DBMS

是獨(dú)立于操作系統(tǒng)的軟件。但是DBMS是在操作系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)的;數(shù)

據(jù)庫中數(shù)據(jù)的組織和存儲(chǔ)是通過操作系統(tǒng)中的文件系統(tǒng)來實(shí)現(xiàn)的。

4.舉出適合用文件系統(tǒng)而不是數(shù)據(jù)庫系統(tǒng)的例子;再舉出適合用數(shù)據(jù)庫

系統(tǒng)的應(yīng)用例子。答:

(1)適用于文件系統(tǒng)而不是數(shù)據(jù)庫系統(tǒng)的應(yīng)用例子數(shù)據(jù)的備份、軟件或

應(yīng)用程序運(yùn)用過程中的臨時(shí)數(shù)據(jù)存儲(chǔ)一般運(yùn)用文件比較合適。早期功能比

夠避開數(shù)據(jù)之間的不相容性與不一樣性。所謂“數(shù)據(jù)面對(duì)某個(gè)應(yīng)用”是指

數(shù)據(jù)結(jié)構(gòu)是針對(duì)某個(gè)應(yīng)用設(shè)計(jì)的,只被這個(gè)應(yīng)用程序或應(yīng)用系統(tǒng)運(yùn)用,可

以說數(shù)據(jù)是某個(gè)應(yīng)用的“私有資源二所謂“彈性大”是指系統(tǒng)簡潔擴(kuò)充

也簡潔收縮,即應(yīng)用增加或削減時(shí)不必修改整個(gè)數(shù)據(jù)庫的結(jié)構(gòu),只需做很

少的改動(dòng)??梢匀≌w數(shù)據(jù)的各種子集用于不同的應(yīng)用系統(tǒng),當(dāng)應(yīng)用需求

變更或增加時(shí),只要重新選取不同的子集或加上一部分?jǐn)?shù)據(jù),便可以滿意

新的需求。

(3)數(shù)據(jù)獨(dú)立性高數(shù)據(jù)獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)

立性。數(shù)據(jù)庫管理系統(tǒng)的模式結(jié)構(gòu)和二級(jí)映像功能保證了數(shù)據(jù)庫中的數(shù)據(jù)

具有很高的物理獨(dú)立性和邏輯獨(dú)立性。

(4)數(shù)據(jù)由DBMS統(tǒng)一管理和限制數(shù)據(jù)庫的共享是并發(fā)的共享,即多個(gè)

用戶可以同時(shí)存取數(shù)據(jù)庫中的數(shù)據(jù)甚至可以同時(shí)存取數(shù)據(jù)庫中同一個(gè)數(shù)

據(jù)。為此,DBMS必需供應(yīng)統(tǒng)一的數(shù)據(jù)限制功能,包括數(shù)據(jù)的平安性愛護(hù)、

數(shù)據(jù)的完整性檢查、并發(fā)限制和數(shù)據(jù)庫復(fù)原。解析DBMS數(shù)據(jù)限制功能包

括四個(gè)方面:數(shù)據(jù)的平安性愛護(hù):愛護(hù)數(shù)據(jù)以防止不合法的運(yùn)用造成的數(shù)

據(jù)的泄密和破壞;數(shù)據(jù)的完整性檢查:將數(shù)據(jù)限制在有效的范圍內(nèi),或保

證數(shù)據(jù)之間滿意確定的關(guān)系;并發(fā)限制:對(duì)多用戶的并發(fā)操作加以限制和

協(xié)調(diào),保證并發(fā)操作的正確性;數(shù)據(jù)庫復(fù)原:當(dāng)計(jì)算機(jī)系統(tǒng)發(fā)生硬件故障、

軟件故障,或者由于操作員的失誤以與有意的破壞影響數(shù)據(jù)庫中數(shù)據(jù)的正

確性,甚至造成數(shù)據(jù)庫部分或全部數(shù)據(jù)的丟失時(shí),能將數(shù)據(jù)庫從錯(cuò)誤狀態(tài)

復(fù)原到某一已知的正確狀態(tài)(亦稱為完整狀態(tài)或一樣狀態(tài))。下面可以得

到“什么是數(shù)據(jù)庫”的一個(gè)定義:數(shù)據(jù)庫是長期存儲(chǔ)在計(jì)算機(jī)內(nèi)有組織的

大量的共享的數(shù)據(jù)集合,它可以供各種用戶共享,具有最小冗余度和較高

的數(shù)據(jù)獨(dú)立性。DBMS在數(shù)據(jù)庫建立、運(yùn)用和維護(hù)時(shí)對(duì)數(shù)據(jù)庫進(jìn)行統(tǒng)一限

制,以保證數(shù)據(jù)的完整性、平安性,并在多用戶同時(shí)運(yùn)用數(shù)據(jù)庫時(shí)進(jìn)行并

發(fā)限制,在發(fā)生故障后對(duì)系統(tǒng)進(jìn)行復(fù)原。數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從

以加工數(shù)據(jù)的程序?yàn)橹行霓D(zhuǎn)向圍繞共享的數(shù)據(jù)庫為中心的新階段。

6.數(shù)據(jù)庫管理系統(tǒng)的主要功能有哪些?

答:

(1)數(shù)據(jù)庫定義功能;

(2)數(shù)據(jù)存取功能;

(3)數(shù)據(jù)庫運(yùn)行管理;

(4)數(shù)據(jù)庫的建立和維護(hù)功能。

7.試述數(shù)據(jù)模型的概念、數(shù)據(jù)模型的作用和數(shù)據(jù)模型的三個(gè)要素。

答:

數(shù)據(jù)模型是數(shù)據(jù)庫中用來對(duì)現(xiàn)實(shí)世界進(jìn)行抽象的工具,是數(shù)據(jù)庫中用于供

應(yīng)信息表示和操作手段的形式構(gòu)架。一般地講,數(shù)據(jù)模型是嚴(yán)格定義的概

念的集合。這些概念精確描述了系統(tǒng)的靜態(tài)特性、動(dòng)態(tài)特性和完整性約束

條件。因此數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分生成。

(1)數(shù)據(jù)結(jié)構(gòu):是所探討的對(duì)象類型的集合,是對(duì)系統(tǒng)靜態(tài)特性的描

述。

(2)數(shù)據(jù)操作:是指對(duì)數(shù)據(jù)庫中各種對(duì)象(型)的實(shí)例(值)允許進(jìn)

行的操作的集合,包括操作與有關(guān)的操作規(guī)則,是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。

(3)數(shù)據(jù)的約束條件:是一組完整性規(guī)見的集合。完整性規(guī)則是給定

的數(shù)據(jù)模型中數(shù)據(jù)與其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)

模型的數(shù)據(jù)庫狀態(tài)以與狀態(tài)的變更,以保證數(shù)據(jù)的正確、有效、相容。解

析數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)中最重要的概念之一。必需通過《概論》的

學(xué)習(xí)真正駕馭數(shù)據(jù)模型的概念和作用。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)。任

何一個(gè)DBMS都以某一個(gè)數(shù)據(jù)模型為基礎(chǔ),或者說支持某一個(gè)數(shù)據(jù)模型。

數(shù)據(jù)庫系統(tǒng)中,模型有不同的層次。依據(jù)模型應(yīng)用的不同目的,可以珞模

型分成兩類或者說兩個(gè)層次:一類是概念模型,是按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)

和信息建模,用于信息世界的建模,強(qiáng)調(diào)語義表達(dá)實(shí)力,概念簡潔清楚;

另一類是數(shù)據(jù)模型,是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模,用于機(jī)器世界,

人們可以用它定義、操縱數(shù)據(jù)庫中的數(shù)據(jù),一般須要有嚴(yán)格的形式化定義

和一組嚴(yán)格定義了語法和語義的語言,并有一些規(guī)定和限制,便于在機(jī)器

上實(shí)現(xiàn)。

8.試述概念模型的作用。

答:

概念模型事實(shí)上是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。概念模型用于信

息世界的建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象,是數(shù)據(jù)庫設(shè)計(jì)人員

進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的有力工具,也是數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行溝通的

語言。

9.定義并說明概念模型中以下術(shù)語:實(shí)體,實(shí)體型,實(shí)體集,屬性,碼,

實(shí)體聯(lián)系圖(E—R圖)

答:

實(shí)體:客觀存在并可以相互區(qū)分的事物叫實(shí)體。實(shí)體型:具有相同屬性的

實(shí)體具有相同的特征和性質(zhì),用實(shí)體名與其屬性名集合來抽象和刻畫同類

實(shí)體,稱為實(shí)體型。實(shí)體集:同型實(shí)體的集合稱為實(shí)體集。屬性:實(shí)體所

具有的某一特性,一個(gè)實(shí)體可由若干個(gè)屬性來刻畫。碼:惟一標(biāo)識(shí)實(shí)體的

屬性集稱為碼。實(shí)體聯(lián)系圖(E—R圖):供應(yīng)了表示實(shí)體型、屬性和

聯(lián)系的方法:-實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名;-屬性:

用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來;-聯(lián)系:用菱

形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同

時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n或m:n)。

10.試給出3個(gè)實(shí)際部門的E—R圖,要求實(shí)體型之間具有一對(duì)一、

一對(duì)多、多對(duì)多各種不同的聯(lián)系。

答:

11.試給出一個(gè)實(shí)際部門的E—R圖,要求有三個(gè)實(shí)體型,而且3個(gè)

實(shí)體型之間有多對(duì)多聯(lián)系。3個(gè)實(shí)體型之間的多對(duì)多聯(lián)系和三個(gè)實(shí)體型

兩兩之間的三個(gè)多對(duì)多聯(lián)系等價(jià)嗎?為什么?

答:

3個(gè)實(shí)體型之間的多對(duì)多聯(lián)系和3個(gè)實(shí)體型兩兩之間的3個(gè)多對(duì)多聯(lián)

系是不等價(jià),因?yàn)樗鼈儞碛胁煌恼Z義。3個(gè)實(shí)體型兩兩之間的三個(gè)多

對(duì)多朕系如下圖所示。

12.

;每個(gè)班有若干學(xué)生,每個(gè)學(xué)生選修若干課程,每門課可由若干學(xué)生選修。

請(qǐng)用E—R圖畫出此學(xué)校的概念模型。

答:

13.某工廠生產(chǎn)若干產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的零件可用

在不同的產(chǎn)品上。這些零件由不同的原材料制成,不同零件所用的材料可

以相同。這些零件按所屬的不同產(chǎn)品分別放在倉庫中,原材料依據(jù)類別放

在若干倉庫中。請(qǐng)用E—R圖畫出此工廠產(chǎn)品、零件、材料、倉庫的概

念模型。

答:

14.試述層次模型的概念,舉出三個(gè)層次模型的實(shí)例。

答:

(1)教員學(xué)生層次數(shù)據(jù)庫模型

(2)行政機(jī)構(gòu)層次數(shù)據(jù)庫模型

(3)行政區(qū)域?qū)哟螖?shù)據(jù)庫模型

15.今有一個(gè)層次數(shù)據(jù)庫實(shí)例,試用子女一兄弟鏈接法和層次序列鏈接法

AI

/|\/\

C3?CIOCI2CII

/1\

D2D3M

畫出它的存儲(chǔ)結(jié)構(gòu)示意圖。

答:

子女兄弟鏈接法:

層次序列鏈接法:

16.試述網(wǎng)狀模型的概念,舉出三個(gè)網(wǎng)狀模型的實(shí)例。

答:

滿意下面兩個(gè)條件的基本層次聯(lián)系集合為網(wǎng)狀模型。

(1)允許一個(gè)以上的結(jié)點(diǎn)無雙親;(2)一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的

雙親。

實(shí)例1:

實(shí)例2:

實(shí)例3:

17.試述網(wǎng)狀、層次數(shù)據(jù)庫的優(yōu)缺點(diǎn)。

答:

層次模型的優(yōu)點(diǎn)主要有:(1)模型簡潔,對(duì)具有一對(duì)多層次關(guān)系的部

門描述特別自然、直觀,簡潔理解,這是層次數(shù)據(jù)庫的突出優(yōu)點(diǎn);(2)

用層次模型的應(yīng)用系統(tǒng)性能好,特殊是對(duì)于那些實(shí)體間聯(lián)系是固定的且預(yù)

先定義好的應(yīng)用,采納層次模型來實(shí)現(xiàn),其性能優(yōu)于關(guān)系模型;(3)

層次數(shù)據(jù)模型供應(yīng)了良好的完整性支持。

層次模型的缺點(diǎn)主要有:(1)現(xiàn)實(shí)世界中很多聯(lián)系是非層次性的,如

多對(duì)多聯(lián)系、一個(gè)結(jié)點(diǎn)具有多個(gè)雙親等,層次模型不能自然地表示這類聯(lián)

系,只能通過引入冗余數(shù)據(jù)或引入虛擬結(jié)點(diǎn)來解決;(2)對(duì)插入和刪

除操作的限制比較多;(3)查詢子女結(jié)點(diǎn)必需通過雙親結(jié)點(diǎn)。

網(wǎng)狀數(shù)據(jù)模型的優(yōu)點(diǎn)主要有:(1)能夠更為干脆地描述現(xiàn)實(shí)世界,如

一個(gè)結(jié)點(diǎn)可以有多個(gè)雙親;(2)具有良好的性能,存取效率較高。

網(wǎng)狀數(shù)據(jù)模型的缺點(diǎn)主要有:(1)結(jié)構(gòu)比較困難,而且隨著應(yīng)用環(huán)境

的擴(kuò)大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越困難,不利于最終用戶駕馭;(2)

其DDL、DML語言困難,用戶不簡潔運(yùn)用。由于記錄之間聯(lián)系是通過存

取路徑實(shí)現(xiàn)的,應(yīng)用程序在訪問數(shù)據(jù)時(shí)必需選擇適當(dāng)?shù)拇嫒÷窂?。因此?/p>

用戶必需了解系統(tǒng)結(jié)構(gòu)的細(xì)微環(huán)節(jié),加重了編寫應(yīng)用程序的負(fù)擔(dān)。

18.試述關(guān)系模型的概念,定義并說明以下術(shù)語:(1)關(guān)系(2)

屬性(3)域(4)元組(5)主碼(6)重量(7)關(guān)系模式

答:

關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。

在用戶觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組

成。(1)關(guān)系:一個(gè)關(guān)系對(duì)應(yīng)通常說的一張表;(2)屬性:表中的

一列即為一個(gè)屬性;(3)域:屬性的取值范圍;(4)元組:表中的

一行即為一個(gè)元組;(5)主碼:表中的某個(gè)屬性組,它可以惟一確定

一個(gè)元組;(6)重量:元組中的一個(gè)屬性值;(7)關(guān)系模式:對(duì)關(guān)

系的描述,一般表示為關(guān)系名(屬性1,屬性2,…,屬性n)

19.試述關(guān)系數(shù)據(jù)庫的特點(diǎn)。

答:

關(guān)系數(shù)據(jù)模型具有下列優(yōu)點(diǎn):(1)關(guān)系模型與非關(guān)系模型不同,它是

建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的。(2)關(guān)系模型的概念單一,無論

實(shí)體還是實(shí)體之間的聯(lián)系都用關(guān)系表示,操作的對(duì)象和操作的結(jié)果都是關(guān)

系,所以其數(shù)據(jù)結(jié)構(gòu)簡潔、清楚,用戶易懂易用。(3)關(guān)系模型的存

取路徑對(duì)用戶透亮,從而具有更高的數(shù)據(jù)獨(dú)立性、更好的平安保密性,也

簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作。當(dāng)然,關(guān)系數(shù)據(jù)模型也有

缺點(diǎn),其中最主要的缺點(diǎn)是,由于存取路徑對(duì)用戶透亮,查詢效率往往不

如非關(guān)系數(shù)據(jù)模型。因此為了提高性能,必需對(duì)用戶的查詢懇求進(jìn)行優(yōu)化,

增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度。

20.試述數(shù)據(jù)庫系統(tǒng)三級(jí)模式結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)點(diǎn)是什么?

答:

數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)由外模式、模式和內(nèi)模式組成。(參見書上圖1.

29)外模式,亦稱子模式或用戶模式,是數(shù)據(jù)庫用戶(包括應(yīng)用程序員

和最終用戶)能夠望見和運(yùn)用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)

據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。模式,亦稱

邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是全部用戶的

公共數(shù)據(jù)視圖。模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)。外模式涉與的是數(shù)據(jù)

的局部邏輯結(jié)構(gòu),通常是模式的子集。內(nèi)模式,亦稱存儲(chǔ)模式,是數(shù)據(jù)在

數(shù)據(jù)庫系統(tǒng)內(nèi)部的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述。數(shù)據(jù)庫

系統(tǒng)的三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別,它把數(shù)據(jù)的具體組織留給

DBMs管理,運(yùn)用戶能邏輯抽象地處理數(shù)據(jù),而不必關(guān)切數(shù)據(jù)在計(jì)算機(jī)中

的表示和存儲(chǔ)工為了能夠在內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)

庫系統(tǒng)在這三級(jí)模式之間供應(yīng)了兩層映像:外模式/模式映像和模式/內(nèi)

模式映像。正是這兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏

輯獨(dú)立性和物理獨(dú)立性。

21.定義并說明以下術(shù)語:模式、外模式、內(nèi)模式、DDL、DML模式、

外模式、內(nèi)模式,亦稱邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征

的描述,是全部用戶的公共數(shù)據(jù)視圖。模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)。

外模式涉與的是數(shù)據(jù)的局部邏輯結(jié)構(gòu),通常是模式的子集。內(nèi)模式,亦稱

存儲(chǔ)模式,是數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)部的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)

方式的描述。DDL:數(shù)據(jù)定義語言,用來定義數(shù)據(jù)庫模式、外模式、內(nèi)

模式的語言。DML:數(shù)據(jù)操縱語言,用來對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢、

播入、刪除和修改的語句。

22.什么叫數(shù)據(jù)與程序的物理獨(dú)立性?什么叫數(shù)據(jù)與程序的邏輯獨(dú)立

性?為什么數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)與程序的獨(dú)立性?

答:

數(shù)據(jù)與程序的邏輯獨(dú)立性:當(dāng)模式變更時(shí)(例如增加新的關(guān)系、新的屬性、

變更屬性的數(shù)據(jù)類型等),由數(shù)據(jù)庫管理員對(duì)各個(gè)外模式/模式的映像做

相應(yīng)變更,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,

從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,筒稱數(shù)據(jù)的邏

輯獨(dú)立性。數(shù)據(jù)與程序的物理獨(dú)立性:當(dāng)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)變更了,由數(shù)

據(jù)庫管理員對(duì)模式/內(nèi)模式映像做相應(yīng)變更,可以使模式保持不變,從而

應(yīng)用程序也不必變更,保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡稱數(shù)據(jù)的物理

獨(dú)立性。數(shù)據(jù)庫管理系統(tǒng)在三級(jí)模式之間供應(yīng)的兩層映像保證了數(shù)據(jù)庫系

統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。

23.試述數(shù)據(jù)庫系統(tǒng)的組成。

答:

數(shù)據(jù)庫系統(tǒng)一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)[與其開發(fā)工具)、應(yīng)用系統(tǒng)、

數(shù)據(jù)庫管理員和用戶構(gòu)成。

24.DBA的職責(zé)是什么?

答:

負(fù)責(zé)全面地管理和限制數(shù)據(jù)庫系統(tǒng)。具體職責(zé)包括:①確定數(shù)據(jù)庫的信

息內(nèi)容和結(jié)構(gòu);②確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)和存取策略;③定義數(shù)據(jù)的

平安性要求和完整性約束條件;④監(jiān)督和限制數(shù)據(jù)庫的運(yùn)用和運(yùn)行;⑤

改進(jìn)和重組數(shù)據(jù)庫系統(tǒng)。25.系統(tǒng)分析員、數(shù)據(jù)庫設(shè)計(jì)人員、應(yīng)用程序

員的職責(zé)是什么?答系統(tǒng)分析員負(fù)責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)范說明,系

統(tǒng)分析員要和用戶與DBA相結(jié)合,確定系統(tǒng)的硬件、軟件配置,并參與

數(shù)據(jù)庫系統(tǒng)的概要設(shè)計(jì)。數(shù)據(jù)庫設(shè)計(jì)人員負(fù)責(zé)數(shù)據(jù)庫中數(shù)據(jù)的確定、數(shù)據(jù)

庫各級(jí)模式的設(shè)計(jì)。數(shù)據(jù)庫設(shè)計(jì)人員必需參與用戶需求調(diào)查和系統(tǒng)分析,

然后進(jìn)行數(shù)據(jù)庫設(shè)計(jì)。在很多狀況下,數(shù)據(jù)庫設(shè)計(jì)人員就由數(shù)據(jù)庫管理員

擔(dān)當(dāng)。應(yīng)用程序員負(fù)責(zé)設(shè)計(jì)和編寫應(yīng)用系統(tǒng)的程序模塊,并進(jìn)行調(diào)試和安

裝。

第2章關(guān)系數(shù)據(jù)庫

1.試述關(guān)系模型的三個(gè)組成部分。

答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組

成。

2.試述關(guān)系數(shù)據(jù)語言的特點(diǎn)和分類。

答:關(guān)系數(shù)據(jù)語言可以分為三類:

關(guān)系代數(shù)語言。

關(guān)系演算語言:元組關(guān)系演算語言和域關(guān)系演算語言。

SQL:具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語言。

這些關(guān)系數(shù)據(jù)語言的共同特點(diǎn)是,語言具有完備的表達(dá)實(shí)力,是非過

程化的集合操作語言,功能強(qiáng),能夠嵌入高級(jí)語言中運(yùn)用。

4.試述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外部碼屬性的

值也可以為空?什么狀況下才可以為空?

答:實(shí)體完整性規(guī)則是指若屬性A是基本關(guān)系R的主屬性,則屬性A不能

取空值。

若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對(duì)

應(yīng)(基本關(guān)系R和S不確定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的

值必需為:或者取空值(F的每個(gè)屬性值均為空值);或者等于S中某個(gè)元

組的主碼值。即屬性F本身不是主屬性,則可以取空值,否則不能取空值。

5.設(shè)有一個(gè)SPJ數(shù)據(jù)庫,包括S,P,J,SPJ四個(gè)關(guān)系模式:

1)求供應(yīng)工程J1零件的供應(yīng)商號(hào)碼SNO:

nSno(oSno='JI'(SPJ))

2)求供應(yīng)工程JI零件Pl的供應(yīng)商號(hào)碼SNO:

nSno(oSno='JI'APno='Pl'(SPJ))

3)求供應(yīng)工程JI零件為紅色的供應(yīng)商號(hào)碼SNO:

nSno(oPno='Pl'(。COLOR='紅'(P)coSPJ))

4)求沒有運(yùn)用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)JNO:

nJno(SPJ)-JiJNO(ocity='天津'AColor='紅'(SooSPJoop)

5)求至少用了供應(yīng)商SI所供應(yīng)的全部零件的工程號(hào)JNO:

nJno,Pno(SPJ)-?nPno(nSno='SI'(SPJ))

6.試述等值連接與自然連接的區(qū)分和聯(lián)系。

答:連接運(yùn)算符是“二”的連接運(yùn)算稱為等值連接。它是從關(guān)系R與S的

廣義笛卡爾積中選取A,B屬性值相等的那些元組

自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的重量必需

是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉。

7.關(guān)系代數(shù)的基本運(yùn)算有哪些?如何用這些基本運(yùn)算來表示其他運(yùn)算?

答:并、差、笛卡爾積、投影和選擇5種運(yùn)算為基本的運(yùn)算。其他3種運(yùn)

算,即交、連接和除,均可以用這5種基本運(yùn)算來表達(dá)。

第3章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL

1.試述sQL語言的特點(diǎn)。

答:

(1)綜合統(tǒng)一。sQL語言集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、

數(shù)據(jù)限制語言DCL的功能于一體。

(2)高度非過程化。用sQL語言進(jìn)行數(shù)據(jù)操作,只要提出“做什么”,而

無需指明“怎么做”,因此無需了解存取路徑,存取路徑的選擇以與sQL語

句的操作過程由系統(tǒng)自動(dòng)完成。

(3)面對(duì)集合的操作方式。sQL語言采納集合操作方式,不僅操作對(duì)象、

查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對(duì)象也可

以是元組的集合。

(4)以同一種語法結(jié)構(gòu)供應(yīng)兩種運(yùn)用方式。sQL語言既是自含式語言,

又是嵌入式語言。作為自含式語言,它能夠獨(dú)立地用于聯(lián)機(jī)交互的運(yùn)用方

式;作為嵌入式語言,它能夠嵌入到高級(jí)語言程序中,供程序員設(shè)計(jì)程序

時(shí)運(yùn)用。

(5)語言簡捷,易學(xué)易用。

2.試述sQL的定義功能。

sQL的數(shù)據(jù)定義功能包括定義表、定義視圖和定義索引。SQL語言運(yùn)用

CREATETABLE語句建立基本表,ALTERTABLE語句修改基本表定義,

DROPTABLE語句刪除基本表;運(yùn)用CREATEINDEX語句建立索引,DROP

INDEX語句刪除索引;運(yùn)用CREATEVIEW語句建立視圖,DROPVIEW語

句刪除視圖。

3.用sQL語句建立其次章習(xí)題5中的4個(gè)表。

答:

對(duì)于S表:S(SNO,SNAME,STATUS,CITY);

建S表:

CREATETABLES(SnoC(2)UNIQUE,SnameC(6),StatusC':2),

CityC(4));

對(duì)于P表:P(PNO,PNAME,COLOR,WEIGHT);

建P表:

CREATETABLEP':PnoC(2)UNIQUE,PnameC(6),COLORC(2),

WEIGHTTNT);

對(duì)于J表:J(JNO,JNAME,CITY);

建J表:

CREATETABLEJ(JnoC(2)UNIQUE,JNAMEC(8),CITYC(4))

對(duì)于sPJ表:sPJ(sNo,PNo,JNo,QTY);

建SPJ表:SPJ(SNO,PNO,JNO,QTY)

CREATETABLESPJ(SnoC(2),PnoC(2),JNOC(2),QTYINT))

4.針對(duì)上題中建立的4個(gè)表試用sQL語言完成其次章習(xí)題5中的查

詢。

(1)求供應(yīng)工程J1零件的供應(yīng)商號(hào)碼SNO;

SELECTDISTSNOFROMSPJWHEREJNO=,JI'

(2)求供應(yīng)工程JI零件Pl的供應(yīng)商號(hào)碼SNO;

SELECTDTSTSNOFROMSPJWHEREJNO'Jl'ANDPNO'Pl'

(3)求供應(yīng)工程JI零件為紅色的供應(yīng)商號(hào)碼SNO;

SELECTSNOFROMSPJ,PWHEREJNO='JI'ANDSPJ.PNO=P.PNOANDCOLO"

紅,

(4)求沒有運(yùn)用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)JNO;

SELECTDISTJNOFROMSPJWHEREJNONOTIN(SELEJNOFROM

SPJ,P,SWHERES.CITY=’天津'ANDCOLOR='紅'ANDS.SNO=SPJ.SNO

ANDP.PNO=SPJ.PNO)o

(5)求至少用了供應(yīng)商SI所供應(yīng)的全部零件的工程號(hào)JNO;

由于VFP不允許子查詢嵌套太深,將查詢分為兩步

A、查詢S1供應(yīng)商供應(yīng)的零件號(hào)

SELECTDISTPNOFROMSPJWHERESNO='SI'結(jié)果是(Pl,P2)

B、查詢哪一個(gè)工程既運(yùn)用Pl零件又運(yùn)用P2零件。

SELECTJNOFROMSPJWHEREPNO='Pl'

ANDJNOIN(SELECTJNOFROMSPJWHEREPNO='P2')

5.針對(duì)習(xí)題3中的四個(gè)表試用SQL語言完成以下各項(xiàng)操作:

(1)找出全部供應(yīng)商的姓名和所在城市。

SELECTSNAME,CITYFROMS

(2)找出全部零件的名稱、顏色、重量。

SELECTPNAME,COLOR,WEIGHTFROMP

(3)找出訪用供應(yīng)商S1所供應(yīng)零件的工程號(hào)碼。

SELECTDTSTJNOFROMSPJWHERESNO='SI'

⑷找出工程項(xiàng)目J2運(yùn)用的各種零件的名稱與其數(shù)量。

SELECTPNAME,QTYFROMSPJ,P

WHEREP.PNO=SPJ.PNOANDSPJ.JNO='J2'

⑸找出上海廠商供應(yīng)的全部零件號(hào)碼。

SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='上海'

(6)出訪用上海產(chǎn)的零件的工程名稱。

SELECTJNAMEFROMSPJ,S,J

WHERES.SNO=SPJ.SNOANDS.CITY='上海'ANDJ.JNO=SPJ.JNO

(7)找出沒有運(yùn)用天津產(chǎn)的零件的工程號(hào)碼。

留意:SELECTDISPJNOFROMSPJWHEREJNONOTIN(SELECTDISTJNO

FROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY』天津')適用于JNO是唯

一或不唯一的狀況.

留意、:SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOAND

S.CITY<>,天津'適用于JNO是唯一的狀況

(8)把全部紅色零件的顏色改成藍(lán)色。

UPDATEPSETCOLOR='藍(lán)'WHERECOLOR='紅'

(9)由S5供應(yīng)J4的零件P6改為由S3供應(yīng)。

UPDATESPJSETSNO='S3'WHERESNO='S5'ANDJNO='J4'AND

PNO』P6'

(10)從供應(yīng)商關(guān)系中刪除供應(yīng)商號(hào)是S2的記錄,并從供應(yīng)狀況關(guān)系中刪

除相應(yīng)的記錄。

A、DELETEFROMSWHERESNO='S2'

B、DELETEFROMSPJWHERESNO'S2'

(11)請(qǐng)將(S2,J6,P4,200)插入供應(yīng)狀況關(guān)系。

INSERTINTOSPJVALUES(<S2,,'J6','P4',200)

6.什么是基本表?什么是視圖?

兩者的區(qū)分和聯(lián)系是什么?基本表是本身獨(dú)立存在的表,在sQL中一個(gè)

關(guān)系就對(duì)應(yīng)一個(gè)表。視圖是從一個(gè)或幾個(gè)基本表導(dǎo)出的表。視圖本身不獨(dú)

立存儲(chǔ)在數(shù)據(jù)庫中,是一個(gè)虛表。即數(shù)據(jù)庫中只存放視圖的定義而不存放

視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。視圖在概念上

與基本表等同,用戶可以猶如基本表那樣運(yùn)用視圖,可以在視圖上再定義

視圖。

7.試述視圖的優(yōu)點(diǎn)。

(1)視圖能夠簡化用戶的操作;(2)視圖運(yùn)用戶能以多種角度看待

同一數(shù)據(jù);(3)視圖對(duì)重構(gòu)數(shù)據(jù)庫供應(yīng)了確定程度的邏輯獨(dú)立性;(4)

視圖能夠?qū)C(jī)密數(shù)據(jù)供應(yīng)平安愛護(hù)。

8.全部的視圖是否都可以更新?為什么?

答:

不是。視圖是不實(shí)際存儲(chǔ)數(shù)據(jù)的虛表,因此對(duì)視圖的更新,最終要轉(zhuǎn)換為

對(duì)基本表的更新。因?yàn)橛行┮晥D的更新不能惟一有意義地轉(zhuǎn)換成對(duì)相應(yīng)基

本表的更新,所以,并不是全部的視圖都是可更新的.

9.哪類視圖是可以更新的?哪類視圖是不行更新的?各舉一例說明。

答:基本表的行列子集視圖一般是可更新的。若視圖的屬性來自集函數(shù)、

表達(dá)式,則該視圖確定是不行以更新的。

10.試述某個(gè)你熟識(shí)的實(shí)際系統(tǒng)中對(duì)視圖更新的規(guī)定。

VFP

11.請(qǐng)為三建工程項(xiàng)目建立一個(gè)供應(yīng)狀況的視圖,包括供應(yīng)商代碼(SN0)、

零件代碼(PN0)、供應(yīng)數(shù)量(QTY)o

CREATEVIEWVSPASSELECTSNO,PNO,QTYFROMSPJ,J

WHERESPJ.JNO=J.JNOANDJ.JNAME二'三建'

針對(duì)該視圖VSP完成下列查詢:

(1)找出三建工程項(xiàng)目運(yùn)用的各種零件代碼與其數(shù)量。

SELECTDISTPNO,QTYFROMVSP

⑵找出供應(yīng)商SI的供應(yīng)狀況。

SELECTDIST*FROMVSPWHERESNO='SI'

第4章數(shù)據(jù)庫平安性

1.什么是數(shù)據(jù)庫的平安性?

答:數(shù)據(jù)庫的平安性是指愛護(hù)數(shù)據(jù)庫以防止不合法的運(yùn)用所造成的數(shù)據(jù)泄

露、更改或破壞。

2.數(shù)據(jù)庫平安性和計(jì)算機(jī)系統(tǒng)的平安性有什么關(guān)系?

答:平安性問題不是數(shù)據(jù)庫系統(tǒng)所獨(dú)有的,全部計(jì)算機(jī)系統(tǒng)都有這個(gè)問題。

只是在數(shù)據(jù)庫系統(tǒng)中大量數(shù)據(jù)集中存放,而且為很多最終用戶干脆共享,

從而使平安性問題更為突出。

系統(tǒng)平安愛護(hù)措施是否有效是數(shù)據(jù)庫系統(tǒng)的主要指標(biāo)之一。

數(shù)據(jù)庫的平安性和計(jì)算機(jī)系統(tǒng)的平安性,包括操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)的平安

性是緊密聯(lián)系、相互支持的,

3.試述可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)的狀況,試述TDI/TCSEC標(biāo)準(zhǔn)的基本

內(nèi)容。

答:各個(gè)國家在計(jì)算機(jī)平安技術(shù)方面都建立了一套可信標(biāo)準(zhǔn)。目前各國引

用或制定的一系列平安標(biāo)準(zhǔn)中,最重要的是美國國防部(DoD)正式頒布

的《DoD可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)》(伽stedCo哪utersystem

Evaluationcriteria,簡稱TcsEc,又稱桔皮書)。(TDI/TCSEC標(biāo)準(zhǔn)

是將TcsEc擴(kuò)展到數(shù)據(jù)庫管理系統(tǒng),即《可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)關(guān)于

可信數(shù)據(jù)庫系統(tǒng)的說明》(TmstedDatabaseInterpretation簡稱TDI,

又稱紫皮書)。在TDI中定義了數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)中需滿意和

用以進(jìn)行平安性級(jí)別評(píng)估的標(biāo)準(zhǔn)。

TDI與TcsEc一樣,從平安策略、責(zé)任、保證和文檔四個(gè)方面來描述平安

性級(jí)別劃分的指標(biāo)。每個(gè)方面乂細(xì)分為若干項(xiàng)。

4.試述TcsEC(TDI)將系統(tǒng)平安級(jí)別劃分為4組7個(gè)等級(jí)的基本內(nèi)

容。

答:依據(jù)計(jì)算機(jī)系統(tǒng)對(duì)平安性各項(xiàng)指標(biāo)的支持狀況,TCSEC(TDI)將系

統(tǒng)劃分為四組(division)7個(gè)等級(jí),依次是D、C(CI,CZ)、B(BI,

BZ,B3).A(AI),按系統(tǒng)牢靠或可信程度漸漸增高。

安全級(jí)別定義

殷諼設(shè)計(jì)(VTfird””赳)

安全域(St-iuilyIhMiuiiii*)

結(jié)構(gòu)化保護(hù)(StructuralPnWrrtion)

標(biāo)記安全保護(hù)(IH?klSecurityIH?后明)

受控的存取,呆護(hù)((LonlrolkslAccessProtectkm)

自I女個(gè)保護(hù)(l>i*?*EionnrySviirity”“rrgc>

最小保護(hù)(MinimalPfoloction)

這些平安級(jí)別之間具有一種偏序向下兼容的關(guān)系,即較高平安性級(jí)別供應(yīng)

的平安愛護(hù)包含較低級(jí)別的全部愛護(hù)要求,同時(shí)供應(yīng)更多或更完善的愛護(hù)

實(shí)力。各個(gè)等級(jí)的基本內(nèi)容為:

D級(jí)D級(jí)是最低級(jí)別。一切不符合更高標(biāo)準(zhǔn)的系統(tǒng),統(tǒng)統(tǒng)歸于D組。

C1級(jí)只供應(yīng)了特別初級(jí)的自主平安愛護(hù)。能夠?qū)崿F(xiàn)對(duì)用戶和數(shù)據(jù)的分別,

進(jìn)行自主存取限制(DAC),愛護(hù)或限制用戶權(quán)限的傳播。

C2級(jí)實(shí)際是平安產(chǎn)品的最低檔次,供應(yīng)受控的存取愛護(hù),即將C1級(jí)的

DAC進(jìn)一步細(xì)化,以個(gè)人身份注冊(cè)負(fù)責(zé),并實(shí)施審計(jì)和資源隔離。

B1級(jí)標(biāo)記平安愛護(hù)。對(duì)系統(tǒng)的數(shù)據(jù)加以標(biāo)記,并對(duì)標(biāo)記的主體和客體實(shí)

施強(qiáng)制存取限制(MAC)以與審計(jì)等平安機(jī)制。

B2級(jí)結(jié)構(gòu)化愛護(hù)。建立形式化的平安策略模型并對(duì)系統(tǒng)內(nèi)的全部主體和

客體實(shí)施DAC和MACo

B3級(jí)平安域。該級(jí)的TCB必需滿意訪問監(jiān)控器的要求,審計(jì)跟蹤實(shí)力更

強(qiáng),并供應(yīng)系統(tǒng)復(fù)原過程。

A1級(jí)驗(yàn)證設(shè)計(jì),即供應(yīng)B3級(jí)愛護(hù)的同時(shí)給出系統(tǒng)的形式化設(shè)計(jì)說明和驗(yàn)

證以確信各平安愛護(hù)真正實(shí)現(xiàn)。

5.試述實(shí)現(xiàn)數(shù)據(jù)庫平安性限制的常用方法和技術(shù)。

答:實(shí)現(xiàn)數(shù)據(jù)庫平安性限制的常用方法和技術(shù)有:

(1)用戶標(biāo)識(shí)和鑒別:該方法由系統(tǒng)供應(yīng)確定的方式讓用戶標(biāo)識(shí)自己的

名字或身份。每次用戶要求進(jìn)入系統(tǒng)時(shí),由系統(tǒng)進(jìn)行核對(duì),通過鑒定后才

供應(yīng)系統(tǒng)的運(yùn)用權(quán)。

(2)存取限制:通過用戶權(quán)限定義和合法權(quán)檢查確保只有合法權(quán)限的用

戶訪問數(shù)據(jù)庫,全部未被授權(quán)的人員無法存取數(shù)據(jù)。例如CZ級(jí)中的自主

存取限制(DAC),B1級(jí)中的強(qiáng)制存取限制(MAC)o

(3)視圖機(jī)制:為不同的用戶定義視圖,通過視圖機(jī)制把要保密的數(shù)據(jù)

對(duì)無權(quán)存取的用戶隱藏起來,從而自動(dòng)地對(duì)數(shù)據(jù)供應(yīng)確定程度的平安愛

護(hù)。

(4)審計(jì):建立審計(jì)日志,把用戶對(duì)數(shù)據(jù)庫的全部操作自動(dòng)記錄下來放

入審計(jì)日志中,DBA可以利用審計(jì)跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況

的一系列事務(wù),找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。

(5)數(shù)據(jù)加密:對(duì)存儲(chǔ)和傳輸?shù)臄?shù)據(jù)進(jìn)行加密處理,從而使得不知道解

密算法的人無法獲知數(shù)據(jù)的內(nèi)容。

6.什么是數(shù)據(jù)庫中的自主存取限制方法和強(qiáng)制存取限制方法?

答:

自主存取限制方法:定義各個(gè)用戶對(duì)不同數(shù)據(jù)對(duì)象的存取權(quán)限。當(dāng)用戶對(duì)

數(shù)據(jù)庫訪問時(shí)首先檢查用戶的存取權(quán)限。防止不合法用戶對(duì)數(shù)據(jù)庫的存

取。

強(qiáng)制存取限制方法:每一個(gè)數(shù)據(jù)對(duì)象被(強(qiáng)制地)標(biāo)以確定的密級(jí),每一

個(gè)用戶也被(強(qiáng)制地)授予某一個(gè)級(jí)別的許可證。系統(tǒng)規(guī)定只有具有某一

許可證級(jí)別的用戶才能存取某一個(gè)密級(jí)的數(shù)據(jù)對(duì)象。

7.SQL語言中供應(yīng)了哪些數(shù)據(jù)限制(自主存取限制)的語句?請(qǐng)?jiān)嚺e兒

例說明它們的運(yùn)用方法。

答:

SQL中的自主存取限制是通過GRANT語句和REVOKE語句來實(shí)現(xiàn)的。如:

GRANTSELECT,INSERTONStudent

TO王平

WITHGRANTOPTION;

就將Student表的SELECT和INSERT權(quán)限授予了用戶王平,后面的“WITH

GRANTOPTION”子句表示用戶王平同時(shí)也獲得了“授權(quán)”的權(quán)限,即可

以把得到的權(quán)限接著授予其他用戶。

REVOKEINSERTONStudentFROM王平CASCADE;

就將Student表的INSERT權(quán)限從用戶王平處收回,選項(xiàng)CASCADE表示,

假如用戶王平將Student的INSERT權(quán)限又轉(zhuǎn)授給了其他用戶,那么這些

權(quán)限也將從其他用戶處收回。

8.請(qǐng)用SQL的GRANT和REVOKE語句(加上視羽機(jī)制)完成以下授權(quán)定義或

存取限制功能:

(a)用戶王明對(duì)兩個(gè)表有SELECT權(quán)力。

GRANTSELECTON職工,部門

TO王明

(b)用戶李勇對(duì)兩個(gè)表有INSERT和DELETE權(quán)力。

GRANTINSERT,DELETEON職工,部門

TO李勇

(c)每個(gè)職工只對(duì)自己的記錄有SELECT權(quán)力。

GRANTSELECTON職工

WHENUSER()=NAME

TOALL;

(d)用戶劉星對(duì)職工表有SELECT權(quán)力,對(duì)工資字段具有更新權(quán)力。

GRANTSELECT,UPDATE(工資)ON職工

TO劉星

(e)用戶張新具有修改這兩個(gè)表的結(jié)構(gòu)的權(quán)力。

GRANTALTERTABLEON職工,部門

TO張新;

(f)用戶周平具有對(duì)兩個(gè)表全部權(quán)力(讀,插,改,刪數(shù)據(jù)),并具有

給其他用戶授權(quán)的權(quán)力。

GRANTALLPRIVILIGESON職工,部門

TO周平

WITHGRANTOPTION;

(g)用戶楊蘭具有從每個(gè)部門職工中SELECT最高工資、最低工資、平

均工資的權(quán)力,他不能查看每個(gè)人的工資。

CREATEVIEW部門工斐AS

SELECT部門.名稱,MAX(工資),MIN(工資),AVG(工資)

FROM職工,部門

WHERE職工.部門號(hào)二部門.部門號(hào)

GROUPBY職工.部門號(hào)

GRANTSELECTON部門工資

TO楊蘭;

9.把習(xí)題8中(1)-一(7)的每一種狀況,撤銷各用戶所授予的權(quán)力

(1)REVOKESELECTON職工,部門FROM王明;

(2)REVOKEINSERT,DELETEON職工,部門FROM李勇;

(3)REOVKESELECTON職工

WHENUSER()二NAME

FROMALI;

(4)REVOKESELECT,UPDATEON職工

FROM劉星;

(5)REVOKEALTERTABLEON職工,部門

FROM張新;

(6)REVOKEALLPRIVILIGESON職工,部門

FROM周平;

(7)REVOKESELECTON部門工資

FROM楊蘭;

DROPVIEW部門工資;

10.為什么強(qiáng)制存取限制供應(yīng)了更高級(jí)別的數(shù)據(jù)庫平安性?

答:強(qiáng)制存取限制(MAC)是對(duì)數(shù)據(jù)本身進(jìn)行密級(jí)標(biāo)記,無論數(shù)據(jù)如何復(fù)

制,標(biāo)記與數(shù)據(jù)是一個(gè)不行分的整體,只有符合密級(jí)標(biāo)記要求的用戶才可

以操縱數(shù)據(jù),從而供應(yīng)了更高級(jí)別的平安性。

11.理解并說明MAC機(jī)制中主體、客體、敏感度標(biāo)記的含義。

答:

主體是系統(tǒng)中的活動(dòng)實(shí)體,既包括DBMS所管理的實(shí)際用戶,也包括代表

用戶的各進(jìn)程。

客體是系統(tǒng)中的被動(dòng)實(shí)體,是受主體操縱的,包括文件、基表、索引、視

圖等。對(duì)于主體和客體,DBMS為它們每個(gè)實(shí)例(值)指派一個(gè)敏感度標(biāo)

記(Label)。

敏感度標(biāo)記被分成若干級(jí)別,例如絕密(TopSecret)、機(jī)密(Secret)?可

信(Confidential)、公開(Public)等。主體的敏感度標(biāo)記稱為許可

證級(jí)別(Clearance玫vel),客體的敏感度標(biāo)記稱為密級(jí)

(ClassificationLevel)。

13.什么是數(shù)據(jù)庫的審計(jì)功能,為什么要供應(yīng)審計(jì)功能?

答:審計(jì)功能是指DBMS的審計(jì)模塊在用戶對(duì)數(shù)據(jù)庫執(zhí)行操作的同時(shí)把全

部操作自動(dòng)記錄到系統(tǒng)的審計(jì)日志中。

因?yàn)槿魏蜗到y(tǒng)的平安愛護(hù)措施都不是完備無缺的,蓄意盜竊破壞數(shù)據(jù)的人

總可能存在。利用數(shù)據(jù)庫的審計(jì)功能,DBA可以依據(jù)審計(jì)跟蹤的信息,重

現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事務(wù),找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)

容等。

14.統(tǒng)計(jì)數(shù)據(jù)庫中存在何種特殊的平安性問題?

答:統(tǒng)計(jì)數(shù)據(jù)庫允許用戶查詢聚集類型的信息,如合計(jì)、平均值、最大值、

最小值等,不允許查詢單個(gè)記錄信息。但是,人們可以從合法的查詢中推

導(dǎo)出不合法的信息,即可能存在隱藏的信息通道,這是統(tǒng)計(jì)數(shù)據(jù)庫要探討

和解決的特殊的平安性問題。

第5章數(shù)據(jù)庫完整性

1什么是數(shù)據(jù)庫的完整性?

答:

數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。

2.數(shù)據(jù)庫的完整性概念與數(shù)據(jù)庫的平安性概念有什么區(qū)分和聯(lián)系?

答:

數(shù)據(jù)的完整性和平安性是兩個(gè)不同的概念,但是有確定的聯(lián)系。前者是為

了防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),防止錯(cuò)誤信息的輸入和輸出,即

所謂垃圾進(jìn)垃圾出(Garba:eInGarba:eout)所造成的無效操作

和錯(cuò)誤結(jié)果。后者是愛護(hù)數(shù)據(jù)庫防止惡意的破壞和非法的存取。也就是說,

平安性措施的防范對(duì)象是非法用戶和非法操作,完整性措施的防范對(duì)象是

不合語義的數(shù)據(jù)。

3.什么是數(shù)據(jù)庫的完整性約束條件?可分為哪幾類?

完整性約束條件是指數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)當(dāng)滿意的語義約束條件。一般可以

分為六類:靜態(tài)列級(jí)約束、靜態(tài)元組約束、靜態(tài)關(guān)系約束、動(dòng)態(tài)列級(jí)約束、

動(dòng)態(tài)元組約束、動(dòng)態(tài)關(guān)系約束。靜態(tài)列級(jí)約束是對(duì)一個(gè)列的取值域的說明,

包括以下幾個(gè)方面:(1)對(duì)數(shù)據(jù)類型的約束,包括數(shù)據(jù)的類型、長度、

單位、精度等;(2)對(duì)數(shù)據(jù)格式的約束;(3)對(duì)取值范圍或取值集

合的約束;(4)對(duì)空值的約束;(5)其他約束。靜態(tài)元組約束就是

規(guī)定組成一個(gè)元組的各個(gè)列之間的約束關(guān)系,靜態(tài)元組約束只局限在單個(gè)

元組上。靜態(tài)關(guān)系約束是在一個(gè)關(guān)系的各個(gè)元組之間或者若干關(guān)系之間常

常存在各種聯(lián)系或約束。

常見的靜態(tài)關(guān)系約束有:(1)實(shí)體完整性約束;(2)參照完整性約

束;(3)函數(shù)依靠約束。

動(dòng)態(tài)列級(jí)約束是修改列定義或列值時(shí)應(yīng)滿意的約束條件,包括下面兩方

面:(1)修改列定義時(shí)的約束;(2)修改列值時(shí)的約束。動(dòng)態(tài)元組

約束是指修改某個(gè)元組的值時(shí)須要參照其舊值,并且新舊值之間須要滿意

某種約束條件。動(dòng)態(tài)關(guān)系約束是加在關(guān)系變更前后狀態(tài)上的限制條件,例

如事務(wù)一樣性、原子性等約束條件。

4.DBMS的完整性限制機(jī)制應(yīng)具有哪些功能?

答:

DBMS的完整性限制機(jī)制應(yīng)具有三個(gè)方面的功能:(1)定義功能,即供

應(yīng)定義完整性約束條件的機(jī)制;(2)檢查功能,即檢查用戶發(fā)出的操

作懇求是否違反了完整性約束條件;(3)違約反應(yīng):假如發(fā)覺用戶的操

作懇求使數(shù)據(jù)違反了完整性約束條件,則實(shí)行確定的動(dòng)作來保證數(shù)據(jù)的完

整性。

5.RDBMS在實(shí)現(xiàn)參照完整性時(shí)須要考慮哪些方面?

RDBMs在實(shí)現(xiàn)參照完整性時(shí)須要考慮以下幾個(gè)方面:(1)外碼是否可

以接受空值。(2)冊(cè)1除被參照關(guān)系的元組時(shí)的考慮,這時(shí)系統(tǒng)可能

實(shí)行的作法有三種:1)級(jí)聯(lián)刪除(CASCADES);2)受限刪除

(RESTRICTED);3)置空值刪除(NULLIFIES)。(3)在參照關(guān)

系中插入元組時(shí)的問題,這時(shí)系統(tǒng)可能實(shí)行的作法有:1)受限插入;2)

遞歸插入。(4)修改關(guān)系中主碼的問題。一般是不能用UPDATE語句

修改關(guān)系主碼的。假如須要修改主碼值,只能先刪除該元組,然后再把具

有新主碼值的元組插入到關(guān)系中。假如允許修改主碼,首先要保證主碼的

惟一性和非空,否則拒絕修改。然后要區(qū)分是參照關(guān)系還是被參照關(guān)系。

6.假設(shè)有下面兩個(gè)關(guān)系模式:職工(職工號(hào),姓名,年齡,職務(wù),工資,

部門號(hào)),其中職工號(hào)為主碼;部門(部門號(hào),名稱,經(jīng)理名,電話),其

中部門號(hào)為主碼。用sQL語言定義這兩個(gè)關(guān)系模式,要求在模式中完成

以下完整性約束條件的定義:定義每個(gè)模式的主碼;定義參照完整性;定

義職工年齡不得超過60歲。

CREATETABLEDEPT

(DeptnoNUMBER(2),

DeptnameVARCIIAR(IO),

ManagerVARCHAR(IO),

PhoneNumberChar(12)

CONSTRAINTPKSCRIMARYKEY(Deptno));

CREATETABLEEMP

(EmpnoNUMBER(4),

EnameVARCIIAR(IO),

AgeNUMBER(2),

CONSTRAINTClCHECK(Aage<=60),

JobVARCHAR(9),

SalNUMBER(7,2),

DeptnoNUMBER(2),

CONSTRAINTFKJEPTNO

FOREIGNKEY(Deptno)

REFFERENCESDEPT(Deptno));

7.關(guān)系系統(tǒng)中,當(dāng)操作違反實(shí)體完整性、參照完整性和用戶定義的完整

性約束條件時(shí),一般是如何分別進(jìn)行處理的?

答:

對(duì)于違反實(shí)體完整性和用戶定義的完整性的操作一般都采納拒絕執(zhí)行的

方式進(jìn)行處理。而對(duì)于違反參照完整性的操作,并不都是簡潔地拒絕執(zhí)行,

有時(shí)要依據(jù)應(yīng)用語義執(zhí)行一些附加的操作,以保證數(shù)據(jù)庫的正確性。

第6章關(guān)系數(shù)據(jù)庫理論

1.理解并給出下列術(shù)語的定義:

函數(shù)依靠、部分函數(shù)依靠、完全函數(shù)依靠、傳遞依靠、候選碼、主碼、外

碼、全碼(All—key)、1NF、ZNF、3NF、BcNF、多值依靠、4NF。

定義1:設(shè)R(U)是屬性集U上的關(guān)系模式。X,Y是屬性集U的子集。若對(duì)

于R(U)的隨意一個(gè)可能的關(guān)系r,r中不行能存在兩個(gè)元組在X上的屬性

值相等,而在Y上的屬性值不等,則稱X函數(shù)確定Y或Y函數(shù)依靠于X,

記作XYo(即只要X上的屬性值相等,Y上的值確定相等。)

術(shù)語和記號(hào):

XY,但Y不是X的子集,則稱XY是非平凡的函數(shù)依靠。若不特殊聲

明,總是探討非平凡的函數(shù)依靠。

XY,但Y是X的子集,則稱XY是平凡的函數(shù)依靠。

若XY,則X叫做確定因素(Determinant)。

若XY,YX,則記作XYo

若Y不函數(shù)依靠于X,則記作XYo

定義2:在R(U)中,假如XY,并且對(duì)于X的任何一個(gè)真子集X',都有

X'Y,則稱Y對(duì)X完全函數(shù)依靠

若XY,但Y不完全函數(shù)依靠于X,則稱Y對(duì)X部分函數(shù)依靠

定義3:若關(guān)系模式R的每一個(gè)重量是不行再分的數(shù)據(jù)項(xiàng),則關(guān)系模式R

屬于第一范式(1NF)。

定義4:若關(guān)系模式RW1NF,且每一個(gè)非主屬性完全函數(shù)依靠于碼,則關(guān)

系模式R£2NF。(即1NF消退了非主屬性對(duì)碼的部分函數(shù)依靠則成為

2NF)o

定義5:關(guān)系模式R<U,F>中若不存在這樣的碼X、屬性組Y與非主屬性

Z(Z不是Y的子集)使得XY,YX,YZ成立,則稱R<U,F>e3NFo

定義6:關(guān)系模式R〈U,F>eiNF。若XY且Y不是X的子集時(shí),X必含有

碼,則R<U,F>eBCNFo

定義7:關(guān)系模式R<U,F>eiNF,假如對(duì)于R的每個(gè)非平凡多值依靠

XY(Y不是X的子集,Z=U-X-Y不為空),X都含有碼,則稱R<U,F>£

4NF。

2.建立一個(gè)關(guān)于系、學(xué)生、班級(jí)、學(xué)會(huì)等諸信息的關(guān)系數(shù)據(jù)庫。

學(xué)生:學(xué)號(hào)、姓名、誕生年月、系名、班號(hào)、宿舍區(qū)。

班級(jí):班號(hào)、專業(yè)名、系名、人數(shù)、入校年份。

系:系名、系號(hào)、系辦公地點(diǎn)、人數(shù)。

學(xué)會(huì):學(xué)會(huì)名、成立年份、辦公地點(diǎn)、人數(shù)。

語義如下:一個(gè)系有若干專業(yè),每個(gè)專業(yè)每年只招一個(gè)班,每個(gè)班有

若干學(xué)生。一個(gè)系的學(xué)生住在同一宿舍區(qū)。每個(gè)學(xué)生可參與若干學(xué)會(huì),每

個(gè)學(xué)會(huì)有若干學(xué)生。學(xué)生參與某學(xué)會(huì)有一個(gè)入會(huì)年份。

請(qǐng)給出關(guān)系模式,寫出每個(gè)關(guān)系模式的微小函數(shù)依靠集,指出是否存

在傳遞函數(shù)依靠,對(duì)于函數(shù)依靠左部是多屬性的狀況探討函數(shù)依靠是完全

函數(shù)依靠,還是部分函數(shù)依靠。指出各關(guān)系模式的候選碼、外部碼,有沒

有全碼存在?

解:(1)關(guān)系模式如下:

學(xué)生:S(Sno,Sname,Sbirth,Dept,Class,Rno)

班級(jí):C(Class,Pnamc,Dept,Cnum,Cyear)

系:D(Dcpt,Dno,Office,Dnum)

學(xué)會(huì):M(Mname,Myear,Maddr,Mnum)

(2)每個(gè)關(guān)系模式的最小函數(shù)依靠集如下:

A、學(xué)生S(Sno,Sname,Sbirth,Dept,Class,Rno)的最小函數(shù)依靠

集如下:SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno

傳遞依靠如下:

由于SnoDept,而DeptSno,DeptRno(宿舍區(qū))

所以Sno與Rno之間存在著傳遞函數(shù)依靠。

由于ClassDept,DeptClass,DeptRno

所以Class與Rno之間存在著傳遞函數(shù)依靠。

由于SnoClass,ClassSno,ClassDept

所以Sno與Dept之間存在著傳遞函數(shù)依靠。

班級(jí)C(Class,Pname,Dept,Cnum,Cyear)的最小函數(shù)依靠集如下:

ClassPname,ClassCnum,ClassCyear,PnameDept.

由于ClassPname,PnameClass,PnameDept

所以Class與Dept之間存在著傳遞函數(shù)依靠。

C、系D(Dept,Dno,Office,Dnum)的最小函數(shù)依靠集如下:

DeptDno,DnoDept,DnoOffice,DnoDnum

依據(jù)上述函數(shù)依靠可知,Dept與Office,Dept與Dnum之間不存在傳

遞依靠。

D、學(xué)會(huì)M(Mname,Myear,Maddr,Mnum)的最小函數(shù)依靠集如下:

MnameMycar,MnameMaddr,MnameMnum

該模式不存在傳遞依靠。

(3)各關(guān)系模式的候選碼、外部碼,全碼如下:

AN學(xué)生S候選碼:Sno;外部碼:DeptsClass;無全碼

B、班級(jí)C候選碼:Class;外部碼:Dept;無全碼

C、系D候選碼:Dept或Dno;無外部碼;無全碼

D、學(xué)會(huì)M候選碼:Mname;無外部碼;無全碼

3.試由amstrong公理系統(tǒng)推導(dǎo)出下面三條推理規(guī)則:

(1)合并規(guī)則:若X-Z,X—丫,則有X-YZ

(2)偽傳遞規(guī)則:由x—丫,明吟z有翔一z

(3)分解規(guī)則:x—Y,zcy,有x—z

證明

(1)已知X—Z,由增廣律知喲,YZ,又因?yàn)閄—Y,可得獄一X卜)

YZ,最終依據(jù)傳遞律得x-YZo

(2)已知X—Y,據(jù)增廣律得翔一Wy,因?yàn)殛帋?Z,所以X林協(xié)

明,Z,通過傳遞律可知翔一Z。

(3)已知zcy,依據(jù)自反律知、吟z,又因?yàn)閤—Y,所以由傳遞律

可得x—Z.

5.試舉出3個(gè)多值依靠的實(shí)例。

答:

(1)關(guān)系模式MSC(M,S,C)中,M表示專業(yè),S表示學(xué)生,C表

示該專業(yè)的必修課。假設(shè)每個(gè)專業(yè)有多個(gè)學(xué)生,有一組必修課。設(shè)同專業(yè)

內(nèi)全部學(xué)生選修的必修課相同,實(shí)例關(guān)系如下。依據(jù)語義對(duì)于M的每一個(gè)

值Mi,s有一個(gè)完整的集合與之對(duì)應(yīng)而不問C取何值,所以M一—So

由于C與S的完全對(duì)稱性,必定有M一一C成立。

(2)關(guān)系模式ISA(I,S,A)中,I表示學(xué)生愛好小組,S表示學(xué)

生,A表示某愛好小組的活動(dòng)項(xiàng)目。假設(shè)每個(gè)愛好小組有多個(gè)學(xué)生,有若

干活動(dòng)項(xiàng)目。每個(gè)學(xué)生必需參與所在愛好小組的全部活動(dòng)項(xiàng)目,每個(gè)活動(dòng)

項(xiàng)目要求該愛好小組的全部學(xué)生參與。

依據(jù)語義有I一一S,I一一A成立。

(3)關(guān)系模式RDP(R,D,P)中,R表示醫(yī)院的病房,D表示責(zé)任

醫(yī)務(wù)人員,P表示病人。假設(shè)每個(gè)病房住有多個(gè)病人,有多個(gè)責(zé)任醫(yī)務(wù)人

員負(fù)責(zé)醫(yī)治和護(hù)理該病房的全部病人。

12.下面的結(jié)論哪些是正確的?哪些是錯(cuò)誤的?對(duì)于錯(cuò)誤的請(qǐng)給一個(gè)反例

說明之。

(1)任何一個(gè)二目關(guān)系是屬于3NF。

答:正確。因?yàn)殛P(guān)系模式中只有兩個(gè)屬性,所以無傳遞。

(2)任何一個(gè)二目關(guān)系是屬于BCNF.

答:正確。按BCNF的定義,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論