版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
習(xí)題一1.1名詞解釋數(shù)據(jù)庫(kù)(DB):在計(jì)算機(jī)的存儲(chǔ)設(shè)備上合理存放、相關(guān)聯(lián)、有結(jié)構(gòu)的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)系統(tǒng)(DBS):在計(jì)算機(jī)系統(tǒng)中引進(jìn)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)后的組成?;蛘呤菍?shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量相關(guān)的結(jié)構(gòu)化數(shù)據(jù),方便用戶使用數(shù)據(jù)庫(kù)的計(jì)算機(jī)軟件、硬件資源組成的系統(tǒng)。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):一個(gè)操縱和管理數(shù)據(jù)庫(kù)的大型軟件,它由一組計(jì)算機(jī)程序構(gòu)成。它是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。數(shù)據(jù)模型:現(xiàn)實(shí)世界數(shù)據(jù)與信息的模擬和抽象。概念數(shù)據(jù)模型:簡(jiǎn)稱概念模型,是獨(dú)立于計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)模型,完全不涉及信息在計(jì)算機(jī)中的表示,是面向數(shù)據(jù)庫(kù)用戶的現(xiàn)實(shí)世界模型,主要用來(lái)描述現(xiàn)實(shí)世界的概念化結(jié)構(gòu)。一對(duì)一聯(lián)系:設(shè)有兩個(gè)實(shí)體集A、B,如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,B中至多有一個(gè)實(shí)體與之有聯(lián)系,反之亦然,則稱A、B有一對(duì)一聯(lián)系(1:1聯(lián)系)。一對(duì)多聯(lián)系:設(shè)有兩個(gè)實(shí)體集A、B,若A中每個(gè)實(shí)體與B中任意個(gè)實(shí)體(包括零個(gè))相聯(lián)系,而B(niǎo)中每個(gè)實(shí)體至多和A中一個(gè)實(shí)體有聯(lián)系,則稱A和B是一對(duì)多聯(lián)系(1:n聯(lián)系)。多對(duì)多聯(lián)系:設(shè)有兩個(gè)實(shí)體集A、B,若兩個(gè)實(shí)體集A、B中的每一個(gè)實(shí)體都和另一個(gè)實(shí)體集中任意個(gè)實(shí)體(包括零個(gè))有聯(lián)系,則稱A、B是多對(duì)多聯(lián)系(m:n聯(lián)系)。層次模型:層次模型是按照樹(shù)狀(層次)結(jié)構(gòu)表示實(shí)體集與實(shí)體集之間的聯(lián)系模型,用記錄類型描述表示實(shí)體集,每個(gè)節(jié)點(diǎn)表示一個(gè)記錄類型。網(wǎng)狀模型:用有向圖表示實(shí)體和實(shí)體之間復(fù)雜聯(lián)系的數(shù)據(jù)結(jié)構(gòu)模型。關(guān)系模型:是最重要的一種數(shù)據(jù)模型,也是目前主要采用的數(shù)據(jù)模型,用二維表格表示現(xiàn)實(shí)世界實(shí)體集及實(shí)體集間的聯(lián)系。關(guān)鍵字:能夠唯一標(biāo)識(shí)文件中的某一個(gè)記錄的最小字段集。模式:是由數(shù)據(jù)庫(kù)設(shè)計(jì)者綜合所有用戶數(shù)據(jù),按照統(tǒng)一的觀點(diǎn)構(gòu)造的對(duì)數(shù)據(jù)庫(kù)全局邏輯結(jié)構(gòu)的描述。外模式:介于模式與應(yīng)用之間,是用戶與數(shù)據(jù)庫(kù)之間的接口,是數(shù)據(jù)庫(kù)用戶(包括應(yīng)用程序員和最終用戶)能夠看見(jiàn)和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。內(nèi)模式:也稱存儲(chǔ)模式,是對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式。數(shù)據(jù)獨(dú)立性:應(yīng)用程序和數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立,不受影響。邏輯數(shù)據(jù)獨(dú)立性:表示一旦模式發(fā)生變化,無(wú)需改變外模式或應(yīng)用程序的能力。物理數(shù)據(jù)獨(dú)立性:表示不會(huì)因?yàn)閮?nèi)模式發(fā)生改變而導(dǎo)致概念模式發(fā)生改變的能力。數(shù)據(jù)字典:描述各級(jí)模式的信息,主要包括所有數(shù)據(jù)的結(jié)構(gòu)名、意義、描述定義、存儲(chǔ)格式、完整性約束、使用權(quán)限等信息。1.2簡(jiǎn)答(1)適合文件系統(tǒng):匿名ftp服務(wù)器、單機(jī)電腦游戲、程序語(yǔ)言編譯器適合數(shù)據(jù)庫(kù)系統(tǒng):工資管理系統(tǒng),教學(xué)管理系統(tǒng)等(2)文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)之間的區(qū)別:(a)文件系統(tǒng)用文件將數(shù)據(jù)長(zhǎng)期保存在外存上,數(shù)據(jù)庫(kù)系統(tǒng)用數(shù)據(jù)庫(kù)統(tǒng)一存儲(chǔ)數(shù)據(jù);(b)文件系統(tǒng)中的程序和數(shù)據(jù)有一定的聯(lián)系,數(shù)據(jù)庫(kù)系統(tǒng)中的程序和數(shù)據(jù)分離;(c)文件系統(tǒng)用操作系統(tǒng)中的存取方法對(duì)數(shù)據(jù)進(jìn)行管理,數(shù)據(jù)庫(kù)系統(tǒng)用DBMS統(tǒng)一管理和控制數(shù)據(jù);(d)文件系統(tǒng)實(shí)現(xiàn)以文件為單位的數(shù)據(jù)共享,數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)以記錄和字段為單位的數(shù)據(jù)共享。文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)之間的聯(lián)系:(a)均為數(shù)據(jù)組織的管理技術(shù);(b)均由數(shù)據(jù)管理軟件管理數(shù)據(jù),程序與數(shù)據(jù)之間用存取方法進(jìn)行轉(zhuǎn)換;(c)數(shù)據(jù)庫(kù)系統(tǒng)是在文件系統(tǒng)的基礎(chǔ)上發(fā)展而來(lái)的。(3)邏輯獨(dú)立性表示一旦模式發(fā)生變化,無(wú)需改變外模式或應(yīng)用程序的能力;物理獨(dú)立性表示不會(huì)因?yàn)閮?nèi)模式發(fā)生改變而導(dǎo)致概念模式發(fā)生改變的能力。(4)數(shù)據(jù)獨(dú)立性是指應(yīng)用程序和數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立,不受影響。包括數(shù)據(jù)邏輯獨(dú)立性和數(shù)據(jù)物理獨(dú)立性。邏輯獨(dú)立性表示一旦模式發(fā)生變化,無(wú)需改變外模式或應(yīng)用程序的能力;物理獨(dú)立性表示不會(huì)因?yàn)閮?nèi)模式發(fā)生改變而導(dǎo)致概念模式發(fā)生改變的能力。三級(jí)模式兩級(jí)映像保證了數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)具有較高的數(shù)據(jù)獨(dú)立性,其中外模式/模式映像保證邏輯獨(dú)立性,模式/內(nèi)模式映像保證物理獨(dú)立性。(5)數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)操作,數(shù)據(jù)的約束條件。(6)概念模型實(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ì)人員和用戶進(jìn)行交流的語(yǔ)言。(7)1:1:學(xué)校和校長(zhǎng),1:n:部門職工和部門主任,m:n:學(xué)生和老師(8)名稱優(yōu)點(diǎn)缺點(diǎn)層次(1)模型簡(jiǎn)單,對(duì)具有一對(duì)多層次關(guā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ù)模型提供了良好的完整性支持。(1)現(xiàn)實(shí)世界中很多聯(lián)系是非層次性的,如多對(duì)多聯(lián)系,一個(gè)節(jié)點(diǎn)具有多個(gè)雙親等,層次模型不能自然的表示這類聯(lián)系,只能通過(guò)引入冗余數(shù)據(jù)或引入虛擬結(jié)點(diǎn)來(lái)解決(2)對(duì)插入和刪除操作的限制比較多(3)查詢子女結(jié)點(diǎn)必須通過(guò)雙親結(jié)點(diǎn)網(wǎng)狀(1)能夠更為直接地描述現(xiàn)實(shí)世界,如一個(gè)結(jié)點(diǎn)可以有多個(gè)雙親(3)具有良好的性能,存取效率較高(1)結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴(kuò)大,數(shù)據(jù)庫(kù)的結(jié)構(gòu)就變得越來(lái)越復(fù)雜,不利于最終用戶掌握(2)其DDL,DML語(yǔ)言復(fù)雜,用戶不容易使用。用于記錄之間聯(lián)系是通過(guò)存取路徑實(shí)現(xiàn)的,應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù)時(shí)必須選擇適當(dāng)?shù)拇嫒÷窂?。因此,用戶必須了解系統(tǒng)的結(jié)構(gòu)的細(xì)節(jié),加重了編寫應(yīng)用程序的負(fù)擔(dān)關(guān)系(1)靈活性和建庫(kù)的簡(jiǎn)單性:從軟件開(kāi)發(fā)的前景來(lái)看,用戶與關(guān)系數(shù)據(jù)庫(kù)編程之間的接口是靈活與友好的。目前在多數(shù)RDDMS產(chǎn)品中使用標(biāo)準(zhǔn)查詢語(yǔ)言SQL,允許用戶幾乎毫無(wú)差別地從一個(gè)產(chǎn)品到另一個(gè)產(chǎn)品存取信息。與關(guān)系數(shù)據(jù)庫(kù)接口的應(yīng)用軟件具有相似的程序訪問(wèn)機(jī)制,提供大量標(biāo)準(zhǔn)的數(shù)據(jù)存取方法。(2)結(jié)構(gòu)簡(jiǎn)單:從數(shù)據(jù)建模的前景看,關(guān)系數(shù)據(jù)庫(kù)具有相當(dāng)簡(jiǎn)單的結(jié)構(gòu)(元組),可為用戶或程序提供多個(gè)復(fù)雜的視圖。數(shù)據(jù)庫(kù)設(shè)計(jì)和規(guī)范化過(guò)程也簡(jiǎn)單易行和易于理解。由于關(guān)系數(shù)據(jù)庫(kù)的強(qiáng)有力的、多方面的功能,已經(jīng)有效地支持許多數(shù)據(jù)庫(kù)納應(yīng)用。(1)數(shù)據(jù)類型表達(dá)能力差(2)復(fù)雜查詢功能差(3)支持長(zhǎng)事務(wù)能力差(4)環(huán)境應(yīng)變能力差(9)實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名;屬性:用橢圓形表示,并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái);聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n或m:n),或者用箭頭表示,單箭頭表示1,雙箭頭表示多。(10)外部模式又稱子模式,介于模式和應(yīng)用之間,是用戶與數(shù)據(jù)庫(kù)之間的接口,是數(shù)據(jù)庫(kù)用戶能夠看見(jiàn)和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述;概念模式簡(jiǎn)稱模式,是由數(shù)據(jù)庫(kù)設(shè)計(jì)者綜合所有用戶數(shù)據(jù),按照統(tǒng)一的觀點(diǎn)構(gòu)造的對(duì)數(shù)據(jù)庫(kù)全局邏輯結(jié)構(gòu)的描述;內(nèi)部模式也稱存儲(chǔ)模式,是對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式。優(yōu)點(diǎn)是保證了數(shù)據(jù)的獨(dú)立性,方便用戶使用,利于數(shù)據(jù)共享,安全保密性好。(11)數(shù)據(jù)完整性約束指的是為了防止不符合規(guī)范的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù),在用戶對(duì)數(shù)據(jù)進(jìn)行插入、修改、刪除等操作時(shí),DBMS自動(dòng)按照一定的約束條件對(duì)數(shù)據(jù)進(jìn)行監(jiān)測(cè),使不符合規(guī)范的數(shù)據(jù)不能進(jìn)入數(shù)據(jù)庫(kù),以確保數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)正確、有效、相容。比如:性別只能是男或者女,年齡范圍在0-100等。(12)主要職責(zé)是參與數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)與建立;對(duì)系統(tǒng)的運(yùn)行實(shí)行監(jiān)控;定義數(shù)據(jù)的安全性要求和完整性約束條件;負(fù)責(zé)數(shù)據(jù)庫(kù)性能的改進(jìn)和數(shù)據(jù)庫(kù)的重組及重構(gòu)工作。(13)用戶通過(guò)DBMS訪問(wèn)數(shù)據(jù)庫(kù),當(dāng)用戶提出訪問(wèn)要求后,DBMS接受應(yīng)用程序的數(shù)據(jù)請(qǐng)求,對(duì)用戶的操作請(qǐng)求進(jìn)行分析,然后由DBMS向操作系統(tǒng)發(fā)出請(qǐng)求,操作系統(tǒng)接到命令后,對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行處理,將結(jié)果送到系統(tǒng)緩沖區(qū),并發(fā)出讀完標(biāo)志,DBMS接到回答信號(hào)后,將緩沖區(qū)的數(shù)據(jù)經(jīng)過(guò)模式映射,變成用戶的邏輯記錄送到用戶工作區(qū),同時(shí)給用戶回答成功與否的信息。(14)數(shù)據(jù)字典是指對(duì)數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理邏輯、外部實(shí)體等進(jìn)行定義和描述,其目的是對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做出詳細(xì)的說(shuō)明。數(shù)據(jù)字典(Datadictionary)是一種用戶可以訪問(wèn)的記錄數(shù)據(jù)庫(kù)和應(yīng)用程序源數(shù)據(jù)的目錄。主動(dòng)數(shù)據(jù)字典是指在對(duì)數(shù)據(jù)庫(kù)或應(yīng)用程序結(jié)構(gòu)進(jìn)行修改時(shí),其內(nèi)容可以由DBMS自動(dòng)更新的數(shù)據(jù)字典。數(shù)據(jù)字典的主要作用:數(shù)據(jù)字典和數(shù)據(jù)流圖共同構(gòu)成系統(tǒng)的邏輯模型。沒(méi)有流圖數(shù)據(jù)字典難以發(fā)揮作用。沒(méi)有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴(yán)格。(15)數(shù)據(jù)庫(kù)是數(shù)據(jù)的集合,數(shù)據(jù)庫(kù)管理系統(tǒng)是一個(gè)操縱和管理數(shù)據(jù)庫(kù)的軟件,由一組計(jì)算機(jī)程序構(gòu)成,位于用戶和操作系統(tǒng)之間,對(duì)數(shù)據(jù)庫(kù)進(jìn)行有效的管理,數(shù)據(jù)庫(kù)系統(tǒng)是在計(jì)算機(jī)系統(tǒng)中引進(jìn)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)后的系統(tǒng)。(16)層次數(shù)據(jù)模型是用樹(shù)狀<層次>結(jié)構(gòu)來(lái)組織數(shù)據(jù)的數(shù)據(jù)模型。其實(shí)層次數(shù)據(jù)模型就是的圖形表示就是一個(gè)倒立生長(zhǎng)的樹(shù),由基本數(shù)據(jù)結(jié)構(gòu)中的樹(shù)(或者二叉樹(shù))的定義可知,每棵樹(shù)都有且僅有一個(gè)根節(jié)點(diǎn),其余的節(jié)點(diǎn)都是非根節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)表示一個(gè)記錄類型對(duì)應(yīng)與實(shí)體的概念,記錄類型的各個(gè)字段對(duì)應(yīng)實(shí)體的各個(gè)屬性。各個(gè)記錄類型及其字段都必須記錄。用有向圖表示實(shí)體和實(shí)體之間的聯(lián)系的數(shù)據(jù)結(jié)構(gòu)模型稱為網(wǎng)狀數(shù)據(jù)模型。其實(shí),網(wǎng)狀數(shù)據(jù)模型可以看做是放松層次數(shù)據(jù)模型的約束性的一種擴(kuò)展。網(wǎng)狀數(shù)據(jù)模型中所有的節(jié)點(diǎn)允許脫離父節(jié)點(diǎn)而存在,也就是說(shuō)說(shuō)在整個(gè)模型中允許存在兩個(gè)或多個(gè)沒(méi)有根節(jié)點(diǎn)的節(jié)點(diǎn),同時(shí)也允許一個(gè)節(jié)點(diǎn)存在一個(gè)或者多個(gè)的父節(jié)點(diǎn),成為一種網(wǎng)狀的有向圖。因此節(jié)點(diǎn)之間的對(duì)應(yīng)關(guān)系不再是1:n,而是一種m:n的關(guān)系,從而克服了層次狀數(shù)據(jù)模型的缺點(diǎn)。(17)容易使用,數(shù)據(jù)處理速度快且能力強(qiáng),具有可發(fā)展性,兼容性好,強(qiáng)有力的用戶語(yǔ)言,和諧性,邏輯結(jié)構(gòu)簡(jiǎn)單,具有良好的數(shù)據(jù)保密性和安全性,確保數(shù)據(jù)的完整性,具有邏輯獨(dú)立性和物理獨(dú)立性。(18)Oracle:完整的數(shù)據(jù)管理功能,分布式數(shù)據(jù)庫(kù)系統(tǒng),支持各種分布式功能,特別是支持Internet應(yīng)用,界面友好,功能齊全,具有可開(kāi)放性可移植性可伸縮性等功能,適用于商業(yè)。MicrosoftSQLServer:易用性、適合分布式組織的可伸縮性、用于決策支持的數(shù)據(jù)倉(cāng)庫(kù)功能、與許多其他服務(wù)器軟件緊密關(guān)聯(lián)的集成性、良好的性價(jià)比等。適用場(chǎng)合較多;Access:無(wú)需編寫任何代碼,直觀的可視化操作,數(shù)據(jù)交換和共享方便,適用于小公司和大公司部門。1.3判斷(1)×(冗余度低)(2)×(數(shù)據(jù)庫(kù)系統(tǒng)是在計(jì)算機(jī)系統(tǒng)中引進(jìn)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)后的系統(tǒng))(3)√(4)√(5)×(數(shù)據(jù)的邏輯獨(dú)立性不徹底)(6)×(主要職責(zé)是參與數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)與建立;對(duì)系統(tǒng)的運(yùn)行實(shí)行監(jiān)控;定義數(shù)據(jù)的安全性要求和完整性約束條件;負(fù)責(zé)數(shù)據(jù)庫(kù)性能的改進(jìn)和數(shù)據(jù)庫(kù)的重組及重構(gòu)工作)(7)×(8)√(9)×(10)√(11)×(12)√(13)√(14)√(15)√(16)√(17)×(提供了一定程度的邏輯獨(dú)立性)(18)×(實(shí)體對(duì)應(yīng)的數(shù)據(jù)庫(kù)術(shù)語(yǔ)為記錄)(19)√(20)√1.4選擇題ACCACABACCDCDBACD1.5設(shè)計(jì)一個(gè)學(xué)生檔案管理系統(tǒng)(1)a) 學(xué)生:學(xué)號(hào),姓名,性別,入學(xué)年份,出生日期,聯(lián)系電話,宿舍b) 學(xué)院:學(xué)院代號(hào),學(xué)院名稱,學(xué)院負(fù)責(zé)人c) 專業(yè):專業(yè)代號(hào),專業(yè)名稱,專業(yè)負(fù)責(zé)人d) 班級(jí):班級(jí)代號(hào),班級(jí)名稱e) 班主任:工號(hào),姓名,職稱f)系部:系名稱,系主任(2)學(xué)生——學(xué)院(所屬)1:n學(xué)生——專業(yè)(學(xué)習(xí))1:n班主任——學(xué)院(聘任)1:n班主任——班級(jí)(管理)1:1班級(jí)——學(xué)院(屬于)1:n班級(jí)——專業(yè)(屬于)1:n學(xué)院——專業(yè)(開(kāi)設(shè))1:n(3)習(xí)題22.1試述關(guān)系模型的三個(gè)組成部分。答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系數(shù)據(jù)操作和關(guān)系完整性約束三部分組成。2.2一個(gè)關(guān)系模式能否沒(méi)有關(guān)鍵字?為什么?答:不可以沒(méi)有關(guān)鍵字,因?yàn)殛P(guān)鍵字是元組的唯一標(biāo)志,如果沒(méi)有關(guān)鍵字則無(wú)法索引元組。2.3試述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外部關(guān)鍵字屬性的值也可以為空?什么情況下才可以為空?答:實(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è)元組的主碼值。用戶自定義完整性規(guī)則是針對(duì)某一具體數(shù)據(jù)的約束條件,由具體環(huán)境決定,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求。在參照完整性中,如果屬性F不是基本關(guān)系R的主屬性,則可以取空值,否則不能取空值。2.4一個(gè)n行、m列的二維表(其中沒(méi)有兩行或兩列全同),將行或列交換后,能導(dǎo)出多少個(gè)不同的表?答:1個(gè)2.5假定關(guān)系R和S分別有n和m個(gè)元組,試說(shuō)明下列運(yùn)算結(jié)果中的最小和最大元組個(gè)數(shù):⑴⑵⑶其中c是條件表達(dá)式⑷,其中L是屬性集合答:(1)最小個(gè)數(shù)為:取m和n中的小者;最大個(gè)數(shù)為:m+n(2)最小個(gè)數(shù)為:0;最大個(gè)數(shù)為:取m和n中的小者(3)最小個(gè)數(shù)為:0;最大個(gè)數(shù)為:m*n(4)最小個(gè)數(shù)為:0;最大個(gè)數(shù)為:n2.6設(shè)有關(guān)系R和S,如表2-24和表2-25所示:表2-38關(guān)系R表2-39關(guān)系SABC367257723443ABC345723計(jì)算R∪S,R-S,R∩S,R×S,∏3,2(S),σB﹤’5’(R)答:R∪SABC367257723443345R-SABC367257443R∩SABC723R×SR.AR.BR.CS.AS.BS.C367345367723257345257723723345723723443345443723∏3,2(S)BC4523σB﹤’5’(R)ABC7234432.7如果R是二元關(guān)系,那么下面元組表達(dá)式的結(jié)果是什么?{t|(u)(R(t)∧R(u)∧(t[1]≠u[1]∨t[2]≠u[2]))}答:R中不重復(fù)的元組2.8假設(shè)R和S分別是三元和二元關(guān)系,試把表達(dá)式∏1,5(σ2=4∨3=4(R×S))轉(zhuǎn)換成等價(jià)的:⑴漢語(yǔ)查詢句子⑵元組表達(dá)式⑶域表達(dá)式答:(1)求R中的元組與S中的元組串接后,滿足R.2=S.1或者R.3=S.1的R.1和S.2。(2)1,5(2=43=4(R×S))={t|(u)(v)(R(u)S(v)t[1]=u[1]t[2]=v[2](t[2]=v[1]t[3]=v[1]))}(3)略2.9假設(shè)R和S都是二元關(guān)系,試把元組表達(dá)式{t|R(t)∧(u)(S(u)∧u[1]≠t[2])}}轉(zhuǎn)換為等價(jià)的:⑴漢語(yǔ)查詢句子⑵關(guān)系代數(shù)表達(dá)式⑶域表達(dá)式答:(1)找出那些滿足S.1R.2條件的R中的元組。(2)S.1R.2(R)(3)略2.10設(shè)數(shù)據(jù)庫(kù)中有四個(gè)基本表:部門Dept(D#(部門號(hào)),DName(部門名稱),DTel(電話號(hào)碼),DMan(經(jīng)理工號(hào)))職工EMP(E#(職工號(hào)),EName(姓名),ESex(性別),EPost(職務(wù)),D#(部門號(hào)))工程PRO(P#(項(xiàng)目號(hào)),PName(項(xiàng)目名稱),PBud(經(jīng)費(fèi)預(yù)算))施工EP(E#(職工號(hào)),P#(項(xiàng)目號(hào)),WH(工時(shí)))(1)寫出每個(gè)表的主碼和外碼。(2)用關(guān)系代數(shù)表達(dá)式寫出職務(wù)為“工程師”的姓名和部門名稱。(3)用關(guān)系代數(shù)表達(dá)式寫出姓名為“潘小光”的職工所在的部門名稱和所參與的項(xiàng)目名稱。答:(1)關(guān)系DEPT,主碼是D#關(guān)系EMP,主碼是E#,外碼是D#關(guān)系PRO,主碼是P#關(guān)系EP,主碼包含E#和P#兩個(gè)屬性,外碼分別是E#和P#(2)∏EName,DName(σEPost=”工程師”(DeptEMP))(3)∏PName,DName(σEName=”潘小光”(DeptEMPPROEP))2.11設(shè)數(shù)據(jù)庫(kù)中有三個(gè)基本表:S(SNo(學(xué)號(hào)),SName(姓名),SSex(性別),SPro(專業(yè)方向))SC(SNo(學(xué)號(hào)),CNo(課程號(hào)),Grade(成績(jī)))C(CNo(課程號(hào)),CName(課程名),CPre(先行課),CCredit(學(xué)分))試用關(guān)系代數(shù)表達(dá)式表示下列查詢語(yǔ)句:(1)找出選修網(wǎng)絡(luò)方向女同學(xué)名單(2)求選修15164課程的學(xué)生姓名和專業(yè)方向(3)求選修數(shù)據(jù)庫(kù)原理與應(yīng)用課程的學(xué)生姓名(4)同時(shí)選修人工智能及編譯技術(shù)的學(xué)生名單(5)沒(méi)有被任何人選修的課程名(6)沒(méi)有選修任何課程的學(xué)生性別和姓名(7)至少選修了002號(hào)學(xué)生選修的全部課程的學(xué)生學(xué)號(hào)(8)求所有課程被選修的情況,列出課程號(hào)、課程名、先行課、學(xué)分、學(xué)號(hào)和成績(jī)(9)求每個(gè)學(xué)生沒(méi)有選修的課程,列出學(xué)號(hào)、課程號(hào)答:(1)σSPro=”網(wǎng)絡(luò)”∧SSex=”女”(S)(2)∏SName,SPro(σCNo=”15164”(SSC))(3)∏SName(σCName=”數(shù)據(jù)庫(kù)原理與應(yīng)用”(C)SCS)(4)S(∏SNo,CNo(SC)÷∏CNo(σCName=”人工智能”∨CName=”編譯技術(shù)”(C)))(5)∏CName(C(∏CNo(C)-∏CNo(SC)))(6)∏SName,SSex(S(∏SNo(S)-∏SNo(SC)))(7)∏SNo,CNo(SC)÷∏CNo(σSno=”002”(SC))(8)CSC(9)∏SNo,Cno(S×SC)-∏SNo,Cno(SC)2.12為什么要對(duì)關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化?答:對(duì)于同一個(gè)查詢語(yǔ)句,可以用不同的關(guān)系代數(shù)表達(dá),但是它們之間的效率卻可能相差很大,選擇不同的關(guān)系代數(shù)運(yùn)算順序,就會(huì)得到不同的查詢效率,因此,需要變換規(guī)則對(duì)關(guān)系代數(shù)表達(dá)式進(jìn)行等價(jià)變換,從而將同一查詢請(qǐng)求轉(zhuǎn)換為效率最高的關(guān)系代數(shù)表達(dá)式。2.13在2.11中的三個(gè)關(guān)系中,用戶有一個(gè)查詢語(yǔ)句:檢索網(wǎng)絡(luò)方向的學(xué)生選修先行課為計(jì)算機(jī)網(wǎng)絡(luò)的課程名和課程學(xué)分。⑴寫出該查詢的關(guān)系代數(shù)表達(dá)式.⑵寫出該查詢優(yōu)化的關(guān)系代數(shù)表達(dá)式。⑶畫出該查詢初始的關(guān)系代數(shù)表達(dá)式的語(yǔ)法樹(shù)。⑷使用本章中介紹的優(yōu)化算法,對(duì)語(yǔ)法樹(shù)進(jìn)行優(yōu)化,并畫出優(yōu)化后的語(yǔ)法樹(shù)。答:(1)∏Cname,CCredit(σSPro=”網(wǎng)絡(luò)”∧CPre=”計(jì)算機(jī)網(wǎng)絡(luò)”∧S.SNo=SC.SNo∧SC.CNo=C.CNo(S×SC×C))(2)∏Cname,CCredit((∏SNo(σSPro=”網(wǎng)絡(luò)”(S))∏SNo,CNo(SC)(∏CNo,CName,CCredit(σCPre=”計(jì)算機(jī)網(wǎng)絡(luò)”(C))))(3)C×SSCC×SSCΠΠCname,CCreditσSPro=“網(wǎng)絡(luò)”∧CPre=“計(jì)算機(jī)網(wǎng)絡(luò)”∧S.SNo=SC.SNo∧SC.CNo=C.CNo××CSCSΠCname,CCreditΠCname,CCreditσSC.CNo=C.CNoCσCPre=“計(jì)算機(jī)網(wǎng)絡(luò)”σS.SNo=SC.SNoΠCNo,CName,CCredit×ΠSNo,CNoSSCΠSNoσSPro=σSC.CNo=C.CNoCσCPre=“計(jì)算機(jī)網(wǎng)絡(luò)”σS.SNo=SC.SNoΠCNo,CName,CCredit×ΠSNo,CNoSSCΠSNoσSPro=“網(wǎng)絡(luò)”×第三章課后習(xí)題答案3.1試述SQL語(yǔ)言的特點(diǎn)。答:1.綜合統(tǒng)一2.高度非過(guò)程化3.面向集合的操作方式4.以同一種語(yǔ)法結(jié)構(gòu)提供兩種使用方式3.2解釋下列術(shù)語(yǔ):SQL模式:SQL語(yǔ)言所支持的關(guān)系數(shù)據(jù)庫(kù)的體系結(jié)構(gòu),包括視圖、基本表、存儲(chǔ)文件三個(gè)層次。基本表:簡(jiǎn)稱基表。是數(shù)據(jù)庫(kù)中實(shí)際存在的表,在SQL中一個(gè)關(guān)系對(duì)應(yīng)于一個(gè)表。視圖:SQL用視圖概念支持非標(biāo)準(zhǔn)的外模式概念。視圖是從一個(gè)或幾個(gè)基表導(dǎo)出的表,雖然它也是關(guān)系形式,但它本身不實(shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)中,只存放對(duì)視圖的定義信息(沒(méi)有對(duì)應(yīng)的數(shù)據(jù))。因此,視圖是一個(gè)虛表(VirtualTable)或虛關(guān)系,而基表是一種實(shí)關(guān)系(PracticalRelation)。單表查詢:只涉及到一個(gè)關(guān)系的查詢。連接查詢:同時(shí)涉及兩個(gè)以上的表的查詢。嵌套查詢:將一個(gè)查詢塊嵌套在另一個(gè)查詢塊的WHERE子句或HAVING條件中的查詢。3.3試述SQL語(yǔ)言的特點(diǎn)。1.綜合統(tǒng)一2.高度非過(guò)程化3.面向集合的操作方式4.以同一種語(yǔ)法結(jié)構(gòu)提供兩種使用方式3.4試述SQL體系結(jié)構(gòu)和關(guān)系數(shù)據(jù)庫(kù)模式之間的關(guān)系。SQL語(yǔ)言支持關(guān)系數(shù)據(jù)庫(kù)體系結(jié)構(gòu),即外模式、模式和內(nèi)模式,利用SQL語(yǔ)言可以實(shí)現(xiàn)對(duì)三級(jí)模式的定義、修改和數(shù)據(jù)的操縱功能,在此基礎(chǔ)上形成了SQL體系結(jié)構(gòu);在SQL體系結(jié)構(gòu)中的視圖對(duì)應(yīng)了關(guān)系數(shù)據(jù)模式的外模式,基本表對(duì)應(yīng)了關(guān)系數(shù)據(jù)模式的模式,存儲(chǔ)文件對(duì)應(yīng)了關(guān)系數(shù)據(jù)模式的內(nèi)模式。3.5SQL是如何實(shí)現(xiàn)實(shí)體完整性、參照完整性和用戶定義完整性的?實(shí)體完整性要求表的主碼的完整性。可以通過(guò)建立唯一索引、PRIMARYKEY約束、UNIQUE約束,以及列的IDENTITY屬性來(lái)實(shí)施實(shí)體完整性。參照完整性維持被參照表和參照表之間的數(shù)據(jù)一致性,通過(guò)主鍵(PRIMARYKEY)約束和外鍵(FOREIGNKEY)約束來(lái)實(shí)現(xiàn)。用戶定義完整性可以定義特定業(yè)務(wù)規(guī)則。UNIQUE、NOTNULL約束,CHECK謂詞都可以用于實(shí)現(xiàn)用戶定義完整性。3.6討論當(dāng)對(duì)一個(gè)視圖進(jìn)行更新的時(shí)候可能會(huì)出現(xiàn)什么樣的問(wèn)題?若視圖的屬性來(lái)自屬性表達(dá)式或常數(shù),則不允許對(duì)視圖執(zhí)行INSERT和UPDATE操作,但允許執(zhí)行DELETE操作。若視圖的屬性來(lái)自庫(kù)函數(shù),則不允許對(duì)此視圖更新。若視圖定義中有GROUPBY子句,則不允許對(duì)此視圖更新。若視圖定義中有DISTINCT任選項(xiàng),則不允許對(duì)此視圖更新。若視圖定義中有嵌套查詢,并且嵌套查詢的FROM子句涉及導(dǎo)出該視圖的基本表,則不允許對(duì)此視圖更新。若視圖由兩個(gè)以上的基本表導(dǎo)出,則不允許對(duì)此視圖更新。如果在一個(gè)不允許更新的視圖上再定義一個(gè)視圖,這種二次視圖是不允許更新的。3.7設(shè)有兩個(gè)基本表R(A,B,C)和S(A,B,C)試用SQL查詢語(yǔ)句表達(dá)下列關(guān)系代數(shù)表達(dá)式:⑴R∩S:(select*fromR)INTERSECT(select*fromS)⑵R-S:(select*fromR)EXCEPT(select*fromS)⑶R∪S:(select*fromR)UNION(select*fromS)⑷R×S:select*fromR,S3.8對(duì)于教學(xué)數(shù)據(jù)庫(kù)的三個(gè)基本表:S(學(xué)號(hào),姓名,年齡,性別)SC(學(xué)號(hào),課程號(hào),成績(jī))C(課程號(hào),課程名,任課教師姓名)試用SQL語(yǔ)句表達(dá)下列查詢:⑴查詢姓劉的老師所授課程的課程號(hào)和課程名。SELECT課程號(hào),課程名FROMCWHERE任課教師姓名=’劉%’;⑵查詢年齡大于23歲的男同學(xué)的學(xué)號(hào)和姓名。SELECT學(xué)號(hào),姓名FROMSWHERE性別=’男’AND年齡>23;⑶查詢學(xué)號(hào)為S3的學(xué)生所學(xué)課程的課程號(hào)、課程名和任課教師姓名。SELECT課程號(hào),課程名,任課教師姓名FROMCWHERE課程號(hào)IN(SELECT課程號(hào)FROMSCWHERE學(xué)號(hào)=’S3’);⑷查詢“張小飛”沒(méi)有選修的課程號(hào)和課程名。SELECT*FROMCWHERENOTEXISTS (SELECT學(xué)習(xí).課程號(hào) FROMSC,SWHERESC.課程號(hào)=C.課程號(hào)ANDS.學(xué)號(hào)=SC.學(xué)號(hào)ANDS.姓名='張小飛');⑸查詢至少選修了3門課程的學(xué)生的學(xué)號(hào)和姓名。SELECT學(xué)號(hào),姓名FROMSWHERE學(xué)號(hào)IN (SELECT學(xué)號(hào)FROMSCGROUPBY學(xué)號(hào)HAVINGCOUNT(課程號(hào))>=3);⑹查詢?nèi)繉W(xué)生都選修了的課程編號(hào)和課程名稱。SELECT課程號(hào),課程名FROMCWHERENOTEXISTS(SELECT*FROMSWHERENOTEXISTS(SELECT*FROMSCWHERESC.課程號(hào)=C.課程號(hào)ANDS.學(xué)號(hào)=SC.學(xué)號(hào)));⑺在SC中刪除尚無(wú)成績(jī)的選課元組。DELETEFROMSCWHERE成績(jī)ISNULL;⑻把“高等數(shù)學(xué)”課的所有不及格成績(jī)都改為60。UPDATESCSET成績(jī)=60WHERE成績(jī)<60AND課程號(hào)IN(SELECT課程號(hào)FROMCWHERE課程名='高等數(shù)學(xué)');⑼把低于總評(píng)均成績(jī)的女同學(xué)的成績(jī)提高5%。UPDATESCSET成績(jī)=成績(jī)*1.05WHERE學(xué)號(hào)IN (SELECT學(xué)號(hào)FROMSWHERE性別=’女’)AND成績(jī)<(SELECTAVG(成績(jī))FROMSC);⑽向C中插入元組(‘C8’,‘VC++’,‘王昆’)INSERTINTOCVALUES(’C8’,’VC++’,’王昆’);3.9設(shè)有下列四個(gè)關(guān)系模式:PRODUCT(MAKER,MODEL,TYPE)PC(MODEL,SPEED,RAM,HD,CD,PRICE)LAPTOP(MODEL,SPEED,RAM,SCREEN,PRICE)PRINTER(MODEL,COLOR,TYPE,PRICE)注:PRODUCT表中TYPE屬性列的取值為pc或laptop或printer;PRINTER表中color屬性列的取值為ture或false,代表彩色或單色。試用SQL語(yǔ)句表達(dá)下列查詢:⑴找出價(jià)格高于1萬(wàn)5千元,并且運(yùn)行速度低于同價(jià)位PC的平均運(yùn)行速度的LAPTOP。SELECT*FROMLAPTOPWHEREPRICE>15000ANDSPEED<(SELECTAVG(SPEED) FROMPCWHEREPC.PRICE=LAPTOP.PRICE);⑵找出生產(chǎn)價(jià)格最低的彩色打印機(jī)的廠家。SELECTMAKERFROMPRODUCTWHEREMODELIN(SELECTMODELFROMPRINTERWHERECOLOR=trueANDPRICE<=(SELECTMIN(PRICE)FROMPRINTER));⑶計(jì)算由廠家“HP”生產(chǎn)的PC機(jī)和LAPTOP機(jī)的平均價(jià)格。(SELECTTYPE,AVG(PRICE) FROMPC,PRODUCTWHEREPC.MODEL=PRODUCT.MODELAND PRODUCT.MAKER=’HP’ GROUPBYTYPE)UNION(SELECTTYPE,AVG(PRICE) FROMLAPTOP,PRODUCTWHEREAPTOP.MODEL=PRODUCT.MODELANDPRODUCT.MAKER=’HP’GROUPBYTYPE;)⑷計(jì)算各廠商所生產(chǎn)的LAPTOP機(jī)的顯示器的平均尺寸。SELECTMAKER,AVG(SCREEN)FROMLAPTOP,PRODUCTWHERELAPTOP.MODEL=PRODUCT.MODELGROUPBYMAKER;⑸找出每一個(gè)生產(chǎn)廠商的PC機(jī)的最高價(jià)格。SELECTMAKER,MAX(PRICE)FROMPC,PRODUCT WHEREPC.MODEL=PRODUCT.MODELGROUPBYMAKER;⑹計(jì)算生產(chǎn)打印機(jī)的各個(gè)廠商所生產(chǎn)的PC機(jī)的硬盤的平均容量。SELECTMAKER,AVG(HD)FROMPC,PRODUCTWHEREPC.MODEL=PRODUCT.MODELANDMAKERIN(SELECTMAKERFROMPRODUCTWHERETYPE=’printer’)GROUPBYMAKER;3.10試設(shè)計(jì)如圖3-2中顯示的數(shù)據(jù)庫(kù)模式Library,用來(lái)記錄書籍、借書人和書籍借出的情況,參照完整性在圖中用有向弧來(lái)表示。請(qǐng)用SQL語(yǔ)言建立圖中的關(guān)系模式,并完成下列操作:CREATETABLEPUBLISHER( NAMECHAR(20)PRIMARYKEY, ADDRESSCHAR(30), PHONECHAR(12));CREATETABLEBOOK( BOOKIDCHAR(4)PRIMARYKEY, TITLECHAR(20), PUBLISHERNAMECHAR(20)REFERENCESPUBLISHER(NAME));CREATETABLEAUTHOR( BOOKIDCHAR(4)REFERENCESBOOK(BOOKID), AUTHORCHAR(8), PRIMARYKEY(BOOKID));CREATETABLEBORROWER( CARDIDCHAR(4)PRIMARYKEY, NAMECHAR(8), ADDRESSCHAR(30), PHONECHAR(12));CREATETABLEBORROW( BOOKIDCHAR(4)REFERENCESBOOK(BOOKID), CARDIDCHAR(4)REFERENCESBORROWER(CARDID), DATEOUTDATETIME, DUEOUTDATETIME, IS_RETURNBOOL, PRIMARYKEY(BOOKID,CARDID);)⑴查詢“高等教育出版社”出版的所有圖書名稱和編號(hào)。SELECTBOOKID,TITLEFROMBOOKWHEREPUBLISHERNAME=’高等教育出版社’;⑵查詢所有作者是“郭雨辰”的圖書的編號(hào)和名稱。SELECTBOOKID,TITLEFROMBOOKWHEREBOOKIDIN(SELECTBOOKIDFROMAUTHORWHEREAUTHOR=’郭雨辰’);⑶查詢“王麗”借過(guò)的所有圖書的名稱。SELECTTITLEFROMBOOKWHEREBOOKIDIN (SELECTBOOKID FROMBORROW WHERECARDIDIN (SELECTCARDID FROMBORROWER WHERENAME=’王麗’);⑷查詢“李明”在2018年上半年期間借過(guò)的圖書名稱。SELECTTITLEFROMBOOKWHEREBOOKIDIN (SELECTBOOKID FROMBORROW WHEREDATEOUTBETWEEN‘2018/1/1’AND‘2018/6/30’ANDCARDIDIN (SELECTCARDID FROMBORROWER WHERENAME=’李明’);⑸建立視圖,顯示2017年期間沒(méi)有被人借過(guò)的圖書編號(hào)和名稱。CREATEVIEWUNPOPULARBOOKASSELECTBOOKID,TITLEFROMBOOKWHEREBOOKIDNOTIN (SELECTBOOKID FROMBORROW WHEREDATEOUTBETWEEN‘2017/1/1’AND‘2017/12/31’);⑹建立超期未歸還書籍的視圖,顯示圖書編號(hào)和名稱,以及借書人姓名和電話。CREATEVIEWDELAYASSELECTBOOKID,TITLE,NAME,PHONEFROMBOOK,BORROW,BORROWERWHEREBOOK.BOOKID=BORROW.BOOKIDANDBORROW.CARDID=BORROWER.CARDIDANDIS_RETURN=false;⑺建立熱門書籍的視圖,顯示2017年期間借出次數(shù)最多的10本圖書名稱。CREATEVIEWPOPULARBOOKASSELECTTOP10TITLEFROMBOOK,BORROWWHEREBOOK.BOOKID=BORROW.BOOKIDANDDATEOUTBETWEEN'2017/1/1'AND'2017/12/31'GROUPBYTITLEORDERBYCOUNT(TITLE)desc⑻增加新書《大數(shù)據(jù)》,書號(hào)為“TP319-201”,該書由“廣西師范大學(xué)出版社”出版,作者為“涂子沛”。INSERTINTOBOOKVALUES(‘TP319-201’,‘大數(shù)據(jù)’,‘廣西師范大學(xué)出版社’);INSERTINTOAUTHORVALUES(‘TP319-201’,‘涂子沛’);⑼將“高等教育出版社”的電話改為“010-64054588”。UPDATEPUBLISERSETPHONEHERENAME=’高等教育出版社’;⑽刪除書號(hào)為“D001701”的書籍信息。DELETEFROMBOOKWHEREBOOKID=’D001701’;3.11針對(duì)3.10建立的表,用SQL語(yǔ)言完成下列操作:⑴把對(duì)所有表的INSERT權(quán)限授予“張麗”,并允許她將此權(quán)限授予其他用戶;GRANTINSERTONDATABASELibraryTO‘張麗’WITHGRANTOPTION;⑵把查詢和修改BORROWER的權(quán)限受給用戶“王偉”。GRANTSELECT,UPDATEONTABLEBORROWERTO‘王偉’;4.1、下表給出的關(guān)系R為第幾范式?是否存在操作異常?若存在,則將其分解為高一級(jí)范式。分解完成的高級(jí)范式中是否可以避免分解前關(guān)系中存在的操作異常? 解:它為1NF。因?yàn)樵撽P(guān)系的候選碼為(工程號(hào),材料號(hào)),而非主屬性“開(kāi)工日期”和“完工日期”部分函數(shù)依賴于候選碼的子集“工程號(hào)”,即: ∴它不是2NF。 它存在操作異常,如果工程項(xiàng)目確定后,若暫時(shí)未用到材料,則該工程的數(shù)據(jù)因缺少碼的一部分(材料號(hào))而不能進(jìn)入到數(shù)據(jù)庫(kù)中,出現(xiàn)插入異常。若某工程下馬,則刪去該工程的操作也可能丟失材料方面的信息。 將其中的部分函數(shù)依賴分解為一個(gè)獨(dú)立的關(guān)系,則產(chǎn)生如下所示的兩個(gè)2NF關(guān)系模式:R1(工程號(hào),材料號(hào),數(shù)量,價(jià)格)R2(工程號(hào),開(kāi)工日期,完工日期) 分解后,新工程確定后,盡管還未用到材料,該工程數(shù)據(jù)可在關(guān)系R2中插入。某工程數(shù)據(jù)刪除時(shí),僅對(duì)關(guān)系R2操作,也不會(huì)丟失材料方面的信息。4.2D+={DHG}4.3F中A+=ABCDECD+=CDEG中A+=ABCDECD+=CDE據(jù)此,可以得知F中每個(gè)函數(shù)依賴均在G+中,G中每個(gè)函數(shù)依賴均在F+中(具體描述略),所以F=G4.4ACD+=ABCD=U并且對(duì)于ACD的任一真子集的閉包均不等于U所以ACD為候選碼4.5(1)AB+=ABCD AC+=ACD DE+=ABCDE ⑵求R的所有候選碼BE,CE,DE⑶求F的最小覆蓋Fm={B→C,DE→B,C→D,D→A}4.6Fm={A→C,C→A,B→C,D→C}4.7不具有4.8均不具有4.9F={BC,DA}ρ={AD,BC}KEY=BD,有損分解,保持依賴,均屬于BCNFF={ABC,CA,CD}ρ={ACD,BC}KEY=AB,BC,無(wú)損分解,依賴不保持,均屬于BCNFF={ABC,CAD}ρ={ABC,AD}KEY=A,C,無(wú)損分解,依賴保持,均屬于BCNFF={AB,BC,CD}ρ={ACD,AB}KEY=A,無(wú)損分解,依賴不保持,AB屬于BCNF,ACD屬于2NFF={AB,BC,CD}ρ={AD,AB,CD}KEY=A,有損分解,依賴不保持,均屬于BC范式F={ABC,CA,DA}ρ={ACD,BC}KEY=AB,BC,無(wú)損分解,依賴不保持,均屬于BCNF4.10具有無(wú)損連接性(1)候選碼:AB(2)Fmin={AB→C,C→D,D→E}(3)ρ={R1(ABC),R2(CD),R3(DE)}4.11Fm={ABC BEC CABDEG}4.12(1)函數(shù)依賴候選碼:(職工名,項(xiàng)目名)由于部門名,部門經(jīng)理部分函數(shù)依賴于碼,因此該模式只滿足第一范式,所以采用投影分解法將一個(gè)1NF的關(guān)系分解為多個(gè)2NF分解為兩個(gè)關(guān)系模式,以消除這些部分函數(shù)依賴∈∈但是2NF關(guān)系模式中,部門名和部門經(jīng)理傳遞函數(shù)依賴于項(xiàng)目名,即中SL消除傳遞函數(shù)依賴:∈∈4.13解:因?yàn)殛P(guān)系模式至少是1NF關(guān)系,即不包含重復(fù)組并且不存在嵌套結(jié)構(gòu),給出的數(shù)據(jù)集顯然不可直接作為關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系,改造為1NF的關(guān)系如下。系名課程名教師名計(jì)算機(jī)系DB張偉計(jì)算機(jī)系DB王強(qiáng)信控系A(chǔ)I孫蘭信控系A(chǔ)I宋靈信息安全系DS張燕信息安全系DS李杰數(shù)學(xué)系CM劉海4.14解:各關(guān)系模式如下:學(xué)生(學(xué)號(hào),姓名,出生年月,系名,班級(jí)號(hào),宿舍區(qū))班級(jí)(班級(jí)號(hào),專業(yè)名,系名,人數(shù),入校年份)系(系名,系號(hào),系辦公地點(diǎn),人數(shù))社團(tuán)(社團(tuán)名,成立年份,地點(diǎn),人數(shù))加入社團(tuán)(社團(tuán)名,學(xué)號(hào),學(xué)生參加社團(tuán)的年份)學(xué)生(學(xué)號(hào),姓名,出生年月,系名,班級(jí)號(hào),宿舍區(qū))“學(xué)生”關(guān)系的最小函數(shù)依賴集為:Fmin={學(xué)號(hào)→姓名,學(xué)號(hào)→班級(jí)號(hào),學(xué)號(hào)→出生年月,學(xué)號(hào)→系名,系名→宿舍區(qū)}以上關(guān)系模式中存在傳遞函數(shù)依賴,如:學(xué)號(hào)→系名,系名→宿舍區(qū)候選鍵是學(xué)號(hào),外部鍵是班級(jí)號(hào),系名。班級(jí)(班級(jí)號(hào),專業(yè)名,系名,人數(shù),入校年份)“班級(jí)”關(guān)系的最小函數(shù)依賴集為:Fmin={(系名,專業(yè)名)→班級(jí)號(hào),班級(jí)號(hào)→人數(shù),班級(jí)號(hào)→入校年份,班級(jí)號(hào)→系名,班級(jí)號(hào)→專業(yè)名}(假設(shè)沒(méi)有相同的系,不同系中專業(yè)名可以相同)以上關(guān)系模式中不存在傳遞函數(shù)依賴?!?系名,專業(yè)名)→班級(jí)號(hào)”是完全函數(shù)依賴。候選鍵是(系名,專業(yè)名),班級(jí)號(hào),外部鍵是系名。系(系名,系號(hào),系辦公地點(diǎn),人數(shù))“系”關(guān)系的最小函數(shù)依賴集為:Fmin={系號(hào)→系名,系名→系辦公地點(diǎn),系名→人數(shù),系名→系號(hào)}以上關(guān)系模式中不存在傳遞函數(shù)依賴候選鍵是系名,系號(hào)社團(tuán)(社團(tuán)名,成立年份,地點(diǎn),人數(shù))“社團(tuán)”關(guān)系的最小函數(shù)依賴集為:Fmin={社團(tuán)名→成立年份,社團(tuán)名→地點(diǎn),社團(tuán)名→人數(shù)}以上關(guān)系模式中不存在傳遞函數(shù)依賴。候選鍵是社團(tuán)名加入社團(tuán)(社團(tuán)名,學(xué)號(hào),學(xué)生參加社團(tuán)的年份)“加入社團(tuán)”關(guān)系的最小函數(shù)依賴集為:Fmin={(社團(tuán)名,學(xué)號(hào))→學(xué)生參加社團(tuán)的年份}“(社團(tuán)名,學(xué)號(hào))→學(xué)生參加社團(tuán)的年份”是完全函數(shù)依賴。以上關(guān)系模式中不存在傳遞函數(shù)依賴。候選鍵是(社團(tuán)名,學(xué)號(hào))。習(xí)題55.1名詞解釋數(shù)據(jù)庫(kù)設(shè)計(jì)答:數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,根據(jù)用戶的需求,在某一具體的數(shù)據(jù)庫(kù)管理體統(tǒng)上,構(gòu)造一個(gè)性能良好的數(shù)據(jù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的信息要求和處理要求。基于3NF的數(shù)據(jù)庫(kù)設(shè)計(jì)方法答:基于3NF的數(shù)據(jù)庫(kù)設(shè)計(jì)方法是一種結(jié)構(gòu)化設(shè)計(jì)方法,其基本思想是在需求分析的基礎(chǔ)上,確定數(shù)據(jù)庫(kù)模式中的全部屬性和屬性間的依賴關(guān)系,將它們組織在一個(gè)單一的關(guān)系模式中,然后再分析模式中不符合3NF的約束條件,將其進(jìn)行投影分解,規(guī)范成若干個(gè)3NF關(guān)系模式的集合?;贓-R模型的數(shù)據(jù)庫(kù)設(shè)計(jì)方法答:基于E-R模型的數(shù)據(jù)庫(kù)設(shè)計(jì)方法是由P.P.S.chen于1976年提出的數(shù)據(jù)庫(kù)設(shè)計(jì)方法,其基本思想是在需求分析的基礎(chǔ)上,用E-R圖構(gòu)造一個(gè)反映現(xiàn)實(shí)世界實(shí)體之間聯(lián)系的企業(yè)模式,然后再將此企業(yè)模式轉(zhuǎn)換成基于某一特定的DBMS的概念模式。5.2什么是數(shù)據(jù)庫(kù)設(shè)計(jì)?試述數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟。答:數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,根據(jù)用戶的需求,在某一具體的數(shù)據(jù)庫(kù)管理體統(tǒng)上,構(gòu)造一個(gè)性能良好的數(shù)據(jù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的信息要求和處理要求。其中:信息需求信息需求表示一個(gè)單位所需要的數(shù)據(jù)及其結(jié)構(gòu),表達(dá)了對(duì)數(shù)據(jù)庫(kù)的內(nèi)容及結(jié)構(gòu)的要求,也就是靜態(tài)要求。信息需求定義所設(shè)計(jì)的數(shù)據(jù)庫(kù)將要用到的所有信息,描述實(shí)體、屬性、聯(lián)系的性質(zhì),描述數(shù)據(jù)之間的聯(lián)系。處理需求處理需求表示一個(gè)單位需要經(jīng)常進(jìn)行的數(shù)據(jù)處理,表達(dá)了基于數(shù)據(jù)庫(kù)的數(shù)據(jù)處理要求,也就是動(dòng)態(tài)要求。處理需求定義所設(shè)計(jì)的數(shù)據(jù)庫(kù)將要進(jìn)行的數(shù)據(jù)處理,描述操作的優(yōu)先次序、操作執(zhí)行的頻率和場(chǎng)合,描述操作與數(shù)據(jù)之間的聯(lián)系。因此,數(shù)據(jù)庫(kù)設(shè)計(jì)就是把現(xiàn)實(shí)世界中的數(shù)據(jù),根據(jù)各種應(yīng)用處理的要求,加以合理地組織,使其滿足硬件和操作系統(tǒng)的特性;同時(shí),利用已有的DBMS建立數(shù)據(jù)庫(kù),使其能夠?qū)崿F(xiàn)應(yīng)用系統(tǒng)的目標(biāo)。數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟包括:需求分析概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)實(shí)施數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)5.3試述數(shù)據(jù)庫(kù)設(shè)計(jì)需求分析階段的任務(wù)和方法。答:需求分析的任務(wù)是通過(guò)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。需求分析常用的方法有:跟班分析。通過(guò)親身參加業(yè)務(wù)工作來(lái)了解業(yè)務(wù)活動(dòng)的情況。這種方法可以比較準(zhǔn)確地理解用戶的需求,但比較耗費(fèi)時(shí)間。開(kāi)調(diào)查會(huì)。通過(guò)與用戶座談來(lái)了解業(yè)務(wù)活動(dòng)情況及用戶需求。座談時(shí),參加者之間可以相互啟發(fā)。請(qǐng)專人介紹和詢問(wèn)。對(duì)某些調(diào)查中的問(wèn)題,可以請(qǐng)專業(yè)人員介紹情況并進(jìn)行咨詢。設(shè)計(jì)調(diào)查表請(qǐng)用戶填寫。如果調(diào)查表設(shè)計(jì)得合理,這種方法是很有效,也很易于用戶接受的。查閱記錄。即查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄,包括原始單據(jù)、賬簿、報(bào)表等。5.4數(shù)據(jù)流圖和數(shù)據(jù)字典的內(nèi)容和作用分別是什么?答:數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程。構(gòu)造數(shù)據(jù)流圖的目的是為了系統(tǒng)分析師與用戶能夠進(jìn)行明確的交流,以便指導(dǎo)系統(tǒng)的設(shè)計(jì),并為后續(xù)工作打下基礎(chǔ)。數(shù)據(jù)字典是將數(shù)據(jù)流程圖中各個(gè)要素的具體內(nèi)容和特征,以特定格式記錄下來(lái),所形成的文檔。它主要包括:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、加工、文件、外部實(shí)體等內(nèi)容。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫(kù)中數(shù)據(jù)的描述,即元數(shù)據(jù),而不是數(shù)據(jù)本身。數(shù)據(jù)本身將存放在物理數(shù)據(jù)庫(kù)中,由數(shù)據(jù)庫(kù)管理系統(tǒng)管理。數(shù)據(jù)字典有助于這些數(shù)據(jù)的進(jìn)一步管理和控制,為設(shè)計(jì)人員和數(shù)據(jù)庫(kù)管理員在數(shù)據(jù)庫(kù)設(shè)計(jì)、實(shí)現(xiàn)和運(yùn)行階段控制有關(guān)數(shù)據(jù)提供依據(jù)。5.5視圖集成時(shí),分E-R圖之間的沖突有哪些?解決這些沖突的方法是什么?答:屬性沖突屬性域沖突,即屬性值的類型、取值范圍或取值集合不同,如零件號(hào),有的部門作為整數(shù)對(duì)待,有的部門則使用字符串。不同部門對(duì)零件號(hào)的編碼也可能不同。屬性取值單位沖突:如零件重量,有的部門以公斤為單位,有的部門以克為單位。命名沖突包括同名異義和異名同義。如科研項(xiàng)目,財(cái)務(wù)科稱為項(xiàng)目,科研處稱為課題,生產(chǎn)管理處稱為工程,這就是一個(gè)異名同義的例子。結(jié)構(gòu)沖突同一對(duì)象在不同應(yīng)用中具有不同的抽象。如在教學(xué)管理中,職稱是一個(gè)屬性;而在人事管理中,因?yàn)槁毞Q與工資、住房掛鉤,因此是一個(gè)實(shí)體。同一實(shí)體在不同局部視圖中所包含的屬性不完全相同。實(shí)體間的聯(lián)系在不同分E-R圖中為不同類型:如生產(chǎn)子系統(tǒng)分E-R圖中,產(chǎn)品和零件構(gòu)成1:n聯(lián)系。而物資子系統(tǒng)分E-R圖中,產(chǎn)品、零件、供應(yīng)商三者構(gòu)成多對(duì)多聯(lián)系。解決這些沖突的方法有:修改視圖使得相互一致合并視圖重構(gòu)5.6試述數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)的步驟。答:將E-R模型轉(zhuǎn)換為等價(jià)的關(guān)系模式按需要對(duì)關(guān)系模式進(jìn)行規(guī)范化對(duì)規(guī)范化后的模式進(jìn)行評(píng)價(jià)根據(jù)局部應(yīng)用的需要,設(shè)計(jì)用戶外模式5.7試述E-R圖轉(zhuǎn)換成關(guān)系模型的轉(zhuǎn)換規(guī)則。答:E-R圖向關(guān)系模型的轉(zhuǎn)換一般應(yīng)遵循如下原則:實(shí)體的轉(zhuǎn)換。一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。聯(lián)系的轉(zhuǎn)換。一個(gè)聯(lián)系轉(zhuǎn)化為一個(gè)關(guān)系模式,與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系的屬性轉(zhuǎn)化為關(guān)系的屬性,該關(guān)系的碼則有幾種情況:若聯(lián)系為1:1,則每個(gè)實(shí)體的碼均是該關(guān)系的候選碼。若聯(lián)系為1:n,則關(guān)系的碼為n端實(shí)體的碼。若聯(lián)系為m:n,則關(guān)系的碼為諸實(shí)體碼的組合。三個(gè)或三個(gè)以上實(shí)體間的多元聯(lián)系、同一實(shí)體集內(nèi)的自反聯(lián)系的轉(zhuǎn)換規(guī)則與二元聯(lián)系相同。(3)具有相同碼的關(guān)系模式可合并。5.8規(guī)范化理論對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)有什么指導(dǎo)意義。答:在概念設(shè)計(jì)階段,已經(jīng)把關(guān)系規(guī)范化的某些思想用作構(gòu)造實(shí)體類型和聯(lián)系類型的標(biāo)準(zhǔn),在邏輯設(shè)計(jì)階段,仍然要使用關(guān)系規(guī)范化的理論來(lái)設(shè)計(jì)模式和評(píng)價(jià)模式。規(guī)范化的目的是減少乃至消除關(guān)系模式中存在的各種異常,改善完整性、一致性和存儲(chǔ)效率。5.9試述數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)結(jié)果的優(yōu)化方法。答:確定范式級(jí)別考察關(guān)系模式的函數(shù)依賴關(guān)系,確定范式等級(jí)。找出所有“數(shù)據(jù)字典”中得到的數(shù)據(jù)之間的依賴關(guān)系,對(duì)各模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。按照數(shù)據(jù)依賴?yán)碚搶?duì)關(guān)系模式逐一進(jìn)行分析,考察是否存在部分函數(shù)依賴、傳遞函數(shù)依賴和多值依賴等,確定各關(guān)系模式屬于第幾范式。實(shí)施規(guī)范化處理確定范式級(jí)別后,根據(jù)應(yīng)用需求,判斷它們對(duì)于這樣的應(yīng)用環(huán)境是否合適,確定對(duì)于這些模式是否進(jìn)行合并或分解。5.10試述數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)的內(nèi)容和步驟。答:數(shù)據(jù)庫(kù)最終要存儲(chǔ)在物理設(shè)備上。對(duì)于給定的邏輯數(shù)據(jù)模型,選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過(guò)程,稱為數(shù)據(jù)庫(kù)物理設(shè)計(jì)。數(shù)據(jù)庫(kù)物理設(shè)計(jì)可分為兩步:確定物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫(kù)中主要指存取方法和存儲(chǔ)結(jié)構(gòu)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率5.11數(shù)據(jù)庫(kù)實(shí)施階段的主要任務(wù)是什么?答:數(shù)據(jù)庫(kù)實(shí)施主要包括以下工作:建立實(shí)際數(shù)據(jù)庫(kù)結(jié)構(gòu)組織數(shù)據(jù)入庫(kù)編制和調(diào)試應(yīng)用程序數(shù)據(jù)庫(kù)試運(yùn)行5.12數(shù)據(jù)庫(kù)系統(tǒng)投入運(yùn)行后,有哪些維護(hù)工作?答:數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)和恢復(fù)數(shù)據(jù)庫(kù)的安全性、完整性控制數(shù)據(jù)庫(kù)性能的監(jiān)督、分析和改進(jìn)數(shù)據(jù)庫(kù)的重組織和重構(gòu)造5.13某商業(yè)集團(tuán)管理系統(tǒng)的數(shù)據(jù)庫(kù)信息如下。該系統(tǒng)中包含三個(gè)實(shí)體集:一是“倉(cāng)庫(kù)”實(shí)體集,屬性有倉(cāng)庫(kù)號(hào)、倉(cāng)庫(kù)名和地址等;二是“商店”實(shí)體集,屬性有商店號(hào)、商店名、地址等;三是“商品”實(shí)體集,屬性有商品號(hào)、商品名、單價(jià)。設(shè)倉(cāng)庫(kù)與商品之間存在“庫(kù)存”聯(lián)系,每個(gè)倉(cāng)庫(kù)可存儲(chǔ)若干種商品,每種商品存儲(chǔ)在若干倉(cāng)庫(kù)中,每個(gè)倉(cāng)庫(kù)每存儲(chǔ)一種商品有存儲(chǔ)日期及存儲(chǔ)量;商店與商品之間存在著“銷售”聯(lián)系,每個(gè)商店可銷售若干種商品,每種商品可在若干商店里銷售,每個(gè)商店銷售一種商品有月份和月銷售量?jī)蓚€(gè)屬性。請(qǐng)?jiān)谏鲜霰尘敖榻B的基礎(chǔ)上,完成如下數(shù)據(jù)庫(kù)設(shè)計(jì):(1)試畫出E-R圖,并在圖上注明聯(lián)系類型;(2)將E-R圖轉(zhuǎn)換成滿足3NF的關(guān)系模式,并標(biāo)識(shí)主外鍵(用下劃線標(biāo)識(shí)主碼,用波浪線標(biāo)識(shí)外鍵)答:(1)(2)倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),倉(cāng)庫(kù)名,地址)商店(商店號(hào),商店名,地址)商品(商品號(hào),商品名,單價(jià))銷售(商店號(hào),商品號(hào),銷售月份,銷量量)庫(kù)存(倉(cāng)庫(kù)號(hào),商品號(hào),存儲(chǔ)日期,存儲(chǔ)量)5.14現(xiàn)針對(duì)學(xué)生參與教師的科研項(xiàng)目建立“科研項(xiàng)目管理數(shù)據(jù)庫(kù)系統(tǒng)”,其中,學(xué)生信息包括:學(xué)號(hào),姓名,性別,所在學(xué)院;學(xué)院信息包括:學(xué)院編號(hào),學(xué)院名稱,辦公電話;教師信息包括:教師編號(hào),姓名,性別,職稱,所在學(xué)院;項(xiàng)目信息包括:項(xiàng)目編號(hào),項(xiàng)目名稱,開(kāi)始時(shí)間,結(jié)束時(shí)間,項(xiàng)目負(fù)責(zé)人,職稱。各實(shí)體之間的關(guān)系為:一個(gè)學(xué)生可以參與教師的多個(gè)項(xiàng)目,一個(gè)項(xiàng)目可以有多個(gè)學(xué)生參加,每個(gè)學(xué)生選定項(xiàng)目后要承擔(dān)相應(yīng)的任務(wù);一個(gè)教師可以主持多個(gè)項(xiàng)目,一個(gè)項(xiàng)目只能由一個(gè)教師作為項(xiàng)目負(fù)責(zé)人。請(qǐng)?jiān)谏鲜霰尘敖榻B的基礎(chǔ)上,完成如下數(shù)據(jù)庫(kù)設(shè)計(jì):(1)畫出“科研項(xiàng)目管理數(shù)據(jù)庫(kù)系統(tǒng)”的E-R圖。(2)將E-R圖轉(zhuǎn)換為一組符合3NF要求的關(guān)系模式,并標(biāo)出每個(gè)關(guān)系模式的主外健用下劃線標(biāo)識(shí)主碼,用波浪線標(biāo)識(shí)外鍵)答:(1)(2)學(xué)生(學(xué)號(hào),姓名,性別,學(xué)院編號(hào))學(xué)院(學(xué)院編號(hào),學(xué)院名稱,辦公電話)教師(教師編號(hào),姓名,性別,職稱,學(xué)院編號(hào))項(xiàng)目(項(xiàng)目編號(hào),項(xiàng)目名稱,開(kāi)始時(shí)間,結(jié)束時(shí)間,教師編號(hào))參與(學(xué)號(hào),項(xiàng)目編號(hào),任務(wù))5.15某工廠零件管理系統(tǒng)的需求分析如下。一個(gè)車間有多個(gè)工人,每個(gè)工人有職工號(hào)、姓名、年齡、性別、工種;一個(gè)車間生產(chǎn)多種產(chǎn)品,產(chǎn)品有產(chǎn)品號(hào)、價(jià)格;一個(gè)車間生產(chǎn)多種零件,一種零件也可能為多個(gè)車間制造,零件有零件號(hào)、重量、價(jià)格;一種產(chǎn)品由多種零件組成,一種零件也可裝配到多種產(chǎn)品中,產(chǎn)品與零件均存入倉(cāng)庫(kù)中;廠內(nèi)有多個(gè)倉(cāng)庫(kù),倉(cāng)庫(kù)有倉(cāng)庫(kù)號(hào)、主任姓名、電話;請(qǐng)?jiān)谏鲜霰尘敖榻B的基礎(chǔ)上,完成如下數(shù)據(jù)庫(kù)設(shè)計(jì):(1)請(qǐng)畫出該系統(tǒng)的ER圖(2)并給出相應(yīng)的關(guān)系模型,并標(biāo)出每個(gè)關(guān)系模式的主外健用下劃線標(biāo)識(shí)主碼,用波浪線標(biāo)識(shí)外鍵)。答:(1)(2)車間(車間號(hào),地址)工人(職工號(hào),姓名,年齡,性別,工種,車間號(hào))倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),主任姓名,電話)產(chǎn)品(產(chǎn)品號(hào),價(jià)格,倉(cāng)庫(kù)號(hào))零件(零件號(hào),重量,價(jià)格,倉(cāng)庫(kù)號(hào))制造(車間號(hào),零件號(hào))裝配(零件號(hào),產(chǎn)品號(hào))5.16設(shè)計(jì)一個(gè)學(xué)校的圖書管理系統(tǒng),請(qǐng)給出該系統(tǒng)的需求分析并進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),具體要求為:(1)實(shí)體數(shù)不少于5個(gè),每個(gè)實(shí)體的屬性3--6個(gè),實(shí)體之間的關(guān)系至少要包含1:n,m:n兩種聯(lián)系類型。(2)給出該系統(tǒng)的E-R圖。(3)將E-R圖轉(zhuǎn)換為一組符合3NF要求的關(guān)系模式,并標(biāo)識(shí)主外鍵(用下劃線標(biāo)識(shí)主碼,用波浪線標(biāo)識(shí)外鍵)。答:(1)圖書實(shí)體屬性圖:借閱者實(shí)體屬性圖:管理員實(shí)體屬性圖書庫(kù)實(shí)體屬性圖:學(xué)院實(shí)體屬性圖:(2)(3)圖書(圖書編號(hào),書名,作者姓名,出版社,出版日期,在庫(kù)數(shù),入庫(kù)日,出庫(kù)日期,書庫(kù)編號(hào))借閱者(借閱證號(hào),姓名,學(xué)院編號(hào),借書數(shù)量)管理員(管理員編號(hào),姓名,職稱,書庫(kù)編號(hào))書庫(kù)(書庫(kù)編號(hào),書庫(kù)名稱,地點(diǎn))學(xué)院(學(xué)院編號(hào),學(xué)院名稱)借閱(借閱證號(hào),圖書編號(hào),借出日期,歸還日期,到期日期,拖欠日期,罰款數(shù)目)管理(管理員編號(hào),借閱證號(hào))處理(管理員編號(hào),圖書編號(hào))習(xí)題66.1什么是事務(wù)?它與一般的程序有什么不同?為什么一般程序不提ACID特性?答:事務(wù)代表了用戶要完成的一項(xiàng)工作任務(wù),是將一組數(shù)據(jù)庫(kù)操作打包起來(lái)形成一個(gè)邏輯獨(dú)立的工作單元,這個(gè)工作單元不可分割,其中包含的數(shù)據(jù)庫(kù)操作要么全部都發(fā)生,要么全部都不發(fā)生。程序和事務(wù)是兩個(gè)不同的概念,程序雖然也包含一組操作,但這組操作沒(méi)有蘊(yùn)含不可分割的原子性概念,程序執(zhí)行過(guò)程中可能會(huì)出錯(cuò)或發(fā)生異常。程序一般不提ACID特性,原因在于程序通常處理的是內(nèi)存數(shù)據(jù)結(jié)構(gòu),其數(shù)據(jù)一致性體現(xiàn)在程序代碼邏輯中。如果需要保證非易失性數(shù)據(jù)的ACID特性,則程序中可以包含一個(gè)或多個(gè)事務(wù),通過(guò)事務(wù)來(lái)處理ACID特性。6.2什么是日志文件?為什么要使用日志文件?登記日志文件時(shí)為什么必須先寫日志文件,后寫數(shù)據(jù)庫(kù)?日志文件能否和數(shù)據(jù)庫(kù)存儲(chǔ)在一起,為什么?答:日志文件是用來(lái)記錄對(duì)數(shù)據(jù)庫(kù)每一次更新活動(dòng)的文件。使用日志文件,在系統(tǒng)發(fā)生故障時(shí)根據(jù)日志文件中的記錄可以將數(shù)據(jù)庫(kù)恢復(fù)到數(shù)據(jù)庫(kù)事務(wù)執(zhí)行之前的狀態(tài),也可以重新執(zhí)行一個(gè)事務(wù),保證數(shù)據(jù)庫(kù)處于一個(gè)一致的狀態(tài)。登記日志文件時(shí)必須先寫日志文件,后寫數(shù)據(jù)庫(kù)。原因是事務(wù)執(zhí)行過(guò)程中可能發(fā)生故障數(shù)據(jù)庫(kù)一致性遭到破壞,此時(shí)需要通過(guò)日志文件進(jìn)行恢復(fù)。日志文件必須和數(shù)據(jù)庫(kù)存儲(chǔ)在不同的磁盤上,避免磁盤損壞導(dǎo)致數(shù)據(jù)庫(kù)和日志文件都遭到破壞,數(shù)據(jù)庫(kù)無(wú)法恢復(fù)。6.3數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中常見(jiàn)的故障有哪幾類?試述對(duì)各類故障的恢復(fù)策略。答:數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中常見(jiàn)的故障有:事務(wù)故障、系統(tǒng)故障、介質(zhì)故障。事務(wù)故障是在事務(wù)執(zhí)行過(guò)程中發(fā)生的故障,事務(wù)故障一定在事務(wù)提交前發(fā)生,這時(shí)應(yīng)撤消(Undo)該事務(wù)對(duì)數(shù)據(jù)庫(kù)一切更新,是由系統(tǒng)自動(dòng)完成的,對(duì)用戶透明。系統(tǒng)故障是指造成系統(tǒng)停止運(yùn)轉(zhuǎn)并要求系統(tǒng)重新啟動(dòng)的事件。系統(tǒng)故障會(huì)使內(nèi)存數(shù)據(jù)丟失,這樣會(huì)使已提交的事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新還留在工作區(qū)而未寫入數(shù)據(jù)庫(kù),所以,對(duì)所有已提交的事務(wù)需要重做,而對(duì)未提交的事務(wù)必須撤消所有對(duì)數(shù)據(jù)庫(kù)的更新?;謴?fù)是由系統(tǒng)在重新啟動(dòng)時(shí)自動(dòng)完成的,不須用戶的干預(yù)。介質(zhì)故障是指外存故障,如磁盤損壞、磁頭碰撞、瞬時(shí)強(qiáng)磁場(chǎng)干擾等,這類故障將使數(shù)據(jù)庫(kù)受到破環(huán)。發(fā)生介質(zhì)故障后,磁盤上的數(shù)據(jù)都可能被破壞。這時(shí),恢復(fù)的方法是重裝數(shù)據(jù)庫(kù),然后重做已經(jīng)完成的事務(wù)。6.4什么是檢查點(diǎn)?設(shè)置檢查點(diǎn)有什么作用?設(shè)置檢查點(diǎn)時(shí)系統(tǒng)將做什么動(dòng)作?答:檢查點(diǎn)是一個(gè)數(shù)據(jù)庫(kù)事件,DBMS按一定的間隔在日志文件中設(shè)置一個(gè)檢查點(diǎn)。采用檢查點(diǎn)技術(shù),在系統(tǒng)故障恢復(fù)時(shí),記入重做隊(duì)列的事務(wù),只是從最近一個(gè)檢查點(diǎn)之后到發(fā)生故障時(shí)已提交的事務(wù),這樣可以大大減少重做的工作量。檢查點(diǎn)發(fā)生時(shí)要暫停事務(wù)執(zhí)行,將上一個(gè)檢查點(diǎn)之后已提交事務(wù)留在內(nèi)存工作區(qū)所有更新的數(shù)據(jù)寫入數(shù)據(jù)庫(kù),并在日志文件中寫入一個(gè)檢查點(diǎn)記錄。6.5給予下述問(wèn)題的簡(jiǎn)要回答。什么是并發(fā)?答:多個(gè)事務(wù)在時(shí)間上交叉執(zhí)行并發(fā)地存取數(shù)據(jù)庫(kù),這種執(zhí)行方式稱為并發(fā)存取。并發(fā)操作會(huì)引起什么問(wèn)題?答:丟失修改(更新)、不可重復(fù)讀、讀“臟”數(shù)據(jù)。什么是丟失更新?答:當(dāng)兩個(gè)事務(wù)T1和T2先后對(duì)同一數(shù)據(jù)對(duì)象A進(jìn)行修改并寫入數(shù)據(jù)庫(kù),后寫入的結(jié)果會(huì)覆蓋掉先寫入的結(jié)果,導(dǎo)致先寫入的事務(wù)修改結(jié)果丟失了,即丟失修改問(wèn)題。什么是讀臟數(shù)據(jù)?答:讀“臟”數(shù)據(jù),簡(jiǎn)稱臟讀,是指一個(gè)事務(wù)讀取了另一個(gè)未提交的事務(wù)中的數(shù)據(jù)。什么是讀值不可復(fù)現(xiàn)?答:一個(gè)事務(wù)沒(méi)有執(zhí)行任何更新操作,但同一個(gè)查詢操作執(zhí)行兩次或多次,結(jié)果不一致,就說(shuō)明產(chǎn)生了不可重復(fù)讀的現(xiàn)象,即讀值不可復(fù)現(xiàn)。什么樣的并發(fā)操作是正確的?答:當(dāng)一個(gè)事務(wù)集的并發(fā)調(diào)度與它的某一串行調(diào)度是等價(jià)的,則稱該并發(fā)調(diào)度是可串行化的。可串行化調(diào)度的結(jié)果保持?jǐn)?shù)據(jù)庫(kù)的一致性,是正確的。串行調(diào)度和可串行化調(diào)度有什么區(qū)別?答:一個(gè)調(diào)度中各個(gè)事務(wù)沒(méi)有交叉執(zhí)行而是串行執(zhí)行,則該調(diào)度稱為串行調(diào)度。當(dāng)一個(gè)事務(wù)集的并發(fā)調(diào)度與其某一串行調(diào)度等價(jià),則稱該并發(fā)調(diào)度是可串行化調(diào)度。6.6有兩個(gè)事務(wù):T1:lock(A),lock(B),unlock(A),unlock(B)T2:lock(B),unlock(B),lock(A),unlock(A)它們有多少種調(diào)度方式?其中有多少種是可串行化的?答:本題中,合法調(diào)度要求保持事務(wù)內(nèi)部操作的先后次序,且滿足加鎖約束:事務(wù)在數(shù)據(jù)對(duì)象R上加鎖則其他事務(wù)不允許在R上加鎖。根據(jù)要求可以枚舉出11種合法的調(diào)度方式,其中包含兩種串行調(diào)度,其余9種并發(fā)調(diào)度都不是可串行化調(diào)度。6.7什么是兩段鎖協(xié)議?什么是嚴(yán)格的2PL協(xié)議?如何實(shí)現(xiàn)2PL協(xié)議?答:兩段鎖協(xié)議(簡(jiǎn)稱2PL協(xié)議),是一種能夠?qū)崿F(xiàn)并發(fā)調(diào)度可串行化的封鎖協(xié)議。兩段鎖協(xié)議規(guī)定:(1)在任何數(shù)據(jù)對(duì)象進(jìn)行讀、寫操作之前,事務(wù)要獲得對(duì)數(shù)據(jù)對(duì)象的加鎖;(2)在釋放任意一個(gè)鎖之后,事務(wù)不再允許獲得任何其他加鎖。把所有鎖都放在事務(wù)結(jié)束時(shí)釋放的兩段鎖協(xié)議稱為嚴(yán)格的2PL協(xié)議。在實(shí)現(xiàn)中,兩段鎖協(xié)議把事務(wù)的加鎖過(guò)程分成擴(kuò)展和收縮階段,其中擴(kuò)展階段逐步增加鎖,收縮階段逐步釋放鎖。6.8什么叫活鎖?如何防止活鎖?答:系統(tǒng)可能使某個(gè)事務(wù)永遠(yuǎn)處于等待狀態(tài),得不到封鎖的機(jī)會(huì),這種現(xiàn)象稱為系統(tǒng)進(jìn)入了活鎖。采用先來(lái)先服務(wù)的策略可以防止活鎖。6.9什么叫死鎖?如何預(yù)防和處理死鎖?答:如果系統(tǒng)中有兩個(gè)或兩個(gè)以上的事務(wù)都處于等待狀態(tài),并且每個(gè)事務(wù)都在等待其中另一個(gè)事務(wù)解除封鎖,它才能夠繼續(xù)執(zhí)行下去,結(jié)果造成任何一個(gè)事務(wù)都無(wú)法繼續(xù)執(zhí)行,這種現(xiàn)象稱為系統(tǒng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024高考化學(xué)一輪復(fù)習(xí)第一部分考點(diǎn)18化學(xué)能和熱能強(qiáng)化訓(xùn)練含解析
- 2024高考化學(xué)一輪復(fù)習(xí)解題指導(dǎo)8物質(zhì)結(jié)構(gòu)與性質(zhì)的命題分析規(guī)范演練含解析新人教版
- 2024高考?xì)v史一輪復(fù)習(xí)方案專題四世界政治制度的演變與發(fā)展第10講英國(guó)代議制和美國(guó)1787年憲法教學(xué)案+練習(xí)人民版
- 2024高考地理一輪復(fù)習(xí)第二十單元中國(guó)地理考法精練含解析
- 紅外熱像技術(shù)檢測(cè)墻體保溫
- 2024年渤海石油職業(yè)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 技術(shù)質(zhì)量部年終工作總結(jié)
- 第一課1法律的基本特征教材課程
- 二零二五年度貨運(yùn)合同標(biāo)的貨物運(yùn)輸與保險(xiǎn)責(zé)任詳細(xì)條款2篇
- 2024年陜西省核工業(yè)二一五醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 青島版二年級(jí)下冊(cè)數(shù)學(xué)三位數(shù)退位減法豎式計(jì)算題200道及答案
- 基礎(chǔ)plc自學(xué)入門單選題100道及答案解析
- 2023年航天器熱控系統(tǒng)行業(yè)分析報(bào)告及未來(lái)五至十年行業(yè)發(fā)展報(bào)告
- 2024新一代變電站集中監(jiān)控系統(tǒng)系列規(guī)范第1部分:總則
- 關(guān)于提升高寒缺氧氣候條件下隊(duì)伍綜合救援水平的思考
- 2024年四川省成都市錦江區(qū)中考數(shù)學(xué)一診試卷(附答案解析)
- 小學(xué)生中醫(yī)藥文化知識(shí)科普傳承中醫(yī)文化弘揚(yáng)國(guó)粹精神課件
- ASME材料-設(shè)計(jì)許用應(yīng)力
- 吸痰護(hù)理操作
- 室內(nèi)燈光設(shè)計(jì)總結(jié)報(bào)告
- 子宮動(dòng)脈栓塞術(shù)后的護(hù)理
評(píng)論
0/150
提交評(píng)論