數(shù)據(jù)庫(kù)期末考試重點(diǎn)_第1頁(yè)
數(shù)據(jù)庫(kù)期末考試重點(diǎn)_第2頁(yè)
數(shù)據(jù)庫(kù)期末考試重點(diǎn)_第3頁(yè)
數(shù)據(jù)庫(kù)期末考試重點(diǎn)_第4頁(yè)
數(shù)據(jù)庫(kù)期末考試重點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)期末考試重點(diǎn)

1

第1章緒論

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

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

(2)數(shù)據(jù)庫(kù)(DB):數(shù)據(jù)庫(kù)是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)的、有組織的、可共

享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存,具

有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。

(3)數(shù)據(jù)庫(kù)系統(tǒng)(DBS):數(shù)據(jù)庫(kù)系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后

的系統(tǒng)構(gòu)成,一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系

統(tǒng)、數(shù)據(jù)庫(kù)管理員構(gòu)成。

⑷數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶與操作系統(tǒng)

之間的一層數(shù)據(jù)管理軟件,用于科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維

護(hù)數(shù)據(jù)。DBMS的主要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫(kù)

的運(yùn)行管理功能、數(shù)據(jù)庫(kù)的建立和維護(hù)功能。

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

大大提高應(yīng)用開發(fā)的效率,方便用戶的使用,減輕數(shù)據(jù)庫(kù)系統(tǒng)管理人

員維護(hù)的負(fù)擔(dān),等等。既便于數(shù)據(jù)的集中管理,控制數(shù)據(jù)冗余,提高數(shù)據(jù)

的利用率和一致性,又有利于應(yīng)用程序的開發(fā)和維護(hù)。

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

區(qū)別:文件系統(tǒng)面向某一應(yīng)用程序,共享性差,冗余度大,數(shù)據(jù)獨(dú)立性

差,記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu),由應(yīng)用程序自己控制。數(shù)據(jù)庫(kù)系統(tǒng)面向

現(xiàn)實(shí)世界,共享性高,冗余度小,具有較高的物理獨(dú)立性和一定的邏輯獨(dú)

立性,整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述,由數(shù)據(jù)庫(kù)管理系統(tǒng)提供數(shù)據(jù)的安全

性、完整性、并發(fā)控制和恢復(fù)能力。

聯(lián)系:文件系統(tǒng)與數(shù)據(jù)庫(kù)系統(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ù)庫(kù)中數(shù)據(jù)的組織和

存儲(chǔ)是通過操作系統(tǒng)中的文件系統(tǒng)來實(shí)現(xiàn)的。

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

庫(kù)系統(tǒng)的應(yīng)用例子。

適用于文件系統(tǒng):數(shù)據(jù)的備份、軟件或應(yīng)用程序使用過程中的臨時(shí)數(shù)

據(jù)存儲(chǔ)一般使用文件比較合適。早期功能比較簡(jiǎn)單、比較固定的應(yīng)用系統(tǒng)

也適合用文件系統(tǒng)。適用于數(shù)據(jù)庫(kù)系統(tǒng):目前,幾乎所有企業(yè)或部門的

信息系統(tǒng)都以數(shù)據(jù)庫(kù)系統(tǒng)為基礎(chǔ),都使用數(shù)據(jù)庫(kù)。例如,一個(gè)工廠的管理

信息系統(tǒng)(其中會(huì)包括許多子系統(tǒng),如庫(kù)存管理系統(tǒng)、物資采購(gòu)系統(tǒng)、作

業(yè)調(diào)度系統(tǒng)、設(shè)備管理系統(tǒng)、人事管理系統(tǒng)等),學(xué)校的學(xué)生管理系統(tǒng),

人事管理系統(tǒng),圖書館的圖書管理系統(tǒng),等等,都適合用數(shù)據(jù)庫(kù)系統(tǒng)。

5.試述數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)。

數(shù)據(jù)結(jié)構(gòu)化、數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充、數(shù)據(jù)獨(dú)立性高、

數(shù)據(jù)由DBMS統(tǒng)一管理和控制

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

數(shù)據(jù)庫(kù)定義功能,數(shù)據(jù)組織、存儲(chǔ)和管理,數(shù)據(jù)操縱功能,數(shù)據(jù)庫(kù)事

