數(shù)據(jù)庫基礎(chǔ)教程課后習(xí)題答案(顧韻華)_第1頁
數(shù)據(jù)庫基礎(chǔ)教程課后習(xí)題答案(顧韻華)_第2頁
數(shù)據(jù)庫基礎(chǔ)教程課后習(xí)題答案(顧韻華)_第3頁
數(shù)據(jù)庫基礎(chǔ)教程課后習(xí)題答案(顧韻華)_第4頁
數(shù)據(jù)庫基礎(chǔ)教程課后習(xí)題答案(顧韻華)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——數(shù)據(jù)庫基礎(chǔ)教程課后習(xí)題答案(顧韻華)習(xí)題1

1、簡述數(shù)據(jù)庫系統(tǒng)的特點(diǎn)。答:數(shù)據(jù)庫系統(tǒng)的特點(diǎn)有:

1)數(shù)據(jù)結(jié)構(gòu)化

在數(shù)據(jù)庫系統(tǒng)中,采用統(tǒng)一的數(shù)據(jù)模型,將整個組織的數(shù)據(jù)組織為一個整體;數(shù)據(jù)不再僅面向特定應(yīng)用,而是面向全組織的;不僅數(shù)據(jù)內(nèi)部是結(jié)構(gòu)化的,而且整體是結(jié)構(gòu)化的,能較好地反映現(xiàn)實(shí)世界中各實(shí)體間的聯(lián)系。這種整體結(jié)構(gòu)化有利于實(shí)現(xiàn)數(shù)據(jù)共享,保證數(shù)據(jù)和應(yīng)用程序之間的獨(dú)立性。

2)數(shù)據(jù)共享性高、冗余度低、易于擴(kuò)展

數(shù)據(jù)庫中的數(shù)據(jù)能夠被多個用戶、多個應(yīng)用程序共享。數(shù)據(jù)庫中一致的數(shù)據(jù)不會屢屢重復(fù)出現(xiàn),數(shù)據(jù)冗余度降低,并可避免由于數(shù)據(jù)冗余度大而帶來的數(shù)據(jù)沖突問題。同時,當(dāng)應(yīng)用需求發(fā)生改變或增加時,只需重新選擇不同的子集,或增加數(shù)據(jù)即可滿足。

3)數(shù)據(jù)獨(dú)立性高

數(shù)據(jù)獨(dú)立性是由DBMS的二級映像功能來保證的。數(shù)據(jù)獨(dú)立于應(yīng)用程序,降低了應(yīng)用程序的維護(hù)成本。

4)數(shù)據(jù)統(tǒng)一管理與控制

數(shù)據(jù)庫中的數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)(DBMS)統(tǒng)一管理與控制,應(yīng)用程序?qū)?shù)據(jù)的訪問均經(jīng)由DBMS。DBMS提供四個方面的數(shù)據(jù)控制功能:并發(fā)訪問控制、數(shù)據(jù)完整性、數(shù)據(jù)安全性保護(hù)、數(shù)據(jù)庫恢復(fù)。2、什么是數(shù)據(jù)庫系統(tǒng)?

答:在計(jì)算機(jī)系統(tǒng)上引入數(shù)據(jù)庫技術(shù)就構(gòu)成一個數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)。數(shù)據(jù)庫系統(tǒng)是指帶有數(shù)據(jù)庫并利用數(shù)據(jù)庫技術(shù)進(jìn)行數(shù)據(jù)管理的計(jì)算機(jī)系統(tǒng)。DBS有兩個基本要素:一是DBS首先是一個計(jì)算機(jī)系統(tǒng);二是該系統(tǒng)的目標(biāo)是存儲數(shù)據(jù)并支持用戶查詢和更新所需要的數(shù)據(jù)。

3、簡述數(shù)據(jù)庫系統(tǒng)的組成。

答:數(shù)據(jù)庫系統(tǒng)一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、數(shù)據(jù)庫管理員(DataBaseAdministrator,DBA)和用戶組成。

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

答:數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)是指數(shù)據(jù)庫系統(tǒng)是由外模式、模式和內(nèi)模式三級構(gòu)成,同時包含了二級映像,即外模式/模式映像、模式/內(nèi)模式映像,如下圖所示。

應(yīng)用1應(yīng)用2應(yīng)用3應(yīng)用4應(yīng)用5??外模式A外模式B??外模式/模式映像模式模式/內(nèi)模式映像模式數(shù)據(jù)庫

數(shù)據(jù)庫系統(tǒng)的這種結(jié)構(gòu)具有以下優(yōu)點(diǎn):

(1)保證數(shù)據(jù)獨(dú)立性。將外模式與模式分開,保證了數(shù)據(jù)的規(guī)律獨(dú)立性;將內(nèi)模式與模式分開,保證了數(shù)據(jù)的物理獨(dú)立性。

(2)有利于數(shù)據(jù)共享,減少了數(shù)據(jù)冗余。

(3)有利于數(shù)據(jù)的安全性。不同的用戶在各自的外模式下根據(jù)要求操作數(shù)據(jù),只能對

限定的數(shù)據(jù)進(jìn)行操作。

(4)簡化了用戶接口。依照外模式編寫應(yīng)用程序或輸入命令,而不需了解數(shù)據(jù)庫全局規(guī)律結(jié)構(gòu)和內(nèi)部存儲結(jié)構(gòu),便利用戶系統(tǒng)。

5、什么是數(shù)據(jù)的物理獨(dú)立性與規(guī)律獨(dú)立性?并說明其重要性。答:(1)數(shù)據(jù)的物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)、存取方式等)的改變,存儲設(shè)備的更換,物理存儲的更換,存取方式改變等都不影響數(shù)據(jù)庫的規(guī)律結(jié)構(gòu),從而不致引起應(yīng)用程序的變化。

(2)數(shù)據(jù)的規(guī)律獨(dú)立性是指數(shù)據(jù)庫總體規(guī)律結(jié)構(gòu)的改變,如修改數(shù)據(jù)模式,增加新的數(shù)據(jù)類型、改變數(shù)據(jù)間聯(lián)系等,不需要相應(yīng)修改應(yīng)用程序。

(3)數(shù)據(jù)的獨(dú)立性使得數(shù)據(jù)庫中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依靠于應(yīng)用程序,也就是說數(shù)據(jù)的規(guī)律結(jié)構(gòu)、存儲結(jié)構(gòu)與存取方式的改變不影響應(yīng)用程序。相應(yīng)的,數(shù)據(jù)的獨(dú)立性也使得應(yīng)用程序的編制不再依靠于數(shù)據(jù)的物理和規(guī)律結(jié)構(gòu),提高了應(yīng)用程序的可移植性與魯棒性。從理論上說,數(shù)據(jù)的獨(dú)立性可以使數(shù)據(jù)的組織和應(yīng)用程序的編制完全分開。6、數(shù)據(jù)庫管理系統(tǒng)的功能主要有哪幾方面?

