




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)庫課后習(xí)題答案數(shù)據(jù)庫課后習(xí)題答案數(shù)據(jù)庫課后習(xí)題答案數(shù)據(jù)庫課后習(xí)題答案編制僅供參考審核批準生效日期地址:電話:傳真:郵編:第1章緒論1.試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。答:(l)數(shù)據(jù)(Data):描述事物的符號記錄稱為數(shù)據(jù)。數(shù)據(jù)的種類有數(shù)字、文字、圖形、圖像、聲音、正文等。數(shù)據(jù)與其語義是不可分的。解析在現(xiàn)代計算機系統(tǒng)中數(shù)據(jù)的概念是廣義的。早期的計算機系統(tǒng)主要用于科學(xué)計算,處理的數(shù)據(jù)是整數(shù)、實數(shù)、浮點數(shù)等傳統(tǒng)數(shù)學(xué)中的數(shù)據(jù)。現(xiàn)代計算機能存儲和處理的對象十分廣泛,表示這些對象的數(shù)據(jù)也越來越復(fù)雜。數(shù)據(jù)與其語義是不可分的。500這個數(shù)字可以表示一件物品的價格是500元,也可以表示一個學(xué)術(shù)會議參加的人數(shù)有500人,還可以表示一袋奶粉重500克。(2)數(shù)據(jù)庫(DataBase,簡稱DB):數(shù)據(jù)庫是長期儲存在計算機內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余度、較高的數(shù)據(jù)獨立性和易擴展性,并可為各種用戶共享。(3)數(shù)據(jù)庫系統(tǒng)(DataBas。Sytem,簡稱DBS):數(shù)據(jù)庫系統(tǒng)是指在計算機系統(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ù)庫是兩個概念。數(shù)據(jù)庫系統(tǒng)是一個人一機系統(tǒng),數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)的一個組成部分。但是在日常工作中人們常常把數(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é)地組織和存儲數(shù)據(jù)、高效地獲取和維護數(shù)據(jù)。DBMS的主要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫的運行管理功能、數(shù)據(jù)庫的建立和維護功能。解析DBMS是一個大型的復(fù)雜的軟件系統(tǒng),是計算機中的基礎(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.使用數(shù)據(jù)庫系統(tǒng)有什么好處答:使用數(shù)據(jù)庫系統(tǒng)的好處是由數(shù)據(jù)庫管理系統(tǒng)的特點或優(yōu)點決定的。使用數(shù)據(jù)庫系統(tǒng)的好處很多,例如,可以大大提高應(yīng)用開發(fā)的效率,方便用戶的使用,減輕數(shù)據(jù)庫系統(tǒng)管理人員維護的負擔(dān),等等。使用數(shù)據(jù)庫系統(tǒng)可以大大提高應(yīng)用開發(fā)的效率。因為在數(shù)據(jù)庫系統(tǒng)中應(yīng)用程序不必考慮數(shù)據(jù)的定義、存儲和數(shù)據(jù)存取的具體路徑,這些工作都由DBMS來完成。用一個通俗的比喻,使用了DBMS就如有了一個好參謀、好助手,許多具體的技術(shù)工作都由這個助手來完成。開發(fā)人員就可以專注于應(yīng)用邏輯的設(shè)計,而不必為數(shù)據(jù)管理的許許多多復(fù)雜的細節(jié)操心。還有,當(dāng)應(yīng)用邏輯改變,數(shù)據(jù)的邏輯結(jié)構(gòu)也需要改變時,由于數(shù)據(jù)庫系統(tǒng)提供了數(shù)據(jù)與程序之間的獨立性,數(shù)據(jù)邏輯結(jié)構(gòu)的改變是DBA的責(zé)任,開發(fā)人員不必修改應(yīng)用程序,或者只需要修改很少的應(yīng)用程序,從而既簡化了應(yīng)用程序的編制,又大大減少了應(yīng)用程序的維護和修改。使用數(shù)據(jù)庫系統(tǒng)可以減輕數(shù)據(jù)庫系統(tǒng)管理人員維護系統(tǒng)的負擔(dān)。因為DBMS在數(shù)據(jù)庫建立、運用和維護時對數(shù)據(jù)庫進行統(tǒng)一的管理和控制,包括數(shù)據(jù)的完整性、安全性、多用戶并發(fā)控制、故障恢復(fù)等,都由DBMS執(zhí)行。總之,使用數(shù)據(jù)庫系統(tǒng)的優(yōu)點是很多的,既便于數(shù)據(jù)的集中管理,控制數(shù)據(jù)冗余,提高數(shù)據(jù)的利用率和一致性,又有利于應(yīng)用程序的開發(fā)和維護。讀者可以在自己今后的工作中結(jié)合具體應(yīng)用,認真加以體會和總結(jié)。3.試述文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)別和聯(lián)系。答:文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)別是:文件系統(tǒng)面向某一應(yīng)用程序,共享性差,冗余度大,數(shù)據(jù)獨立性差,記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu),由應(yīng)用程序自己控制。數(shù)據(jù)庫系統(tǒng)面向現(xiàn)實世界,共享性高,冗余度小,具有較高的物理獨立性和一定的邏輯獨立性,整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述,由數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)的安全性、完整性、并發(fā)控制和恢復(fù)能力。文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的聯(lián)系是:文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)都是計算機系統(tǒng)中管理數(shù)據(jù)的軟件。解析文件系統(tǒng)是操作系統(tǒng)的重要組成部分;而DBMS是獨立于操作系統(tǒng)的軟件。但是DBMS是在操作系統(tǒng)的基礎(chǔ)上實現(xiàn)的;數(shù)據(jù)庫中數(shù)據(jù)的組織和存儲是通過操作系統(tǒng)中的文件系統(tǒng)來實現(xiàn)的。4.舉出適合用文件系統(tǒng)而不是數(shù)據(jù)庫系統(tǒng)的例子;再舉出適合用數(shù)據(jù)庫系統(tǒng)的應(yīng)用例子。答:(l)適用于文件系統(tǒng)而不是數(shù)據(jù)庫系統(tǒng)的應(yīng)用例子數(shù)據(jù)的備份、軟件或應(yīng)用程序使用過程中的臨時數(shù)據(jù)存儲一般使用文件比較合適。早期功能比較簡單、比較固定的應(yīng)用系統(tǒng)也適合用文件系統(tǒng)。(2)適用于數(shù)據(jù)庫系統(tǒng)而非文件系統(tǒng)的應(yīng)用例子目前,幾乎所有企業(yè)或部門的信息系統(tǒng)都以數(shù)據(jù)庫系統(tǒng)為基礎(chǔ),都使用數(shù)據(jù)庫。例如,一個工廠的管理信息系統(tǒng)(其中會包括許多子系統(tǒng),如庫存管理系統(tǒng)、物資采購系統(tǒng)、作業(yè)調(diào)度系統(tǒng)、設(shè)備管理系統(tǒng)、人事管理系統(tǒng)等),學(xué)校的學(xué)生管理系統(tǒng),人事管理系統(tǒng),圖書館的圖書管理系統(tǒng),等等,都適合用數(shù)據(jù)庫系統(tǒng)。希望讀者能舉出自己了解的應(yīng)用例子。5.試述數(shù)據(jù)庫系統(tǒng)的特點。答:數(shù)據(jù)庫系統(tǒng)的主要特點有:(l)數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)庫系統(tǒng)實現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,這是數(shù)據(jù)庫的主要特征之一,也是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。解析注意這里的“整體’夕兩個字。在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)不再針對某一個應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)化。不僅數(shù)據(jù)是結(jié)構(gòu)化的,而且數(shù)據(jù)的存取單位即一次可以存取數(shù)據(jù)的大小也很靈活,可以小到某一個數(shù)據(jù)項(如一個學(xué)生的姓名),大到一組記錄(成千上萬個學(xué)生記錄)。而在文件系統(tǒng)中,數(shù)據(jù)的存取單位只有一個:記錄,如一個學(xué)生的完整記錄。(2)數(shù)據(jù)的共享性高,冗余度低,易擴充數(shù)據(jù)庫的數(shù)據(jù)不再面向某個應(yīng)用而是面向整個系統(tǒng),因此可以被多個用戶、多個應(yīng)用以多種不同的語言共享使用。由于數(shù)據(jù)面向整個系統(tǒng),是有結(jié)構(gòu)的數(shù)據(jù),不僅可以被多個應(yīng)用共享使用,而且容易增加新的應(yīng)用,這就使得數(shù)據(jù)庫系統(tǒng)彈性大,易于擴充。解析數(shù)據(jù)共享可以大大減少數(shù)據(jù)冗余,節(jié)約存儲空間,同時還能夠避免數(shù)據(jù)之間的不相容性與不一致性。所謂“數(shù)據(jù)面向某個應(yīng)用”是指數(shù)據(jù)結(jié)構(gòu)是針對某個應(yīng)用設(shè)計的,只被這個應(yīng)用程序或應(yīng)用系統(tǒng)使用,可以說數(shù)據(jù)是某個應(yīng)用的“私有資源”。所謂“彈性大”是指系統(tǒng)容易擴充也容易收縮,即應(yīng)用增加或減少時不必修改整個數(shù)據(jù)庫的結(jié)構(gòu),只需做很少的改動??梢匀≌w數(shù)據(jù)的各種子集用于不同的應(yīng)用系統(tǒng),當(dāng)應(yīng)用需求改變或增加時,只要重新選取不同的子集或加上一部分數(shù)據(jù),便可以滿足新的需求。(3)數(shù)據(jù)獨立性高數(shù)據(jù)獨立性包括數(shù)據(jù)的物理獨立性和數(shù)據(jù)的邏輯獨立性。數(shù)據(jù)庫管理系統(tǒng)的模式結(jié)構(gòu)和二級映像功能保證了數(shù)據(jù)庫中的數(shù)據(jù)具有很高的物理獨立性和邏輯獨立性。(4)數(shù)據(jù)由DBMS統(tǒng)一管理和控制數(shù)據(jù)庫的共享是并發(fā)的共享,即多個用戶可以同時存取數(shù)據(jù)庫中的數(shù)據(jù)甚至可以同時存取數(shù)據(jù)庫中同一個數(shù)據(jù)。為此,DBMS必須提供統(tǒng)一的數(shù)據(jù)控制功能,包括數(shù)據(jù)的安全性保護、數(shù)據(jù)的完整性檢查、并發(fā)控制和數(shù)據(jù)庫恢復(fù)。解析DBMS數(shù)據(jù)控制功能包括四個方面:數(shù)據(jù)的安全性保護:保護數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞;數(shù)據(jù)的完整性檢查:將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系;并發(fā)控制:對多用戶的并發(fā)操作加以控制和協(xié)調(diào),保證并發(fā)操作的正確性;數(shù)據(jù)庫恢復(fù):當(dāng)計算機系統(tǒng)發(fā)生硬件故障、軟件故障,或者由于操作員的失誤以及故意的破壞影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,甚至造成數(shù)據(jù)庫部分或全部數(shù)據(jù)的丟失時,能將數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)(亦稱為完整狀態(tài)或一致狀態(tài))。下面可以得到“什么是數(shù)據(jù)庫”的一個定義:數(shù)據(jù)庫是長期存儲在計算機內(nèi)有組織的大量的共享的數(shù)據(jù)集合,它可以供各種用戶共享,具有最小冗余度和較高的數(shù)據(jù)獨立性。DBMS在數(shù)據(jù)庫建立、運用和維護時對數(shù)據(jù)庫進行統(tǒng)一控制,以保證數(shù)據(jù)的完整性、安全性,并在多用戶同時使用數(shù)據(jù)庫時進行并發(fā)控制,在發(fā)生故障后對系統(tǒng)進行恢復(fù)。數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序為中心轉(zhuǎn)向圍繞共享的數(shù)據(jù)庫為中心的新階段。6.?dāng)?shù)據(jù)庫管理系統(tǒng)的主要功能有哪些答:(l)數(shù)據(jù)庫定義功能;(2)數(shù)據(jù)存取功能;(3)數(shù)據(jù)庫運行管理;(4)數(shù)據(jù)庫的建立和維護功能。7.試述數(shù)據(jù)模型的概念、數(shù)據(jù)模型的作用和數(shù)據(jù)模型的三個要素。答:數(shù)據(jù)模型是數(shù)據(jù)庫中用來對現(xiàn)實世界進行抽象的工具,是數(shù)據(jù)庫中用于提供信息表示和操作手段的形式構(gòu)架。一般地講,數(shù)據(jù)模型是嚴格定義的概念的集合。這些概念精確描述了系統(tǒng)的靜態(tài)特性、動態(tài)特性和完整性約束條件。因此數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成。(l)數(shù)據(jù)結(jié)構(gòu):是所研究的對象類型的集合,是對系統(tǒng)靜態(tài)特性的描述。(2)數(shù)據(jù)操作:是指對數(shù)據(jù)庫中各種對象(型)的實例(值)允許進行的操作的集合,包括操作及有關(guān)的操作規(guī)則,是對系統(tǒ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ǔ)。任何一個DBMS都以某一個數(shù)據(jù)模型為基礎(chǔ),或者說支持某一個數(shù)據(jù)模型。數(shù)據(jù)庫系統(tǒng)中,模型有不同的層次。根據(jù)模型應(yīng)用的不同目的,可以將模型分成兩類或者說兩個層次:一類是概念模型,是按用戶的觀點來對數(shù)據(jù)和信息建模,用于信息世界的建模,強調(diào)語義表達能力,概念簡單清晰;另一類是數(shù)據(jù)模型,是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,用于機器世界,人們可以用它定義、操縱數(shù)據(jù)庫中的數(shù)據(jù),一般需要有嚴格的形式化定義和一組嚴格定義了語法和語義的語言,并有一些規(guī)定和限制,便于在機器上實現(xiàn)。8.試述概念模型的作用。答:概念模型實際上是現(xiàn)實世界到機器世界的一個中間層次。概念模型用于信息世界的建模,是現(xiàn)實世界到信息世界的第一層抽象,是數(shù)據(jù)庫設(shè)計人員進行數(shù)據(jù)庫設(shè)計的有力工具,也是數(shù)據(jù)庫設(shè)計人員和用戶之間進行交流的語言。9.定義并解釋概念模型中以下術(shù)語:實體,實體型,實體集,屬性,碼,實體聯(lián)系圖(E一R圖)答:實體:客觀存在并可以相互區(qū)分的事物叫實體。實體型:具有相同屬性的實體具有相同的特征和性質(zhì),用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。實體集:同型實體的集合稱為實體集。屬性:實體所具有的某一特性,一個實體可由若干個屬性來刻畫。碼:惟一標識實體的屬性集稱為碼。實體聯(lián)系圖(E一R圖):提供了表示實體型、屬性和聯(lián)系的方法:·實體型:用矩形表示,矩形框內(nèi)寫明實體名;·屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來;·聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1:1,1:n或m:n)。10.試給出3個實際部門的E一R圖,要求實體型之間具有一對一、一對多、多對多各種不同的聯(lián)系。答:11.試給出一個實際部門的E一R圖,要求有三個實體型,而且3個實體型之間有多對多聯(lián)系。3個實體型之間的多對多聯(lián)系和三個實體型兩兩之間的三個多對多聯(lián)系等價嗎為什么答:3個實體型之間的多對多聯(lián)系和3個實體型兩兩之間的3個多對多聯(lián)系是不等價,因為它們擁有不同的語義。3個實體型兩兩之間的三個多對多聯(lián)系如下圖所示。12.學(xué)校中有若干系,每個系有若干班級和教研室,每個教研室有若干教員,其中有的教授和副教授每人各帶若干研究生;每個班有若干學(xué)生,每個學(xué)生選修若干課程,每門課可由若干學(xué)生選修。請用E一R圖畫出此學(xué)校的概念模型。答:13.某工廠生產(chǎn)若干產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的零件可用在不同的產(chǎn)品上。這些零件由不同的原材料制成,不同零件所用的材料可以相同。這些零件按所屬的不同產(chǎn)品分別放在倉庫中,原材料按照類別放在若干倉庫中。請用E一R圖畫出此工廠產(chǎn)品、零件、材料、倉庫的概念模型。答:14.試述層次模型的概念,舉出三個層次模型的實例。答:(l)教員學(xué)生層次數(shù)據(jù)庫模型(2)行政機構(gòu)層次數(shù)據(jù)庫模型(3)行政區(qū)域?qū)哟螖?shù)據(jù)庫模型15.今有一個層次數(shù)據(jù)庫實例,試用子女一兄弟鏈接法和層次序列鏈接法畫出它的存儲結(jié)構(gòu)示意圖。答:子女兄弟鏈接法:層次序列鏈接法:16.試述網(wǎng)狀模型的概念,舉出三個網(wǎng)狀模型的實例。答:滿足下面兩個條件的基本層次聯(lián)系集合為網(wǎng)狀模型。(l)允許一個以上的結(jié)點無雙親;(2)一個結(jié)點可以有多于一個的雙親。實例1:實例2:實例3:17.試述網(wǎng)狀、層次數(shù)據(jù)庫的優(yōu)缺點。答:層次模型的優(yōu)點主要有:(l)模型簡單,對具有一對多層次關(guān)系的部門描述非常自然、直觀,容易理解,這是層次數(shù)據(jù)庫的突出優(yōu)點;(2)用層次模型的應(yīng)用系統(tǒng)性能好,特別是對于那些實體間聯(lián)系是固定的且預(yù)先定義好的應(yīng)用,采用層次模型來實現(xiàn),其性能優(yōu)于關(guān)系模型;(3)層次數(shù)據(jù)模型提供了良好的完整性支持。層次模型的缺點主要有:(l)現(xiàn)實世界中很多聯(lián)系是非層次性的,如多對多聯(lián)系、一個結(jié)點具有多個雙親等,層次模型不能自然地表示這類聯(lián)系,只能通過引入冗余數(shù)據(jù)或引入虛擬結(jié)點來解決;(2)對插入和刪除操作的限制比較多;(3)查詢子女結(jié)點必須通過雙親結(jié)點。網(wǎng)狀數(shù)據(jù)模型的優(yōu)點主要有:(l)能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親;(2)具有良好的性能,存取效率較高。網(wǎng)狀數(shù)據(jù)模型的缺點主要有:(l)結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握;(2)其DDL、DML語言復(fù)雜,用戶不容易使用。由于記錄之間聯(lián)系是通過存取路徑實現(xiàn)的,應(yīng)用程序在訪問數(shù)據(jù)時必須選擇適當(dāng)?shù)拇嫒÷窂?。因此,用戶必須了解系統(tǒng)結(jié)構(gòu)的細節(jié),加重了編寫應(yīng)用程序的負擔(dān)。18.試述關(guān)系模型的概念,定義并解釋以下術(shù)語:(l)關(guān)系(2)屬性(3)域(4)元組(5)主碼(6)分量(7)關(guān)系模式答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。在用戶觀點下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。(l)關(guān)系:一個關(guān)系對應(yīng)通常說的一張表;(2)屬性:表中的一列即為一個屬性;(3)域:屬性的取值范圍;(4)元組:表中的一行即為一個元組;(5)主碼:表中的某個屬性組,它可以惟一確定一個元組;(6)分量:元組中的一個屬性值;(7)關(guān)系模式:對關(guān)系的描述,一般表示為關(guān)系名(屬性1,屬性2,…,屬性n)19.試述關(guān)系數(shù)據(jù)庫的特點。答:關(guān)系數(shù)據(jù)模型具有下列優(yōu)點:(l)關(guān)系模型與非關(guān)系模型不同,它是建立在嚴格的數(shù)學(xué)概念的基礎(chǔ)上的。(2)關(guān)系模型的概念單一,無論實體還是實體之間的聯(lián)系都用關(guān)系表示,操作的對象和操作的結(jié)果都是關(guān)系,所以其數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用。(3)關(guān)系模型的存取路徑對用戶透明,從而具有更高的數(shù)據(jù)獨立性、更好的安全保密性,也簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作。當(dāng)然,關(guān)系數(shù)據(jù)模型也有缺點,其中最主要的缺點是,由于存取路徑對用戶透明,查詢效率往往不如非關(guān)系數(shù)據(jù)模型。因此為了提高性能,必須對用戶的查詢請求進行優(yōu)化,增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度。20.試述數(shù)據(jù)庫系統(tǒng)三級模式結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)點是什么答:數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)由外模式、模式和內(nèi)模式組成。(參見書上圖1.29)外模式,亦稱子模式或用戶模式,是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(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)模式,亦稱存儲模式,是數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)部的表示,即對數(shù)據(jù)的物理結(jié)構(gòu)和存儲方式的描述。數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個抽象級別,它把數(shù)據(jù)的具體組織留給DBMs管理,使用戶能邏輯抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機中的表示和存儲。為了能夠在內(nèi)部實現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫系統(tǒng)在這三級模式之間提供了兩層映像:外模式/模式映像和模式/內(nèi)模式映像。正是這兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。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)模式,亦稱存儲模式,是數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)部的表示,即對數(shù)據(jù)的物理結(jié)構(gòu)和存儲方式的描述。DDL:數(shù)據(jù)定義語言,用來定義數(shù)據(jù)庫模式、外模式、內(nèi)模式的語言。DML:數(shù)據(jù)操縱語言,用來對數(shù)據(jù)庫中的數(shù)據(jù)進行查詢、插入、刪除和修改的語句。22.什么叫數(shù)據(jù)與程序的物理獨立性什么叫數(shù)據(jù)與程序的邏輯獨立性為什么數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)與程序的獨立性答:數(shù)據(jù)與程序的邏輯獨立性:當(dāng)模式改變時(例如增加新的關(guān)系、新的屬性、改變屬性的數(shù)據(jù)類型等),由數(shù)據(jù)庫管理員對各個外模式/模式的映像做相應(yīng)改變,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。數(shù)據(jù)與程序的物理獨立性:當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了,由數(shù)據(jù)庫管理員對模式/內(nèi)模式映像做相應(yīng)改變,可以使模式保持不變,從而應(yīng)用程序也不必改變,保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。數(shù)據(jù)庫管理系統(tǒng)在三級模式之間提供的兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。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é)是什么答:負責(zé)全面地管理和控制數(shù)據(jù)庫系統(tǒng)。具體職責(zé)包括:①決定數(shù)據(jù)庫的信息內(nèi)容和結(jié)構(gòu);②決定數(shù)據(jù)庫的存儲結(jié)構(gòu)和存取策略;③定義數(shù)據(jù)的安全性要求和完整性約束條件;④監(jiān)督和控制數(shù)據(jù)庫的使用和運行;⑤改進和重組數(shù)據(jù)庫系統(tǒng)。25.系統(tǒng)分析員、數(shù)據(jù)庫設(shè)計人員、應(yīng)用程序員的職責(zé)是什么答系統(tǒng)分析員負責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)范說明,系統(tǒng)分析員要和用戶及DBA相結(jié)合,確定系統(tǒng)的硬件、軟件配置,并參與數(shù)據(jù)庫系統(tǒng)的概要設(shè)計。數(shù)據(jù)庫設(shè)計人員負責(zé)數(shù)據(jù)庫中數(shù)據(jù)的確定、數(shù)據(jù)庫各級模式的設(shè)計。數(shù)據(jù)庫設(shè)計人員必須參加用戶需求調(diào)查和系統(tǒng)分析,然后進行數(shù)據(jù)庫設(shè)計。在很多情況下,數(shù)據(jù)庫設(shè)計人員就由數(shù)據(jù)庫管理員擔(dān)任。應(yīng)用程序員負責(zé)設(shè)計和編寫應(yīng)用系統(tǒng)的程序模塊,并進行調(diào)試和安裝。第2章關(guān)系數(shù)據(jù)庫1.試述關(guān)系模型的三個組成部分。
答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。2.試述關(guān)系數(shù)據(jù)語言的特點和分類。答:關(guān)系數(shù)據(jù)語言可以分為三類:關(guān)系代數(shù)語言。關(guān)系演算語言:元組關(guān)系演算語言和域關(guān)系演算語言。SQL:具有關(guān)系代數(shù)和關(guān)系演算雙重特點的語言。這些關(guān)系數(shù)據(jù)語言的共同特點是,語言具有完備的表達能力,是非過程化的集合操作語言,功能強,能夠嵌入高級語言中使用。4.試述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外部碼屬性的值也可以為空什么情況下才可以為空答:實體完整性規(guī)則是指若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對于R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值);或者等于S中某個元組的主碼值。即屬性F本身不是主屬性,則可以取空值,否則不能取空值。5.設(shè)有一個SPJ數(shù)據(jù)庫,包括S,P,J,SPJ四個關(guān)系模式:1)求供應(yīng)工程J1零件的供應(yīng)商號碼SNO:πSno(σSno=‘J1’(SPJ))2)求供應(yīng)工程J1零件P1的供應(yīng)商號碼SNO:πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))3)求供應(yīng)工程J1零件為紅色的供應(yīng)商號碼SNO:πSno(σPno=‘P1‘(σCOLOR=’紅‘(P)∞SPJ))4)求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號JNO:πJno(SPJ)-πJNO(σcity=‘天津’∧Color=‘紅‘(S∞SPJ∞P)5)求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號JNO:πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))6.試述等值連接與自然連接的區(qū)別和聯(lián)系。答:連接運算符是“=”的連接運算稱為等值連接。它是從關(guān)系R與S的廣義笛卡爾積中選取A,B屬性值相等的那些元組自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉。7.關(guān)系代數(shù)的基本運算有哪些如何用這些基本運算來表示其他運算答:并、差、笛卡爾積、投影和選擇5種運算為基本的運算。其他3種運算,即交、連接和除,均可以用這5種基本運算來表達。第3章關(guān)系數(shù)據(jù)庫標準語言SQL1.試述sQL語言的特點。答:(l)綜合統(tǒng)一。sQL語言集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL的功能于一體。(2)高度非過程化。用sQL語言進行數(shù)據(jù)操作,只要提出“做什么”,而無需指明“怎么做”,因此無需了解存取路徑,存取路徑的選擇以及sQL語句的操作過程由系統(tǒng)自動完成。(3)面向集合的操作方式。sQL語言采用集合操作方式,不僅操作對象、查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的集合。(4)以同一種語法結(jié)構(gòu)提供兩種使用方式。sQL語言既是自含式語言,又是嵌入式語言。作為自含式語言,它能夠獨立地用于聯(lián)機交互的使用方式;作為嵌入式語言,它能夠嵌入到高級語言程序中,供程序員設(shè)計程序時使用。(5)語言簡捷,易學(xué)易用。2.試述sQL的定義功能。sQL的數(shù)據(jù)定義功能包括定義表、定義視圖和定義索引。SQL語言使用cREATETABLE語句建立基本表,ALTERTABLE語句修改基本表定義,DROPTABLE語句刪除基本表;使用CREATEINDEX語句建立索引,DROPINDEX語句刪除索引;使用CREATEVIEW語句建立視圖,DROPVIEW語句刪除視圖。3.用sQL語句建立第二章習(xí)題5中的4個表。答:對于S表:S(SNO,SNAME,STATUS,CITY);建S表:CREATETABLES(SnoC(2)UNIQUE,SnameC(6),StatusC(2),CityC(4));對于P表:P(PNO,PNAME,COLOR,WEIGHT);建P表:CREATETABLEP(PnoC(2)UNIQUE,PnameC(6),COLORC(2),WEIGHTINT);對于J表:J(JNO,JNAME,CITY);建J表:CREATETABLEJ(JnoC(2)UNlQUE,JNAMEC(8),CITYC(4))對于sPJ表:sPJ(sNo,PNo,JNo,QTY);建SPJ表:SPJ(SNO,PNO,JNO,QTY)CREATETABLESPJ(SnoC(2),PnoC(2),JNOC(2),QTYINT))4.針對上題中建立的4個表試用sQL語言完成第二章習(xí)題5中的查詢。(l)求供應(yīng)工程Jl零件的供應(yīng)商號碼SNO;SELECTDISTSNOFROMSPJWHEREJNO=’J1’(2)求供應(yīng)工程Jl零件Pl的供應(yīng)商號碼SNO;SELECTDISTSNOFROMSPJWHEREJNO='J1'ANDPNO='P1'(3)求供應(yīng)工程Jl零件為紅色的供應(yīng)商號碼SNO;SELECTSNOFROMSPJ,PWHEREJNO='J1'AND=ANDCOLOR='紅'(4)求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號JNO;SELECTDISTJNOFROMSPJWHEREJNONOTIN(SELEJNOFROMSPJ,P,SWHERE='天津'ANDCOLOR='紅'AND=AND=。(5)求至少用了供應(yīng)商Sl所供應(yīng)的全部零件的工程號JNO;由于VFP不允許子查詢嵌套太深,將查詢分為兩步A、查詢S1供應(yīng)商供應(yīng)的零件號SELECTDISTPNOFROMSPJWHERESNO='S1'結(jié)果是(P1,P2)B、查詢哪一個工程既使用P1零件又使用P2零件。SELECTJNOFROMSPJWHEREPNO='P1'ANDJNOIN(SELECTJNOFROMSPJWHEREPNO='P2')5.針對習(xí)題3中的四個表試用SQL語言完成以下各項操作:(1)找出所有供應(yīng)商的姓名和所在城市。SELECTSNAME,CITYFROMS(2)找出所有零件的名稱、顏色、重量。SELECTPNAME,COLOR,WEIGHTFROMP(3)找出使用供應(yīng)商S1所供應(yīng)零件的工程號碼。SELECTDISTJNOFROMSPJWHERESNO='S1'(4)找出工程項目J2使用的各種零件的名稱及其數(shù)量。SELECTPNAME,QTYFROMSPJ,PWHERE=AND='J2'(5)找出上海廠商供應(yīng)的所有零件號碼。SELECTPNOFROMSPJ,SWHERE=ANDCITY='上海'(6)出使用上海產(chǎn)的零件的工程名稱。SELECTJNAMEFROMSPJ,S,JWHERE=AND='上海'AND=(7)找出沒有使用天津產(chǎn)的零件的工程號碼。注意:SELECTDISPJNOFROMSPJWHEREJNONOTIN(SELECTDISTJNOFROMSPJ,SWHERE=AND='天津')適用于JNO是唯一或不唯一的情況.注意:SELECTDISTJNOFROMSPJ,SWHERE=AND<>'天津'適用于JNO是唯一的情況(8)把全部紅色零件的顏色改成藍色。UPDATEPSETCOLOR='藍'WHERECOLOR='紅'(9)由S5供給J4的零件P6改為由S3供應(yīng)。UPDATESPJSETSNO='S3'WHERESNO='S5'ANDJNO='J4'ANDPNO='P6'(10)從供應(yīng)商關(guān)系中刪除供應(yīng)商號是S2的記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄。A、DELETEFROMSWHERESNO=’S2’B、DELETEFROMSPJWHERESNO=‘S2’(11)請將(S2,J6,P4,200)插入供應(yīng)情況關(guān)系。INSERTINTOSPJVALUES(‘S2’,‘J6’,‘P4’,200)6.什么是基本表什么是視圖答兩者的區(qū)別和聯(lián)系是什么基本表是本身獨立存在的表,在sQL中一個關(guān)系就對應(yīng)一個表。視圖是從一個或幾個基本表導(dǎo)出的表。視圖本身不獨立存儲在數(shù)據(jù)庫中,是一個虛表。即數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。7.試述視圖的優(yōu)點。答(l)視圖能夠簡化用戶的操作;(2)視圖使用戶能以多種角度看待同一數(shù)據(jù);(3)視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性;(4)視圖能夠?qū)C密數(shù)據(jù)提供安全保護。8.所有的視圖是否都可以更新為什么答:不是。視圖是不實際存儲數(shù)據(jù)的虛表,因此對視圖的更新,最終要轉(zhuǎn)換為對基本表的更新。因為有些視圖的更新不能惟一有意義地轉(zhuǎn)換成對相應(yīng)基本表的更新,所以,并不是所有的視圖都是可更新的.9.哪類視圖是可以更新的哪類視圖是不可更新的各舉一例說明。答:基本表的行列子集視圖一般是可更新的。若視圖的屬性來自集函數(shù)、表達式,則該視圖肯定是不可以更新的。10.試述某個你熟悉的實際系統(tǒng)中對視圖更新的規(guī)定。答VFP11.請為三建工程項目建立一個供應(yīng)情況的視圖,包括供應(yīng)商代碼(SNO)、零件代碼(PNO)、供應(yīng)數(shù)量(QTY)。CREATEVIEWVSPASSELECTSNO,PNO,QTYFROMSPJ,JWHERE=AND='三建'針對該視圖VSP完成下列查詢:(1)找出三建工程項目使用的各種零件代碼及其數(shù)量。SELECTDISTPNO,QTYFROMVSP(2)找出供應(yīng)商S1的供應(yīng)情況。SELECTDIST*FROMVSPWHERESNO='S1'第4章數(shù)據(jù)庫安全性1.什么是數(shù)據(jù)庫的安全性答:數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。
2.?dāng)?shù)據(jù)庫安全性和計算機系統(tǒng)的安全性有什么關(guān)系?
答:安全性問題不是數(shù)據(jù)庫系統(tǒng)所獨有的,所有計算機系統(tǒng)都有這個問題。只是在數(shù)據(jù)庫系統(tǒng)中大量數(shù)據(jù)集中存放,而且為許多最終用戶直接共享,從而使安全性問題更為突出。
系統(tǒng)安全保護措施是否有效是數(shù)據(jù)庫系統(tǒng)的主要指標之一。
數(shù)據(jù)庫的安全性和計算機系統(tǒng)的安全性,包括操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)的安全性是緊密聯(lián)系、相互支持的,
3.試述可信計算機系統(tǒng)評測標準的情況,試述TDI/TCSEC標準的基本內(nèi)容。答:各個國家在計算機安全技術(shù)方面都建立了一套可信標準。目前各國引用或制定的一系列安全標準中,最重要的是美國國防部(DoD)正式頒布的《DoD可信計算機系統(tǒng)評估標準》(伽stedCo哪utersystemEvaluationcriteria,簡稱TcsEc,又稱桔皮書)。(TDI/TCSEC標準是將TcsEc擴展到數(shù)據(jù)庫管理系統(tǒng),即《可信計算機系統(tǒng)評估標準關(guān)于可信數(shù)據(jù)庫系統(tǒng)的解釋》(TmstedDatabaseInterpretation簡稱TDI,又稱紫皮書)。在TDI中定義了數(shù)據(jù)庫管理系統(tǒng)的設(shè)計與實現(xiàn)中需滿足和用以進行安全性級別評估的標準。
TDI與TcsEc一樣,從安全策略、責(zé)任、保證和文檔四個方面來描述安全性級別劃分的指標。每個方面又細分為若干項。4.試述TcsEC(TDI)將系統(tǒng)安全級別劃分為4組7個等級的基本內(nèi)容。答:根據(jù)計算機系統(tǒng)對安全性各項指標的支持情況,TCSEC(TDI)將系統(tǒng)劃分為四組(division)7個等級,依次是D、C(CI,CZ)、B(BI,BZ,B3)、A(AI),按系統(tǒng)可靠或可信程度逐漸增高。
這些安全級別之間具有一種偏序向下兼容的關(guān)系,即較高安全性級別提供的安全保護包含較低級別的所有保護要求,同時提供更多或更完善的保護能力。各個等級的基本內(nèi)容為:
D級D級是最低級別。一切不符合更高標準的系統(tǒng),統(tǒng)統(tǒng)歸于D組。Cl級只提供了非常初級的自主安全保護。能夠?qū)崿F(xiàn)對用戶和數(shù)據(jù)的分離,進行自主存取控制(DAC),保護或限制用戶權(quán)限的傳播。
C2級實際是安全產(chǎn)品的最低檔次,提供受控的存取保護,即將Cl級的DAC進一步細化,以個人身份注冊負責(zé),并實施審計和資源隔離。
Bl級標記安全保護。對系統(tǒng)的數(shù)據(jù)加以標記,并對標記的主體和客體實施強制存取控制(MAC)以及審計等安全機制。
B2級結(jié)構(gòu)化保護。建立形式化的安全策略模型并對系統(tǒng)內(nèi)的所有主體和客體實施DAC和MACo
B3級安全域。該級的TCB必須滿足訪問監(jiān)控器的要求,審計跟蹤能力更強,并提供系統(tǒng)恢復(fù)過程。
Al級驗證設(shè)計,即提供B3級保護的同時給出系統(tǒng)的形式化設(shè)計說明和驗證以確信各安全保護真正實現(xiàn)。5.試述實現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術(shù)。答:實現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術(shù)有:
(l)用戶標識和鑒別:該方法由系統(tǒng)提供一定的方式讓用戶標識自己的名字或身份。每次用戶要求進入系統(tǒng)時,由系統(tǒng)進行核對,通過鑒定后才提供系統(tǒng)的使用權(quán)。
(2)存取控制:通過用戶權(quán)限定義和合法權(quán)檢查確保只有合法權(quán)限的用戶訪問數(shù)據(jù)庫,所有未被授權(quán)的人員無法存取數(shù)據(jù)。例如CZ級中的自主存取控制(DAC),Bl級中的強制存取控制(MAC)。
(3)視圖機制:為不同的用戶定義視圖,通過視圖機制把要保密的數(shù)據(jù)對無權(quán)存取的用戶隱藏起來,從而自動地對數(shù)據(jù)提供一定程度的安全保護。(4)審計:建立審計日志,把用戶對數(shù)據(jù)庫的所有操作自動記錄下來放入審計日志中,DBA可以利用審計跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時間和內(nèi)容等。
(5)數(shù)據(jù)加密:對存儲和傳輸?shù)臄?shù)據(jù)進行加密處理,從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容。6.什么是數(shù)據(jù)庫中的自主存取控制方法和強制存取控制方法答:自主存取控制方法:定義各個用戶對不同數(shù)據(jù)對象的存取權(quán)限。當(dāng)用戶對數(shù)據(jù)庫訪問時首先檢查用戶的存取權(quán)限。防止不合法用戶對數(shù)據(jù)庫的存取。強制存取控制方法:每一個數(shù)據(jù)對象被(強制地)標以一定的密級,每一個用戶也被(強制地)授予某一個級別的許可證。系統(tǒng)規(guī)定只有具有某一許可證級別的用戶才能存取某一個密級的數(shù)據(jù)對象。7.SQL語言中提供了哪些數(shù)據(jù)控制(自主存取控制)的語句請試舉幾例說明它們的使用方法。答:SQL中的自主存取控制是通過GRANT語句和REVOKE語句來實現(xiàn)的。如:GRANTSELECT,INSERTONStudentTO王平
WITHGRANTOPTION;就將Student表的SELECT和INSERT權(quán)限授予了用戶王平,后面的“WITHGRANTOPTION”子句表示用戶王平同時也獲得了“授權(quán)”的權(quán)限,即可以把得到的權(quán)限繼續(xù)授予其他用戶。
REVOKEINSERTONStudentFROM王平CASCADE;
就將Student表的INSERT權(quán)限從用戶王平處收回,選項CASCADE表示,如果用戶王平將Student的INSERT權(quán)限又轉(zhuǎn)授給了其他用戶,那么這些權(quán)限也將從其他用戶處收回。8.請用SQL的GRANT和REVOKE語句(加上視圖機制)完成以下授權(quán)定義或存取控制功能:(a)用戶王明對兩個表有SELECT權(quán)力。 GRANTSELECTON職工,部門 TO王明(b)用戶李勇對兩個表有INSERT和DELETE權(quán)力。 GRANTINSERT,DELETEON職工,部門 TO李勇(c)每個職工只對自己的記錄有SELECT權(quán)力。 GRANTSELECTON職工 WHENUSER()=NAME TOALL;(d)用戶劉星對職工表有SELECT權(quán)力,對工資字段具有更新權(quán)力。 GRANTSELECT,UPDATE(工資)ON職工 TO劉星(e)用戶張新具有修改這兩個表的結(jié)構(gòu)的權(quán)力。 GRANTALTERTABLEON職工,部門 TO張新;(f)用戶周平具有對兩個表所有權(quán)力(讀,插,改,刪數(shù)據(jù)),并具有給其他用戶授權(quán)的權(quán)力。 GRANTALLPRIVILIGESON職工,部門 TO周平 WITHGRANTOPTION;(g)用戶楊蘭具有從每個部門職工中SELECT最高工資、最低工資、平均工資的權(quán)力,他不能查看每個人的工資。 CREATEVIEW部門工資AS SELECT部門.名稱,MAX(工資),MIN(工資),AVG(工資) FROM職工,部門 WHERE職工.部門號=部門.部門號 GROUPBY職工.部門號 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.為什么強制存取控制提供了更高級別的數(shù)據(jù)庫安全性答:強制存取控制(MAC)是對數(shù)據(jù)本身進行密級標記,無論數(shù)據(jù)如何復(fù)制,標記與數(shù)據(jù)是一個不可分的整體,只有符合密級標記要求的用戶才可以操縱數(shù)據(jù),從而提供了更高級別的安全性。11.理解并解釋MAC機制中主體、客體、敏感度標記的含義。答:主體是系統(tǒng)中的活動實體,既包括DBMS所管理的實際用戶,也包括代表用戶的各進程。
客體是系統(tǒng)中的被動實體,是受主體操縱的,包括文件、基表、索引、視圖等。對于主體和客體,DBMS為它們每個實例(值)指派一個敏感度標記(Label)。敏感度標記被分成若干級別,例如絕密(TopSecret)、機密(Secret)·可信(Confidential)、公開(PubliC)等。主體的敏感度標記稱為許可證級別(ClearanCe玫vel),客體的敏感度標記稱為密級(ClassificationLevel)。13.什么是數(shù)據(jù)庫的審計功能,為什么要提供審計功能答:審計功能是指DBMS的審計模塊在用戶對數(shù)據(jù)庫執(zhí)行操作的同時把所有操作自動記錄到系統(tǒng)的審計日志中。
因為任何系統(tǒng)的安全保護措施都不是完美無缺的,蓄意盜竊破壞數(shù)據(jù)的人總可能存在。利用數(shù)據(jù)庫的審計功能,DBA可以根據(jù)審計跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時間和內(nèi)容等。14.統(tǒng)計數(shù)據(jù)庫中存在何種特殊的安全性問題答:統(tǒng)計數(shù)據(jù)庫允許用戶查詢聚集類型的信息,如合計、平均值、最大值、最小值等,不允許查詢單個記錄信息。但是,人們可以從合法的查詢中推導(dǎo)出不合法的信息,即可能存在隱蔽的信息通道,這是統(tǒng)計數(shù)據(jù)庫要研究和解決的特殊的安全性問題。第5章數(shù)據(jù)庫完整性1什么是數(shù)據(jù)庫的完整性答:數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。2.?dāng)?shù)據(jù)庫的完整性概念與數(shù)據(jù)庫的安全性概念有什么區(qū)別和聯(lián)系答:數(shù)據(jù)的完整性和安全性是兩個不同的概念,但是有一定的聯(lián)系。前者是為了防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),防止錯誤信息的輸入和輸出,即所謂垃圾進垃圾出(Garba:eInGarba:eout)所造成的無效操作和錯誤結(jié)果。后者是保護數(shù)據(jù)庫防止惡意的破壞和非法的存取。也就是說,安全性措施的防范對象是非法用戶和非法操作,完整性措施的防范對象是不合語義的數(shù)據(jù)。3.什么是數(shù)據(jù)庫的完整性約束條件可分為哪幾類答完整性約束條件是指數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)該滿足的語義約束條件。一般可以分為六類:靜態(tài)列級約束、靜態(tài)元組約束、靜態(tài)關(guān)系約束、動態(tài)列級約束、動態(tài)元組約束、動態(tài)關(guān)系約束。靜態(tài)列級約束是對一個列的取值域的說明,包括以下幾個方面:(l)對數(shù)據(jù)類型的約束,包括數(shù)據(jù)的類型、長度、單位、精度等;(2)對數(shù)據(jù)格式的約束;(3)對取值范圍或取值集合的約束;(4)對空值的約束;(5)其他約束。靜態(tài)元組約束就是規(guī)定組成一個元組的各個列之間的約束關(guān)系,靜態(tài)元組約束只局限在單個元組上。靜態(tài)關(guān)系約束是在一個關(guān)系的各個元組之間或者若干關(guān)系之間常常存在各種聯(lián)系或約束。常見的靜態(tài)關(guān)系約束有:(l)實體完整性約束;(2)參照完整性約束;(3)函數(shù)依賴約束。動態(tài)列級約束是修改列定義或列值時應(yīng)滿足的約束條件,包括下面兩方面:(l)修改列定義時的約束;(2)修改列值時的約束。動態(tài)元組約束是指修改某個元組的值時需要參照其舊值,并且新舊值之間需要滿足某種約束條件。動態(tài)關(guān)系約束是加在關(guān)系變化前后狀態(tài)上的限制條件,例如事務(wù)一致性、原子性等約束條件。4.DBMS的完整性控制機制應(yīng)具有哪些功能答:DBMS的完整性控制機制應(yīng)具有三個方面的功能:(l)定義功能,即提供定義完整性約束條件的機制;(2)檢查功能,即檢查用戶發(fā)出的操作請求是否違背了完整性約束條件;(3)違約反應(yīng):如果發(fā)現(xiàn)用戶的操作請求使數(shù)據(jù)違背了完整性約束條件,則采取一定的動作來保證數(shù)據(jù)的完整性。5.RDBMS在實現(xiàn)參照完整性時需要考慮哪些方面答RDBMs在實現(xiàn)參照完整性時需要考慮以下幾個方面:(l)外碼是否可以接受空值。(2)冊l除被參照關(guān)系的元組時的考慮,這時系統(tǒng)可能采取的作法有三種:l)級聯(lián)刪除(CASCADES);2)受限刪除(RESTRICTED);3)置空值刪除(NULLIFIES)。(3)在參照關(guān)系中插入元組時的問題,這時系統(tǒng)可能采取的作法有:l)受限插入;2)遞歸插入。(4)修改關(guān)系中主碼的問題。一般是不能用UPDATE語句修改關(guān)系主碼的。如果需要修改主碼值,只能先刪除該元組,然后再把具有新主碼值的元組插入到關(guān)系中。如果允許修改主碼,首先要保證主碼的惟一性和非空,否則拒絕修改。然后要區(qū)分是參照關(guān)系還是被參照關(guān)系。6.假設(shè)有下面兩個關(guān)系模式:職工(職工號,姓名,年齡,職務(wù),工資,部門號),其中職工號為主碼;部門(部門號,名稱,經(jīng)理名,電話),其中部門號為主碼。用sQL語言定義這兩個關(guān)系模式,要求在模式中完成以下完整性約束條件的定義:定義每個模式的主碼;定義參照完整性;定義職工年齡不得超過60歲。答CREATETABLEDEPT(DeptnoNUMBER(2),DeptnameVARCHAR(10),ManagerVARCHAR(10),PhoneNumberChar(12)CONSTRAINTPK_SCRIMARYKEY(Deptno));CREATETABLEEMP(EmpnoNUMBER(4),EnameVARCHAR(10),AgeNUMBER(2),CONSTRAINTC1CHECK(Aage<=60),JobVARCHAR(9),SalNUMBER(7,2),DeptnoNUMBER(2),CONSTRAINTFK_DEPTNOFOREIGNKEY(Deptno)REFFERENCESDEPT(Deptno));7.關(guān)系系統(tǒng)中,當(dāng)操作違反實體完整性、參照完整性和用戶定義的完整性約束條件時,一般是如何分別進行處理的答:對于違反實體完整性和用戶定義的完整性的操作一般都采用拒絕執(zhí)行的方式進行處理。而對于違反參照完整性的操作,并不都是簡單地拒絕執(zhí)行,有時要根據(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的子集。若對于R(U)的任意一個可能的關(guān)系r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數(shù)確定Y或Y函數(shù)依賴于X,記作XY。(即只要X上的屬性值相等,Y上的值一定相等。)術(shù)語和記號:XY,但Y不是X的子集,則稱XY是非平凡的函數(shù)依賴。若不特別聲明,總是討論非平凡的函數(shù)依賴。XY,但Y是X的子集,則稱XY是平凡的函數(shù)依賴。若XY,則X叫做決定因素(Determinant)。若XY,YX,則記作XY。若Y不函數(shù)依賴于X,則記作XY。定義2:在R(U)中,如果XY,并且對于X的任何一個真子集X’,都有X’Y,則稱Y對X完全函數(shù)依賴若XY,但Y不完全函數(shù)依賴于X,則稱Y對X部分函數(shù)依賴定義3:若關(guān)系模式R的每一個分量是不可再分的數(shù)據(jù)項,則關(guān)系模式R屬于第一范式(1NF)。定義4:若關(guān)系模式R∈1NF,且每一個非主屬性完全函數(shù)依賴于碼,則關(guān)系模式R∈2NF。(即1NF消除了非主屬性對碼的部分函數(shù)依賴則成為2NF)。定義5:關(guān)系模式R<U,F(xiàn)>中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z不是Y的子集)使得XY,YX,YZ成立,則稱R<U,F(xiàn)>∈3NF。定義6:關(guān)系模式R<U,F(xiàn)>∈1NF。若XY且Y不是X的子集時,X必含有碼,則R<U,F(xiàn)>∈BCNF。定義7:關(guān)系模式R<U,F(xiàn)>∈1NF,如果對于R的每個非平凡多值依賴XY(Y不是X的子集,Z=U-X-Y不為空),X都含有碼,則稱R<U,F(xiàn)>∈4NF。2.建立一個關(guān)于系、學(xué)生、班級、學(xué)會等諸信息的關(guān)系數(shù)據(jù)庫。學(xué)生:學(xué)號、姓名、出生年月、系名、班號、宿舍區(qū)。班級:班號、專業(yè)名、系名、人數(shù)、入校年份。系:系名、系號、系辦公地點、人數(shù)。學(xué)會:學(xué)會名、成立年份、辦公地點、人數(shù)。語義如下:一個系有若干專業(yè),每個專業(yè)每年只招一個班,每個班有若干學(xué)生。一個系的學(xué)生住在同一宿舍區(qū)。每個學(xué)生可參加若干學(xué)會,每個學(xué)會有若干學(xué)生。學(xué)生參加某學(xué)會有一個入會年份。請給出關(guān)系模式,寫出每個關(guān)系模式的極小函數(shù)依賴集,指出是否存在傳遞函數(shù)依賴,對于函數(shù)依賴左部是多屬性的情況討論函數(shù)依賴是完全函數(shù)依賴,還是部分函數(shù)依賴。指出各關(guān)系模式的候選碼、外部碼,有沒有全碼存在解:(1)關(guān)系模式如下:學(xué)生:S(Sno,Sname,Sbirth,Dept,Class,Rno)班級:C(Class,Pname,Dept,Cnum,Cyear)系:D(Dept,Dno,Office,Dnum)學(xué)會:M(Mname,Myear,Maddr,Mnum)(2)每個關(guān)系模式的最小函數(shù)依賴集如下:A、學(xué)生S(Sno,Sname,Sbirth,Dept,Class,Rno)的最小函數(shù)依賴集如下:SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno傳遞依賴如下:由于SnoDept,而DeptRno(宿舍區(qū))所以Sno與Rno之間存在著傳遞函數(shù)依賴。由于ClassDept,DeptRno所以Class與Rno之間存在著傳遞函數(shù)依賴。由于SnoClass,ClassSno,ClassDept所以Sno與Dept之間存在著傳遞函數(shù)依賴。B、班級C(Class,Pname,Dept,Cnum,Cyear)的最小函數(shù)依賴集如下:ClassPname,ClassCnum,ClassCyear,PnameDept.由于ClassPname,PnameClass,PnameDept所以C1ass與Dept之間存在著傳遞函數(shù)依賴。C、系D(Dept,Dno,Office,Dnum)的最小函數(shù)依賴集如下:DeptDno,DnoDept,DnoOffice,DnoDnum根據(jù)上述函數(shù)依賴可知,Dept與Office,Dept與Dnum之間不存在傳遞依賴。D、學(xué)會M(Mname,Myear,Maddr,Mnum)的最小函數(shù)依賴集如下:MnameMyear,MnameMaddr,MnameMnum該模式不存在傳遞依賴。(3)各關(guān)系模式的候選碼、外部碼,全碼如下:A、學(xué)生S候選碼:Sno;外部碼:Dept、Class;無全碼B、班級C候選碼:Class;外部碼:Dept;無全碼C、系D候選碼:Dept或Dno;無外部碼;無全碼D、學(xué)會M候選碼:Mname;無外部碼;無全碼3.試由amstrong公理系統(tǒng)推導(dǎo)出下面三條推理規(guī)則:
(l)合并規(guī)則:若X一Z,X一Y,則有X一YZ
(2)偽傳遞規(guī)則:由x一Y,明吟z有翔一z
(3)分解規(guī)則:x一Y,zcy,有x一z
證明
(l)已知X一Z,由增廣律知喲,YZ,又因為X一Y,可得獄一X卜)YZ,最后根據(jù)傳遞律得x一YZ。
(2)已知X一Y,據(jù)增廣律得翔一Wy,因為陰幾)Z,所以X林協(xié)明,Z,通過傳遞律可知翔一Z。
(3)已知zcy,根據(jù)自反律知、吟z,又因為x一Y,所以由傳遞律可得x一Z。5.試舉出3個多值依賴的實例。答:(1)關(guān)系模式MSC(M,S,C)中,M表示專業(yè),S表示學(xué)生,C表示該專業(yè)的必修課。假設(shè)每個專業(yè)有多個學(xué)生,有一組必修課。設(shè)同專業(yè)內(nèi)所有學(xué)生選修的必修課相同,實例關(guān)系如下。按照語義對于M的每一個值Mi,s有一個完整的集合與之對應(yīng)而不問C取何值,所以M一一S。由于C與S的完全對稱性,必然有M一一C成立。(2)關(guān)系模式ISA(I,S,A)中,I表示學(xué)生興趣小組,S表示學(xué)生,A表示某興趣小組的活動項目。假設(shè)每個興趣小組有多個學(xué)生,有若干活動項目。每個學(xué)生必須參加所在興趣小組的所有活動項目,每個活動項目要求該興趣小組的所有學(xué)生參加。
按照語義有I一一S,I一一A成立。
(3)關(guān)系模式RDP(R,D,P)中,R表示醫(yī)院的病房,D表示責(zé)任醫(yī)務(wù)人員,P表示病人。假設(shè)每個病房住有多個病人,有多個責(zé)任醫(yī)務(wù)人員負責(zé)醫(yī)治和護理該病房的所有病人。12.下面的結(jié)論哪些是正確的哪些是錯誤的對于錯誤的請給一個反例說明之。(1)任何一個二目關(guān)系是屬于3NF。答:正確。因為關(guān)系模式中只有兩個屬性,所以無傳遞。(2)任何一個二目關(guān)系是屬于BCNF.答:正確。按BCNF的定義,若XY,且Y不是X的子集時,每個決定因素都包含碼,對于二目關(guān)系決定因素必然包含碼。詳細證明如下:(任何二元關(guān)系模式必定是BCNF)。證明:設(shè)R為一個二目關(guān)系R(A1,A2),則屬性A1和A2之間可能存在以下幾種依賴關(guān)系:A、A1A2,但A2A1,則關(guān)系R的碼為A1,決定因素都包含碼,所以,R是BCNF。B、A1A2,A2A1,則關(guān)系R的碼為A2,所以決定因素都包含碼,R是BCNF。包含碼。R是BCNF。C、R的碼為(A1,A2)(即A1A2,A2A1),決定因素都(3)任何一個二目關(guān)系是屬于4NF.答:正確。因為只有兩個屬性,所以無非平凡的多值依賴。
第7章數(shù)據(jù)庫設(shè)計1.試述數(shù)據(jù)庫設(shè)計過程。答:這里只概要列出數(shù)據(jù)庫設(shè)計過程的六個階段:(l)需求分析;(2)概念結(jié)構(gòu)設(shè)計;(3)邏輯結(jié)構(gòu)設(shè)計;(4)數(shù)據(jù)庫物理設(shè)計;(5)數(shù)據(jù)庫實施;(6)數(shù)據(jù)庫運行和維護。這是一個完整的實際數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的設(shè)計過程。不僅包括設(shè)計數(shù)據(jù)庫本身,還包括數(shù)據(jù)庫的實施、運行和維護。設(shè)計一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個階段的不斷反復(fù)。2.試述數(shù)據(jù)庫設(shè)計過程各個階段上的設(shè)計描述。答:各階段的設(shè)計要點如下:(l)需求分析:準確了解與分析用戶需求(包括數(shù)據(jù)與處理)。(2)概念結(jié)構(gòu)設(shè)計:通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。(3)邏輯結(jié)構(gòu)設(shè)計:將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型,并對其進行優(yōu)化。(4)數(shù)據(jù)庫物理設(shè)計:為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)。(5)數(shù)據(jù)庫實施:設(shè)計人員運用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進行試運行。(6)數(shù)據(jù)庫運行和維護:在數(shù)據(jù)庫系統(tǒng)運行過程中對其進行評價、調(diào)整與修改。3.試述數(shù)據(jù)庫設(shè)計過程中結(jié)構(gòu)設(shè)計部分形成的數(shù)據(jù)庫模式。答:數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的不同階段形成數(shù)據(jù)庫的各級模式,即:(l)在概念設(shè)計階段形成獨立于機器特點,獨立于各個DBMS產(chǎn)品的概念模式,在本篇中就是E一R圖;(2)在邏輯設(shè)計階段將E一R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,如關(guān)系模型,形成數(shù)據(jù)庫邏輯模式,然后在基本表的基礎(chǔ)上再建立必要的視圖(Vi娜),形成數(shù)據(jù)的外模式;(3)在物理設(shè)計階段,根據(jù)DBMS特點和處理的需要,進行物理存儲安排,建立索引,形成數(shù)據(jù)庫內(nèi)模式。4.試述數(shù)據(jù)庫設(shè)計的特點。答:數(shù)據(jù)庫設(shè)計既是一項涉及多學(xué)科的綜合性技術(shù)又是一項龐大的工程項目。其主要特點有:(l)數(shù)據(jù)庫建設(shè)是硬件、軟件和干件(技術(shù)與管理的界面)的結(jié)合。(2)從軟件設(shè)計的技術(shù)角度看,數(shù)據(jù)庫設(shè)計應(yīng)該和應(yīng)用系統(tǒng)設(shè)計相結(jié)合,也就是說,整個設(shè)計過程中要把結(jié)構(gòu)(數(shù)據(jù))設(shè)計和行為(處理)設(shè)計密切結(jié)合起來。5.需求分析階段的設(shè)計目標是什么調(diào)查的內(nèi)容是什么答:需求分析階段的設(shè)計目標是通過詳細調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。調(diào)查的內(nèi)容是“數(shù)據(jù)’夕和“處理”,即獲得用戶對數(shù)據(jù)庫的如下要求:(l)信息要求,指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì),由信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù);(2)處理要求,指用戶要完成什么處理功能,對處理的響應(yīng)時間有什么要求,處理方式是批處理還是聯(lián)機處理;(3)安全性與完整性要求。6.?dāng)?shù)據(jù)字典的內(nèi)容和作用是什么答:數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合。數(shù)據(jù)字典的內(nèi)容通常包括:(l)數(shù)據(jù)項;(2)數(shù)據(jù)結(jié)構(gòu);(3)數(shù)據(jù)流;(4)數(shù)據(jù)存儲;(5)處理過程五個部分。其中數(shù)據(jù)項是數(shù)據(jù)的最小組成單位,若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流和數(shù)據(jù)存儲的邏輯內(nèi)容。數(shù)據(jù)字典的作用:數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,在需求分析階段建立,是下一步進行概念設(shè)計的基礎(chǔ),并在數(shù)據(jù)庫設(shè)計過程中不斷修改、充實、完蓋。7.什么是數(shù)據(jù)庫的概念結(jié)構(gòu)試述其特點和設(shè)計策略。答:概念結(jié)構(gòu)是信息世界的結(jié)構(gòu),即概念模型,其主要特點是:(l)能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求,是對現(xiàn)實世界的一個真實模型;(2)易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫設(shè)計成功的關(guān)鍵;(3)易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時,容易對概念模型修改和擴充;(4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。概念結(jié)構(gòu)的設(shè)計策略通常有四種:l)自頂向下,即首先定義全局概念結(jié)構(gòu)的框架,然后逐步細化;2)自底向上,即首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu);3)逐步擴張,首先定義最重要的核心概念結(jié)構(gòu),然后向外擴充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu);4)混合策略,即將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)。8.什么叫數(shù)據(jù)抽象試舉例說明。答:數(shù)據(jù)抽象是對實際的人、物、事和概念進行人為處理,抽取所關(guān)心的共同特性,忽略非本質(zhì)的細節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。如“分類’夕這種抽象是:定義某一類概念作為現(xiàn)實世界中一組對象的類型。這些對象具有某些共同的特性和行為。它抽象了對象值和型之間的,'i5memberof”的語義。在E一R模型中,實體型就是這種抽象。例如在學(xué)校環(huán)境中,李英是老師,表示李英是教師類型中的一員,則教師是實體型,李英是教師實體型中的一個實體值,具有教師共同的特性和行為:在某個系某個專業(yè)教學(xué),講授某些課程,從事某個方向的科研。9.試述數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計的重要性和設(shè)計步驟。答:重要性:數(shù)據(jù)庫概念設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,將在需求分析階段所得到的應(yīng)用需求首先抽象為概念結(jié)構(gòu),以此作為各種數(shù)據(jù)模型的共同基礎(chǔ),從而能更好地、更準確地用某一DBMS實現(xiàn)這些需求。設(shè)計步驟:概念結(jié)構(gòu)的設(shè)計方法有多種,其中最經(jīng)常采用的策略是自底向上方法,該方法的設(shè)計步驟通常分為兩步:第1步是抽象數(shù)據(jù)并設(shè)計局部視圖,第2步是集成局部視圖,得到全局的概念結(jié)構(gòu)。10.為什么要視圖集成視圖集成的方法是什么答:在對數(shù)據(jù)庫系統(tǒng)進行概念結(jié)構(gòu)設(shè)計時一般采用自底向上的設(shè)計方法,把繁雜的大系統(tǒng)分解子系統(tǒng)。首先設(shè)計各個子系統(tǒng)的局部視圖,然后通過視圖集成的方式將各子系統(tǒng)有機地融合起來,綜合成一個系統(tǒng)的總視圖。這樣,設(shè)計清晰,由簡到繁。由于數(shù)據(jù)庫系統(tǒng)是從整體角度看待和描述數(shù)據(jù)的,因此數(shù)據(jù)不再面向某個應(yīng)用而是整個系統(tǒng)。因此必須進行視圖集成,使得數(shù)據(jù)庫能被全系統(tǒng)的多個用戶、多個應(yīng)用共享使用。一般說來,視圖集成可以有兩種方式:(l)多個分E一R圖一次集成;(2)逐步集成,用累加的方式一次集成兩個分E一R圖。無論采用哪種方式,每次集成局部E一R圖時都需要分兩步走:(l)合并,解決各分E一R圖之間的沖突,將各分E一R圖合并起來生成初步E一R圖;(2)修改和重構(gòu),消除不必要的冗余,生成基本E一R圖。11.什么是數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計試述其設(shè)計步驟。答:數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E一R圖轉(zhuǎn)換為與選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。設(shè)計步驟為:(l)將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;(2)將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;(3)對數(shù)據(jù)模型進行優(yōu)化。14.規(guī)范化理論對數(shù)據(jù)庫設(shè)計有什么指導(dǎo)意義答:規(guī)范化理論為數(shù)據(jù)庫設(shè)計人員判斷關(guān)系模式的優(yōu)劣提供了理論標準,可用以指導(dǎo)關(guān)系數(shù)據(jù)模型的優(yōu)化,用來預(yù)測模式可能出現(xiàn)的問題,為設(shè)計人員提供了自動產(chǎn)生各種模式的算法工具,使數(shù)據(jù)庫設(shè)計工作有了嚴格的理論基礎(chǔ)。15.試述數(shù)據(jù)庫物理設(shè)計的內(nèi)容和步驟。答:數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于給定的DBMS。為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用要求的物理結(jié)構(gòu),就是數(shù)據(jù)庫的物理設(shè)計的主要內(nèi)容。數(shù)據(jù)庫的物理設(shè)計步驟通常分為兩步:(l)確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲結(jié)構(gòu);(2)對物理結(jié)構(gòu)進行評價,評價的重點是時間效率和空間效率。16.?dāng)?shù)據(jù)輸入在實施階段的重要性是什么如何保證輸入數(shù)據(jù)的正確性答:數(shù)據(jù)庫是用來對數(shù)據(jù)進行存儲、管理與應(yīng)用的,因此在實施階段必須將原有系統(tǒng)中的歷史數(shù)據(jù)輸入到數(shù)據(jù)庫。數(shù)據(jù)量一般都很大,而且數(shù)據(jù)來源于部門中的各個不同的單位。數(shù)據(jù)的組織方式、結(jié)構(gòu)和格式都與新設(shè)計的數(shù)據(jù)庫系統(tǒng)有相當(dāng)?shù)牟罹啵M織數(shù)據(jù)錄入就要將各類源數(shù)據(jù)從各個局部應(yīng)用中抽取出來,分類轉(zhuǎn)換,最后綜合成符合新設(shè)計的數(shù)據(jù)庫結(jié)構(gòu)的形式,輸入數(shù)據(jù)庫。因此這樣的數(shù)據(jù)轉(zhuǎn)換、組織入庫的工作是相當(dāng)費力費時的工作。特別是原系統(tǒng)是手工數(shù)據(jù)處理系統(tǒng)時,各類數(shù)據(jù)分散在各種不同的原始表格、憑證、單據(jù)之中,數(shù)據(jù)輸入工作量更大。保證輸入數(shù)據(jù)正確性的方法:為提高數(shù)據(jù)輸入工作的效率和質(zhì)量,應(yīng)該針對具體的應(yīng)用環(huán)境設(shè)計一個數(shù)據(jù)錄入子系統(tǒng),由計算機來完成數(shù)據(jù)入庫的任務(wù)。在源數(shù)據(jù)入庫之前要采用多種方法對它們進行檢驗,以防止不正確的數(shù)據(jù)入庫。17.什么是數(shù)據(jù)庫的再組織和重構(gòu)造為什么要進行數(shù)據(jù)庫的再組織和重構(gòu)造答:數(shù)據(jù)庫的再組織是指:按原設(shè)計要求重新安排存儲位置、回收垃圾、減少指針鏈等,以提高系統(tǒng)性能。數(shù)據(jù)庫的重構(gòu)造則是指部分修改數(shù)據(jù)庫的模式和內(nèi)模式,即修改原設(shè)計的邏輯和物理結(jié)構(gòu)。數(shù)據(jù)庫的再組織是不修改數(shù)據(jù)庫的模式和內(nèi)模式的。進行數(shù)據(jù)庫的再組織和重構(gòu)造的原因:數(shù)據(jù)庫運行一段時間后,由于記錄不斷增、刪、改,會使數(shù)據(jù)庫的物理存儲情況變壞,降低了數(shù)據(jù)的存取效率,數(shù)據(jù)庫性能下降,這時DBA就要對數(shù)據(jù)庫進行重組織。DBMS一般都提供用于數(shù)據(jù)重組織的實用程序。數(shù)據(jù)庫應(yīng)用環(huán)境常常發(fā)生變化,如增加新的應(yīng)用或新的實體,取消了某些應(yīng)用,有的實體與實體間的聯(lián)系也發(fā)生了變化等,使原有的數(shù)據(jù)庫設(shè)計不能滿足新的需求,需要調(diào)整數(shù)據(jù)庫的模式和內(nèi)模式。這就要進行數(shù)據(jù)庫重構(gòu)造。18.現(xiàn)有一局部應(yīng)用,包括兩個實體:“出版社”和“作者”,這兩個實體是多對多的聯(lián)系,請讀者自己設(shè)計適當(dāng)?shù)膶傩?,畫出E一R圖,再將其轉(zhuǎn)換為關(guān)系模型(包括關(guān)系名、屬性名、碼和完整性約束條件)。答:關(guān)系模型為:作者(作者號,姓名,年齡,性別,電話,地址)出版社(出版社號,名稱,地址,聯(lián)系電話)出版(作者號,出版社號,書的數(shù)量)出版關(guān)系的主碼作者號,出版社號分別參照作者關(guān)系的主碼作者號和出版社關(guān)系的主碼出版社號。19.請設(shè)計一個圖書館數(shù)據(jù)庫,此數(shù)據(jù)庫中對每個借閱者保存讀者記錄,包括:讀者號,姓名,地址,性別,年齡,單位。對每本書存有:書號,書名,作者,出版社。對每本被借出的書存有讀者號、借出日期和應(yīng)還日期。要求:給出E一R圖,再將其轉(zhuǎn)換為關(guān)系模型。答:E一R圖為:關(guān)系模型為:讀者(讀者號,姓名,地址,性別書(書號,書名,作者,出版社)借書(讀者號,書號,借出日期,年齡,單位)應(yīng)還日期)第9章關(guān)系查詢處理和查詢優(yōu)化1.試述查詢優(yōu)化在關(guān)系數(shù)據(jù)庫系統(tǒng)中的重要性和可能性。答:重要性:關(guān)系系統(tǒng)的查詢優(yōu)化既是RDBMS實現(xiàn)的關(guān)鍵技術(shù)又是關(guān)系系統(tǒng)的優(yōu)點所在。它減輕了用戶選擇存取路徑的負擔(dān)。用戶只要提出“干什么”,不必指出“怎么干”。查詢優(yōu)化的優(yōu)點不僅在于用戶不必考慮如何最好地表達查詢以獲得較好的效率,而且在于系統(tǒng)可以比用戶程序的“優(yōu)化’夕做得更好。可能性:這是因為:(l)優(yōu)化器可以從數(shù)據(jù)字典中獲取許多統(tǒng)計信息,例如關(guān)系中的元組數(shù)、關(guān)系中每個屬性值的分布情況、這些屬性上是否有索引、是什么索引(B+樹索引還是HASH索引或惟一索引或組合索引)等。優(yōu)化器可以根據(jù)這些信息選擇有效的執(zhí)行計劃,而用戶程序則難以獲得這些信息。(2)如果數(shù)據(jù)庫的物理統(tǒng)計信息改變了,系統(tǒng)可以自動對查詢進行重新優(yōu)化以選擇相適應(yīng)的執(zhí)行計劃。在非關(guān)系系統(tǒng)中必須重寫程序,而重寫程序在實際應(yīng)用中往往是不太可能的。(3)優(yōu)化器可以考慮數(shù)十甚至數(shù)百種不同的執(zhí)行計劃,從中選出較優(yōu)的一個,而程序員一般只能考慮有限的幾種可能性。(4)優(yōu)化器中包括了很多復(fù)雜的優(yōu)化技術(shù),這些優(yōu)化技術(shù)往往只有最好的程序員才能掌握。系統(tǒng)的自動優(yōu)化相當(dāng)于使得所有人都擁有這些優(yōu)化技術(shù)。2.對學(xué)生一課程數(shù)據(jù)庫有如下的查詢:SEI王CTCn即neFROMStudent,Cou拐e,SCWHEREStudent.Sno=SC.SnoANDSC.Cllo=Coll拐e.ClloANDStu擊nt.Sdept=!15!;此查詢要求信息系學(xué)生選修了的所有課程名稱。試畫出用關(guān)系代數(shù)表示的語法樹,并用關(guān)系代數(shù)表達式優(yōu)化算法對原始的語法樹進行優(yōu)化處理,畫出優(yōu)化后的標準語法樹。答:3.試述查詢優(yōu)化的一般準則。答:下面的優(yōu)化策略一般
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 子女作息習(xí)慣培養(yǎng)與家長支持合同
- 管理者的價值體現(xiàn)
- 建筑施工現(xiàn)場安全培訓(xùn)與咨詢服務(wù)協(xié)議
- 婚后奢侈品共有及離婚后財產(chǎn)分割及權(quán)益維護實施協(xié)議
- 半導(dǎo)體引線框架研發(fā)與市場推廣合作協(xié)議
- 緊急救援私人飛機航線申請與保障合同
- 國際藝術(shù)品物流保險及風(fēng)險防控合同
- 股權(quán)激勵合同模板:核心員工激勵方案
- 先進工業(yè)模具技術(shù)升級合同補充條款
- 豪華游艇衛(wèi)星電話租賃及全球語音數(shù)據(jù)傳輸合同
- 《中華人民共和國公務(wù)員法概述》課件
- 2025年北京市房山區(qū)九年級初三一模數(shù)學(xué)試卷(含答案)
- 五軸3D點膠機在手機中框制造中的應(yīng)用技術(shù)研究
- 舞蹈老師安全培訓(xùn)
- 2024年醫(yī)療改革政策分析試題及答案
- 2025年山西省中考一模語文試題(原卷版+解析版)
- 2025年上海高考數(shù)學(xué)重點知識點歸納總結(jié)(復(fù)習(xí)必背)
- 2025五級應(yīng)急救援員職業(yè)技能精練考試題庫及答案(濃縮400題)
- 護理職業(yè)教育
- 風(fēng)電場安全風(fēng)險分析及預(yù)控措施
- 肝功能檢查的試題及答案
評論
0/150
提交評論