1 .試述數(shù)據(jù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)的概念。?
答: ?
( l )數(shù)據(jù)( Data ) :描述事物的符號(hào)記錄稱(chēng)為數(shù)據(jù)。數(shù)據(jù)的種類(lèi)有數(shù)字、文字、圖形、圖像、聲音、正文等。數(shù)據(jù)與其語(yǔ)義是不可分的。解析在現(xiàn)代計(jì)算機(jī)系統(tǒng)中數(shù)據(jù)的概念是廣義的。早期的計(jì)算機(jī)系統(tǒng)主要用于科學(xué)計(jì)算,處理的數(shù)據(jù)是整數(shù)、實(shí)數(shù)、浮點(diǎn)數(shù)等傳統(tǒng)數(shù)學(xué)中的數(shù)據(jù)。現(xiàn)代計(jì)算機(jī)能存儲(chǔ)和處理的對(duì)象十分廣泛,表示這些對(duì)象的數(shù)據(jù)也越來(lái)越復(fù)雜。數(shù)據(jù)與其語(yǔ)義是不可分的。 500 這個(gè)數(shù)字可以表示一件物品的價(jià)格是 500 元,也可以表示一個(gè)學(xué)術(shù)會(huì)議參加的人數(shù)有 500 人,還可以表示一袋奶粉重 500 克。 ?
( 2 )數(shù)據(jù)庫(kù)( DataBase ,簡(jiǎn)稱(chēng) 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ò)展性,并可為各種用戶(hù)共享。
( 3 )數(shù)據(jù)庫(kù)系統(tǒng)( DataBas 。 Sytem ,簡(jiǎn)稱(chē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)(及其開(kāi)發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員構(gòu)成。解析數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)是兩個(gè)概念。數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)人一機(jī)系統(tǒng),數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)組成部分。但是在日常工作中人們常常把數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)稱(chēng)為數(shù)據(jù)庫(kù)。希望讀者能夠從人們講話(huà)或文章的上下文中區(qū)分“數(shù)據(jù)庫(kù)系統(tǒng)”和“數(shù)據(jù)庫(kù)”,不要引起混淆。 ?
( 4 )數(shù)據(jù)庫(kù)管理系統(tǒng)( DataBase Management sytem ,簡(jiǎn)稱(chēng) DBMs ) :數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶(hù)與操作系統(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ù)功能。解析 DBMS 是一個(gè)大型的復(fù)雜的軟件系統(tǒng),是計(jì)算機(jī)中的基礎(chǔ)軟件。目前,專(zhuān)門(mén)研制 DBMS 的廠商及其研制的 DBMS 產(chǎn)品很多。著名的有美國(guó) IBM 公司的 DBZ 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)和 IMS 層次數(shù)據(jù)庫(kù)管理系統(tǒng)、美國(guó) Oracle 公司的 orade 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)、 s 油 ase 公司的 s 油 ase 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)、美國(guó)微軟公司的 SQL Serve ,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)等。
2 .使用數(shù)據(jù)庫(kù)系統(tǒng)有什么好處??
答: 使用數(shù)據(jù)庫(kù)系統(tǒng)的好處是由數(shù)據(jù)庫(kù)管理系統(tǒng)的特點(diǎn)或優(yōu)點(diǎn)決定的。使用數(shù)據(jù)庫(kù)系統(tǒng)的好處很多,例如,可以大大提高應(yīng)用開(kāi)發(fā)的效率,方便用戶(hù)的使用,減輕數(shù)據(jù)庫(kù)系統(tǒng)管理人員維護(hù)的負(fù)擔(dān),等等。使用數(shù)據(jù)庫(kù)系統(tǒng)可以大大提高應(yīng)用開(kāi)發(fā)的效率。因?yàn)樵跀?shù)據(jù)庫(kù)系統(tǒng)中應(yīng)用程序不必考慮數(shù)據(jù)的定義、存儲(chǔ)和數(shù)據(jù)存取的具體路徑,這些工作都由 DBMS 來(lái)完成。用一個(gè)通俗的比喻,使用了 DBMS 就如有了一個(gè)好參謀、好助手,許多具體的技術(shù)工作都由這個(gè)助手來(lái)完成。開(kāi)發(fā)人員就可以專(zhuān)注于應(yīng)用邏輯的設(shè)計(jì),而不必為數(shù)據(jù)管理的許許多多復(fù)雜的細(xì)節(jié)操心。還有,當(dāng)應(yīng)用邏輯改變,數(shù)據(jù)的邏輯結(jié)構(gòu)也需要改變時(shí),由于數(shù)據(jù)庫(kù)系統(tǒng)提供了數(shù)據(jù)與程序之間的獨(dú)立性,數(shù)據(jù)邏輯結(jié)構(gòu)的改變是 DBA 的責(zé)任,開(kāi)發(fā)人員不必修改應(yīng)用程序,或者只需要修改很少的應(yīng)用程序,從而既簡(jiǎn)化了應(yīng)用程序的編制,又大大減少了應(yīng)用程序的維護(hù)和修改。使用數(shù)據(jù)庫(kù)系統(tǒng)可以減輕數(shù)據(jù)庫(kù)系統(tǒng)管理人員維護(hù)系統(tǒng)的負(fù)擔(dān)。因?yàn)?DBMS 在數(shù)據(jù)庫(kù)建立、運(yùn)用和維護(hù)時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理和控制,包括數(shù)據(jù)的完整性、安全性、多用戶(hù)并發(fā)控制、故障恢復(fù)等,都由 DBMS 執(zhí)行??傊褂脭?shù)據(jù)庫(kù)系統(tǒng)的優(yōu)點(diǎn)是很多的,既便于數(shù)據(jù)的集中管理,控制數(shù)據(jù)冗余,提高數(shù)據(jù)的利用率和一致性,又有利于應(yīng)用程序的開(kāi)發(fā)和維護(hù)。讀者可以在自己今后的工作中結(jié)合具體應(yīng)用,認(rèn)真加以體會(huì)和總結(jié)。
?3 .試述文件系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)的區(qū)別和聯(lián)系。
?答: 文件系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)的區(qū)別是:文件系統(tǒng)面向某一應(yīng)用程序,共享性差,冗余度大,數(shù)據(jù)獨(dú)立性差,記錄內(nèi)有結(jié)構(gòu),整體無(wú)結(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ù)能力。 文件系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)的聯(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ǔ)是通過(guò)操作系統(tǒng)中的文件系統(tǒng)來(lái)實(shí)現(xiàn)的。
4 .舉出適合用文件系統(tǒng)而不是數(shù)據(jù)庫(kù)系統(tǒng)的例子;再舉出適合用數(shù)據(jù)庫(kù)系統(tǒng)的應(yīng)用例子。
答 :?
( l )適用于文件系統(tǒng)而不是數(shù)據(jù)庫(kù)系統(tǒng)的應(yīng)用例子數(shù)據(jù)的備份、軟件或應(yīng)用程序使用過(guò)程中的臨時(shí)數(shù)據(jù)存儲(chǔ)一般使用文件比較合適。早期功能比較簡(jiǎn)單、比較固定的應(yīng)用系統(tǒng)也適合用文件系統(tǒng)。?
?( 2 )適用于數(shù)據(jù)庫(kù)系統(tǒng)而非文件系統(tǒng)的應(yīng)用例子目前,幾乎所有企業(yè)或部門(mén)的信息系統(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),圖書(shū)館的圖書(shū)管理系統(tǒng),等等,都適合用數(shù)據(jù)庫(kù)系統(tǒng)。希望讀者能舉出自己了解的應(yīng)用例子。
5 .試述數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)。
?答: 數(shù)據(jù)庫(kù)系統(tǒng)的主要特點(diǎn)有:?
?( l )數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,這是數(shù)據(jù)庫(kù)的主要特征之一,也是數(shù)據(jù)庫(kù)系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。解析注意這里的“整體’夕兩個(gè)字。在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)不再針對(duì)某一個(gè)應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)化。不僅數(shù)據(jù)是結(jié)構(gòu)化的,而且數(shù)據(jù)的存取單位即一次可以存取數(shù)據(jù)的大小也很靈活,可以小到某一個(gè)數(shù)據(jù)項(xiàng)(如一個(gè)學(xué)生的姓名),大到一組記錄(成千上萬(wàn)個(gè)學(xué)生記錄)。而在文件系統(tǒng)中,數(shù)據(jù)的存取單位只有一個(gè):記錄,如一個(gè)學(xué)生的完整記錄。?
?( 2 )數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充數(shù)據(jù)庫(kù)的數(shù)據(jù)不再面向某個(gè)應(yīng)用而是面向整個(gè)系統(tǒng),因此可以被多個(gè)用戶(hù)、多個(gè)應(yīng)用以多種不同的語(yǔ)言共享使用。由于數(shù)據(jù)面向整個(gè)系統(tǒng),是有結(jié)構(gòu)的數(shù)據(jù),不僅可以被多個(gè)應(yīng)用共享使用,而且容易增加新的應(yīng)用,這就使得數(shù)據(jù)庫(kù)系統(tǒng)彈性大,易于擴(kuò)充。解析數(shù)據(jù)共享可以大大減少數(shù)據(jù)冗余,節(jié)約存儲(chǔ)空間,同時(shí)還能夠避免數(shù)據(jù)之間的不相容性與不一致性。所謂“數(shù)據(jù)面向某個(gè)應(yīng)用”是指數(shù)據(jù)結(jié)構(gòu)是針對(duì)某個(gè)應(yīng)用設(shè)計(jì)的,只被這個(gè)應(yīng)用程序或應(yīng)用系統(tǒng)使用,可以說(shuō)數(shù)據(jù)是某個(gè)應(yīng)用的“私有資源”。所謂“彈性大”是指系統(tǒng)容易擴(kuò)充也容易收縮,即應(yīng)用增加或減少時(shí)不必修改整個(gè)數(shù)據(jù)庫(kù)的結(jié)構(gòu),只需做很少的改動(dòng)??梢匀≌w數(shù)據(jù)的各種子集用于不同的應(yīng)用系統(tǒng),當(dāng)應(yīng)用需求改變或增加時(shí),只要重新選取不同的子集或加上一部分?jǐn)?shù)據(jù),便可以滿(mǎn)足新的需求。?
?( 3 )數(shù)據(jù)獨(dú)立性高數(shù)據(jù)獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。數(shù)據(jù)庫(kù)管理系統(tǒng)的模式結(jié)構(gòu)和二級(jí)映像功能保證了數(shù)據(jù)庫(kù)中的數(shù)據(jù)具有很高的物理獨(dú)立性和邏輯獨(dú)立性。?
( 4 )數(shù)據(jù)由 DBMS 統(tǒng)一管理和控制數(shù)據(jù)庫(kù)的共享是并發(fā)的共享,即多個(gè)用戶(hù)可以同時(shí)存取數(shù)據(jù)庫(kù)中的數(shù)據(jù)甚至可以同時(shí)存取數(shù)據(jù)庫(kù)中同一個(gè)數(shù)據(jù)。為此, DBMS 必須提供統(tǒng)一的數(shù)據(jù)控制功能,包括數(shù)據(jù)的安全性保護(hù)、數(shù)據(jù)的完整性檢查、并發(fā)控制和數(shù)據(jù)庫(kù)恢復(fù)。解析 DBMS 數(shù)據(jù)控制功能包括四個(gè)方面:數(shù)據(jù)的安全性保護(hù):保護(hù)數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞;數(shù)據(jù)的完整性檢查:將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿(mǎn)足一定的關(guān)系;并發(fā)控制:對(duì)多用戶(hù)的并發(fā)操作加以控制和協(xié)調(diào),保證并發(fā)操作的正確性;數(shù)據(jù)庫(kù)恢復(fù):當(dāng)計(jì)算機(jī)系統(tǒng)發(fā)生硬件故障、軟件故障,或者由于操作員的失誤以及故意的破壞影響數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性,甚至造成數(shù)據(jù)庫(kù)部分或全部數(shù)據(jù)的丟失時(shí),能將數(shù)據(jù)庫(kù)從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)(亦稱(chēng)為完整狀態(tài)或一致?tīng)顟B(tài))。下面可以得到“什么是數(shù)據(jù)庫(kù)”的一個(gè)定義:數(shù)據(jù)庫(kù)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)有組織的大量的共享的數(shù)據(jù)集合,它可以供各種用戶(hù)共享,具有最小冗余度和較高的數(shù)據(jù)獨(dú)立性。 DBMS 在數(shù)據(jù)庫(kù)建立、運(yùn)用和維護(hù)時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一控制,以保證數(shù)據(jù)的完整性、安全性,并在多用戶(hù)同時(shí)使用數(shù)據(jù)庫(kù)時(shí)進(jìn)行并發(fā)控制,在發(fā)生故障后對(duì)系統(tǒng)進(jìn)行恢復(fù)。數(shù)據(jù)庫(kù)系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序?yàn)橹行霓D(zhuǎn)向圍繞共享的數(shù)據(jù)庫(kù)為中心的新階段。
6 .?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)的主要功能有哪些??
答:?
( l )數(shù)據(jù)庫(kù)定義功能;?
( 2 )數(shù)據(jù)存取功能; ?
( 3 )數(shù)據(jù)庫(kù)運(yùn)行管理; ?
( 4 )數(shù)據(jù)庫(kù)的建立和維護(hù)功能。 ?
7 .試述數(shù)據(jù)模型的概念、數(shù)據(jù)模型的作用和數(shù)據(jù)模型的三個(gè)要素。?
答:?
數(shù)據(jù)模型是數(shù)據(jù)庫(kù)中用來(lái)對(duì)現(xiàn)實(shí)世界進(jìn)行抽象的工具,是數(shù)據(jù)庫(kù)中用于提供信息表示和操作手段的形式構(gòu)架。一般地講,數(shù)據(jù)模型是嚴(yán)格定義的概念的集合。這些概念精確描述了系統(tǒng)的靜態(tài)特性、動(dòng)態(tài)特性和完整性約束條件。因此數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成。?
?( l )數(shù)據(jù)結(jié)構(gòu):是所研究的對(duì)象類(lèi)型的集合,是對(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ù)的正確、有效、相容。解析數(shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)中最重要的概念之一。必須通過(guò) 《 概論 》 的學(xué)習(xí)真正掌握數(shù)據(jù)模型的概念和作用。數(shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ)。任何一個(gè) DBMS 都以某一個(gè)數(shù)據(jù)模型為基礎(chǔ),或者說(shuō)支持某一個(gè)數(shù)據(jù)模型。數(shù)據(jù)庫(kù)系統(tǒng)中,模型有不同的層次。根據(jù)模型應(yīng)用的不同目的,可以將模型分成兩類(lèi)或者說(shuō)兩個(gè)層次:一類(lèi)是概念模型,是按用戶(hù)的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模,用于信息世界的建模,強(qiáng)調(diào)語(yǔ)義表達(dá)能力,概念簡(jiǎn)單清晰;另一類(lèi)是數(shù)據(jù)模型,是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模,用于機(jī)器世界,人們可以用它定義、操縱數(shù)據(jù)庫(kù)中的數(shù)據(jù),一般需要有嚴(yán)格的形式化定義和一組嚴(yán)格定義了語(yǔ)法和語(yǔ)義的語(yǔ)言,并有一些規(guī)定和限制,便于在機(jī)器上實(shí)現(xiàn)。?
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ì)人員和用戶(hù)之間進(jìn)行交流的語(yǔ)言。
9 .定義并解釋概念模型中以下術(shù)語(yǔ):實(shí)體,實(shí)體型,實(shí)體集,屬性,碼,實(shí)體聯(lián)系圖( E 一 R 圖)?
答:?
實(shí)體:客觀存在并可以相互區(qū)分的事物叫實(shí)體。實(shí)體型:具有相同屬性的實(shí)體具有相同的特征和性質(zhì),用實(shí)體名及其屬性名集合來(lái)抽象和刻畫(huà)同類(lèi)實(shí)體,稱(chēng)為實(shí)體型。實(shí)體集:同型實(shí)體的集合稱(chēng)為實(shí)體集。屬性:實(shí)體所具有的某一特性,一個(gè)實(shí)體可由若干個(gè)屬性來(lái)刻畫(huà)。碼:惟一標(biāo)識(shí)實(shí)體的屬性集稱(chēng)為碼。實(shí)體聯(lián)系圖( E 一 R 圖):提供了表示實(shí)體型、屬性和聯(lián)系的方法: · 實(shí)體型:用矩形表示,矩形框內(nèi)寫(xiě)明實(shí)體名; · 屬性:用橢圓形表示,并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái); · 聯(lián)系:用菱形表示,菱形框內(nèi)寫(xiě)明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類(lèi)型( 1 : 1 , 1 : n 或 m : n )。?
10 .試給出 3 個(gè)實(shí)際部門(mén)的 E 一 R 圖,要求實(shí)體型之間具有一對(duì)一、一對(duì)多、多對(duì)多各種不同的聯(lián)系。
答:
11 .試給出一個(gè)實(shí)際部門(mén)的 E 一 R 圖,要求有三個(gè)實(shí)體型,而且 3 個(gè)實(shí)體型之間有多對(duì)多聯(lián)系。 3 個(gè)實(shí)體型之間的多對(duì)多聯(lián)系和三個(gè)實(shí)體型兩兩之間的三個(gè)多對(duì)多聯(lián)系等價(jià)嗎?為什么?
?答:
3 個(gè)實(shí)體型之間的多對(duì)多聯(lián)系和 3 個(gè)實(shí)體型兩兩之間的 3 個(gè)多對(duì)多聯(lián)系是不等價(jià),因?yàn)樗鼈儞碛胁煌恼Z(yǔ)義。 3 個(gè)實(shí)體型兩兩之間的三個(gè)多對(duì)多聯(lián)系如下圖所示。
? ?12 .學(xué)校中有若干系,每個(gè)系有若干班級(jí)和教研室,每個(gè)教研室有若干教員,其中有的教授和副教授每人各帶若干研究生;每個(gè)班有若干學(xué)生,每個(gè)學(xué)生選修若干課程,每門(mén)課可由若干學(xué)生選修。請(qǐng)用 E 一 R 圖畫(huà)出此學(xué)校的概念模型。
?答:
13 .某工廠生產(chǎn)若干產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的零件可用在不同的產(chǎn)品上。這些零件由不同的原材料制成,不同零件所用的材料可以相同。這些零件按所屬的不同產(chǎn)品分別放在倉(cāng)庫(kù)中,原材料按照類(lèi)別放在若干倉(cāng)庫(kù)中。請(qǐng)用 E 一 R 圖畫(huà)出此工廠產(chǎn)品、零件、材料、倉(cāng)庫(kù)的概念模型。
14 .試述層次模型的概念,舉出三個(gè)層次模型的實(shí)例。?
答:?
?( l )教員學(xué)生層次數(shù)據(jù)庫(kù)模型
( 2 )行政機(jī)構(gòu)層次數(shù)據(jù)庫(kù)模型
( 3 )行政區(qū)域?qū)哟螖?shù)據(jù)庫(kù)模型
15.今有一個(gè)層次數(shù)據(jù)庫(kù)實(shí)例,試用子女一兄弟鏈接法和層次序列鏈接法畫(huà)出它的存儲(chǔ)結(jié)構(gòu)示意圖。?
答:?
子女兄弟鏈接法:
16 .試述網(wǎng)狀模型的概念,舉出三個(gè)網(wǎng)狀模型的實(shí)例。?
答:?
滿(mǎn)足下面兩個(gè)條件的基本層次聯(lián)系集合為網(wǎng)狀模型。?
?( l )允許一個(gè)以上的結(jié)點(diǎn)無(wú)雙親; ( 2 )一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親。 實(shí)例 1 : ?
17 .試述網(wǎng)狀、層次數(shù)據(jù)庫(kù)的優(yōu)缺點(diǎn)。?
答:
層次模型的優(yōu)點(diǎn)主要有: ( l )模型簡(jiǎn)單,對(duì)具有一對(duì)多層次關(guān)系的部門(mén)描述非常自然、直觀,容易理解,這是層次數(shù)據(jù)庫(kù)的突出優(yōu)點(diǎn); ( 2 )用層次模型的應(yīng)用系統(tǒng)性能好,特別是對(duì)于那些實(shí)體間聯(lián)系是固定的且預(yù)先定義好的應(yīng)用,采用層次模型來(lái)實(shí)現(xiàn),其性能優(yōu)于關(guān)系模型; ( 3 )層次數(shù)據(jù)模型提供了良好的完整性支持。?
層次模型的缺點(diǎn)主要有: ( l )現(xiàn)實(shí)世界中很多聯(lián)系是非層次性的,如多對(duì)多聯(lián)系、一個(gè)結(jié)點(diǎn)具有多個(gè)雙親等,層次模型不能自然地表示這類(lèi)聯(lián)系,只能通過(guò)引入冗余數(shù)據(jù)或引入虛擬結(jié)點(diǎn)來(lái)解決; ( 2 )對(duì)插入和刪除操作的限制比較多; ( 3 )查詢(xún)子女結(jié)點(diǎn)必須通過(guò)雙親結(jié)點(diǎn)。?
網(wǎng)狀數(shù)據(jù)模型的優(yōu)點(diǎn)主要有: ( l )能夠更為直接地描述現(xiàn)實(shí)世界,如一個(gè)結(jié)點(diǎn)可以有多個(gè)雙親; ( 2 )具有良好的性能,存取效率較高。?
網(wǎng)狀數(shù)據(jù)模型的缺點(diǎn)主要有: ( l )結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴(kuò)大,數(shù)據(jù)庫(kù)的結(jié)構(gòu)就變得越來(lái)越復(fù)雜,不利于最終用戶(hù)掌握; ( 2 )其 DDL 、 DML 語(yǔ)言復(fù)雜,用戶(hù)不容易使用。由于記錄之間聯(lián)系是通過(guò)存取路徑實(shí)現(xiàn)的,應(yīng)用程序在訪問(wèn)數(shù)據(jù)時(shí)必須選擇適當(dāng)?shù)拇嫒÷窂?。因此,用?hù)必須了解系統(tǒng)結(jié)構(gòu)的細(xì)節(jié),加重了編寫(xiě)應(yīng)用程序的負(fù)擔(dān)。
18 .試述關(guān)系模型的概念,定義并解釋以下術(shù)語(yǔ): ( l )關(guān)系( 2 )屬性( 3 )域( 4 )元組 ( 5 )主碼( 6 )分量( 7 )關(guān)系模式
答:?
關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。在用戶(hù)觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。 ( l )關(guān)系:一個(gè)關(guān)系對(duì)應(yīng)通常說(shuō)的一張表; ( 2 )屬性:表中的一列即為一個(gè)屬性; ( 3 )域:屬性的取值范圍; ( 4 )元組:表中的一行即為一個(gè)元組; ( 5 )主碼:表中的某個(gè)屬性組,它可以惟一確定一個(gè)元組; ( 6 )分量:元組中的一個(gè)屬性值; ( 7 )關(guān)系模式:對(duì)關(guān)系的描述,一般表示為關(guān)系名(屬性 1 ,屬性 2 , ? ,屬性 n )?
19 .試述關(guān)系數(shù)據(jù)庫(kù)的特點(diǎn)。
?答:?
關(guān)系數(shù)據(jù)模型具有下列優(yōu)點(diǎn): ( l )關(guān)系模型與非關(guān)系模型不同,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的。 ( 2 )關(guān)系模型的概念單一,無(wú)論實(shí)體還是實(shí)體之間的聯(lián)系都用關(guān)系表示,操作的對(duì)象和操作的結(jié)果都是關(guān)系,所以其數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、清晰,用戶(hù)易懂易用。 ( 3 )關(guān)系模型的存取路徑對(duì)用戶(hù)透明,從而具有更高的數(shù)據(jù)獨(dú)立性、更好的安全保密性,也簡(jiǎn)化了程序員的工作和數(shù)據(jù)庫(kù)開(kāi)發(fā)建立的工作。當(dāng)然,關(guān)系數(shù)據(jù)模型也有缺點(diǎn),其中最主要的缺點(diǎn)是,由于存取路徑對(duì)用戶(hù)透明,查詢(xún)效率往往不如非關(guān)系數(shù)據(jù)模型。因此為了提高性能,必須對(duì)用戶(hù)的查詢(xún)請(qǐng)求進(jìn)行優(yōu)化,增加了開(kāi)發(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)模式組成。(參見(jiàn)書(shū)上圖 1 . 29 ) 外模式,亦稱(chēng)子模式或用戶(hù)模式,是數(shù)據(jù)庫(kù)用戶(hù)(包括應(yīng)用程序員和最終用戶(hù))能夠看見(jiàn)和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫(kù)用戶(hù)的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。模式,亦稱(chēng)邏輯模式,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶(hù)的公共數(shù)據(jù)視圖。模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)。外模式涉及的是數(shù)據(jù)的局部邏輯結(jié)構(gòu),通常是模式的子集。內(nèi)模式,亦稱(chēng)存儲(chǔ)模式,是數(shù)據(jù)在數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別,它把數(shù)據(jù)的具體組織留給 DBMs 管理,使用戶(hù)能邏輯抽象地處理數(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 .定義并解釋以下術(shù)語(yǔ):
模式、外模式、內(nèi)模式、 DDL 、 DML 模式、外模式、內(nèi)模式,亦稱(chēng)邏輯模式,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶(hù)的公共數(shù)據(jù)視圖。模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)。外模式涉及的是數(shù)據(jù)的局部邏輯結(jié)構(gòu),通常是模式的子集。內(nèi)模式,亦稱(chēng)存儲(chǔ)模式,是數(shù)據(jù)在數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述。 DDL :數(shù)據(jù)定義語(yǔ)言,用來(lái)定義數(shù)據(jù)庫(kù)模式、外模式、內(nèi)模式的語(yǔ)言。 DML :數(shù)據(jù)操縱語(yǔ)言,用來(lái)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢(xún)、插入、刪除和修改的語(yǔ)句。 ??
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ù)類(lèi)型等),由數(shù)據(jù)庫(kù)管理員對(duì)各個(gè)外模式/模式的映像做相應(yīng)改變,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫(xiě)的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡(jiǎn)稱(chēng)數(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)稱(chēng)數(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)(及其開(kāi)發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶(hù)構(gòu)成。?
24 . DBA 的職責(zé)是什么??
答: 負(fù)責(zé)全面地管理和控制數(shù)據(jù)庫(kù)系統(tǒng)。具體職責(zé)包括: ① 決定數(shù)據(jù)庫(kù)的信息內(nèi)容和結(jié)構(gòu); ② 決定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)和存取策略; ③ 定義數(shù)據(jù)的安全性要求和完整性約束條件; ④ 監(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ī)范說(shuō)明,系統(tǒng)分析員要和用戶(hù)及 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ì)人員必須參加用戶(hù)需求調(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ì)和編寫(xiě)應(yīng)用系統(tǒng)的程序模塊,并進(jìn)行調(diào)試和安裝。