答:數(shù)據(jù)庫管理系統(tǒng)的主要功能包括以下幾個方面:

(1)有效地組織、存取和維護(hù)數(shù)據(jù)。

(2)數(shù)據(jù)定義功能。DBMS通過數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL)定義數(shù)據(jù)庫的各類數(shù)據(jù)對象,包括數(shù)據(jù)的結(jié)構(gòu)、數(shù)據(jù)約束條件等。

(3)數(shù)據(jù)操縱功能。DBMS提供數(shù)據(jù)操縱語言(DataManipulationLanguage,DML),用戶使用DML實(shí)現(xiàn)對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢、增加、刪除和修改等操作。

(4)數(shù)據(jù)庫的事務(wù)管理和運(yùn)行管理。DBMS提供數(shù)據(jù)控制語言(DataControlLanguage,DCL),數(shù)據(jù)庫管理員使用DCL實(shí)現(xiàn)對數(shù)據(jù)庫的安全性保護(hù)、完整性檢查、并發(fā)控制、數(shù)據(jù)庫恢復(fù)等數(shù)據(jù)庫控制功能。

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

(6)其他功能。包括:數(shù)據(jù)庫初始數(shù)據(jù)輸入與轉(zhuǎn)換、數(shù)據(jù)庫轉(zhuǎn)儲、數(shù)據(jù)庫重組、數(shù)據(jù)庫性能監(jiān)視與分析、數(shù)據(jù)通信等,這些功能尋常由DBMS提供的實(shí)用程序或管理工具完成。7、數(shù)據(jù)庫系統(tǒng)的人員主要包括哪些?

答:數(shù)據(jù)庫系統(tǒng)的人員主要包括:數(shù)據(jù)庫管理員、系統(tǒng)分析員和數(shù)據(jù)庫設(shè)計(jì)人員、應(yīng)用程序員和最終用戶。

8、什么是數(shù)據(jù)模型?

答:數(shù)據(jù)模型(DataModel)是一種抽象模型,是對現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象。9、什么是概念模型?E-R模型的三要素是什么?

答:概念模型是面向用戶的模型,是現(xiàn)實(shí)世界到機(jī)器世界的一個中間層次。其基本特征是按用戶觀點(diǎn)對信息進(jìn)行建模。概念模型是現(xiàn)實(shí)世界到信息世界的抽象,是數(shù)據(jù)庫設(shè)計(jì)人員與用戶進(jìn)行交流的工具。

E-R模型的三要素為:(1)實(shí)體(entity)

實(shí)體是指客觀存在并可相互區(qū)別的事物。實(shí)體可以是人、事或物,也可以是抽象的概念。例如:一件商品、一個客戶、一份訂單等都是實(shí)體。

(2)屬性(attribute)實(shí)體尋常由若干特征,每個特征稱為實(shí)體的一個屬性。屬性刻畫了實(shí)體在某方面的特性。例如:商品實(shí)體的屬性可以有商品編號、商品類別、商品名稱、生產(chǎn)商等。

(3)聯(lián)系(relationship)

現(xiàn)實(shí)世界中事物之間的聯(lián)系反映在E-R模型中就是實(shí)體間的聯(lián)系。例如,訂單就是客

戶和商品之間的聯(lián)系。

10、舉例說明聯(lián)系的三種類型。答:一對一聯(lián)系(1:1):假使對于實(shí)體集A中的任一實(shí)體,在實(shí)體集B中至多有一個實(shí)體與之聯(lián)系;反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對一聯(lián)系,記為1:1。例如:在公司中,一個部門只有一個經(jīng)理,而一個經(jīng)理只在一個部門任職,則部門與經(jīng)理之間具有一對一聯(lián)系。

一對多聯(lián)系(1:n):假使對于實(shí)體集A中的任一實(shí)體,在實(shí)體集B中有n(n≥1)個實(shí)體與之聯(lián)系;而對于實(shí)體集B中的每一個實(shí)體,實(shí)體集A中至多有一個實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B具有一對多聯(lián)系,記為1:n。例如:在公司中,一個部門可有多個職工,而一個職工只在一個部門任職,則部門與職工之間具有一對多聯(lián)系。

多對多聯(lián)系(m:n):假使對于實(shí)體集A中的任一實(shí)體,在實(shí)體集B中有n(n≥1)個實(shí)體與之聯(lián)系;而對于實(shí)體集B中的每一個實(shí)體,實(shí)體集A中有m(m≥1)個實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B具有多對多聯(lián)系,記為m:n。例如:在商品訂購中,一個客戶可訂購多種商品,而一種商品也可被多個客戶訂購,則客戶與商品之間具有多對多聯(lián)系。11、什么是規(guī)律數(shù)據(jù)模型?規(guī)律數(shù)據(jù)模型的三要素是什么?答:規(guī)律數(shù)據(jù)模型是數(shù)據(jù)庫管理系統(tǒng)浮現(xiàn)給用戶的數(shù)據(jù)模型,即用戶從數(shù)據(jù)庫中看到的數(shù)據(jù)組織形式。規(guī)律數(shù)據(jù)模型的三要素為:

(1)數(shù)據(jù)結(jié)構(gòu)

數(shù)據(jù)結(jié)構(gòu)是對系統(tǒng)靜態(tài)特性的描述,主要描述數(shù)據(jù)庫組成對象以及對象之間的聯(lián)系。數(shù)據(jù)結(jié)構(gòu)是刻畫數(shù)據(jù)模型最重要的方面。因此在數(shù)據(jù)庫系統(tǒng)中,尋常依照其數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。主要的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關(guān)系模型。

(2)數(shù)據(jù)操作

數(shù)據(jù)操作指對數(shù)據(jù)庫中各種對象(型)的實(shí)例(值)允許執(zhí)行的操作及有關(guān)的操作規(guī)則,它是對數(shù)據(jù)庫動態(tài)特性的描述。數(shù)據(jù)庫中的數(shù)據(jù)操作主要分為查詢、更新兩大類,其中數(shù)據(jù)更新主要是指對數(shù)據(jù)記錄的增、刪、改。數(shù)據(jù)模型需要定義這些操作的語義、操作符號、操作規(guī)則及實(shí)現(xiàn)操作的相關(guān)語句。

(3)完整性約束

完整性約束是指對數(shù)據(jù)的一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和存儲規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,保證數(shù)據(jù)的正確、有效、相容。12、簡述關(guān)系模型的特點(diǎn)。答:關(guān)系模型主要有以下特點(diǎn):

(1)關(guān)系模型建立在嚴(yán)格的數(shù)學(xué)基礎(chǔ)之上。

(2)數(shù)據(jù)結(jié)構(gòu)簡單明了,用戶易懂易用。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)雖然簡單,但卻能表達(dá)豐富的語義,能夠較好地描述現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系。

(3)數(shù)據(jù)物理存取路徑對用戶是透明的,有更高的數(shù)據(jù)獨(dú)立性、更好的數(shù)據(jù)安全性。

習(xí)題2