務(wù)管理和運(yùn)行管理,數(shù)據(jù)庫(kù)的建立和維護(hù)功能

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

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

于提供信息

2

表示和操作手段的形式構(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ù)庫(kù)中各種對(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ù)庫(kù)狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。

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

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

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

人員進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的有力工具,也是數(shù)據(jù)庫(kù)設(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圖):提供了表示實(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,l:n或m:n)。

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

層次模型的優(yōu)點(diǎn):(1)模型簡(jiǎn)單,對(duì)具有一對(duì)多層次關(guān)系的部門描述非

常自然、直觀,容易理解,這是層次數(shù)據(jù)庫(kù)的突出優(yōu)點(diǎn);⑵用層次模型的

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

用,采用層次模型來實(shí)現(xiàn),其性能優(yōu)于關(guān)系模型;(3)層次數(shù)據(jù)模型提供了

良好的完整性支持。

缺點(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)具有良好的性能,存取效率較高。

缺點(diǎn):(1)結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴(kuò)大,數(shù)據(jù)庫(kù)的結(jié)構(gòu)就

變得越來越復(fù)雜,不利于最終用戶掌握;(2)其DDL、DML語言復(fù)雜,

用戶不容易使用。由于記錄之間聯(lián)系是通過存取路徑實(shí)現(xiàn)的,應(yīng)用程序在

訪問數(shù)據(jù)時(shí)必須選擇適當(dāng)?shù)拇嫒÷窂健?/p>

18.試述關(guān)系模型的概念,定義并解釋以下術(shù)語:關(guān)系、屬性、域、元

組、主碼、分量、關(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è)屬性;⑶域:屬性的取值范圍;⑷元組:表中的一行即為一個(gè)元組;

⑸主碼:表中的某個(gè)屬性

3

組,它可以惟一確定一個(gè)元組;(6)分量:元組中的一個(gè)屬性值;(7)

關(guān)系模式:對(duì)關(guān)系的描述,一般表示為關(guān)系名(屬性1,屬性2,?,

屬性n)

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

優(yōu)點(diǎn):⑴關(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)簡(jiǎn)單、清晰,用戶易

懂易用。⑶關(guān)系模型的存取路徑對(duì)用戶透明,從而具有更高的數(shù)據(jù)獨(dú)立性、

更好的安全保密性,也簡(jiǎn)化了程序員的工作和數(shù)據(jù)庫(kù)開發(fā)建立的工作。

缺點(diǎn):由于存取路徑對(duì)用戶透明,查詢效率往往不如非關(guān)系數(shù)據(jù)模型。

因此為了提高性能,必須對(duì)用戶的查詢請(qǐng)求進(jìn)行優(yōu)化,增加了開發(fā)數(shù)據(jù)庫(kù)

管理系統(tǒng)的難度。20.試述數(shù)據(jù)庫(kù)系統(tǒng)三級(jí)模式結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)

點(diǎn)是什么?

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

亦稱子模式或用戶模式,是數(shù)據(jù)庫(kù)用戶(包括應(yīng)用程序員和最終用戶)能

夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)

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

據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。

模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)。外模式涉及的是數(shù)據(jù)的局部邏輯結(jié)構(gòu),

通常是模式的子集。內(nèi)模式,亦稱存儲(chǔ)模式,是數(shù)據(jù)在數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部的

表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述。優(yōu)點(diǎn):數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)

模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別,它把數(shù)據(jù)的具體組織留給DBMS管理,使

用戶能邏輯抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的表示和存儲(chǔ)。

為了能夠在內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫(kù)系統(tǒng)在這三級(jí)

模式之間提供了兩層映像:外模式/模式映像和模式/內(nèi)模式映像。正是

這兩層映像保證了數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物

理獨(dú)立性。

21.DDL:數(shù)據(jù)定義語言,用來定義數(shù)據(jù)庫(kù)模式、外模式、內(nèi)模式

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

刪除和修改的語句。

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

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

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

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

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

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

數(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)稱數(shù)

據(jù)的物理獨(dú)立性。原因:數(shù)據(jù)庫(kù)管理系統(tǒng)在三級(jí)模式之間提供的兩層映像

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

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

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

系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶

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

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

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

要求和完整性約

4

