版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章緒論
1.試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。
答:
(I)數(shù)據(jù)(Data):描述事物的符號(hào)記錄稱為數(shù)據(jù)。數(shù)據(jù)的種類有數(shù)字、文
字、圖形、圖像、聲音、正文等。數(shù)據(jù)與其語義是不可分的。解析在現(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ù)也越來越復(fù)雜。數(shù)據(jù)與其語義是不可分的。500這
個(gè)數(shù)字可以表示一件物品的價(jià)格是500元,也可以表示一個(gè)學(xué)術(shù)會(huì)議參加的人
數(shù)有500人,還可以表示一袋奶粉重500克。
(2)數(shù)據(jù)庫(DataBase,簡(jiǎn)稱DB):數(shù)據(jù)庫是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)的、
有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和
儲(chǔ)存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。
數(shù)據(jù)庫系統(tǒng)(,簡(jiǎn)稱:數(shù)據(jù)庫系統(tǒng)是指在
(3)DataBasoSytemDBS)
計(jì)算機(jī)系統(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ù)庫是兩個(gè)概
念。數(shù)據(jù)庫系統(tǒng)是一個(gè)人一機(jī)系統(tǒng),數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)的一個(gè)組成部分。但是
在日常工作中人們常常把數(shù)據(jù)庫系統(tǒng)簡(jiǎn)稱為數(shù)據(jù)庫。希望讀者能夠從人們講話或
文章的上下文中區(qū)分“數(shù)據(jù)庫系統(tǒng)“和"數(shù)據(jù)庫”,不要引起混淆。
(4)數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementsytem,簡(jiǎn)稱DBMs):
數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,用于科學(xué)地組
織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)。DBMS的主要功能包括數(shù)據(jù)定義功能、
數(shù)據(jù)操縱功能、數(shù)據(jù)庫的運(yùn)行管理功能、數(shù)據(jù)庫的建立和維護(hù)功能。解析DBMS
是一個(gè)大型的復(fù)雜的軟件系統(tǒng),是計(jì)算機(jī)中的基礎(chǔ)軟件。目前,專門研制DBMS
的廠商及其研制的DBMS產(chǎn)品很多。著名的有美國(guó)IBM公司的DBZ關(guān)系
數(shù)據(jù)庫管理系統(tǒng)和IMS層次數(shù)據(jù)庫管理系統(tǒng)、美國(guó)Oracle公司的orade關(guān)
系數(shù)據(jù)庫管理系統(tǒng)、s油ase公司的s油ase關(guān)系數(shù)據(jù)庫管理系統(tǒng)、美國(guó)
微軟公司的SQLServe,關(guān)系數(shù)據(jù)庫管理系統(tǒng)等。
2.使用數(shù)據(jù)庫系統(tǒng)有什么好處?
答:
使用數(shù)據(jù)庫系統(tǒng)的好處是由數(shù)據(jù)庫管理系統(tǒng)的特點(diǎn)或優(yōu)點(diǎn)決定的。使用數(shù)據(jù)庫系
統(tǒng)的好處很多,例如,可以大大提高應(yīng)用開發(fā)的效率,方便用戶的使用,減輕數(shù)
據(jù)庫系統(tǒng)管理人員維護(hù)的負(fù)擔(dān),等等。使用數(shù)據(jù)庫系統(tǒng)可以大大提高應(yīng)用開發(fā)的
效率。因?yàn)樵跀?shù)據(jù)庫系統(tǒng)中應(yīng)用程序不必考慮數(shù)據(jù)的定義、存儲(chǔ)和數(shù)據(jù)存取的具
體路徑,這些工作都由DBMS來完成。用一個(gè)通俗的比喻,使用了DBMS就
如有了一個(gè)好參謀、好助手,許多具體的技術(shù)工作都由這個(gè)助手來完成。開發(fā)人
員就可以專注于應(yīng)用邏輯的設(shè)計(jì),而不必為數(shù)據(jù)管理的許許多多復(fù)雜的細(xì)節(jié)操
心。還有,當(dāng)應(yīng)用邏輯改變,數(shù)據(jù)的邏輯結(jié)構(gòu)也需要改變時(shí),由于數(shù)據(jù)庫系統(tǒng)提
供了數(shù)據(jù)與程序之間的獨(dú)立性,數(shù)據(jù)邏輯結(jié)構(gòu)的改變是DBA的責(zé)任,開發(fā)人
員不必修改應(yīng)用程序,或者只需要修改很少的應(yīng)用程序,從而既簡(jiǎn)化了應(yīng)用程序
的編制,又大大減少了應(yīng)用程序的維護(hù)和修改。使用數(shù)據(jù)庫系統(tǒng)可以減輕數(shù)據(jù)庫
系統(tǒng)管理人員維護(hù)系統(tǒng)的負(fù)擔(dān)。因?yàn)镈BMS在數(shù)據(jù)庫建立、運(yùn)用和維護(hù)時(shí)對(duì)數(shù)
據(jù)庫進(jìn)行統(tǒng)一的管理和控制,包括數(shù)據(jù)的完整性、安全性、多用戶并發(fā)控制、故
障恢復(fù)等,都由DBMS執(zhí)行??傊?,使用數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)是很多的,既便于
數(shù)據(jù)的集中管理,控制數(shù)據(jù)冗余,提高數(shù)據(jù)的利用率和一致性,又有利于應(yīng)用程
序的開發(fā)和維護(hù)。讀者可以在自己今后的工作中結(jié)合具體應(yīng)用,認(rèn)真加以體會(huì)和
3.試述文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)別和聯(lián)系。
答:
文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)別是:文件系統(tǒng)面向某一應(yīng)用程序,共享性差,冗余
度大,數(shù)據(jù)獨(dú)立性差,記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu),由應(yīng)用程序自己控制。數(shù)據(jù)
庫系統(tǒng)面向現(xiàn)實(shí)世界,共享性高,冗余度小,具有較高的物理獨(dú)立性和一定的邏
輯獨(dú)立性,整體結(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)都是計(jì)算機(jī)系統(tǒng)中管理
數(shù)據(jù)的軟件。解析文件系統(tǒng)是操作系統(tǒng)的重要組成部分;而DBMS是獨(dú)立于操
作系統(tǒng)的軟件。但是DBMS是在操作系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)的;數(shù)據(jù)庫中數(shù)據(jù)的組
織和存儲(chǔ)是通過操作系統(tǒng)中的文件系統(tǒng)來實(shí)現(xiàn)的。
4.舉出適合用文件系統(tǒng)而不是數(shù)據(jù)庫系統(tǒng)的例子;再舉出適合用數(shù)據(jù)庫系統(tǒng)
的應(yīng)用例子。答:
(I)適用于文件系統(tǒng)而不是數(shù)據(jù)庫系統(tǒng)的應(yīng)用例子數(shù)據(jù)的備份、軟件或應(yīng)用程
序使用過程中的臨時(shí)數(shù)據(jù)存儲(chǔ)一般使用文件比較合適。早期功能比較簡(jiǎn)單、比較
固定的應(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)(其中會(huì)包括許多子系統(tǒng),如庫存管理系統(tǒng)、物資采購(gòu)系統(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)的特點(diǎn)。
答:
數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)有:
(I)數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,這是數(shù)據(jù)庫的主要特征之
-,也是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。解析注意這里的“整體’夕兩個(gè)字。
在數(shù)據(jù)庫系統(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é)生的姓名),大到一組記錄(成千上萬
個(gè)學(xué)生記錄1而在文件系統(tǒng)中,數(shù)據(jù)的存取單位只有一個(gè):記錄,如一個(gè)學(xué)生
的完整記錄。
(2)數(shù)據(jù)的共享性高,冗余度低,易獷充數(shù)據(jù)庫的數(shù)據(jù)不再面向某個(gè)應(yīng)用而
是面向整個(gè)系統(tǒng),因此可以被多個(gè)用戶、多個(gè)應(yīng)用以多種不同的語言共享使用。
由于數(shù)據(jù)面向整個(gè)系統(tǒng),是有結(jié)構(gòu)的數(shù)據(jù),不僅可以被多個(gè)應(yīng)用共享使用,而且
容易增加新的應(yīng)用,這就使得數(shù)據(jù)庫系統(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)使用,可以說數(shù)據(jù)是某個(gè)應(yīng)用的“私有資源"。所謂"彈
性大”是指系統(tǒng)容易擴(kuò)充也容易收縮,即應(yīng)用增加或減少時(shí)不必修改整個(gè)數(shù)據(jù)庫
的結(jié)構(gòu),只需做很少的改動(dòng)。可以取整體數(shù)據(jù)的各種子集用于不同的應(yīng)用系統(tǒng),
當(dāng)應(yīng)用需求改變或增加時(shí),只要重新選取不同的子集或加上一部分?jǐn)?shù)據(jù),便可以
滿足新的需求。
(3)數(shù)據(jù)獨(dú)立性高數(shù)據(jù)獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。
數(shù)據(jù)庫管理系統(tǒng)的模式結(jié)構(gòu)和二級(jí)映像功能保證了數(shù)據(jù)庫中的數(shù)據(jù)具有很高的
物理獨(dú)立性和邏輯獨(dú)立性。
(4)數(shù)據(jù)由DBMS統(tǒng)一管理和控制數(shù)據(jù)庫的共享是并發(fā)的共享,即多介用戶
可以同時(shí)存取數(shù)據(jù)庫中的數(shù)據(jù)甚至可以同時(shí)存取數(shù)據(jù)庫中同一個(gè)數(shù)據(jù)。為此,
DBMS必須提供統(tǒng)一的數(shù)據(jù)控制功能,包括數(shù)據(jù)的安全性保護(hù)、數(shù)據(jù)的完整性
檢直、并發(fā)控制和數(shù)據(jù)庫恢復(fù)。解析DBMS數(shù)據(jù)控制功能包括四個(gè)方面:數(shù)據(jù)
的安全性保護(hù):保護(hù)數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞;數(shù)據(jù)的
完整性檢直:將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系;并
發(fā)控制:對(duì)多用戶的并發(fā)操作加以控制和協(xié)調(diào),保證并發(fā)操作的正確性;數(shù)據(jù)庫
恢復(fù):當(dāng)計(jì)算機(jī)系統(tǒng)發(fā)生硬件故障、軟件故障,或者由于操作員的失誤以及故意
的破壞影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,甚至造成數(shù)據(jù)庫部分或全部數(shù)據(jù)的丟失時(shí),
能將數(shù)據(jù)庫從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)(亦稱為完整狀態(tài)或一致狀
態(tài)X下面可以得到“什么是數(shù)據(jù)庫”的一個(gè)定義:數(shù)據(jù)庫是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)
內(nèi)有組織的大量的共享的數(shù)據(jù)集合,它可以供各種用戶共享,具有最小冗余度和
較高的數(shù)據(jù)獨(dú)立性。DBMS在數(shù)據(jù)庫建立、運(yùn)用和維護(hù)時(shí)對(duì)數(shù)據(jù)庫進(jìn)行統(tǒng)一控
制,以保證數(shù)據(jù)的完整性、安全性,并在多用戶同時(shí)使用數(shù)據(jù)庫時(shí)進(jìn)行并發(fā)控制,
在發(fā)生故障后對(duì)系統(tǒng)進(jìn)行恢復(fù)。數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程
序?yàn)橹行霓D(zhuǎn)向圍繞共享的數(shù)據(jù)庫為中心的新階段。
6.數(shù)據(jù)庫管理系統(tǒng)的主要功能有哪些?
答:
(I)數(shù)據(jù)庫定義功能;
(2)數(shù)據(jù)存取功能;
(3)數(shù)據(jù)庫運(yùn)行管理;
(4)數(shù)據(jù)庫的建立和維護(hù)功能。
7.試述數(shù)據(jù)模型的概念、數(shù)據(jù)模型的作用和數(shù)據(jù)模型的三個(gè)要素。
答:
數(shù)據(jù)模型是數(shù)據(jù)庫中用來對(duì)現(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ù)操作和完整性約束三部分組成。
(I)數(shù)據(jù)結(jié)構(gòu):是所研究的對(duì)象類型的集合,是對(duì)系統(tǒng)靜態(tài)特性的描述。
(2)數(shù)據(jù)操作:是指對(duì)數(shù)據(jù)庫中各種對(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ù)庫
狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。解析數(shù)據(jù)模型是數(shù)據(jù)庫
系統(tǒng)中最重要的概念之一。必須通過《概論》的學(xué)習(xí)真正掌握數(shù)據(jù)模型的概
念和作用。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)。任何一個(gè)DBMS都以某一個(gè)數(shù)據(jù)模
型為基礎(chǔ),或者說支持某一個(gè)數(shù)據(jù)模型。數(shù)據(jù)庫系統(tǒng)中,模型有不同的層次。根
據(jù)模型應(yīng)用的不同目的,可以將模型分成兩類或者說兩個(gè)層次:一類是概念模型,
是按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息建模,用于信息世界的建模,強(qiáng)調(diào)語義表達(dá)能力,
概念簡(jiǎn)單清晰;另一類是數(shù)據(jù)模型,是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模,用于機(jī)
器世界,人們可以用它定義、操縱數(shù)據(jù)庫中的數(shù)據(jù),一般需要有嚴(yán)格的形式化定
義和一組嚴(yán)格定義了語法和語義的語言,并有一些規(guī)定和限制,便于在機(jī)器上實(shí)
現(xiàn)。
8.試述概念模型的作用。
答:
概念模型實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。概念模型用于信息世界
的建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象,是數(shù)據(jù)庫設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫設(shè)
計(jì)的有力工具,也是數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言。
9.定義并解釋概念模型中以下術(shù)語:實(shí)體,實(shí)體型,實(shí)體集,屬性,碼,實(shí)
體聯(lián)系圖(E-R圖)
答:
實(shí)體:客觀存在并可以相互區(qū)分的事物叫實(shí)體。實(shí)體型:具有相同屬性的實(shí)體具
有相同的特征和性質(zhì),用實(shí)體名及其屬性名集合來抽象和刻畫同類實(shí)體,稱為實(shí)
體型。實(shí)體集:同型實(shí)體的集合稱為實(shí)體集。屬性:實(shí)體所具有的某一特性,一
個(gè)實(shí)體可由若干個(gè)屬性來刻畫。碼:惟一標(biāo)識(shí)實(shí)體的屬性集稱為碼。實(shí)體聯(lián)系圖
(E-R圖):提供了表示實(shí)體型、屬性和聯(lián)系的方法:口實(shí)體型:用矩形
表示,矩形框內(nèi)寫明實(shí)體名;口屬性:用橢圓形表示,并用無向邊將其與相應(yīng)
的實(shí)體連接起來;口聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分
別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n或m:
n1
10.試給出3分實(shí)際部門的E-R圖,要求實(shí)體型之間具有一對(duì)一、一對(duì)
多、多對(duì)多各種不同的聯(lián)系。
答:
較員
多對(duì)多收系
11.試給出一個(gè)實(shí)際部門的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義。3個(gè)實(shí)體型兩兩之間的三個(gè)多對(duì)多聯(lián)系如下
圖所示。
12.學(xué)校中有若干系,每個(gè)系有若干班級(jí)和教研室,每個(gè)教研室有若干教員,
其中有的教授和副教授每人各帶若干研究生;每個(gè)班有若干學(xué)生,每個(gè)學(xué)生選修
若干課程,每門課可由若干學(xué)生選修。請(qǐng)用E—R圖畫出此學(xué)校的概念模型。
答:
13.某工廠生產(chǎn)若干產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的零件可用在不同
的產(chǎn)品上。這些零件由不同的原材料制成,不同零件所用的材料可以相同。這些
零件按所屬的不同產(chǎn)品分別放在倉庫中,原材料按照類別放在若干倉庫中。請(qǐng)用
E-R圖畫出此工廠產(chǎn)品、零件、材料、倉庫的概念模型。
答:
14.試述層次模型的概念,舉出三個(gè)層次模型的實(shí)例。
答:
(I)教員學(xué)生層次數(shù)據(jù)庫模型
(2)行政機(jī)構(gòu)層次數(shù)據(jù)庫模型
行俄機(jī)構(gòu)
料案
職1:
(3)行政區(qū)域?qū)哟螖?shù)據(jù)庫模型
市市
15.今有一個(gè)層次數(shù)據(jù)庫實(shí)例,試用子女一兄弟鏈接法和層次序列鏈接法畫出
Al
BlB2
D2D3
它的存儲(chǔ)結(jié)構(gòu)示意圖。
答:
子女兄弟鏈接法:
16.試述網(wǎng)狀模型的概念,舉出三個(gè)網(wǎng)狀模型的實(shí)例。
答:
滿足下面兩個(gè)條件的基本層次聯(lián)系集合為網(wǎng)狀模型。
(I)允許一個(gè)以上的結(jié)點(diǎn)無雙親;(2)一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親。
實(shí)例1:
實(shí)例2:
實(shí)例
17.試述網(wǎng)狀、層次數(shù)據(jù)庫的優(yōu)缺點(diǎn)。
答:
層次模型的優(yōu)點(diǎn)主要有:(I)模型簡(jiǎn)單,對(duì)具有一對(duì)多層次關(guān)系的部門描述非
常自然、直觀,容易理解,這是層次數(shù)據(jù)庫的突出優(yōu)點(diǎn);(2)用層次模型的
應(yīng)用系統(tǒng)性能好,特別是對(duì)于那些實(shí)體間聯(lián)系是固定的且預(yù)先定義好的應(yīng)用,采
用層次模型來實(shí)現(xiàn),其性能優(yōu)于關(guān)系模型;(3)層次數(shù)據(jù)模型提供了良好的
完整性支持。
層次模型的缺點(diǎn)主要有:(I)現(xiàn)實(shí)世界中很多聯(lián)系是非層次性的,如多對(duì)多聯(lián)
系、一個(gè)結(jié)點(diǎn)具有多個(gè)雙親等,層次模型不能自然地表示這類聯(lián)系,只能通過引
入冗余數(shù)據(jù)或引入虛擬結(jié)點(diǎn)來解決;(2)對(duì)插入和刪除操作的限制比較多;
(3)蟄詢子女結(jié)點(diǎn)必須通過雙親結(jié)點(diǎn)。
網(wǎng)狀數(shù)據(jù)模型的優(yōu)點(diǎn)主要有:(I)能夠更為直接地描述現(xiàn)實(shí)世界,如一個(gè)結(jié)點(diǎn)
可以有多個(gè)雙親;(2)具有良好的性能,存取效率較高。
網(wǎng)狀數(shù)據(jù)模型的缺點(diǎn)主要有:(I)結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的獷大,
數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握;(2廈DDL、DML
語言復(fù)雜,用戶不容易使用。由于記錄之間聯(lián)系是通過存取路徑實(shí)現(xiàn)的,應(yīng)用程
序在訪問數(shù)據(jù)時(shí)必須選擇適當(dāng)?shù)拇嫒÷窂?。因此,用戶必須了解系統(tǒng)結(jié)構(gòu)的細(xì)節(jié),
加重了編寫應(yīng)用程序的負(fù)擔(dān)。
18.試述關(guān)系模型的概念,定義并解釋以下術(shù)語:(I)關(guān)系(2)屬性(3)
域(4)元組(5)主碼(6)分量(7)關(guān)系模式
答:
關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。在用戶
觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。(I)關(guān)
系l個(gè)關(guān)系對(duì)應(yīng)通常說的一張表;(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ù)庫的特點(diǎn)。
答:
關(guān)系數(shù)據(jù)模型具有下列優(yōu)點(diǎn):(I)關(guān)系模型與非關(guān)系模型不同,它是建立在嚴(yán)
格的數(shù)學(xué)概念的基礎(chǔ)上的。(2)關(guān)系模型的概念單一,無論實(shí)體還是實(shí)體之
間的聯(lián)系都用關(guān)系表示,操作的對(duì)象和操作的結(jié)果都是關(guān)系,所以其數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)
單、清晰,用戶易懂易用。(3)關(guān)系模型的存取路徑對(duì)用戶透明,從而具有
更高的數(shù)據(jù)獨(dú)立性、更好的安全保密性,也簡(jiǎn)化了程序員的工作和數(shù)據(jù)庫開發(fā)建
立的工作。當(dāng)然,關(guān)系數(shù)據(jù)模型也有缺點(diǎn),其中最主要的缺點(diǎn)是,由于存取路徑
對(duì)用戶透明,查詢效率往往不如非關(guān)系數(shù)據(jù)模型。因此為了提高性能,必須對(duì)用
戶的查詢請(qǐng)求進(jìn)行優(yōu)化,增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度。
20.試述數(shù)據(jù)庫系統(tǒng)三級(jí)模式結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)點(diǎn)是什么?
答:
數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(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)模式,亦稱存儲(chǔ)模式,是數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)部的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)
和存儲(chǔ)方式的描述。數(shù)據(jù)庫系統(tǒng)的三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別,它把數(shù)據(jù)
的具體組織留給DBMS管理,使用戶能邏輯抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)
在計(jì)算機(jī)中的表示和存儲(chǔ)。為了能夠在內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換,
數(shù)據(jù)庫系統(tǒng)在這三級(jí)模式之間提供了兩層映像:外模式/模式映像和模式/內(nèi)模
式映像。正是這兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性
和物理獨(dú)立性。
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)模式,亦稱存儲(chǔ)模式,是數(shù)據(jù)在
數(shù)據(jù)庫系統(tǒng)內(nèi)部的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述。DDL:數(shù)
據(jù)定義語言,用來定義數(shù)據(jù)庫模式、外模式、內(nèi)模式的語言。DML:數(shù)據(jù)操
縱語言,用來對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢、插入、刪除和修改的語句。
22.什么叫數(shù)據(jù)與程序的物理獨(dú)立性?什么叫數(shù)據(jù)與程序的邏輯獨(dú)立性?為什
么數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)與程序的獨(dú)立性?
答:
數(shù)據(jù)與程序的邏輯獨(dú)立性:當(dāng)模式改變時(shí)(例如增加新的關(guān)系、新的屬性、改變
屬性的數(shù)據(jù)類型等),由數(shù)據(jù)庫管理員對(duì)各個(gè)外模式/模式的映像做相應(yīng)改變,
可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不
必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡(jiǎn)稱數(shù)據(jù)的邏輯獨(dú)立性。數(shù)據(jù)與程序
的物理獨(dú)立性:當(dāng)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)改變了,由數(shù)據(jù)庫管理員對(duì)模式/內(nèi)模式映
像做相應(yīng)改變,可以使模式保持不變,從而應(yīng)用程序也不必改變,保證了數(shù)據(jù)與
程序的物理獨(dú)立性,簡(jiǎn)稱數(shù)據(jù)的物理獨(dú)立性。數(shù)據(jù)庫管理系統(tǒng)在三級(jí)模式之間提
供的兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)
立性。
23.試述數(shù)據(jù)庫系統(tǒng)的組成。
答:
數(shù)據(jù)庫系統(tǒng)一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具X應(yīng)用系統(tǒng)、數(shù)據(jù)
庫管理員和用戶構(gòu)成。
24.DBA的職責(zé)是什么?
答:
負(fù)責(zé)全面地管理和控制數(shù)據(jù)庫系統(tǒng)。具體職責(zé)包括:①?zèng)Q定數(shù)據(jù)庫的信息內(nèi)容
和結(jié)構(gòu);②決定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)和存取策略;③定義數(shù)據(jù)的安全性要求和
完整性約束條件;④監(jiān)督和控制數(shù)據(jù)庫的使用和運(yùn)行;⑤改進(jìn)和重組數(shù)據(jù)庫
系統(tǒng)。25.系統(tǒng)分析員、數(shù)據(jù)庫設(shè)計(jì)人員、應(yīng)用程序員的職責(zé)是什么?答系
統(tǒng)分析員負(fù)責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)范說明,系統(tǒng)分析員要和用戶及DBA
相結(jié)合,確定系統(tǒng)的硬件、軟件配置,并參與數(shù)據(jù)庫系統(tǒng)的概要設(shè)計(jì)。數(shù)據(jù)庫設(shè)
計(jì)人員負(fù)責(zé)數(shù)據(jù)庫中數(shù)據(jù)的確定、數(shù)據(jù)庫各級(jí)模式的設(shè)計(jì)。數(shù)據(jù)庫設(shè)計(jì)人員必須
參加用戶需求調(diào)直和系統(tǒng)分析,然后進(jìn)行數(shù)據(jù)庫設(shè)計(jì)。在很多情況下,數(shù)據(jù)庫設(shè)
計(jì)人員就由數(shù)據(jù)庫管理員擔(dān)任。應(yīng)用程序員負(fù)責(zé)設(shè)計(jì)和編寫應(yīng)用系統(tǒng)的程序模
塊,并進(jìn)行調(diào)試和安裝。
第2章關(guān)系數(shù)據(jù)庫
1.試述關(guān)系模型的三個(gè)組成部分。
答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。
2.試述關(guān)系數(shù)據(jù)語言的特點(diǎn)和分類。
答:關(guān)系數(shù)據(jù)語言可以分為三類:
關(guān)系代數(shù)語言。
關(guān)系演算語言:元組關(guān)系演算語言和域關(guān)系演算語言。
SQL:具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語言。
這些關(guān)系數(shù)據(jù)語言的共同特點(diǎn)是,語言具有完備的表達(dá)能力,是非過程化的
集合操作語言,功能強(qiáng),能夠嵌入高級(jí)語言中使用。
4.試述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外部碼屬性的值也
可以為空?什么情況下才可以為空?
答:實(shí)體完整性規(guī)則是指若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空
值。
若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基
本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:
或者取空值(F的每個(gè)屬性值均為空值);或者等于S中某個(gè)元組的主碼值。即屬
性F本身不是主屬性,則可以取空值,否則不能取空值。
5.設(shè)有一個(gè)SPJ數(shù)據(jù)庫,包括S,P,J,SPJ四個(gè)關(guān)系模式:
1)求供應(yīng)工程J1零件的供應(yīng)商號(hào)碼SNO:
nSno(aSno=H'(SPJ))
2)求供應(yīng)工程J1零件Pl的供應(yīng)商號(hào)碼SNO:
nSno(aSno='J1'人Pno=Pl'(SPJ))
3)求供應(yīng)工程J1零件為紅色的供應(yīng)商號(hào)碼SNO:
nSno(oPno=Pl'(aCOLOR=,紅'(P)ooSPJ))
4)求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)JNO:
TrJno(SPJ)-nJNO(ocity='天津'AColor='紅'(SsSPJsP)
5)求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號(hào)JNO:
nJno,Pno(SPJ)+nPno(aSno=*S1'(SPJ))
6.試述等值連接與自然連接的區(qū)別和聯(lián)系。
答:連接運(yùn)算符是“="的連接運(yùn)算稱為等值連接。它是從關(guān)系R與S的廣義笛
卡爾積中選取A,B屬性值相等的那些元組
自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同
的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉。
7.關(guān)系代數(shù)的基本運(yùn)算有哪些?如何用這些基本運(yùn)算來表示其他運(yùn)算?
答:并、差、笛卡爾積、投影和選擇5種運(yùn)算為基本的運(yùn)算。其他3種運(yùn)算,
即交、連接和除,均可以用這5種基本運(yùn)算來表達(dá)。
第3章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL
1?試述SQL語言的特點(diǎn)。
答:
(I)綜合統(tǒng)一。SQL語言集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)
控制語言DCL的功能于一體。
(2)高度非過程化。用SQL語言進(jìn)行數(shù)據(jù)操作,只要提出“做什么",而無需
指明"怎么做",因此無需了解存取路徑,存取路徑的選擇以及SQL語句的操
作過程由系統(tǒng)自動(dòng)完成。
(3)面向集合的操作方式。SQL語言采用集合操作方式,不僅操作對(duì)象、查找
結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對(duì)象也可以是元組的
集合。
(4)以同一種語法結(jié)構(gòu)提供兩種使用方式。SQL語言既是自含式語言,又是嵌
入式語言。作為自含式語言,它能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式;作為嵌入
式語言,它能夠嵌入到高級(jí)語言程序中,供程序員設(shè)計(jì)程序時(shí)使用。
(5)語言簡(jiǎn)捷,易學(xué)易用。
2.試述SQL的定義功能。
SQL的數(shù)據(jù)定義功能包括定義表、定義視圖和定義索引。SQL語言使用
CREATETABLE語句建立基本表,ALTERTABLE語句修改基本表定義,
DROPTABLE語句刪除基本表;使用CREATEINDEX語句建立索引,
DROPINDEX語句刪除索引;使用CREATEVIEW語句建立視圖,DROP
VIEW語句刪除視圖。
3.用SQL語句建立第二章習(xí)題5中的4個(gè)表。
答:
對(duì)于S表:S(SNO,SNAME,STATUS,CITY);
建S表:
CREATETABLES(SnoC(2)UNIQUEfSnameC(6),StatusC(2),
CityC(4));
對(duì)于P表:P(PNO,PNAME,COLOR,WEIGHT);
建P表:
CREATETABLEP(PnoC(2)UNIQUE,PnameC(6),COLOR
C(2),WEIGHTINT);
對(duì)于J表:J(JNO,JNAME,CITY);
建J表:
CREATETABLEJ(JnoC(2)UNIQUEJNAMEC(8),CITYC(4))
對(duì)于sPJ表:sPJ(sNo,PNo,JNo,QTY);
建SPJ表:SPJ(SNO,PNOJNO,QTY)
CREATETABLESPJ(SnoC(2),PnoC(2),JNOC(2),QTY
INT))
4.針對(duì)上題中建立的4個(gè)表試用SQL語言完成第二章習(xí)題5中的蟄詢。
(I)求供應(yīng)工程JI零件的供應(yīng)商號(hào)碼SNO;
SELECTDISTSNOFROMSPJWHEREJNO=*JI'
(2)求供應(yīng)工程JI零件PI的供應(yīng)商號(hào)碼SNO;
SELECTDISTSNOFROMSPJWHEREJNO='J1'AND
PNO='P1'
(3)求供應(yīng)工程JI零件為紅色的供應(yīng)商號(hào)碼SNO;
SELECTSNOFROMSPJ,PWHEREJNO='J1"ANDSPJ.PNO=RPNOAND
COLOR='紅'
(4)求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)JNO;
SELECTDISTJNOFROMSPJWHEREJNONOTIN(SELE
JNOFROMSPJ.RSWHERES.CITY='天津'ANDCOLOR='紅'AND
S.SNO=SPJ.SNOANDRPNO=SPJ.PNO)o
(5)求至少用了供應(yīng)商SI所供應(yīng)的全部零件的工程號(hào)JNO;
由于VFP不允許子查詢嵌套太深,將查詢分為兩步
A、蟄詢S1供應(yīng)商供應(yīng)的零件號(hào)
SELECTDISTPNOFROMSPJWHERESNO='S1'結(jié)果是(Pl,P2)
B、蟄詢哪一個(gè)工程既使用Pl零件又使用P2零件。
SELECTJNOFROMSPJWHEREPNO='P1'
ANDJNOIN(SELECTJNOFROMSPJWHEREPNO='P2)
5.針對(duì)習(xí)題3中的四個(gè)表試用SQL語言完成以下各項(xiàng)操作:
(1)找出所有供應(yīng)商的姓名和所在城市。
SELECTSNAME.CITYFROMS
(2)找出所有零件的名稱、顏色、重量。
SELECTPNAME,COLOR,WEIGHTFROMP
(3)找出使用供應(yīng)商S1所供應(yīng)零件的工程號(hào)碼。
SELECTDISTJNOFROMSPJWHERESNO='S1'
(4)找出工程項(xiàng)目J2使用的各種零件的名稱及其數(shù)量。
SELECTPNAME.QTYFROMSPJfP
WHERERPNO=SPJ.PNOANDSPJJNO='J2,
(5)找出上海廠商供應(yīng)的所有零件號(hào)碼。
SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDQTY='上海
I
(6)出使用上海產(chǎn)的零件的工程名稱。
SELECTJNAMEFROMSPJ.SJ
WHERES.SNO=SPJ.SNOANDS.CITY='上海'AND
JJNO=SPJJNO
(7)找出沒有使用天津產(chǎn)的零件的工程號(hào)碼。
注意:SELECTDISPJNOFROMSPJWHEREJNONOTIN(SELECTDIST
JNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.QTY='天津')適用于
JNO是唯一或不唯一的情況.
注意:SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOAND
S.CITYo'天津'適用于JNO是唯一的情況
(8)把全部紅色零件的顏色改成藍(lán)色。
UPDATEPSETCOLOR='藍(lán),WHERECOLORS'
⑼由S5供給J4的零件P6改為由S3供應(yīng)。
UPDATESPJSETSNO='S3'WHERESNO='S5'ANDJNO='J4'
ANDPNO='P6'
(10)從供應(yīng)商關(guān)系中刪除供應(yīng)商號(hào)是S2的記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)
的記錄。
A、DELETEFROMSWHERESNO='S2'
B、DELETEFROMSPJWHERESNO=32'
(11)請(qǐng)將(S2,J6,P4,200)插入供應(yīng)情況關(guān)系。
INSERTINTOSPJVALUES('S2','J6','P4',200)
6.什么是基本表?什么是視圖?
答
兩者的區(qū)別和聯(lián)系是什么?基本表是本身獨(dú)立存在的表,在SQL中一個(gè)關(guān)系就
對(duì)應(yīng)一個(gè)表。視圖是從一介或幾個(gè)基本表導(dǎo)出的表。視圖本身不獨(dú)立存儲(chǔ)在數(shù)據(jù)
庫中,是一個(gè)虛表。即數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這
些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如
同基本表那樣使用視圖,可以在視圖上再定義視圖。
7.試述視圖的優(yōu)點(diǎn)。
答
(I)視圖能夠簡(jiǎn)化用戶的操作;(2)視圖使用戶能以多種角度看待同一數(shù)據(jù);
(3)視圖對(duì)重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨(dú)立性;(4)視圖能夠?qū)C(jī)
密數(shù)據(jù)提供安全保護(hù)。
8.所有的視圖是否都可以更新?為什么?
答:
不是。視圖是不實(shí)際存儲(chǔ)數(shù)據(jù)的虛表,因此對(duì)視圖的更新,最終要轉(zhuǎn)換為對(duì)基本
表的更新。因?yàn)橛行┮晥D的更新不能惟一有意義地轉(zhuǎn)換成對(duì)相應(yīng)基本表的更新,
所以,并不是所有的視圖都是可更新的.
9.哪類視圖是可以更新的?哪類視圖是不可更新的?各舉一例說明。
答:基本表的行列子集視圖一般是可更新的。若視圖的屬性來自集函數(shù)、表達(dá)式,
則該視圖肯定是不可以更新的。
10.試述某個(gè)你熟悉的實(shí)際系統(tǒng)中對(duì)視圖更新的規(guī)定。
答
VFP
11.請(qǐng)為三建工程項(xiàng)目建立一個(gè)供應(yīng)情況的視圖,包括供應(yīng)商代碼(SNO)、零
件代碼(PNO)、供應(yīng)數(shù)量(QTY)。
CREATEVIEWVSPASSELECTSNO,PNO,QTYFROMSPJJ
WHERESPJJNO=JJNOANDJ.JNAME='三建’
針對(duì)該視圖VSP完成下列查詢:
(1)找出三建工程項(xiàng)目使用的各種零件代碼及其數(shù)量。
SELECTDISTPNO.QTYFROMVSP
(2)找出供應(yīng)商S1的供應(yīng)情況。
SELECTDIST*FROMVSPWHERESNO='S1'
第4章數(shù)據(jù)庫安全性
1.什么是數(shù)據(jù)庫的安全性?
答:數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更
改或破壞。
2.數(shù)據(jù)庫安全性和計(jì)算機(jī)系統(tǒng)的安全性有什么關(guān)系?
答:安全性問題不是數(shù)據(jù)庫系統(tǒng)所獨(dú)有的,所有計(jì)算機(jī)系統(tǒng)都有這個(gè)問題。只是
在數(shù)據(jù)庫系統(tǒng)中大量數(shù)據(jù)集中存放,而且為許多最終用戶直接共享,從而使安全
性問題更為突出。
系統(tǒng)安全保護(hù)措施是否有效是數(shù)據(jù)庫系統(tǒng)的主要指標(biāo)之一。
數(shù)據(jù)庫的安全性和計(jì)算機(jī)系統(tǒng)的安全性,包括操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)的安全性是緊
密聯(lián)系、相互支持的,
3.試述可信計(jì)算機(jī)系統(tǒng)評(píng)測(cè)標(biāo)準(zhǔn)的情況,試述TDI/TCSEC標(biāo)準(zhǔn)的基本內(nèi)容。
答:各個(gè)國(guó)家在計(jì)算機(jī)安全技術(shù)方面都建立了一套可信標(biāo)準(zhǔn)。目前各國(guó)引用或制
定的一系列安全標(biāo)準(zhǔn)中,最重要的是美國(guó)國(guó)防部(DoD)正式頒布的《DoD可
信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)》(伽stedCo哪utersystemEvaluationcriteria,
簡(jiǎn)稱TcsEc,又稱桔皮書1(TDI/TCSEC標(biāo)準(zhǔn)是將TcsEc擴(kuò)展到數(shù)據(jù)庫管
理系統(tǒng),即《可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)關(guān)于可信數(shù)據(jù)庫系統(tǒng)的解釋》(Tmsted
DatabaseInterpretation簡(jiǎn)稱TDI,又稱紫皮書工在TDI中定義了數(shù)據(jù)庫
管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)中需滿足和用以進(jìn)行安全性級(jí)別評(píng)估的標(biāo)準(zhǔn)。
TDI與TcsEc一樣,從安全策略、責(zé)任、保證和文檔四分方面來描述安全性級(jí)
別劃分的指標(biāo)。每個(gè)方面又細(xì)分為若干項(xiàng)。
4.試述TcsEC(TDI)將系統(tǒng)安全級(jí)別劃分為4組7個(gè)等級(jí)的基本內(nèi)容。
答:根據(jù)計(jì)算機(jī)系統(tǒng)對(duì)安全性各項(xiàng)指標(biāo)的支持情況,TCSEC(TDI)將系統(tǒng)劃
分為四組(division)7個(gè)等級(jí),依次是D,C(CI,CZ\B(BI,BZ.B31
A(AI),按系統(tǒng)可靠或可信程度逐漸增高。
安全級(jí)別定義
A1啟江設(shè)計(jì)(Vnifird11押1】
B3安全域(IkMnain、)
B2結(jié)構(gòu)化保護(hù)(StniduralProtection)
B1標(biāo)記安全保護(hù)(SniirilyPnri(i*lMin)
C2受控的存取保護(hù)(GwitrollrdPmHWNI)
C1自主安全保護(hù)(lliErtionrtrySviirilyl*n)<rTli<wi)
1)最小保護(hù)(MinimalProtection)
這些安全級(jí)別之間具有一種偏序向下兼容的關(guān)系,即較高安全性級(jí)別提供的安全
保護(hù)包含較低級(jí)別的所有保護(hù)要求,同時(shí)提供更多或更完善的保護(hù)能力。各個(gè)等
級(jí)的基本內(nèi)容為:
D級(jí)D級(jí)是最低級(jí)別。一切不符合更高標(biāo)準(zhǔn)的系統(tǒng),統(tǒng)統(tǒng)歸于D組。
CI級(jí)只提供了非常初級(jí)的自主安全保護(hù)。能夠?qū)崿F(xiàn)對(duì)用戶和數(shù)據(jù)的分離,進(jìn)行
自主存取控制(DAC),保護(hù)或限制用戶權(quán)限的傳播。
C2級(jí)實(shí)際是安全產(chǎn)品的最低檔次,提供受控的存取保護(hù),即將CI級(jí)的DAC進(jìn)
一步細(xì)化,以介人身份注冊(cè)負(fù)責(zé),并實(shí)施審計(jì)和姿源隔離。
BI級(jí)標(biāo)記安全保護(hù)。對(duì)系統(tǒng)的數(shù)據(jù)加以標(biāo)記,并對(duì)標(biāo)記的主體和客體實(shí)施強(qiáng)制
存取控制(MAC)以及審計(jì)等安全機(jī)制。
B2級(jí)結(jié)構(gòu)化保護(hù)。建立形式化的安全策略模型并對(duì)系統(tǒng)內(nèi)的所有主體和客體實(shí)
施DAC和MACo
B3級(jí)安全域。該級(jí)的TCB必須滿足訪問監(jiān)控器的要求,審計(jì)跟蹤能力更強(qiáng),
并提供系統(tǒng)恢復(fù)過程。
AI級(jí)驗(yàn)證設(shè)計(jì),即提供B3級(jí)保護(hù)的同時(shí)給出系統(tǒng)的形式化設(shè)計(jì)說明和驗(yàn)證以
確信各安全保護(hù)真正實(shí)現(xiàn)。
5.試述實(shí)現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術(shù)。
答:實(shí)現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術(shù)有:
(I)用戶標(biāo)識(shí)和鑒別:該方法由系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)自己的名字或
身份。每次用戶要求進(jìn)入系統(tǒng)時(shí),由系統(tǒng)進(jìn)行核對(duì),通過鑒定后才提供系統(tǒng)的使
用權(quán)。
(2)存取控制:通過用戶權(quán)限定義和合法權(quán)檢蟄確保只有合法權(quán)限的用戶訪問
數(shù)據(jù)庫,所有未被授權(quán)的人員無法存取數(shù)據(jù)。例如CZ級(jí)中的自主存取控制
(DAC),BI級(jí)中的強(qiáng)制存取控制(MACX
(3)視圖機(jī)制:為不同的用戶定義視圖,通過視圖機(jī)制把要保密的數(shù)據(jù)對(duì)無權(quán)
存取的用戶隱藏起來,從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù)。
(4)審計(jì):建立審計(jì)日志,把用戶對(duì)數(shù)據(jù)庫的所有操作自動(dòng)記錄下來放入審計(jì)
日志中,DBA可以利用審計(jì)跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事
件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。
(5)數(shù)據(jù)加密:對(duì)存儲(chǔ)和傳輸?shù)臄?shù)據(jù)進(jìn)行加密處理,從而使得不知道解密算法
的人無法獲知數(shù)據(jù)的內(nèi)容。
6.什么是數(shù)據(jù)庫中的自主存取控制方法和強(qiáng)制存取控制方法?
答:
自主存取控制方法:定義各分用戶對(duì)不同數(shù)據(jù)對(duì)象的存取權(quán)限。當(dāng)用戶對(duì)數(shù)據(jù)庫
訪問時(shí)首先檢蟄用戶的存取權(quán)限。防止不合法用戶對(duì)數(shù)據(jù)庫的存取。
強(qiáng)制存取控制方法:每一個(gè)數(shù)據(jù)對(duì)象被(強(qiáng)制地)標(biāo)以一定的密級(jí),每一個(gè)用戶
也被(強(qiáng)制地)授予某一個(gè)級(jí)別的許可證。系統(tǒng)規(guī)定只有具有某一許可證級(jí)別的
用戶才能存取某一個(gè)密級(jí)的數(shù)據(jù)對(duì)象。
7.SQL語言中提供了哪些數(shù)據(jù)控制(自主存取控制)的語句?請(qǐng)?jiān)嚺e幾例說明
它們的使用方法。
答:
SQL中的自主存取控制是通過GRANT語句和REVOKE語句來實(shí)現(xiàn)的。如:
GRANTSELECT,INSERTONStudent
TO王平
WITHGRANTOPHON;
就將Student表的SELECT和INSERT權(quán)限授予了用戶王平,后面的“WITH
GRANTOPTION”子句表示用戶王平同時(shí)也獲得了“授權(quán)"的權(quán)限,即可以
把得到的權(quán)限繼續(xù)授予其他用戶。
REVOKEINSERTONStudentFROM王平CASCADE;
就將Student表的INSERT權(quán)限從用戶王平處收回,選項(xiàng)CASCADE表示,
如果用戶王平將Student的INSERT權(quán)限又轉(zhuǎn)授給了其他用戶那么這些權(quán)限
也將從其他用戶處收回。
8.請(qǐng)用SQL的GRANT和REVOKE語句(加上視圖機(jī)制)完成以下授權(quán)定義或
存取控制功能:
(a)用戶王明對(duì)兩個(gè)表有SELECT權(quán)力。
GRANTSELECTON職工,部門
TO王明
(b)用戶李勇對(duì)兩個(gè)表有INSERT和DELETE權(quán)力。
GRANTINSERT.DELETEON職工,部門
TO李勇
(c)每個(gè)職工只對(duì)自己的記錄有SELECT權(quán)力。
GRANTSELECTON職工
WHENUSER()=NAME
TOALL;
(d)用戶劉星對(duì)職工表有SELECT權(quán)力,對(duì)工資字段具有更新權(quán)力。
GRANTSELECT,UPDATE(工資)ON職工
TO劉星
(e)用戶張新具有修改這兩個(gè)表的結(jié)構(gòu)的權(quán)力。
GRANTALTERTABLEON職工,部門
TO張新;
(f)用戶周平具有對(duì)兩個(gè)表所有權(quán)力(讀,插,改,刪數(shù)據(jù)),并具有給其他
用戶授權(quán)的權(quán)力。
GRANTALLPRIVILIGESON職工,部門
TO周平
WITHGRANTOPTION;
(g)用戶楊蘭具有從每個(gè)部門職工中SELECT最高工資、最低工資、平均工
資的權(quán)力,他不能查看每個(gè)人的工資。
CREATEVIEW部門工資AS
SELECT部門.名稱,MAX(工資),MIN(工資),AVG(工資)
FROM職工,部門
WHERE職工.部門號(hào)=部門.部門號(hào)
GROUPBY職工.部門號(hào)
GRANTSELECTON部門工資
TO楊蘭;
9.把習(xí)題8中(1)---(7)的每一種情況,撤銷各用戶所授予的權(quán)力
(1)REVOKESELECTON職工,部門FROM王明;
⑵REVOKEINSERT,DELETEON職工,部門FROM李勇;
(3)REOVKESELECTON職工
WHENUSER()=NAME
FROMAU;
(4)REVOKESELECT,UPDATEON職工
FROM劉星;
⑸REVOKEALTERTABLEON職工,部門
FROM張新;
(6)REVOKEALLPRIVIUGESON職工,部門
FROM周平;
(7)REVOKESELECTON部門工資
FROM楊蘭;
DROPVIEW部門工資;
10.為什么強(qiáng)制存取控制提供了更高級(jí)別的數(shù)據(jù)庫安全性?
答:強(qiáng)制存取控制(MAC)是對(duì)數(shù)據(jù)本身進(jìn)行密級(jí)標(biāo)記,無論數(shù)據(jù)如何復(fù)制,
標(biāo)記與數(shù)據(jù)是一個(gè)不可分的整體,只有符合密級(jí)標(biāo)記要求的用戶才可以操縱數(shù)
據(jù),從而提供了更高級(jí)別的安全性。
11.理解并解釋MAC機(jī)制中主體、客體、敏感度標(biāo)記的含義。
答:
主體是系統(tǒng)中的活動(dòng)實(shí)體,既包括DBMS所管理的實(shí)際用戶,也包括代表用戶
的各進(jìn)程。
客體是系統(tǒng)中的被動(dòng)實(shí)體,是受主體操縱的,包括文件、基表、索引、視圖等。
對(duì)于主體和客體,DBMS為它們每個(gè)實(shí)例(值方旨派一個(gè)敏感度標(biāo)記(Label1
敏感度標(biāo)記被分成若干級(jí)別,例如絕密(TopSecret\機(jī)密(Secret)□可
信(Confidential\公開(Public)等。主體的敏感度標(biāo)記稱為許可證級(jí)別
(Clearance玫vel),客體的敏感度標(biāo)記稱為密級(jí)(ClassificationLevel'
13.什么是數(shù)據(jù)庫的審計(jì)功能,為什么要提供審計(jì)功能?
答:審計(jì)功能是指DBMS的審計(jì)模塊在用戶對(duì)數(shù)據(jù)庫執(zhí)行操作的同時(shí)把所有操
作自動(dòng)記錄到系統(tǒng)的審計(jì)日志中。
因?yàn)槿魏蜗到y(tǒng)的安全保護(hù)措施都不是完美無缺的,蓄意盜竊破壞數(shù)據(jù)的人總可能
存在。利用數(shù)據(jù)庫的審計(jì)功能,DBA可以根據(jù)審計(jì)跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)
庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。
14.統(tǒng)計(jì)數(shù)據(jù)庫中存在何種特殊的安全性問題?
答:統(tǒng)計(jì)數(shù)據(jù)庫允許用戶查詢聚集類型的信息,如合計(jì)、平均值、最大值、最小
值等,不允許查詢單個(gè)記錄信息。但是,人們可以從合法的查詢中推導(dǎo)出不合法
的信息,即可能存在隱蔽的信息通道,這是統(tǒng)計(jì)數(shù)據(jù)庫要研究和解決的特殊的安
全性問題。
第5章數(shù)據(jù)庫完整性
1什么是數(shù)據(jù)庫的完整性?
答:
數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。
2.數(shù)據(jù)庫的完整性概念與數(shù)據(jù)庫的安全性概念有什么區(qū)別和聯(lián)系?
答:
數(shù)據(jù)的完整性和安全性是兩個(gè)不同的概念,但是有一定的聯(lián)系。前者是為了防止
數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),防止錯(cuò)誤信息的輸入和輸出,即所謂垃圾進(jìn)垃
圾出(Garba:eInGarba:eout)所造成的無效操作和錯(cuò)誤結(jié)果。后者是
保護(hù)數(shù)據(jù)庫防止惡意的破壞和非法的存取。也就是說,安全性措施的防范對(duì)象是
非法用戶和非法操作,完整性措施的防范對(duì)象是不合語義的數(shù)據(jù)。
3.什么是數(shù)據(jù)庫的完整性約束條件?可分為哪幾類?
答
完整性約束條件是指數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)該滿足的語義約束條件。一般可以分為六
類:靜態(tài)列級(jí)約束、靜態(tài)元組約束、靜態(tài)關(guān)系約束、動(dòng)態(tài)列級(jí)約束、動(dòng)態(tài)元組約
束、動(dòng)態(tài)關(guān)系約束。靜態(tài)列級(jí)約束是對(duì)一個(gè)列的取值域的說明,包括以下幾個(gè)方
面:(I)對(duì)數(shù)據(jù)類型的約束,包括數(shù)據(jù)的類型、長(zhǎng)度、單位、精度等;(2)
對(duì)數(shù)據(jù)格式的約束;(3)對(duì)取值范圍或取值集合的約束;(4)對(duì)空值的約
束;(5)其他約束。靜態(tài)元組約束就是規(guī)定組成一個(gè)元組的各個(gè)列之間的約
束關(guān)系,靜態(tài)元組約束只局限在單個(gè)元組上。靜態(tài)關(guān)系約束是在一個(gè)關(guān)系的各介
元組之間或者若干關(guān)系之間常常存在各種聯(lián)系或約束。
常見的靜態(tài)關(guān)系約束有:(I)實(shí)體完整性約束;(2)參照完整性約束;(3)
函數(shù)依賴約束。
動(dòng)態(tài)列級(jí)約束是修改列定義或列值時(shí)應(yīng)滿足的約束條件,包括下面兩方面:(I)
修改列定義時(shí)的約束;(2)修改列值時(shí)的約束。動(dòng)態(tài)元組約束是指修改某個(gè)
元組的值時(shí)需要參照其舊值,并且新舊值之間需要滿足某種約束條件。動(dòng)態(tài)關(guān)系
約束是加在關(guān)系變化前后狀態(tài)上的限制條件,例如事務(wù)一致性、原子性等約束條
件。
4.DBMS的完整性控制機(jī)制應(yīng)具有哪些功能?
答:
DBMS的完整性控制機(jī)制應(yīng)具有三個(gè)方面的功能:(I)定義功能,即提供定
義完整性約束條件的機(jī)制;(2)檢查功能,即檢直用戶發(fā)出的操作請(qǐng)求是否
違背了完整性約束條件;(3)違約反應(yīng):如果發(fā)現(xiàn)用戶的操作請(qǐng)求使數(shù)據(jù)違背
了完整性約束條件,則采取一定的動(dòng)作來保證數(shù)據(jù)的完整性。
5.RDBMS在實(shí)現(xiàn)參照完整性時(shí)需要考慮哪些方面?
答
RDBMs在實(shí)現(xiàn)參照完整性時(shí)需要考慮以下幾介方面:(I)外碼是否可以接
受空值。(2)冊(cè)I除被參照關(guān)系的元組時(shí)的考慮,這時(shí)系統(tǒng)可能采取的作法
有三種:I)級(jí)聯(lián)刪除(CASCADES);2)受限刪除(RESTRICTED);3)
置空值刪除(NULLIFIES1(3)在參照關(guān)系中插入元組時(shí)的問題,這時(shí)系
統(tǒng)可能采取的作法有:I)受限插入;2)遞歸插入。(4)修改關(guān)系中主
碼的問題。一般是不能用UPDATE語句修改關(guān)系主碼的。如果需要修改主碼值,
只能先刪除該元組,然后再把具有新主碼值的元組插入到關(guān)系中。如果允許修改
主碼,首先要保證主碼的惟一性和非空,否則拒絕修改。然后要區(qū)分是參照關(guān)系
還是被參照關(guān)系。
6.假設(shè)有下面兩個(gè)關(guān)系模式:職工(職工號(hào),姓名,年齡,職務(wù),工資,部
門號(hào)),其中職工號(hào)為主碼;部門(部門號(hào),名稱,經(jīng)理名,電話),其中部門號(hào)
為主碼。用SQL語言定義這兩個(gè)關(guān)系模式,要求在模式中完成以下完整性約束
條件的定義:定義每個(gè)模式的主碼;定義參照完整性;定義職工年齡不得超過60
歲。
答
CREATETABLEDEPT
(DeptnoNUMBER(2),
DeptnameVARCHAR(IO),
ManagerVARCHAR(IO),
PhoneNumberChar(12)
CONSTRAINTPK_SCRIMARYKEY(Deptno));
CREATETABLEEMP
(EmpnoNUMBER(4),
EnameVARCHAR(IO),
AgeNUMBER(2),
CONSTRAINTClCHECK(Aage<=60),
JobVARCHAR(9),
SalNUMBER(7,2),
DeptnoNUMBER(2),
CONSTRAINTFK_DEPTNO
FOR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聯(lián)合動(dòng)力股權(quán)轉(zhuǎn)讓合同模板
- 中南物業(yè)合同模板
- 耗材預(yù)算合同模板
- 農(nóng)村農(nóng)地流轉(zhuǎn)合同模板
- 業(yè)務(wù)股權(quán)合同模板
- 公司期權(quán)售賣合同模板
- 買賣個(gè)人介紹合同模板
- 股票期權(quán)合同模板
- 《慢性病人群營(yíng)養(yǎng)干預(yù)指南》(征求意見稿)
- 材料采購(gòu)協(xié)議合同模板
- 語文學(xué)科室卓越團(tuán)隊(duì)建設(shè)方案
- 市國(guó)有資產(chǎn)管理委員會(huì)辦公室審批流程圖
- (完整版)污水處理站運(yùn)營(yíng)臺(tái)賬
- 各種型鋼和鋼管表面積
- 2022小區(qū)業(yè)委會(huì)工作總結(jié)
- 橋梁伸縮縫養(yǎng)護(hù)
- 螺栓螺母理論重量表
- 對(duì)“一次函數(shù)與二元一次方程(組)”課的點(diǎn)評(píng)
- 2022年廣東近三年高考生物試題分布(雙向細(xì)目表)
- 高考語文雙向細(xì)目表
- 鋼便橋及平臺(tái)防洪度汛專項(xiàng)方案
評(píng)論
0/150
提交評(píng)論