1、解釋以下術(shù)語:關(guān)系、元組、屬性、碼、域、分量、關(guān)系模式。答:(1)關(guān)系:一個關(guān)系(relation)指一張二維表。

(2)元組:一個元組(tuple)指二維表中的一行。

(3)屬性:一個屬性(attribute)二維表中的一列,表中每列均有名稱,即屬性名。(4)碼:碼(key)也稱為鍵、關(guān)鍵字、關(guān)鍵碼,指表中可惟一確定元組的屬性或?qū)傩?/p>

組合。

(5)域:域(domain)指屬性的取值范圍。(6)分量:分量指元組中的一個屬性值。

(7)關(guān)系模式:關(guān)系模式是對關(guān)系“型〞的描述,尋常表示為:關(guān)系名(屬性1,…,屬性n)。

2、解釋關(guān)系數(shù)據(jù)庫的“型〞和“值〞。

答:關(guān)系數(shù)據(jù)庫的型即關(guān)系數(shù)據(jù)庫模式,是對關(guān)系數(shù)據(jù)庫結(jié)構(gòu)的描述。關(guān)系數(shù)據(jù)庫模式包括若干域的定義以及在這些域上定義的若干關(guān)系模式。尋常以關(guān)系數(shù)據(jù)庫中包含的所有關(guān)系模式的集合來表示關(guān)系數(shù)據(jù)庫模式。關(guān)系數(shù)據(jù)庫的值是由關(guān)系數(shù)據(jù)庫模式中的各關(guān)系模式在某一時刻對應(yīng)的關(guān)系的集合。3、解釋空值的含義。

答:在關(guān)系元組中允許出現(xiàn)空值,空值表示信息的空缺,即未知的值或不存在值。4、候選碼應(yīng)滿足哪兩特性質(zhì)?

答:候選碼應(yīng)滿足惟一性和最小性兩特性質(zhì):

(1)惟一性。對關(guān)系R的任兩個元組,其在屬性集K上的值是不同的。

(2)最小性。屬性集K=(Ai,Aj,?,Ak)是最小集,即若刪除K中的任一屬性,K都不滿足最小性。

5、關(guān)系操作的特點(diǎn)是什么?

答:關(guān)系操作的特點(diǎn)是集合操作,即操作的對象和結(jié)果都是關(guān)系。6、基本的關(guān)系操作包括哪些?

答:關(guān)系模型的基本操作包括查詢和更新兩大類:

(1)數(shù)據(jù)查詢操作用于對關(guān)系數(shù)據(jù)進(jìn)行各種檢索。它是一個數(shù)據(jù)庫最基本的功能,通過查詢,用戶可以訪問關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)。查詢可以在一個關(guān)系內(nèi)進(jìn)行,也可以在多個關(guān)系間進(jìn)行。關(guān)系查詢的基本單位是元組分量,查詢即定位符合條件的元組。

(2)數(shù)據(jù)更新操作操作包括插入、刪除和修改三種。數(shù)據(jù)刪除的基本單位為元組,其功能是將指定關(guān)系內(nèi)的指定元組刪除。數(shù)據(jù)插入的功能在指定關(guān)系中插入一個或多個元組。數(shù)據(jù)修改實(shí)在一個關(guān)系中修改指定的元組屬性值。7、關(guān)系代數(shù)的運(yùn)算主要包含哪些?答:關(guān)系代數(shù)的運(yùn)算可分為兩類:

(1)傳統(tǒng)的集合運(yùn)算。其運(yùn)算是以元組作為集合中元素來進(jìn)行的,從關(guān)系的“水平〞方向即行的角度進(jìn)行。包括并、差、交和笛卡爾積。

(2)專門的關(guān)系運(yùn)算。其運(yùn)算不僅涉及行,也涉及列。這類運(yùn)算是為數(shù)據(jù)庫的應(yīng)用而引進(jìn)的特別運(yùn)算,包括選擇、投影、連接和除法等。

8、什么是數(shù)據(jù)完整性?如何實(shí)現(xiàn)數(shù)據(jù)完整性?試述關(guān)系完整性規(guī)則。

答:數(shù)據(jù)完整性是指數(shù)據(jù)庫中的數(shù)據(jù)在規(guī)律上的正確性、有效性和相容性。

數(shù)據(jù)完整性是通過定義一系列完整性約束條件,由DBMS負(fù)責(zé)檢查約束條件來實(shí)現(xiàn)的。關(guān)系模型有三類完整性約束規(guī)則:實(shí)體完整性、參照完整性和用戶定義的完整性。9、有如下的學(xué)生成績數(shù)據(jù)庫:

Student(學(xué)號,姓名,專業(yè)名,性別,出生時間,總學(xué)分,備注)。Course(課程號,課程名,開課學(xué)期,學(xué)時,學(xué)分)。關(guān)系模式為:StuCourse(學(xué)號,課程號,成績)。試用關(guān)系代數(shù)表示如下查詢:

(1)求專業(yè)名為“計(jì)算機(jī)科學(xué)與技術(shù)〞的學(xué)生學(xué)號與姓名;(2)求開課學(xué)期為“2〞的課程號與課程名;

(3)求修讀“計(jì)算機(jī)基礎(chǔ)〞的學(xué)生姓名。答:(1)(2)(3)

??學(xué)號,姓名(?專業(yè)名?'計(jì)算機(jī)科學(xué)與技術(shù)'(Student))(?開課學(xué)期?'2'(Course))

課程號,課程名?姓名(Student??(?學(xué)號(StuCourse??(?課程名?'計(jì)算機(jī)基礎(chǔ)'(Course)))))

習(xí)題3

1、試述SQL的特點(diǎn)與功能。答:SQL的特點(diǎn)有:

(1)SQL是一種基于關(guān)系代數(shù)的數(shù)據(jù)語言,其理論基礎(chǔ)堅(jiān)實(shí);

(2)SQL是高度非過程化程度的語言,用戶只要指出“干什么〞而無需指出“怎么干〞;(3)SQL集數(shù)據(jù)定義,操縱與控制于一體,構(gòu)成一個具有獨(dú)特風(fēng)格的一體化語言,此外它還集聯(lián)機(jī)交互與嵌入于一體,使語言能適應(yīng)廣泛的使用環(huán)境;

(4)SQL語言功能強(qiáng),它不但能表示關(guān)系代數(shù)的所有功能,還具有統(tǒng)計(jì),計(jì)算,視圖等其它功能;

(5)SQL數(shù)據(jù)獨(dú)立性強(qiáng),它所涉及的物理概念少;(6)SQL語言簡單,易學(xué)易用。

SQL的功能包括:數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制、嵌入式與會話規(guī)則。2、什么是基本表?什么是視圖?二者有何關(guān)系與區(qū)別?