束條件;④監(jiān)督和控制數(shù)據(jù)庫(kù)的使用和運(yùn)行;⑤改進(jìn)和重組數(shù)據(jù)庫(kù)系統(tǒng)。

25.系統(tǒng)分析員、數(shù)據(jù)庫(kù)設(shè)計(jì)人員、應(yīng)用程序員的職責(zé)是什么?

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

戶及DBA相結(jié)合,確定系統(tǒng)的硬件、軟件配置,并參與數(shù)據(jù)庫(kù)系統(tǒng)的概

要設(shè)計(jì)。

數(shù)據(jù)庫(kù)設(shè)計(jì)人員負(fù)責(zé)數(shù)據(jù)庫(kù)中數(shù)據(jù)的確定、數(shù)據(jù)庫(kù)各級(jí)模式的設(shè)計(jì)。

數(shù)據(jù)庫(kù)設(shè)計(jì)人員必須參加用戶需求調(diào)查和系統(tǒng)分析,然后進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)。

在很多情況下,數(shù)據(jù)庫(kù)設(shè)計(jì)人員就由數(shù)據(jù)庫(kù)管理員擔(dān)任。

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

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

1.試述關(guān)系模型的三個(gè)組成部分:關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合、關(guān)

系完整性約束

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

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

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

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

特點(diǎn):語言具有完備的表達(dá)能力,是非過程化的集合操作語言,功能

強(qiáng),能夠嵌入高級(jí)語言中使用。

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本身不是主屬性,則可以取空值,否則不能

取空值。

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ù)庫(kù)標(biāo)準(zhǔn)語言SQL

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

綜合統(tǒng)一、高度非過程化、面向集合的操作方式、以同一種語法結(jié)構(gòu)

提供兩種使用方式、語言簡(jiǎn)捷,易學(xué)易用;

2.試述SQL的定義功能。

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

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

DROPTABLE語句刪除基本表;使用CREATEINDEX語句建立索引,DROP

INDEX語句刪除索引;使用CREATEVIEW語句建立視圖,DROPVIEW語

句刪除視圖。

3.用SQL語句建立第二章習(xí)題5中的4個(gè)表。

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

5

建S表:CREATETABLES(SnoC(2)UNIQUE,SnameC(6),StatusC(2),

CityC(4));

對(duì)于P表:P(PNO,PNAME,COLOR,W曰GHT);

建P表:CREATETABLEP(PnoC(2)UNIQUE,PnameC(6),COLOR

C(2),W日GHTINT);

對(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))

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

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

nSno(oSno='JI'(SPJ))

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

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

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

