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