答:關(guān)系數(shù)據(jù)庫中的關(guān)系在SQL中稱為基本表。視圖是從一個或多個基本表(或視圖)導(dǎo)出的表。基本表與視圖都采用二維表格結(jié)構(gòu),都統(tǒng)稱為表。但基本表中的數(shù)據(jù)(元組)需要有數(shù)據(jù)庫中的物理存儲空間,而視圖在數(shù)據(jù)庫中只保存其定義信息,其數(shù)據(jù)并不占用存儲空間,而是來源于定義該視圖的基表。視圖上的數(shù)據(jù)操縱命令最終都將轉(zhuǎn)化成相應(yīng)基本表上的操作才能得以實(shí)現(xiàn)。

3、簡述SQL語言的使用方式。

答:SQL語言的使用方式包括:交互式、嵌入式兩類。4、SQL語句按其功能可分為哪幾類?

答:SQL語句按其功能可分為四類,分別是:

(1)數(shù)據(jù)定義:其功能是創(chuàng)立、更新和撤銷模式及其對象。包含的語句動詞主要有:CREATE、DROP、ALERT。

(2)數(shù)據(jù)查詢:其功能是進(jìn)行數(shù)據(jù)庫的數(shù)據(jù)查詢。包含的語句動詞主要有:SELECT。(3)數(shù)據(jù)操縱:其功能是完成數(shù)據(jù)庫的數(shù)據(jù)更新。包含的語句動詞主要有:INSERT、UPDATE、DELETE。

(4)數(shù)據(jù)控制:其功能是進(jìn)行數(shù)據(jù)庫的授權(quán)、事務(wù)管理和控制。包含的語句動詞主要有:GRANT、REVOKE、COMMIT、ROLLBACK等。5、SQL的數(shù)據(jù)定義主要包括哪幾類對象的定義?

答:SQL的數(shù)據(jù)定義包括數(shù)據(jù)庫模式定義、基本表定義、視圖定義和索引定義四個部分。6、什么是索引?定義索引的目的是什么?

答:數(shù)據(jù)庫的索引是一個數(shù)據(jù)表的輔助結(jié)構(gòu),它注明白表中各行數(shù)據(jù)所在的存儲位置。

查詢是數(shù)據(jù)庫使用最頻繁的操作,如何能更快地找到所需數(shù)據(jù),是數(shù)據(jù)庫的一項(xiàng)重要任

務(wù)。在數(shù)據(jù)庫中建立索引是為了提高數(shù)據(jù)查詢速度。7、什么是聚簇索引?什么是非聚集索引?

答:聚簇索引(ClusteredIndex)對表的物理數(shù)據(jù)頁中的數(shù)據(jù)按索引關(guān)鍵字進(jìn)行排序,然后重新存儲到磁盤上,即聚簇索引與數(shù)據(jù)是一體的。非聚簇索引(NonclusteredIndex)具有完全獨(dú)立于數(shù)據(jù)的索引結(jié)構(gòu)。8、視圖有哪些優(yōu)點(diǎn)?

答:使用視圖有以下優(yōu)點(diǎn):

①為用戶集中數(shù)據(jù),簡化用戶的數(shù)據(jù)查詢和處理。有時用戶所需要的數(shù)據(jù)分散在多個表中,定義視圖可將它們集中在一起,從而便利用戶的數(shù)據(jù)查詢和處理。

②屏蔽數(shù)據(jù)庫的繁雜性。用戶不必了解繁雜的數(shù)據(jù)庫中的表結(jié)構(gòu),并且數(shù)據(jù)庫表的更改也不影響用戶對數(shù)據(jù)庫的使用。

③簡化用戶權(quán)限的管理。只需授予用戶使用視圖的權(quán)限,而不必指定用戶只能使用表的特定列,也增加了安全性。

④便于數(shù)據(jù)共享。各用戶不必都定義和存儲自己所需的數(shù)據(jù),可共享數(shù)據(jù)庫的數(shù)據(jù),這樣同樣的數(shù)據(jù)只需存儲一次。

⑤可以重新組織數(shù)據(jù)以便輸出到其它應(yīng)用程序中。9、設(shè)有學(xué)生成績數(shù)據(jù)庫XSCJ,其中包含關(guān)系如下:

(1)學(xué)生關(guān)系:名為Student,描述學(xué)生信息。關(guān)系模式為:Student(學(xué)號,姓名,專業(yè)名,性別,出生時間,總學(xué)分,備注)。

(2)課程關(guān)系:名為Course,描述課程信息。關(guān)系模式為:Course(課程號,課程名,開課學(xué)期,學(xué)時,學(xué)分)。

(3)學(xué)生選課關(guān)系:名為StuCourse,描述學(xué)生選課及獲得成績信息。關(guān)系模式為:StuCourse(學(xué)號,課程號,成績)。

試寫出以下操作的SQL語句:

(1)查詢專業(yè)名為“計(jì)算機(jī)科學(xué)與技術(shù)〞的學(xué)生學(xué)號與姓名;(2)查詢開課學(xué)期為“2〞的課程號與課程名;(3)查詢修讀“計(jì)算機(jī)基礎(chǔ)〞的學(xué)生姓名;

(4)查詢每個學(xué)生已選修課程門數(shù)和總平均成績;

(5)查詢所有課程的成績都在80分以上的學(xué)生姓名、學(xué)號;

(6)刪除在Student,StuCourse中所有學(xué)號以“2023〞開頭的元組;

(7)在學(xué)生數(shù)據(jù)庫中建立“計(jì)算機(jī)科學(xué)與技術(shù)〞專業(yè)的學(xué)生視圖ComputerStu;(8)在視圖ComputerStu中查詢姓“王〞的學(xué)生狀況。答:

(1)SELECT學(xué)號,姓名

FROMStudent

WHERE專業(yè)名='計(jì)算機(jī)科學(xué)與技術(shù)'(2)SELECT課程號,課程名

FROMCourse

WHERE開課學(xué)期='2'

(3)SELECT姓名

FROMStudenta,Courseb,StuCoursec

WHEREb.課程號=c.課程號ANDa.學(xué)號=c.學(xué)號ANDb.課程名='計(jì)算機(jī)基礎(chǔ)'

(4)SELECT學(xué)號,COUNT(*),AVG(成績)

FROMStuCourse

GROUPBY學(xué)號

(5)SELECT學(xué)號,姓名

FROMStudentWHERE學(xué)號IN(SELECT學(xué)號

FROMStuCourseGROUPBY學(xué)號

HAVINGMIN(成績)>=80)

(6)DELETEFROMStuCourse

WHERES#LIKE'2023%'DELETEFROMStudentWHERES#LIKE'2023%'(7)CREATEVIEWComputerStuAS

SELECT*FROMStudent

WHERE專業(yè)名='計(jì)算機(jī)'

(8)SELECT*

FROMComputerStu

WHERE姓名LIKE'王%'

習(xí)題4

1、數(shù)據(jù)庫設(shè)計(jì)的任務(wù)是什么?答:數(shù)據(jù)庫設(shè)計(jì)的基本任務(wù)是:根據(jù)一個單位的信息需求,處理需求和數(shù)據(jù)庫的支撐環(huán)境(包括數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)和硬件),設(shè)計(jì)出數(shù)據(jù)庫模式(包括外模式、規(guī)律(概念)模式和內(nèi)模式)以及典型的應(yīng)用程序。2、數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)分哪幾個階段?