nSno(oPno='Pl'(oCOLOR=,紅'(P)°°SPJ))

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

nJno(SPJ)-nJNO(ocity='天津'AColor='紅'(S^SPJ^P)

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

nJno,Pno(SPJ)4-nPno(oSno='SI'(SPJ))

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

查詢。(I)求供應(yīng)工程JI零件的供應(yīng)商號(hào)碼SNO;

SELECTDISTSNOFROMSPJWHEREJNO='J1'

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

SELECTDISTSNOFROMSPJWHEREJNO='J1'AND

PNO='P1'

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

SELECTSNOFROMSPJ,PWHEREJNO='J1'ANDSPJ.PNO=P.PNO

ANDCOLOR='紅'

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

SELECTDISTJNOFROMSPJWHEREJNONOTIN(SELEJNOFROMSPJ,P,S

WHERES.QTY='天津'ANDCOLOR='紅'AND

S.SNO=SPJ.SNOANDP.PNO=SPJ.PNO)o

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

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

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

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

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

SELECTJNOFROMSPJWHEREPNO='P1'

ANDJNOIN(SELECTJNOFROMSPJWHEREPNO='P2')

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

⑴找出所有供應(yīng)商的姓名和所在城市。

SELECTSNAME,CITYFROMS

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

6

SELECTPNAME,COLOR,WEIGHTFROMP

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

SELECTDISTJNOFROMSPJWHERESNO='S1'

(4)找出工程項(xiàng)目J2使用的各種零件的名稱及其數(shù)量。

SELECTPNAME,QTYFROMSPJ,PWHEREP.PNO=SPJ.PNOAND

SPJ.JNO='J2'

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

SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOAND

QTY='上海'

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

SELECTJNAMEFROMSPJ,S,J

WHERES.SNO=SPJ.SNOANDS.QTY='上海'ANDJ.JNO=SPJJNO

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

注意:SELECTDISP_INOFROMSPJWHEREJNONOTIN(SELECTDIST

JNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.QTY='天津')適用

于JNO是唯一或不唯一的情況.

注意:SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOAND

S.QTY<>'天津'適用于JNO是唯一的情況

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

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

'

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

UPDATESPJSETSNO='S3'WHERESNO='S5'

ANDJNO='J4'ANDPNO='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.什么是基本表?什么是視圖??jī)烧叩膮^(qū)別和聯(lián)系是什么?

基本表是本身獨(dú)立存在的表,在sQL中一個(gè)關(guān)系就對(duì)應(yīng)一個(gè)表。視

圖是從一個(gè)或幾個(gè)基本表導(dǎo)出的表。視圖本身不獨(dú)立存儲(chǔ)在數(shù)據(jù)庫(kù)中,

是一個(gè)虛表。即數(shù)據(jù)庫(kù)中只存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這

些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。視圖在概念上與基本表等同,用戶

可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。

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

視圖能夠簡(jiǎn)化用戶的操作;視圖使用戶能以多種角度看待同一數(shù)據(jù);

視圖對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)立性;視圖能夠?qū)C(jī)密數(shù)據(jù)提

供安全保護(hù)。

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

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

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

應(yīng)基本表的更新,所以,并不是所有的視圖都是可更新的.

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

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

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

7

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

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

(SNO)、零件代碼(PNO)、供應(yīng)數(shù)量(QTY)。

CREATEVIEWVSPASSELECTSNO,PNO,QTYFROMSPJJ

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

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

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

SELECTDISTPNO,QTYFROMVSP

(2)找出供應(yīng)商S1的供應(yīng)情況。

SELECTDIST*FROMVSPWHERESNO='S1'

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

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

數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)

泄露、更改或破壞。

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

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

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

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

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

數(shù)據(jù)庫(kù)的安全性和計(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è)國(guó)家在計(jì)算機(jī)安全技術(shù)方面都建立了一套可信標(biāo)準(zhǔn)。目前各

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

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

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

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

系統(tǒng)的解釋》(TmstedDatabaseInterpretation簡(jiǎn)稱TDI,又稱紫皮書)。

在TDI中定義了數(shù)據(jù)庫(kù)管理系統(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安全級(jí)別劃分

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

用戶標(biāo)識(shí)和鑒別、存取控制、視圖機(jī)制、審計(jì)、數(shù)據(jù)加密

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

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

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

存取。

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

每一個(gè)用戶

8

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

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

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

幾例說明它們的使用方法。

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

如:GRANTSELECT,INSERTONStudent

TO王平

WITHGRANTOPTION;

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

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

即可以把得到的權(quán)限繼續(xù)授予其他用戶。

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)力。

GRANTINSERTDELETEON職工,部門

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)

9

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周平;

⑺REVOKESELECTON部門工資

FROM楊蘭;

DROPVIEW部門工資;

10.為什么強(qiáng)制存取控制提供了更高級(jí)別的數(shù)據(jù)庫(kù)安全性?

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

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

戶才可以操縱數(shù)據(jù),從而提供了更高級(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ù)庫(kù)的審計(jì)功能,為什么要提供審計(jì)功能?

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

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

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

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

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

內(nèi)容等。

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

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

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

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

要研究和解決的特殊的安全性問題。

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

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

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

10

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

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

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

即所謂垃圾進(jìn)垃圾出所造成的無效操作和錯(cuò)誤結(jié)果。后者是保護(hù)數(shù)據(jù)庫(kù)防

止惡意的破壞和非法的存取。也就是說,安全性措施的防范對(duì)象是非法用

戶和非法操作,完整性措施的防范對(duì)象是不合語義的數(shù)據(jù)。

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

完整性約束條件是指數(shù)據(jù)庫(kù)中的數(shù)據(jù)應(yī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è)方面:(I)對(duì)數(shù)據(jù)類型的約束,包括數(shù)據(jù)的類型、

長(zhǎng)度、單位、精度等;(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)系約束有:(I)實(shí)體完整性約束;(2)參照完整性

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

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

