《《數(shù)據(jù)庫技術(shù)與應(yīng)用》第2章習(xí)題答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫技術(shù)與應(yīng)用》第2章習(xí)題答案(5頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、真誠為您提供優(yōu)質(zhì)參考資料,若有不當(dāng)之處,請指正。
第2章 數(shù)據(jù)模型
1.試述數(shù)據(jù)模型的概念、數(shù)據(jù)模型的作用和數(shù)據(jù)模型的三個(gè)要素。
解:
數(shù)據(jù)模型是數(shù)據(jù)庫中用來對現(xiàn)實(shí)世界進(jìn)行抽象的工具,是數(shù)據(jù)庫中用于提供信息表示和操作手段的形式構(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):是所研究的對象類型的集合,是對系統(tǒng)靜態(tài)特性的描述。
(2)數(shù)據(jù)操作:是指對數(shù)據(jù)庫中各種對象(型)的實(shí)例(值)允許進(jìn)行的操作的集合,包括操作及有關(guān)的操作規(guī)則,是對系統(tǒng)動(dòng)態(tài)
2、特性的描述。
(3)數(shù)據(jù)的約束條件:是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其XXX所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。
2.模型的作用。
解:
模型用于對客觀事物及其XXX進(jìn)行有效的描述與刻畫。模型是對現(xiàn)實(shí)世界特征的模擬和抽象。數(shù)據(jù)模型是現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象,是用來描述數(shù)據(jù)的一組概念和定義。不同的數(shù)據(jù)模型提供給我們模型化數(shù)據(jù)和信息的不同工具。
3.概念模型中以下術(shù)語:
實(shí)體,實(shí)體型,實(shí)體集,屬性,碼,實(shí)體XXX圖(E-R圖)
解:
實(shí)體:客觀存在并可以相互區(qū)分的事物叫實(shí)體。
實(shí)體型:具有相
3、同屬性的實(shí)體具有相同的特征和性質(zhì),用實(shí)體名及其屬性名集合來抽象和刻畫同類實(shí)體,稱為實(shí)體型。
實(shí)體集:同型實(shí)體的集合稱為實(shí)體集。
屬性:實(shí)體所具有的某一特性,一個(gè)實(shí)體可由若干個(gè)屬性來刻畫。
碼:惟一標(biāo)識(shí)實(shí)體的屬性集稱為碼。
實(shí)體XXX圖(E-R 圖):提供了表示實(shí)體型、屬性和XXX的方法:
實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名;
屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來;
XXX:用菱形表示,菱形框內(nèi)寫明XXX名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上XXX的類型(1:1,1:n 或 m:n)。
4.試給出三個(gè)實(shí)際部門的E-R圖,要求實(shí)體型之間具有一
4、對一,一對多,多對多各種不同的XXX。
解:
解:
部門和總經(jīng)理是兩個(gè)實(shí)體。一個(gè)部門或者一個(gè)公司只有一個(gè)總經(jīng)理,一個(gè)總經(jīng)理只在一個(gè)公司工作,不能兼任兩個(gè)以上公司的總經(jīng)理,所以部門和總經(jīng)理兩個(gè)實(shí)體之間是一對一的XXX。
一個(gè)科研項(xiàng)目可以由多個(gè)教員和多個(gè)學(xué)生承擔(dān)。如果規(guī)定一個(gè)教員只能參加一個(gè)項(xiàng)目,一個(gè)學(xué)生也只能參加一個(gè)項(xiàng)目。按照這樣的語義,科研項(xiàng)目和教員、學(xué)生三者之間是一對多的XXX。
如果一門課程可以由多個(gè)教員講授,一個(gè)教員可以講授多門課程,則課程和教員之間是多對多的XXX。
5.學(xué)校中有若干系,每個(gè)系有若干班級(jí)和教研室,每個(gè)教研室有若干教員,其中有的教授和副教授每人各帶若干研究
5、生,每個(gè)班有若干學(xué)生。每個(gè)學(xué)生選修若干課程,每門課可由若干學(xué)生選修。請用E-R圖畫出此學(xué)校的概念模型。
解:
6. 某工廠生產(chǎn)若干產(chǎn)品,每種產(chǎn)品由不同的零件組成。有的零件可用在不同的產(chǎn)品上,這些零件由不同的原材料制成,不同零件所用的材料可以相同。這些零件按所屬的不同產(chǎn)品分別放在倉庫中,原材料按照類別放在若干倉庫中。請用E-R圖畫出此工廠產(chǎn)品,零件,材料,倉庫的概念模型。
解:
7. 試述關(guān)系模型的概念,定義并解釋如下術(shù)語:
(a)關(guān)系 (b)屬性 (c)域 (d)元組
(e)主碼 (f)分量 (g)關(guān)系模式
解:
關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、
6、關(guān)系操作集合和關(guān)系完整性約束三部分組成。在用戶觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。
(a) 關(guān)系:一個(gè)關(guān)系對應(yīng)通常說的一張表;
(b) 屬性:表中的一列即為一個(gè)屬性;
(c) 域:屬性的取值范圍;
(c) 元組:表中的一行即為一個(gè)元組;
(e) 主碼:表中的某個(gè)屬性組,它可以惟一確定一個(gè)元組;
(f) 分量:元組中的一個(gè)屬性值;
(g) 關(guān)系模式:對關(guān)系的描述,一般表示為
關(guān)系名(屬性 1, 屬性 2, … , 屬性 n)
8. 試述層次模型的概念和優(yōu)缺點(diǎn)。
解:
層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型,層次數(shù)據(jù)庫系統(tǒng)采用層次模型作為數(shù)據(jù)的組
7、織方式。層次模型是用樹形結(jié)構(gòu)來表示各類實(shí)體以及實(shí)體間的XXX的數(shù)據(jù)模型。
層次模型的優(yōu)點(diǎn)主要有:
(1) 層次數(shù)據(jù)模型本身比較簡單,層次分明,便于在計(jì)算機(jī)內(nèi)實(shí)現(xiàn)。
(2) 在層次數(shù)據(jù)結(jié)構(gòu)中,從根結(jié)點(diǎn)到樹中任一結(jié)點(diǎn)均存在一條唯一的層次路徑,為有效地進(jìn)行數(shù)據(jù)操縱提供條件。
(3) 由于層次結(jié)構(gòu)規(guī)定除根結(jié)點(diǎn)外所有結(jié)點(diǎn)有且僅有一個(gè)雙親,故實(shí)體集之間的XXX可用雙親結(jié)點(diǎn)唯一地表示,并且層次模型中的基本層次XXX總是從雙親記錄指向子女記錄,所以記錄類型之間的XXX名可省略。由于實(shí)體集間的XXX固定,所以層次模型DBMS對層次結(jié)構(gòu)的數(shù)據(jù)有較高的處理效率。
(4) 層次數(shù)據(jù)模型提供了良好的完整性支持
8、。
(5) 實(shí)體間XXX是固定的,且預(yù)先定義好的應(yīng)用系統(tǒng),采用層次模型來實(shí)現(xiàn),其性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型。
可見用層次模型對具有一對多的層次關(guān)系的部門描述非常自然、直觀,容易理解。這是層次數(shù)據(jù)庫的突出優(yōu)點(diǎn)。
層次模型的缺點(diǎn)主要有:
(1) 現(xiàn)實(shí)世界中很多XXX是非層次性的,如多對多XXX、一個(gè)結(jié)點(diǎn)具有多個(gè)雙親等,層次模型表示這類XXX的方法很笨拙,只能通過引入冗余數(shù)據(jù)(易產(chǎn)生不一致性)或創(chuàng)建非自然的數(shù)據(jù)組織(引入虛擬結(jié)點(diǎn))來解決。
(2) 對插入和刪除操作的限制比較多。
(3) 查詢子女結(jié)點(diǎn)必須通過雙親結(jié)點(diǎn)。
(4) 由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化。
9. 試述網(wǎng)狀模
9、型的概念和優(yōu)缺點(diǎn)。
解:
把滿足以下兩個(gè)條件的基本層次XXX集合稱為網(wǎng)狀模型:
(1) 允許一個(gè)以上的結(jié)點(diǎn)無雙親。
(2) 一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親。
網(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)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴(kuò)大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握。
(2) 其數(shù)據(jù)定義語言(DDL)、數(shù)據(jù)操作語言(DML)復(fù)雜,用戶不容易使用。
(3) 數(shù)據(jù)獨(dú)立性較差。由于記錄之間XXX是通過存取路徑實(shí)現(xiàn)的,應(yīng)用程序在訪問數(shù)據(jù)時(shí)
10、必須選擇適當(dāng)?shù)拇嫒÷窂剑虼?,用戶必須了解系統(tǒng)結(jié)構(gòu)的細(xì)節(jié),加重了編寫應(yīng)用程序的負(fù)擔(dān)。從而影響數(shù)據(jù)獨(dú)立性。
10. 試述關(guān)系模型的優(yōu)缺點(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í)體之間削XXX都用關(guān)系表示,操作的對象和操作的結(jié)果都是關(guān)系,所以其數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用。
(3) 關(guān)系模型的存取路徑對用戶透明,從而具有更高的數(shù)據(jù)獨(dú)立性、更好的安全保密性,也簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作。
當(dāng)然,關(guān)系數(shù)據(jù)模型也有缺點(diǎn),其中最主要的缺點(diǎn)是,由于存取路徑對用戶
11、透明,查詢效率往往不如非關(guān)系數(shù)據(jù)模型。因此為了提高性能,必須對用戶的查詢請求進(jìn)行優(yōu)化,增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度。
11. 解釋面向?qū)ο竽P椭械南铝谢靖拍睿?
(a)對象 (b)對象標(biāo)識(shí) (c)類 (d)消息 (e)封裝
解:
(a) 對象:在面向?qū)ο髷?shù)據(jù)模型中,現(xiàn)實(shí)世界的任意實(shí)體都統(tǒng)一地用對象表示。每一個(gè)對象的定義包含狀態(tài)和行為兩個(gè)方面,狀態(tài)由一組屬性組成,行為由一組方法組成。通過方法可以改變對象的狀態(tài),對對象進(jìn)行各種數(shù)據(jù)庫操作。
(b) 對象標(biāo)識(shí):每個(gè)對象都有唯一的標(biāo)識(shí),稱為對象標(biāo)識(shí)。
(c) 類:具有相同屬性和方法的對象構(gòu)成一個(gè)對象類(簡稱為類),一個(gè)對象是
12、某一類的實(shí)例。
(d) 消息:類間相互溝通的操作即消息。
(e) 封裝:在面向?qū)ο髷?shù)據(jù)庫中,對象是狀態(tài)和行為的封裝。從對象外部看,對象的狀態(tài)和行為是不可見的,對象之間的通信是通過消息傳遞來調(diào)用對象中的屬性和方法,從而內(nèi)部執(zhí)行要求的操作,操作的結(jié)果仍以消息的形式返回。
12. 什么是半結(jié)構(gòu)化數(shù)據(jù)模型?
解:
半結(jié)構(gòu)化數(shù)據(jù)是介于結(jié)構(gòu)化數(shù)據(jù)和完全無結(jié)構(gòu)數(shù)據(jù)(如聲音文件、圖像文件等)之間的數(shù)據(jù)。它具有一定的結(jié)構(gòu),但是結(jié)構(gòu)不完整、不規(guī)則,或者結(jié)構(gòu)是隱含的,例如HTML文檔就是半結(jié)構(gòu)化數(shù)據(jù)。半結(jié)構(gòu)化數(shù)據(jù)模型允許那些相同類型的數(shù)據(jù)項(xiàng)有不同的屬性集的數(shù)據(jù)說明。這和結(jié)構(gòu)化的數(shù)據(jù)模型形成了對比,因?yàn)樵谀切?shù)據(jù)模型中所有某種特定類型的數(shù)據(jù)項(xiàng)必須有相同的屬性集。
4 / 5