答:數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)分六個階段:系統(tǒng)規(guī)劃及需求分析階段,概念設(shè)計(jì)階段,規(guī)律設(shè)計(jì)階段,數(shù)據(jù)庫物理設(shè)計(jì)階段,應(yīng)用程序編碼、調(diào)試、試運(yùn)行階段和數(shù)據(jù)庫運(yùn)行維護(hù)階段。3、簡述數(shù)據(jù)庫規(guī)律設(shè)計(jì)的任務(wù)和步驟。答:數(shù)據(jù)庫規(guī)律設(shè)計(jì)的任務(wù)是:把數(shù)據(jù)庫概念設(shè)計(jì)階段產(chǎn)生的數(shù)據(jù)庫概念模式轉(zhuǎn)換成數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)庫規(guī)律模式。數(shù)據(jù)庫規(guī)律設(shè)計(jì)的主要步驟是:(1)把E-R圖轉(zhuǎn)換成關(guān)系模式。

(2)對E-R圖轉(zhuǎn)換成后形成的關(guān)系模式進(jìn)行規(guī)范化和優(yōu)化。4、如何把E-R圖轉(zhuǎn)換成關(guān)系模式?

答:E-R圖轉(zhuǎn)換成關(guān)系模式主要涉及兩方面內(nèi)容:

(1)實(shí)體型轉(zhuǎn)換成關(guān)系模式:關(guān)系模式中的屬性和鍵碼均與實(shí)體集中的屬性和鍵碼一一對應(yīng)。

(2)聯(lián)系轉(zhuǎn)換成關(guān)系模式,構(gòu)成連接關(guān)系。若聯(lián)系本身有屬性,則成為連接關(guān)系的屬性。關(guān)鍵是連接關(guān)系的鍵:若聯(lián)系為1,1,則每個實(shí)體型的鍵碼均為其鍵;若聯(lián)系為1:n,則n端實(shí)體型的鍵碼為其鍵;若聯(lián)系為m:n.則各實(shí)體型鍵組合為其鍵。

5、為一個圖書館設(shè)計(jì)一個數(shù)據(jù)庫,用戶要求數(shù)據(jù)庫中,對每個借閱者保存讀者的讀者號、姓名、性別、年齡、單位、電話號碼、電子郵件,對每本書保存書號、書名、、出版社,

對每本被借出的書保存讀者號、借出日期、還書日期。要求:設(shè)計(jì)出E-R模型,再將其轉(zhuǎn)換為關(guān)系模型。答:(1)E-R模型如下:

讀者號姓名借閱日期書名性別書號年齡讀者N借閱M圖書單位單價電話電子郵件歸還日期出版社(2)圖書館關(guān)系模型:

讀者(讀者號,姓名,性別,年齡,單位,電話,電子郵件)圖書(書號,書名,,單價,出版社)借閱(讀者號,書號,借閱時間,歸還時間)

習(xí)題5

1.什么是數(shù)據(jù)庫建模?數(shù)據(jù)庫建模的主要內(nèi)容包括什么?

答:在設(shè)計(jì)數(shù)據(jù)庫時,對現(xiàn)實(shí)世界進(jìn)行分析、抽象,并從中找出內(nèi)在聯(lián)系,進(jìn)而確定數(shù)據(jù)庫的結(jié)構(gòu),這一過程就稱為數(shù)據(jù)庫建模。

數(shù)據(jù)庫建模主要包括兩部分內(nèi)容:確定最基本的數(shù)據(jù)結(jié)構(gòu);對約束建模(主要是說明候選碼、主碼和外碼)。

2、簡述基本E-R圖的表示方法。

答:在基本E-R圖中,數(shù)據(jù)元素用矩形表示,屬性用橢圓表示,實(shí)體之間的聯(lián)系用菱形和箭頭表示。

3、某房屋租賃公司利用數(shù)據(jù)庫記錄房主的房屋和公司職員的信息。其中房屋信息包括房屋編號、地址、面積、朝向、租金價格。職員的信息包括員工編號、姓名、聯(lián)系的客戶、約定客戶見面時間、約定客戶看房的編號。E-R圖如下所示,其中的A~H應(yīng)分別填入什么?

編號D朝向F姓名ABC面積E編號GH

答:A:房屋,B:帶客戶看房,C:職員,D:地址,E:租金價格,F(xiàn):聯(lián)系的客戶,G:約定客戶見面時間,H:約定客戶看房編號。

4、某大學(xué)的系有若干個教研室,每個教研室有若干個教師,每個學(xué)生選修若干門課程,每門課程有若干個學(xué)生選修,學(xué)生每選修一門課就有一個成績,每個教師講授多門保,每門課可由多個教師講授,每個名師講授的課程都有由該老師指定的教材及規(guī)定的教室。其中,系

有編號、系名、系主任、辦公室和電話;學(xué)生有學(xué)號、姓名、性別;課程有課程號、課程名和學(xué)分;教師有編號、姓名、性別、年齡和職稱。請畫出該系的E-R模型。答:

名稱編號姓名教室編號課程名學(xué)分系主任系電話1組成N教師M授課N課程M選課地點(diǎn)性別年齡職稱教材學(xué)生N5、設(shè)計(jì)一個適合大學(xué)生選課的數(shù)據(jù)庫,該數(shù)據(jù)庫應(yīng)包含學(xué)生、教師、系和課程。哪個學(xué)生選了哪門課,哪個教師上了哪門課,學(xué)生的成績,一個系提供哪些課程等信息。用E-R圖描述該數(shù)據(jù)庫。答:

學(xué)號姓名成績課程號課程名學(xué)分性別學(xué)號姓名學(xué)生M選課N課程M屬于提供系名稱編號

習(xí)題6

1、試述以下術(shù)語的含義:函數(shù)依靠、碼、主屬性、多值依靠、2NF、3NF、BCNF、4NF、關(guān)系規(guī)范化。

答:函數(shù)依靠:設(shè)R(U)是屬性集U上的關(guān)系模式,X和Y是U的子集,r是R(U)中任意給定的關(guān)系實(shí)例。若對于r中的任意兩個元組s和t,當(dāng)s[X]=t[X]時,就有s[Y]=t[Y],則稱屬性子集X函數(shù)決定屬性子集Y,或稱Y函數(shù)依靠于X。

1NN教學(xué)N1教師教師號姓名職稱碼:假使關(guān)系模式R的一個或多個屬性A1,A2,?,An的組合滿足如下條件,則該組合為關(guān)系模式R的碼:

F(1)這些屬性函數(shù)決定該關(guān)系模式的所有屬性,即A1A2...An???U

(2)A1,A2,?,An的任何真子集都不能函數(shù)決定R的所有屬性。多值依靠:設(shè)R(U)是屬性集U上的一個關(guān)系模式,X、Y、Z是U的子集,且Z=U-X-Y。對于R的任何關(guān)系r,假使存在兩個元組s、t,則必然存在兩個元組u、v,使得:

u[X]=v[X],s[X]=t[X],u[Y]=t[Y],且u[Z]=s[Z],v[Y]=s[Y],且v[Z]=t[Z],

即交換元組s、t在屬性組Y上的值,得到兩個新元組u、v必在關(guān)系r中,則稱Y多值依靠(MultivaluedDependency)于X。

2NF:對于關(guān)系模式R,若R∈1NF,且每一個非主屬性完全函數(shù)依靠于碼,則R是其次范式的,記作:R∈2NF。

3NF:在關(guān)系模式R中,若不存在這樣的碼X、屬性組Y和非主屬性Z(Z不包含于Y),使得X→Y,Y→Z(這里X→Y)成立,則稱R是第三范式的,記作:R∈3NF。

BCNF:設(shè)關(guān)系模式R∈1NF,若X?Y,Y?X時,X必含有碼,則R是BC范式的,記作:R∈BCNF。

4NF:設(shè)FD、MVD分別為定義在關(guān)系模式R上的函數(shù)依靠集和多值依靠集,D=FD∪MVD,若R∈1NF,且所有非平凡的多值依靠X→→Y,其決定因素X都含有碼,則稱R是第四范式的,記作:R∈4NF。

關(guān)系規(guī)范化指通過關(guān)系模式分解將一個低級的范式分解為多個高級范式的過程。2、什么是數(shù)據(jù)的冗余與數(shù)據(jù)的不一致性?

答:數(shù)據(jù)冗余(dataredundancy)是指同一數(shù)據(jù)在一個或多個數(shù)據(jù)文件中重復(fù)存儲。數(shù)據(jù)冗余不僅會占用大量系統(tǒng)存儲資源,造成不必要的開銷,而且更嚴(yán)重的是會帶來數(shù)據(jù)庫操作的異常,對數(shù)據(jù)庫性能發(fā)揮造成不好的影響。

數(shù)據(jù)庫中同一個數(shù)據(jù)在不同的地方出現(xiàn)了不同的值被稱為數(shù)據(jù)的不一致性。3、函數(shù)依靠有哪幾種類型?

答:函數(shù)依靠有三種類型:平凡與非平凡函數(shù)依靠、部分與完全函數(shù)依靠、傳遞函數(shù)依靠。4、舉例說明如一個關(guān)系模式僅為1NF的,存在的異常并分析原因。

答:例如學(xué)生選課關(guān)系模式:StuCourse(學(xué)號,姓名,專業(yè),專業(yè)負(fù)責(zé)人,課程號,課程名,學(xué)分,成績),僅為1NF的,存在數(shù)據(jù)冗余和更新異常。異常產(chǎn)生的原因在于非主屬性對碼不是完全函數(shù)依靠。

5、試證明若R(U)∈BCNF,則必有R(U)∈3NF。

證明:用反證法。設(shè)R(U)∈BCNF,但R(U)?3NF,則有如下兩種可能的狀況:

(1)假設(shè)R(U)中存在非主屬性A對碼K為部分函數(shù)依靠,即:

??A(A?K)K?由部分依靠的定義可知:必存在K的真子集K’,使K’→A(A?K’)。

由R(U)∈BCNF及BCNF的定義可知:K’中必包含碼。這說明碼K中含有另一個碼K’,這與碼的定義矛盾。所以此假設(shè)不成立,即R(U)中不存在非主屬性A對碼K為部分函數(shù)依靠。

(2)假設(shè)R(U)中存在非主屬性A傳遞依靠于碼K,即存在一個屬性集B,滿足:K→B,B

K,B

K,B→A

p

由B→A及R(U)∈BCNF可知:B中必含有碼(設(shè)為K’)。由碼的定義可得:K’→U,由于B?K’,K?U,故B→K。這與B

K相矛盾。

由上可知,假設(shè)不成立,故R(U)∈3NF。

6、全碼的關(guān)系是否必然屬于3NF?為什么?是否必然屬于BCNF?為什么?

答:全碼的關(guān)系必然屬于3NF。由于3NF要求關(guān)系范式滿足1NF,并且不存在非主屬性對碼的部分和傳遞函數(shù)依靠。全碼的關(guān)系不存在非主屬性,故它是3NF的。它也必然屬于BCNF,由于BC范式要求每個決定因子都包含碼,而全碼的關(guān)系只有一個決定因子,即關(guān)系模式所包含的所有屬性。

7、試問以下關(guān)系模式最高屬于第幾范式,并說明理由:

(1)R(A,B,C,D),F(xiàn):{B?D,AB?C}(2)R(A,B,C),F(xiàn):{A?B,B?A,A?C}(3)R(A,B,C,D),F(xiàn):{A?C,D?B}(4)R(A,B,C,D),F(xiàn):{A?C,CD?B}答:(1)屬于第一范式。關(guān)鍵字{A,B},非主屬性{D}不完全依靠于關(guān)鍵字。

(2)BCNF。由于它的每個函數(shù)依靠的決定因素都是關(guān)鍵字。

(3)屬于第一范式。關(guān)鍵字{A,D},非主屬性{C,B}不完全依靠于關(guān)鍵字。(4)屬于第一范式。關(guān)鍵字{A,D},非主屬性{B}不完全依靠于關(guān)鍵字。8、建立一個關(guān)于系、學(xué)生、班級、學(xué)會等信息的關(guān)系數(shù)據(jù)庫。

描述學(xué)生的屬性有:學(xué)號、姓名、系名、班號

描述班級的屬性有:班號、專業(yè)名、系名、人數(shù)、入校年份描述系的屬性有:系名、系辦公室地點(diǎn)、職工人數(shù)、學(xué)生人數(shù)描述學(xué)會的屬性有:學(xué)會名、成立年份、地點(diǎn)、人數(shù)

有關(guān)語義如下:一個系有若干專業(yè),每個專業(yè)每年只招一個班,每個班有若干學(xué)生。每個學(xué)生可參與若干學(xué)會,每個學(xué)會有若干學(xué)生。學(xué)生參與某學(xué)會有一個入會年份。

試回復(fù)以下問題:

(1)給出關(guān)系模式,寫出每個關(guān)系模式的函數(shù)依靠集。(2)指出每個關(guān)系模式的候選碼。

(3)每個關(guān)系模式最高已經(jīng)達(dá)到第幾范式?為什么?

(4)假使關(guān)系模式不屬于3NF,將其分解成3NF模式集。答:(1)關(guān)系模式有:

S(S#,Sname,Sdept,Sclass)

函數(shù)依靠:S#?Sname;S#?Sdept,S#?Sclass,Sclass?Sdept

C(C#,Sspec,Sdept,num,Date)

函數(shù)依靠:C#?Sspec,C#?Sdept,C3?num,C#?Date,

(Sspec,Date)?C#,Sspec?Sdept

D(D#,DName,Dnum,num)

函數(shù)依靠:D#?DName,D#?Dnum,D#?numP(P#,Year,Des,Pnum)

函數(shù)依靠:P#?Year,P#?Des,P#?PnumEnt(S#,P#,SPYear)//學(xué)生入會函數(shù)依靠:(S#,P#)?SPYear

(2)每個模式的候選碼分別是:S#、C#、D#、P#、(S#,P#)(3)每個模式達(dá)到的最高范式:

S–2NF,存在非主屬性Sdept對候選碼S#的傳遞函數(shù)依靠;C—2NF,存在非主屬性Sdept對候選碼C#的傳遞函數(shù)依靠;D—3NF,不存在非主屬性對候選碼的部分獲傳遞函數(shù)依靠;P—3NF,不存在非主屬性對候選碼的部分獲傳遞函數(shù)依靠;Ent—3NF,不存在非主屬性對候選碼的部分獲傳遞函數(shù)依靠。(答D、P、Ent為BCNF也正確)(4)對S和C模式進(jìn)行分解:

S1(S#,Sname,Sdept)S2(Sclass,Sdept)C1(C#,Sspec,num,Date)C2(Sspec,Sdept)

習(xí)題7

1、兩個主要的數(shù)據(jù)庫訪問通用接口是什么?

答:ODBC(OpenDataBaseConnectivity,開放數(shù)據(jù)庫連接)和JDBC(JavaDataBaseConnectivity,Java數(shù)據(jù)庫連接),它們提供對數(shù)據(jù)庫訪問的調(diào)用級接口。2、T-SQL函數(shù)分為哪兩類?

答:內(nèi)置函數(shù)、用戶自定義函數(shù)。

3、T-SQL內(nèi)置函數(shù)有哪幾類?什么是確定型函數(shù)?什么是非確定型函數(shù)?答:T-SQL內(nèi)置函數(shù)包括三類:行集(Rowset)函數(shù)、聚合(Aggregate)函數(shù)和標(biāo)量(Scalar)函數(shù)。

確定型函數(shù)是指每次使用特定的輸入值集調(diào)用該函數(shù)時,總是返回一致的結(jié)果。而非確定型函數(shù)是指每次使用特定的輸入值集調(diào)用時,可能返回不同的結(jié)果。4、T-SQL中用戶自定義函數(shù)的創(chuàng)立、修改、刪除語句分別是什么?

答:創(chuàng)立用戶定義函數(shù)使用CREATEFUNCTION語句,利用ALTERFUNCTION語句對用戶定義函數(shù)進(jìn)行修改,用DROPFUNCTION語句刪除用戶定義函數(shù)。

5、什么是游標(biāo)?SQLServer對游標(biāo)的使用要求遵循何種順序?游標(biāo)操作語句有哪些?答:游標(biāo)可看作一種特別的指針,它與某個查詢結(jié)果集相聯(lián)系,可以指向結(jié)果集的任意位置,以便對指定位置的數(shù)據(jù)進(jìn)行處理。使用游標(biāo)可以在查詢數(shù)據(jù)的同時對數(shù)據(jù)進(jìn)行處理。游標(biāo)提供了對一個結(jié)果集進(jìn)行逐行處理的能力。SQLServer對游標(biāo)的使用要遵循以下順序:聲明游標(biāo)?開啟游標(biāo)?讀取數(shù)據(jù)?關(guān)閉游標(biāo)?釋放游標(biāo)。

游標(biāo)操作語句有:DECLARECURSOR語句(聲明游標(biāo))、OPEN語句(開啟游標(biāo))、FETCH語句(讀取游標(biāo))、CLOSE語句(關(guān)閉游標(biāo))、DEALLOCATE語句(釋放游標(biāo))。6、什么是存儲過程?存儲過程有哪些優(yōu)點(diǎn)?

答:存儲過程是存儲在服務(wù)器上的一組預(yù)先定義的SQL程序,它是一種封裝重復(fù)任務(wù)的方法。存儲過程可以被反復(fù)調(diào)用,便于共享及維護(hù)。

使用存儲過程的優(yōu)點(diǎn)主要有:

①存儲過程在服務(wù)器端運(yùn)行,執(zhí)行效率高。

②存儲過程執(zhí)行一次后,其執(zhí)行規(guī)劃就駐留在高速緩沖存儲器,在以后的操作中,只需從高速緩沖存儲器中調(diào)用已編譯好的二進(jìn)制代碼執(zhí)行,提高了系統(tǒng)性能。

③確保數(shù)據(jù)庫的安全。使用存儲過程可以完成所有數(shù)據(jù)庫操作,并可通過編程方式控制上述操作對數(shù)據(jù)庫信息訪問的權(quán)限。

④自動完成需要預(yù)先執(zhí)行的任務(wù)。存儲過程可以在系統(tǒng)啟動時自動執(zhí)行,而不必在系統(tǒng)啟動后再進(jìn)行手工操作,大大便利了用戶的使用,可以自動完成一些需要預(yù)先執(zhí)行的任務(wù)。

7、SQLServer中定義和執(zhí)行存儲過程的語句分別是什么?

答:定義存儲過程的語句是CREATEPROCEDURE,執(zhí)行存儲過程的命令是EXECUTE。8、什么是觸發(fā)器?觸發(fā)器有哪些特點(diǎn)?

答:觸發(fā)器是由一組SQL語句構(gòu)成的,觸發(fā)器是自動執(zhí)行的,當(dāng)有操作影響到觸發(fā)器保護(hù)的數(shù)據(jù)時,觸發(fā)器自動執(zhí)行。

觸發(fā)器的主要特點(diǎn)有:

①觸發(fā)器自動執(zhí)行。在對表中數(shù)據(jù)進(jìn)行了修改后馬上被激活自動執(zhí)行。

②觸發(fā)器能夠?qū)?shù)據(jù)庫中的相關(guān)表進(jìn)行級聯(lián)更改。觸發(fā)器是基于表創(chuàng)立的,但可以針對多個表進(jìn)行操作,實(shí)現(xiàn)對相關(guān)表的級聯(lián)更改。

③觸發(fā)器可實(shí)現(xiàn)比CHECK約束更為繁雜的數(shù)據(jù)完整性約束。CHECK約束不允許引用其他表中的列來完成檢查工作,而觸發(fā)器可以。

④同一個表中可使用多個觸發(fā)器,即使同一類型的觸發(fā)器,也可使用多個。9、簡述ODBC的體系結(jié)構(gòu)。

答:ODBC是一個分層體系結(jié)構(gòu),由四部分構(gòu)成:ODBC數(shù)據(jù)庫應(yīng)用程序(application)、驅(qū)動程序管理器(drivermanager)、DBMS驅(qū)動程序(DBMSdriver)、數(shù)據(jù)源(datasource)。如下圖所示。

應(yīng)用程序ODBC驅(qū)動程序管理器ODBC驅(qū)動程序ODBC驅(qū)動程序ODBC驅(qū)動程序Oracle數(shù)據(jù)源SQLServer數(shù)據(jù)源其他數(shù)據(jù)源10、畫出ADO的對象層次結(jié)構(gòu)圖。

答:ADO是采用層次框架實(shí)現(xiàn)的,其對象層次結(jié)構(gòu)如下圖所示。

PropertiesConnectionErrorsCommandErrorPropertiesParametersParameterPropertyPropertyRecordSetFieldsPropertiesFieldPropertyPropertiesProperty

11、圖示ADO.NET的體系結(jié)構(gòu)。答:

應(yīng)用程序(WebForm,WinForm)DataSet數(shù)據(jù)表DataColumnDataconstrainDataRowDataRelationCollection.NET數(shù)據(jù)提供程序DataAdapterSelectCommandInsertCommandUpdateCommandDleteCommandDataReader命令參數(shù)連接數(shù)據(jù)源

習(xí)題8

1、簡述數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程。答:數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程一般包括需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼與單元測試、系統(tǒng)測試與交付、系統(tǒng)使用與維護(hù)等階段。2、數(shù)據(jù)庫應(yīng)用系統(tǒng)的體系結(jié)構(gòu)主要有哪些?

答:數(shù)據(jù)庫應(yīng)用系統(tǒng)的體系結(jié)構(gòu)是指數(shù)據(jù)庫應(yīng)用系統(tǒng)各組成部件之間的結(jié)構(gòu)關(guān)系??煞譃?種模式,即單用戶模式、主從式多用戶模式、客戶機(jī)/服務(wù)器模式(Client/Server,C/S)和Web瀏覽器/服務(wù)器模式(Browser/Server,B/S)。3、目前數(shù)據(jù)庫市場上有哪些主流廠商和產(chǎn)品?

答:數(shù)據(jù)庫廠商:Oracle、IBM、Microsoft、Sybase等。

主流大型關(guān)系數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品SQLServer、Oracle、Sybase、DB2,小型的關(guān)系數(shù)據(jù)庫管理系統(tǒng)MySQL、Access和VFP等。

4、在VB中使用ADO對象訪問數(shù)據(jù)庫的一般流程是什么?

答:使用ADO對象訪問數(shù)據(jù)庫的一般流程是:連接到數(shù)據(jù)源(如SQLServer)?給出訪問數(shù)據(jù)源的命令及參數(shù)?執(zhí)行命令?處理返回的結(jié)果集?關(guān)閉連接。

5、Connection、Recordset和Command這三個ADO對象的主要作用是什么?

答:Connection對象用于建立數(shù)據(jù)源的連接。Recordset對象實(shí)現(xiàn)結(jié)果集的封裝,其數(shù)據(jù)結(jié)構(gòu)可認(rèn)為與表一致,Recordset(若不為空)中的數(shù)據(jù)在規(guī)律上由行和列組成。Command對象的主要功能是讓服務(wù)器執(zhí)行SQL命令或服務(wù)器端的存儲過程。

6、.NET框架結(jié)構(gòu)中通用語言運(yùn)行環(huán)境(CLR)和.NETFramework類庫的主要作用分別是什么?

答:通用語言運(yùn)行環(huán)境CLR的作用是負(fù)責(zé)執(zhí)行程序,提供內(nèi)存管理、線程管理、安全管理、異常處理、通用類系統(tǒng)與生命周期監(jiān)控等核心服務(wù)。.NETFramework類庫的主要作用是提供大量類與接口,包括ADO.NET、XML、IO、網(wǎng)絡(luò)、調(diào)試、安全和多線程等。

習(xí)題9

1、什么是數(shù)據(jù)庫保護(hù)?它有哪些內(nèi)容?答:從數(shù)據(jù)庫管理系統(tǒng)角度出發(fā)來保護(hù)數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù),使之不至于受到非法訪問或破壞,這稱為數(shù)據(jù)庫保護(hù)。數(shù)據(jù)庫保護(hù)的內(nèi)容有:安全性保護(hù),完整性保護(hù),并發(fā)控制和故障恢復(fù)。2、什么是數(shù)據(jù)庫的安全性?常用的保護(hù)措施有哪些?答:數(shù)據(jù)庫的安全性保護(hù)是指防止非法使用數(shù)據(jù)庫。包括防止非法用戶使用數(shù)據(jù)庫和合法用戶非法使用數(shù)據(jù)庫。常用的保護(hù)措施有:

(1)使用權(quán)的鑒別。常用的鑒別方法有口令和函數(shù)計(jì)算法兩種。

(2)使用范圍限制。一般可用外模式的方法予以限制,用戶可以在外模式定義范圍內(nèi)訪問數(shù)據(jù),而外模式?jīng)]有定義的那些數(shù)據(jù)庫中的數(shù)據(jù),用戶無法使用。在關(guān)系數(shù)據(jù)庫中則可用視圖方法予以限制。(3)訪問控制權(quán)鑒別。進(jìn)一步限制每一個用戶在每一個數(shù)據(jù)對象上可以執(zhí)行的操作的類型。以關(guān)系數(shù)據(jù)庫系統(tǒng)為例,操作對象有:關(guān)系,元組,屬性,可以使用的操作類型有:查詢,插入,修改,刪除以及它們的一些組合狀況。