方面:(I)修改列定義時(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è)方面的功能:(I)定義功能,

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

操作請(qǐng)求是否違背了完整性約束條件;(3)違約反應(yīng):如果發(fā)現(xiàn)用戶的

操作請(qǐng)求使數(shù)據(jù)違背了完整性約束條件,則采取一定的動(dòng)作來保證數(shù)據(jù)的

完整性。

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

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

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

采取的作法有三種:I)級(jí)聯(lián)刪除(CASCADES);2)受限刪除

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

入元組時(shí)的問題,這時(shí)系統(tǒng)可能采取的作法有:I)受限插入;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),

DeptnameVARCHAR(IO),

11

ManagerVARCHAR(IO),

PhoneNumberChar(12)

CONSTRAINTPK_SCRIMARYKEY(Deptno));

CREATETABLEEMP

(EmpnoNUMBER(4),

EnameVARCHAR(IO),

AgeNUMBER(2),

CONSTRAINTClCHECK(Aage<=60),

JobVARCHAR(9),

SalNUMBER。,2),

DeptnoNUMBER(2),

CONSTRAINTFK_DEPTNO

FOREIGNKEY(Deptno)

REFFERENCESDEPT(Deptno));

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

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

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

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

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

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

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,

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

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

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

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

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

若X?Y,則X叫做決定因素(Determinant)。

若X?Y,Y?X,則記作X??Y。

若Y不函數(shù)依賴于X,則記作X?Y。

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

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

若X?Y,但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)系模式RW2NFo(即1NF消除了非主屬性對(duì)碼的部分函數(shù)依賴則成

為2NF)o

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

主屬性Z(Z不是Y的子集)使得X?Y,Y?X,Y?Z成立,則稱R<ll,F>

G3NFo

定義6:關(guān)系模式F>£lNFo若X?Y且Y不是X的子集時(shí),X

必含有碼,

12

則R<U,F>£BCNFo

定義7:關(guān)系模式F>6INF,如果對(duì)于R的每個(gè)非平凡多值

依賴X??Y(Y不是X的子集,Z=U-X-Y不為空),X都含有碼,則稱R<U,

F>G4NFo

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

學(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,Pname,Dept,Cnum,Cyear)

系:D(Dept,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ù)依賴

集如下:Sno?Sname,Sno?Sbirth,Sno?Class,Class?Dept,DEPT?Rno

傳遞依賴如下:

由于Sno?Dept,而Dept?Sno,Dept?Rno(宿舍區(qū))

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

由于Class?Dept,Dept?Class,Dept?Rno

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

由于Sno?Class,Class?Sno,Class?Dept

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

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

Class?Pname,Class?Cnum,Class?Cyear,Pname?Dept.

由于Class?Pname,Pname?Class,Pname?Dept

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

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

Dept?Dno,Dno?Dept,Dno?Office,Dno?Dnum

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

遞依賴。

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

Mname?Myear,Mname?Maddr,Mname?Mnum

該模式不存在傳遞依賴。

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

A、學(xué)生S候選碼:Sno;外部碼:Dept、Class;無全碼

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

13

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

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

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)系如下。按照語義對(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é)生參加。

按照語義有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的定義,若X?Y且Y不是X的子集時(shí),每個(gè)決定因

素都包含碼,對(duì)于二目關(guān)系決定因素必然包含碼。詳細(xì)證明如下:(任何

二元關(guān)系模式必定是BCNF)O

證明:設(shè)R為一個(gè)二目關(guān)系R(A1,A2),則屬性Al和A2之間可能存

在以下幾種依賴關(guān)系:

A、A1?A2,但A2?A1,則關(guān)系R的碼為Al,決定因素都包含碼,所

以,R是BCNFo

B、A1?A2,A2?A1,則關(guān)系R的碼為A2,所以決定因素都包含碼,R

是BCNFo包含碼。R是BCNFoC、R的碼為(Al,A2)(即Al?A2,A2?A1),

決定因素都

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

答:正確。因?yàn)橹挥袃蓚€(gè)屬性,所以無非平凡的多值依賴。

第7章數(shù)據(jù)庫(kù)設(shè)計(jì)

1.試述數(shù)據(jù)庫(kù)設(shè)計(jì)過程。

答:這里只概要列出數(shù)據(jù)庫(kù)設(shè)計(jì)過程的六個(gè)階段:(I)需求分析;(2)

概念結(jié)構(gòu)設(shè)計(jì);(3)邏輯結(jié)構(gòu)設(shè)計(jì);(4)數(shù)據(jù)庫(kù)物理設(shè)計(jì);(5)數(shù)

據(jù)庫(kù)實(shí)施;(6)數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)。這是一個(gè)完整的實(shí)際數(shù)據(jù)庫(kù)及其應(yīng)

用系統(tǒng)的設(shè)計(jì)過程。不僅包括設(shè)計(jì)數(shù)據(jù)庫(kù)本身,還包括數(shù)據(jù)庫(kù)的實(shí)施、運(yùn)

行和維護(hù)。設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)往往是上述六個(gè)階段的不斷反

復(fù)。

2.試述數(shù)據(jù)庫(kù)設(shè)計(jì)過程各個(gè)階段上的設(shè)計(jì)描述。

(I)需求分析:準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)。(2)

概念結(jié)構(gòu)設(shè)計(jì):通過對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于

具體DBMS的概念模型。(3)邏輯結(jié)構(gòu)設(shè)計(jì):將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)

DBMS所支持的數(shù)據(jù)

14

模型,并對(duì)其進(jìn)行優(yōu)化。(4)數(shù)據(jù)庫(kù)物理設(shè)計(jì):為邏輯數(shù)據(jù)模型選

取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法)。(5)

數(shù)據(jù)庫(kù)實(shí)施:設(shè)計(jì)人員運(yùn)用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,

根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù),編制與調(diào)試應(yīng)用程序,組織

數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。(6)數(shù)據(jù)庫(kù)運(yùn)行和維護(hù):在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行

過程中對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改。3.試述數(shù)據(jù)庫(kù)設(shè)計(jì)過程中結(jié)構(gòu)設(shè)

計(jì)部分形成的數(shù)據(jù)庫(kù)模式。

答:數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的不同階段形成數(shù)據(jù)庫(kù)的各級(jí)模式,即:(I)

在概念設(shè)計(jì)階段形成獨(dú)立于機(jī)器特點(diǎn),獨(dú)立于各個(gè)DBMS產(chǎn)品的概念模

式,在本篇中就是E—R圖;(2)在邏輯設(shè)計(jì)階段將E一R圖轉(zhuǎn)換

成具體的數(shù)據(jù)庫(kù)產(chǎn)品支持的數(shù)據(jù)模型,如關(guān)系模型,形成數(shù)據(jù)庫(kù)邏輯模式,

然后在基本表的基礎(chǔ)上再建立必要的視圖(Vi娜),形成數(shù)據(jù)的外模式;

(3)在物理設(shè)計(jì)階段,根據(jù)DBMS特點(diǎn)和處理的需要,進(jìn)行物理存儲(chǔ)安

排,建立索引,形成數(shù)據(jù)庫(kù)內(nèi)模式。4.試述數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)。

答:數(shù)據(jù)庫(kù)設(shè)計(jì)既是一項(xiàng)涉及多學(xué)科的綜合性技術(shù)又是一項(xiàng)龐大的工

程項(xiàng)目。其主要特點(diǎn)有:(I)數(shù)據(jù)庫(kù)建設(shè)是硬件、軟件和干件(技術(shù)與

管理的界面)的結(jié)合。(2)從軟件設(shè)計(jì)的技術(shù)角度看,數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)該

和應(yīng)用系統(tǒng)設(shè)計(jì)相結(jié)合,也就是說,整個(gè)設(shè)計(jì)過程中要把結(jié)構(gòu)(數(shù)據(jù))設(shè)

計(jì)和行為(處理)設(shè)計(jì)密切結(jié)合起來。

5.需求分析階段的設(shè)計(jì)目標(biāo)是什么?調(diào)查的內(nèi)容是什么?

答:需求分析階段的設(shè)計(jì)目標(biāo)是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象