(4)安全審計(jì)。審計(jì)用于跟蹤和記錄所選用戶對數(shù)據(jù)庫的操作。通過審計(jì)可以跟蹤、記錄可疑的數(shù)據(jù)庫操作,并將結(jié)果記錄在審計(jì)日志中。根據(jù)審計(jì)日志記錄可對非法訪問進(jìn)行事后分析與追查。

3、有哪些常用的數(shù)據(jù)庫完整性保護(hù)措施?

答:常用的數(shù)據(jù)庫完整性保護(hù)措施有:完整性約束定義與檢查機(jī)制、觸發(fā)器。4、什么是事務(wù)?事務(wù)的ACID性質(zhì)指什么?

答:事務(wù)(Transaction)是一系列數(shù)據(jù)庫操作的有限序列,是數(shù)據(jù)庫的基本執(zhí)行單元。

事務(wù)的ACID性質(zhì)指原子性(A)、一致性(C)、隔離性(I)和持久性(D)。(1)原子性(Atomicity)

事務(wù)必需是數(shù)據(jù)庫的規(guī)律工作單元,即事務(wù)中包括的諸操作要么全執(zhí)行,要么全不執(zhí)行。(2)一致性(Consistency)事務(wù)在完成時,必需使所有的數(shù)據(jù)都保持一致狀態(tài)。假使數(shù)據(jù)庫系統(tǒng)因運(yùn)行中發(fā)生故障,有些事務(wù)尚未完成就被迫中斷,這些未完成的事務(wù)對數(shù)據(jù)庫所做的修改有一部分已寫入物理數(shù)據(jù)庫,此時數(shù)據(jù)庫處于一種不一致的狀態(tài)。

(3)隔離性(Isolation)

溫馨提示

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

最新文檔

評論

0/150

提交評論