(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工

作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。調(diào)查

的內(nèi)容是“數(shù)據(jù)'夕和“處理”,即獲得用戶對(duì)數(shù)據(jù)庫(kù)的如下要求:(I)

信息要求,指用戶需要從數(shù)據(jù)庫(kù)中獲得信息的內(nèi)容與性質(zhì),由信息要求可

以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫(kù)中需要存儲(chǔ)哪些數(shù)據(jù);(2)處理要求,指

用戶要完成什么處理功能,對(duì)處理的響應(yīng)時(shí)間有什么要求,處理方式是批

處理還是聯(lián)機(jī)處理;(3)安全性與完整性要求。6.數(shù)據(jù)字典的內(nèi)容

和作用是什么?

答:數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合。數(shù)據(jù)字典的內(nèi)容通常包

括:(I)數(shù)據(jù)項(xiàng);(2)數(shù)據(jù)結(jié)構(gòu);(3)數(shù)據(jù)流;(4)數(shù)據(jù)存儲(chǔ);(5)

處理過程五個(gè)部分。其中數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小組成單位,若干個(gè)數(shù)據(jù)項(xiàng)可

以組成一個(gè)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)字典通過對(duì)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)

據(jù)流和數(shù)據(jù)存儲(chǔ)的邏輯內(nèi)容。數(shù)據(jù)字典的作用:數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫(kù)中

數(shù)據(jù)的描述,在需求分析階段建立,是下一步進(jìn)行概念設(shè)計(jì)的基礎(chǔ),并在

數(shù)據(jù)庫(kù)設(shè)計(jì)過程中不斷修改、充實(shí)、完蓋。

7.什么是數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)?試述其特點(diǎn)和設(shè)計(jì)策略。

答:概念結(jié)構(gòu)是信息世界的結(jié)構(gòu),即概念模型,其主要特點(diǎn)是:(I)

能真實(shí)、充分地反映現(xiàn)實(shí)世界,包括事物和事物之間的聯(lián)系,能滿足用戶

對(duì)數(shù)據(jù)的處理要求,是對(duì)現(xiàn)實(shí)世界的一個(gè)真實(shí)模型;(2)易于理解,從

而可以用它和不熟悉計(jì)算機(jī)的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫(kù)設(shè)

計(jì)成功的關(guān)鍵;(3)易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時(shí),容易對(duì)

概念模型修改和擴(kuò)充;(4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)

換。概念結(jié)構(gòu)的設(shè)計(jì)策略通常有四種:I)自頂向下,即首先定義全局概

念結(jié)構(gòu)的框架,然后逐步細(xì)化;2)自底向上,即首先定義各局部應(yīng)用

的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu);3)逐步擴(kuò)張,

首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方

15

式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu);4)混合策略,即

將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計(jì)一個(gè)全局概念結(jié)構(gòu)的

框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)。

8.什么叫數(shù)據(jù)抽象?試舉例說明。

答:數(shù)據(jù)抽象是對(duì)實(shí)際的人、物、事和概念進(jìn)行人為處理,抽取所關(guān)

心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確地加以

描述,這些概念組成了某種模型。如“分類'夕這種抽象是:定義某一類

概念作為現(xiàn)實(shí)世界中一組對(duì)象的類型。這些對(duì)象具有某些共同的特性和行

為。它抽象了對(duì)象值和型之間的,'i5memberof”的語義。在E一

R模型中,實(shí)體型就是這種抽象。例如在學(xué)校環(huán)境中,李英是老師,表示

李英是教師類型中的一員,則教師是實(shí)體型,李英是教師實(shí)體型中的一個(gè)

實(shí)體值,具有教師共同的特性和行為:在某個(gè)系某個(gè)專業(yè)教學(xué),講授某些

課程,從事某個(gè)方向的科研。

9.試述數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)的重要性和設(shè)計(jì)步驟。

答:重要性:數(shù)據(jù)庫(kù)概念設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵,將在需求分

析階段所得到的應(yīng)用需求首先抽象為概念結(jié)構(gòu),以此作為各種數(shù)據(jù)模型的

共同基礎(chǔ),從而能更好地、更準(zhǔn)確地用某一DBMS實(shí)現(xiàn)這些需求。設(shè)計(jì)

步驟:概念結(jié)構(gòu)的設(shè)計(jì)方法有多種,其中最經(jīng)常采用的策略是自底向上方

法,該方法的設(shè)計(jì)步驟通常分為兩步:第

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論