版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄第一章緒論 (1)第二章關(guān)系數(shù)據(jù)庫(kù) (20)第三章關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL (36)第四章數(shù)據(jù)庫(kù)安全性 (60)第五章數(shù)據(jù)庫(kù)完整性 (70)第六章關(guān)系數(shù)據(jù)理論 (78)第七章數(shù)據(jù)庫(kù)設(shè)計(jì) (98)第九章關(guān)系查詢(xún)處理和查詢(xún)優(yōu)化 (122)第十章數(shù)據(jù)庫(kù)恢復(fù)技術(shù) (131)第十一章并發(fā)控制 (141)第十二章現(xiàn)代數(shù)據(jù)庫(kù) (155)第一章緒論第1講數(shù)據(jù)庫(kù)系統(tǒng)概述第一部分知識(shí)點(diǎn)回顧·數(shù)據(jù)(Data)ase·數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)·數(shù)據(jù)庫(kù)系統(tǒng)(DBS)數(shù)據(jù)(Data)是數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象數(shù)據(jù)的定義:描述事物的符號(hào)記錄數(shù)據(jù)的特點(diǎn):數(shù)據(jù)的含義稱(chēng)為數(shù)據(jù)的語(yǔ)義,數(shù)據(jù)與其語(yǔ)義是不可分的的集合。數(shù)據(jù)庫(kù)的基本特征:·數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存·可為各種用戶(hù)共享·冗余度較小·數(shù)據(jù)獨(dú)立性較高·易擴(kuò)展DBMS于用戶(hù)與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件;是基礎(chǔ)軟件,是一個(gè)大型復(fù)雜的軟件系統(tǒng)·數(shù)據(jù)定義功能—2—提供數(shù)據(jù)定義語(yǔ)言(DDL)定義數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象·數(shù)據(jù)組織、存儲(chǔ)和管理分類(lèi)組織、存儲(chǔ)和管理各種數(shù)據(jù)確定組織數(shù)據(jù)的文件結(jié)構(gòu)和存取方式實(shí)現(xiàn)數(shù)據(jù)之間的聯(lián)系提供多種存取方法提高存取效率·數(shù)據(jù)操縱功能提供數(shù)據(jù)操縱語(yǔ)言(DML)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的基本操作(查詢(xún)、插入、刪除和修改)·數(shù)據(jù)庫(kù)的事務(wù)管理和運(yùn)行管理數(shù)據(jù)庫(kù)在建立、運(yùn)行和維護(hù)時(shí)由DBMS統(tǒng)一管理和控制保證數(shù)據(jù)的安全性、完整性、多用戶(hù)對(duì)數(shù)據(jù)的并發(fā)使用發(fā)生故障后的系統(tǒng)恢復(fù)·數(shù)據(jù)庫(kù)的建立和維護(hù)功能(實(shí)用程序)數(shù)據(jù)庫(kù)初始數(shù)據(jù)裝載轉(zhuǎn)換數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ)介質(zhì)故障恢復(fù)數(shù)據(jù)庫(kù)的重組織性能監(jiān)視分析等·其它功能DBMS與網(wǎng)絡(luò)中其它軟件系統(tǒng)的通信兩個(gè)DBMS系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換異構(gòu)數(shù)據(jù)庫(kù)之間的互訪和互操作數(shù)據(jù)管理:·數(shù)據(jù)處理的中心問(wèn)題數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程:·人工管理階段(20世紀(jì)40年代中—50年代中)·文件系統(tǒng)階段(20世紀(jì)50年代末—60年代中)·數(shù)據(jù)庫(kù)系統(tǒng)階段(20世紀(jì)60年代末—現(xiàn)在)特點(diǎn):·數(shù)據(jù)的管理者:用戶(hù)(程序員),數(shù)據(jù)不保存·數(shù)據(jù)面向的對(duì)象:某一應(yīng)用程序—3—·數(shù)據(jù)的共享程度:無(wú)共享、冗余度極大·數(shù)據(jù)的獨(dú)立性:不獨(dú)立,完全依賴(lài)于程序·數(shù)據(jù)的結(jié)構(gòu)化:無(wú)結(jié)構(gòu)·數(shù)據(jù)控制能力:應(yīng)用程序自己控制人工管理階段應(yīng)用程序與數(shù)據(jù)的對(duì)應(yīng)關(guān)系特點(diǎn):·數(shù)據(jù)的管理者:文件系統(tǒng),數(shù)據(jù)可長(zhǎng)期保存·數(shù)據(jù)面向的對(duì)象:某一應(yīng)用程序·數(shù)據(jù)的共享程度:共享性差、冗余度大·數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu),整體無(wú)結(jié)構(gòu)·數(shù)據(jù)的獨(dú)立性:獨(dú)立性差,數(shù)據(jù)的邏輯結(jié)構(gòu)改變必須修改應(yīng)用程序·數(shù)據(jù)控制能力:應(yīng)用程序自己控制文件系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)的對(duì)應(yīng)關(guān)系文件系統(tǒng)中數(shù)據(jù)的結(jié)構(gòu)·記錄內(nèi)有結(jié)構(gòu)。·數(shù)據(jù)的結(jié)構(gòu)是靠程序定義和解釋的。·數(shù)據(jù)只能是定長(zhǎng)的??梢蚤g接實(shí)現(xiàn)數(shù)據(jù)變長(zhǎng)要求,但訪問(wèn)相應(yīng)數(shù)據(jù)的應(yīng)用程序復(fù)雜了?!の募g是獨(dú)立的,因此數(shù)據(jù)整體無(wú)結(jié)構(gòu)??梢蚤g接實(shí)現(xiàn)數(shù)據(jù)整體的有結(jié)構(gòu),但必須在應(yīng)用程序中對(duì)描述數(shù)據(jù)間的聯(lián)系?!?shù)據(jù)的最小存取單位是記錄。時(shí)期:—4—·20世紀(jì)60年代末以來(lái)產(chǎn)生的背景:·應(yīng)用背景—大規(guī)模管理·硬件背景—大容量磁盤(pán)、磁盤(pán)陣列·軟件背景—有數(shù)據(jù)庫(kù)管理系統(tǒng)·處理方式—聯(lián)機(jī)實(shí)時(shí)處理,分布處理,批處理·數(shù)據(jù)結(jié)構(gòu)化:整體結(jié)構(gòu)化·數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充:從整體角度看待和描述數(shù)據(jù),數(shù)據(jù)面向整個(gè)系統(tǒng),可以被多個(gè)用戶(hù)、多個(gè)應(yīng)用共享使用?!?shù)據(jù)獨(dú)立性高:物理獨(dú)立性:當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(yīng)用程序不用改變。邏輯獨(dú)立性:數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶(hù)程序也可以不變?!?shù)據(jù)由DBMS統(tǒng)一管理和控制數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用程序與數(shù)據(jù)的對(duì)應(yīng)關(guān)系第二部分考點(diǎn)試題分析1.在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。在這幾個(gè)階段中,數(shù)據(jù)獨(dú)立性最高的是階段。2.下面列出的數(shù)據(jù)庫(kù)管理技術(shù)發(fā)展的三個(gè)階段中,沒(méi)有專(zhuān)門(mén)的軟件對(duì)數(shù)據(jù)進(jìn)行管理的是。3.?dāng)?shù)據(jù)庫(kù)的基本特點(diǎn)是。A.(1)數(shù)據(jù)可以共享(2)數(shù)據(jù)獨(dú)立性高—5— (3)數(shù)據(jù)冗余大,易移植B.(1)數(shù)據(jù)可以共享 (3)數(shù)據(jù)冗余小,易擴(kuò)充C.(1)數(shù)據(jù)可以共享 (3)數(shù)據(jù)冗余小,易擴(kuò)充D.(1)數(shù)據(jù)非結(jié)構(gòu)化 (3)數(shù)據(jù)冗余小,易擴(kuò)充 (4)統(tǒng)一管理和控制 (2)數(shù)據(jù)獨(dú)立性高 (4)統(tǒng)一管理和控制 (2)數(shù)據(jù)互換性 (4)統(tǒng)一管理和控制 (2)數(shù)據(jù)獨(dú)立性高 (4)統(tǒng)一管理和控制4.是存儲(chǔ)在計(jì)算機(jī)內(nèi)有結(jié)構(gòu)的數(shù)據(jù)的集合。A.?dāng)?shù)據(jù)庫(kù)系統(tǒng)CA.?dāng)?shù)據(jù)庫(kù)系統(tǒng)C.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)C.?dāng)?shù)據(jù)以及數(shù)據(jù)之間的聯(lián)系6.?dāng)?shù)據(jù)庫(kù)中,數(shù)據(jù)的物理獨(dú)立性是指。A.?dāng)?shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng)的相互獨(dú)立B.用戶(hù)程序與DBMS的相互獨(dú)立C.用戶(hù)的應(yīng)用程序與存儲(chǔ)在磁盤(pán)上數(shù)據(jù)庫(kù)中的數(shù)據(jù)是相互獨(dú)立的D.應(yīng)用程序與數(shù)據(jù)庫(kù)中數(shù)據(jù)的邏輯結(jié)構(gòu)相互獨(dú)立7.?dāng)?shù)據(jù)庫(kù)的特點(diǎn)之一是數(shù)據(jù)的共享,嚴(yán)格地講,這里的數(shù)據(jù)共享是指。A.同一個(gè)應(yīng)用中的多個(gè)程序共享一個(gè)數(shù)據(jù)集合B.多個(gè)用戶(hù)、同一種語(yǔ)言共享數(shù)據(jù)C.多個(gè)用戶(hù)共享一個(gè)數(shù)據(jù)文件D.多種應(yīng)用、多種語(yǔ)言、多個(gè)用戶(hù)相互覆蓋地使用數(shù)據(jù)集合8C.?dāng)?shù)據(jù)模型9.下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的正確敘述是。A.?dāng)?shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余B.?dāng)?shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余C.?dāng)?shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類(lèi)型一致D.?dāng)?shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)10.?dāng)?shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)是、數(shù)據(jù)獨(dú)立、減少數(shù)據(jù)冗余、避免數(shù)據(jù)不一致和加強(qiáng)了數(shù)據(jù)保護(hù)。護(hù)A.?dāng)?shù)據(jù)共享B.?dāng)?shù)據(jù)存儲(chǔ)C.?dāng)?shù)據(jù)應(yīng)用D.?dāng)?shù)據(jù)保密11.據(jù)庫(kù)系統(tǒng)的最大特點(diǎn)是。A.?dāng)?shù)據(jù)的三級(jí)抽象和二級(jí)獨(dú)立性B.?dāng)?shù)據(jù)共享性—6—C.?dāng)?shù)據(jù)的結(jié)構(gòu)12.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的查詢(xún)、插入、修改和刪除等操作,這種功能稱(chēng)為 。A.?dāng)?shù)據(jù)定義功能C.?dāng)?shù)據(jù)操縱功能13.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)是。A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯程序D.一種操作系統(tǒng)和三個(gè)階段。3.DBMS是指,它是位于和之間的一層管理軟件。件的運(yùn)行管理和數(shù)據(jù)庫(kù)的建立以及維護(hù)等4個(gè)方面。5.?dāng)?shù)據(jù)獨(dú)立性又可分為和。6.當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(yīng)用程序不變,而由DBMS處理這種改變,這是指數(shù)據(jù)的 。2.什么是數(shù)據(jù)庫(kù)的數(shù)據(jù)獨(dú)立性?3.什么是數(shù)據(jù)字典?數(shù)據(jù)字典包含哪些基本內(nèi)容?第2講數(shù)據(jù)模型第一部分知識(shí)點(diǎn)回顧數(shù)據(jù)模型·在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型這個(gè)工具來(lái)抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息?!ねㄋ椎刂v數(shù)據(jù)模型就是現(xiàn)實(shí)世界的模擬?!?shù)據(jù)模型應(yīng)滿(mǎn)足三方面要求能比較真實(shí)地模擬現(xiàn)實(shí)世界容易為人所理解—7—便于在計(jì)算機(jī)上實(shí)現(xiàn)數(shù)據(jù)模型分為兩類(lèi)(分屬兩個(gè)不同的層次) (1)概念模型,也稱(chēng)信息模型,它是按用戶(hù)的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模,用于數(shù)據(jù)庫(kù)設(shè)計(jì)。 (2)邏輯模型和物理模型·邏輯模型主要包括網(wǎng)狀模型、層次模型、關(guān)系模型、面向?qū)ο竽P偷龋从?jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)·物理模型是對(duì)數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤(pán)或磁帶上的存儲(chǔ)方式和存取方法?!?shù)據(jù)結(jié)構(gòu)(描述數(shù)據(jù)庫(kù)的組成對(duì)象,以及對(duì)象之間的聯(lián)系)·數(shù)據(jù)操作(對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作及有關(guān)的操作規(guī)則)·完整性約束條件(給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲(chǔ)存規(guī)則,用以限定符合數(shù))·信息世界中的基本概念·兩個(gè)實(shí)體型之間的聯(lián)系·兩個(gè)以上實(shí)體型之間的聯(lián)系·單個(gè)實(shí)體型內(nèi)的聯(lián)系·概念模型的一種表示方法·一個(gè)實(shí)例 (1)實(shí)體(Entity)客觀存在并可相互區(qū)別的事物稱(chēng)為實(shí)體。 (2)屬性(Attribute)實(shí)體所具有的某一特性稱(chēng)為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來(lái)刻畫(huà)。 (3)碼(Key)唯一標(biāo)識(shí)實(shí)體的屬性集稱(chēng)為碼。 (4)域(Domain)屬性的取值范圍稱(chēng)為該屬性的域。 (5)實(shí)體型(EntityType)用實(shí)體名及其屬性名集合來(lái)抽象和刻畫(huà)同類(lèi)實(shí)體稱(chēng)為實(shí)體型 (6)實(shí)體集(EntitySet)同一類(lèi)型實(shí)體的集合稱(chēng)為實(shí)體集 聯(lián)系(Relationship)現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系用圖形來(lái)表示兩個(gè)實(shí)體型之間的這三類(lèi)聯(lián)系·兩個(gè)以上實(shí)體型之間一對(duì)多聯(lián)系的。的·實(shí)例實(shí)體型,一門(mén)課程可以有若干個(gè)教師講授,使用若干本參考書(shū),每一個(gè)教考書(shū)只供一門(mén)課程使用·一對(duì)多聯(lián)系—9—實(shí)例職工實(shí)體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系,某一職工(干部)“領(lǐng)導(dǎo)”若干名職工,一個(gè)職工僅被另外一個(gè)職工直接領(lǐng)導(dǎo),這是一對(duì)多的聯(lián)系·實(shí)體-聯(lián)系方法(E-R方法)用E-R圖來(lái)描述現(xiàn)實(shí)世界的概念模型一個(gè)實(shí)例·非關(guān)系模型·關(guān)系模型(RelationalModel)l·在用戶(hù)觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。學(xué)生登記表學(xué)號(hào)姓名年齡性別系名年級(jí)王小明女社會(huì)學(xué)黃大鵬男商品學(xué)張文斌女法律………………·關(guān)系(Relation)一個(gè)關(guān)系對(duì)應(yīng)通常說(shuō)的一張表·元組(Tuple)表中的一行即為一個(gè)元組·屬性(Attribute)表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱(chēng)即屬性名·主碼(Key)表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組?!び?Domain)屬性的取值范圍?!し至吭M中的一個(gè)屬性值。·關(guān)系模式對(duì)關(guān)系的描述·關(guān)系必須是規(guī)范化的,滿(mǎn)足一定的規(guī)范條件最基本的規(guī)范條件:關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng),不允許表中還有表項(xiàng),不符合關(guān)系模型要求職工號(hào)姓名職稱(chēng)工資扣除實(shí)發(fā)基本津貼職務(wù)房租水電陳平講師圖1.27一個(gè)工資表(表中有表)實(shí)例關(guān)系術(shù)語(yǔ)一般表格的術(shù)語(yǔ)關(guān)系名表名關(guān)系模式表頭(表格的描述)關(guān)系 (一張)二維表元組記錄或行屬性列屬性名列名屬性值列值分量一條記錄中的一個(gè)列值非規(guī)范關(guān)系表中有表(大表中嵌有小表)整性約束·數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系,即若干元組的集合查詢(xún)插入刪除更新·關(guān)系的完整性約束條件實(shí)體完整性參照完整性用戶(hù)定義的完整性·實(shí)體及實(shí)體間的聯(lián)系都用表來(lái)表示·表以文件形式存儲(chǔ)有的DBMS一個(gè)表對(duì)應(yīng)一個(gè)操作系統(tǒng)文件有的DBMS自己設(shè)計(jì)文件結(jié)構(gòu)·優(yōu)點(diǎn)建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上概念單一實(shí)體和各類(lèi)聯(lián)系都用關(guān)系來(lái)表示對(duì)數(shù)據(jù)的檢索結(jié)果也是關(guān)系關(guān)系模型的存取路徑對(duì)用戶(hù)透明具有更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性簡(jiǎn)化了程序員的工作和數(shù)據(jù)庫(kù)開(kāi)發(fā)建立的工作·缺點(diǎn)存取路徑對(duì)用戶(hù)透明導(dǎo)致查詢(xún)效率往往不如非關(guān)系數(shù)據(jù)模型詢(xún)請(qǐng)求進(jìn)行優(yōu)化,增加了開(kāi)發(fā)DBMS的難度第二部分考點(diǎn)試題解析1.信息世界中的術(shù)語(yǔ),與之對(duì)應(yīng)的數(shù)據(jù)庫(kù)術(shù)語(yǔ)為。A.文件B.?dāng)?shù)據(jù)庫(kù)C.字段D.記錄2.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)劃分原則是。C.C.聯(lián)系的復(fù)雜程度D.?dāng)?shù)據(jù)之間的聯(lián)系3.傳統(tǒng)的數(shù)據(jù)模型分類(lèi),數(shù)據(jù)庫(kù)系統(tǒng)可以分為三種類(lèi)型。5.?dāng)?shù)據(jù)庫(kù)技術(shù)的奠基人之一E.F.Codd從1970年起發(fā)表過(guò)多篇論文,主要論述的是。D.面向?qū)ο髷?shù)據(jù)模型6.在數(shù)據(jù)庫(kù)中,產(chǎn)生數(shù)據(jù)不一致的根本原因是。A.?dāng)?shù)據(jù)存儲(chǔ)量太大A.?dāng)?shù)據(jù)存儲(chǔ)量太大C.未對(duì)數(shù)據(jù)進(jìn)行完整性控制7.?dāng)?shù)據(jù)庫(kù)的概念模型獨(dú)立于。A.具體的機(jī)器和DBMSB.E-R圖C.信息世界D.現(xiàn)實(shí)世界8.描述數(shù)據(jù)庫(kù)全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特性的是。A.模式B.內(nèi)模式C.外模式D.用戶(hù)模式9.要保證數(shù)據(jù)庫(kù)的數(shù)據(jù)獨(dú)立性,需要修改的是。A.模式與外模式CA.模式與外模式C.三層之間的兩種映射D.三層模式10.用戶(hù)或應(yīng)用程序看到的那部分局部邏輯結(jié)構(gòu)和特征的描述是,它是模式的邏輯子集。ABCD.內(nèi)模式、和三部分組成的。是對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的動(dòng)態(tài)特性的描述。3.?dāng)?shù)據(jù)庫(kù)體系結(jié)構(gòu)按照、和三級(jí)結(jié)構(gòu)進(jìn)行組織。5.?dāng)?shù)據(jù)冗余可能導(dǎo)致的問(wèn)題有和。1.使用數(shù)據(jù)庫(kù)系統(tǒng)有什么好處?2.試述文件系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)的區(qū)別和聯(lián)系。3.試述數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)。4.試述數(shù)據(jù)模型的概念、數(shù)據(jù)模型的作用和數(shù)據(jù)模型的三個(gè)要素。5.試述概念模型的作用。6.試給出三個(gè)實(shí)際部門(mén)的E-R圖,要求實(shí)體型之間具有一對(duì)一,一對(duì)多,多對(duì)多各種不同的聯(lián)系。系第3講數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)及組成第一部分知識(shí)點(diǎn)回顧·從數(shù)據(jù)庫(kù)管理系統(tǒng)角度看,數(shù)據(jù)庫(kù)系統(tǒng)通常采用三級(jí)模式結(jié)構(gòu),是數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部的系統(tǒng)結(jié)構(gòu)·從數(shù)據(jù)庫(kù)最終用戶(hù)角度看(數(shù)據(jù)庫(kù)系統(tǒng)外部的體系結(jié)構(gòu)),數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)分為:?jiǎn)斡脩?hù)結(jié)構(gòu)主從式結(jié)構(gòu)分布式結(jié)構(gòu)多層結(jié)構(gòu)等型(Type):對(duì)某一類(lèi)數(shù)據(jù)的結(jié)構(gòu)和屬性的說(shuō)明例如:ma數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)和特征的描述是型的描述反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系模式是相對(duì)穩(wěn)定的·實(shí)例(Instance)模式的一個(gè)具體值反映數(shù)據(jù)庫(kù)某一時(shí)刻的狀態(tài)同一個(gè)模式可以有很多實(shí)例實(shí)例隨數(shù)據(jù)庫(kù)中的數(shù)據(jù)的更新而變動(dòng)1.28數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)·模式(也稱(chēng)邏輯模式)數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述所有用戶(hù)的公共數(shù)據(jù)視圖,綜合了所有用戶(hù)的需求·一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)模式·模式的地位:是數(shù)據(jù)庫(kù)系統(tǒng)模式結(jié)構(gòu)的中間層與數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境無(wú)關(guān)與具體的應(yīng)用程序、開(kāi)發(fā)工具及高級(jí)程序設(shè)計(jì)語(yǔ)言無(wú)關(guān)·模式的定義數(shù)據(jù)的邏輯結(jié)構(gòu)(數(shù)據(jù)項(xiàng)的名字、類(lèi)型、取值范圍等)數(shù)據(jù)之間的聯(lián)系數(shù)據(jù)有關(guān)的安全性、完整性要求·外模式(也稱(chēng)子模式或用戶(hù)模式)數(shù)據(jù)庫(kù)用戶(hù)(包括應(yīng)用程序員和最終用戶(hù))使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述數(shù)據(jù)庫(kù)用戶(hù)的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示·外模式的地位:介于模式與應(yīng)用之間模式與外模式的關(guān)系:一對(duì)多外模式通常是模式的子集一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式。反映了不同的用戶(hù)的應(yīng)用需求、看待數(shù)據(jù)的方式、對(duì)數(shù)據(jù)保密的要求·外模式與應(yīng)用的關(guān)系:一對(duì)多同一外模式也可以為某一用戶(hù)的多個(gè)應(yīng)用系統(tǒng)所使用但一個(gè)應(yīng)用程序只能使用一個(gè)外模式·外模式的用途保證數(shù)據(jù)庫(kù)安全性的一個(gè)有力措施每個(gè)用戶(hù)只能看見(jiàn)和訪問(wèn)所對(duì)應(yīng)的外模式中的數(shù)據(jù)·內(nèi)模式(也稱(chēng)存儲(chǔ)模式)是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式記錄的存儲(chǔ)方式(順序存儲(chǔ),按照B樹(shù)結(jié)構(gòu)存儲(chǔ),按hash方法存儲(chǔ))索引的組織方式數(shù)據(jù)是否壓縮存儲(chǔ)數(shù)據(jù)是否加密數(shù)據(jù)存儲(chǔ)記錄結(jié)構(gòu)的規(guī)定·一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式例如:學(xué)生記錄,如果按堆存儲(chǔ),則插入一條新記錄總是放在學(xué)生記錄存儲(chǔ)的最后,如下圖所示:·如果按學(xué)號(hào)升序存儲(chǔ),則插入一條記錄就要找到它應(yīng)在的位置插入。如圖(b)所示·如果按照學(xué)生年齡聚簇存放,假如新插入的S3是16歲,則應(yīng)插入的位置。如圖(c)所示·三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別·二級(jí)映象在DBMS內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換·模式:描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)·外模式:描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)·同一個(gè)模式可以有任意多個(gè)外模式·每一個(gè)外模式,數(shù)據(jù)庫(kù)系統(tǒng)都有一個(gè)外模式/模式映象,定義外模式與模式之間的對(duì)應(yīng)關(guān)系·映象定義通常包含在各自外模式的描述中保證數(shù)據(jù)的邏輯獨(dú)立性·當(dāng)模式改變時(shí),數(shù)據(jù)庫(kù)管理員修改有關(guān)的外模式/模式映象,使外模式保持不變·應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫(xiě)的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡(jiǎn)稱(chēng)數(shù)據(jù)的邏輯獨(dú)立性。·模式/內(nèi)模式映象定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。例如,說(shuō)明邏輯記錄和字段在內(nèi)部是如何表示的·數(shù)據(jù)庫(kù)中模式/內(nèi)模式映象是唯一的·該映象定義通常包含在模式描述中保證數(shù)據(jù)的物理獨(dú)立性·當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)改變了(例如選用了另一種存儲(chǔ)結(jié)構(gòu)),數(shù)據(jù)庫(kù)管理員修改模式/內(nèi)模式映·應(yīng)用程序不受影響。保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡(jiǎn)稱(chēng)數(shù)據(jù)的物理獨(dú)立性。1.28數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)·數(shù)據(jù)庫(kù)·數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)·應(yīng)用系統(tǒng)·數(shù)據(jù)庫(kù)管理員·硬件平臺(tái)及數(shù)據(jù)庫(kù)·軟件·人員具體職責(zé): (1)決定數(shù)據(jù)庫(kù)中的信息內(nèi)容和結(jié)構(gòu) (2)決定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)和存取策略 (3)定義數(shù)據(jù)的安全性要求和完整性約束條件 (4)監(jiān)控?cái)?shù)據(jù)庫(kù)的使用和運(yùn)行·周期性轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù)(數(shù)據(jù)文件,日志文件)·系統(tǒng)故障恢復(fù);介質(zhì)故障恢復(fù)·監(jiān)視審計(jì)文件 (5)數(shù)據(jù)庫(kù)的改進(jìn)和重組·性能監(jiān)控和調(diào)優(yōu)·定期對(duì)數(shù)據(jù)庫(kù)進(jìn)行重組織,以提高系統(tǒng)的性能·需求增加和改變時(shí),數(shù)據(jù)庫(kù)須需要重構(gòu)造·系統(tǒng)分析員負(fù)責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)范說(shuō)明與用戶(hù)及DBA協(xié)商,確定系統(tǒng)的硬軟件配置參與數(shù)據(jù)庫(kù)系統(tǒng)的概要設(shè)計(jì)·數(shù)據(jù)庫(kù)設(shè)計(jì)人員參加用戶(hù)需求調(diào)查和系統(tǒng)分析確定數(shù)據(jù)庫(kù)中的數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)庫(kù)各級(jí)模式·應(yīng)用程序員設(shè)計(jì)和編寫(xiě)應(yīng)用系統(tǒng)的程序模塊進(jìn)行調(diào)試和安裝·用戶(hù)用戶(hù)是指最終用戶(hù)(EndUser)。最終用戶(hù)通過(guò)應(yīng)用系統(tǒng)的用戶(hù)接口使用數(shù)據(jù)庫(kù)。 (1)偶然用戶(hù):不經(jīng)常訪問(wèn)數(shù)據(jù)庫(kù),但每次訪問(wèn)數(shù)據(jù)庫(kù)時(shí)往往需要不同的數(shù)據(jù)庫(kù)信息,例如企業(yè)或組織機(jī)構(gòu)的高中級(jí)管理人員; (2)簡(jiǎn)單用戶(hù):主要工作是查詢(xún)和更新數(shù)據(jù)庫(kù),例如銀行的職員、機(jī)票預(yù)定人員、旅館總臺(tái)服務(wù)員; (3)復(fù)雜用戶(hù):直接使用數(shù)據(jù)庫(kù)語(yǔ)言訪問(wèn)數(shù)據(jù)庫(kù),甚至能夠基于數(shù)據(jù)庫(kù)管理系統(tǒng)的API編制自己·數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)的基本概念數(shù)據(jù)管理的發(fā)展過(guò)程·數(shù)據(jù)模型數(shù)據(jù)模型的三要素三種主要數(shù)據(jù)庫(kù)模型·數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)兩層映像系統(tǒng)結(jié)構(gòu)·數(shù)據(jù)庫(kù)系統(tǒng)的組成第二部分考點(diǎn)例題解析1.下述不是DBA數(shù)據(jù)庫(kù)管理員的職責(zé)。B.定義數(shù)據(jù)庫(kù)模式B.定義數(shù)據(jù)庫(kù)模式D.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì)C2.?dāng)?shù)據(jù)庫(kù)(DB),數(shù)據(jù)庫(kù)系統(tǒng)(DBS)和數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)之間的關(guān)系是。3.DBS是采用了數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)系統(tǒng),它是一個(gè)集合體,包含數(shù)據(jù)庫(kù)、計(jì)算機(jī)硬件、軟件和 。D.操作員4.?dāng)?shù)將數(shù)據(jù)庫(kù)的結(jié)構(gòu)劃分成多個(gè)層次,是為了提高數(shù)據(jù)庫(kù)的①和②。①A.?dāng)?shù)據(jù)獨(dú)立性B.邏輯獨(dú)立性C.管理規(guī)范性D.?dāng)?shù)據(jù)的共享②A.?dāng)?shù)據(jù)獨(dú)立性B.物理獨(dú)立性C.邏輯獨(dú)立性D.管理規(guī)范性5.?dāng)?shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)中,描述數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特征的是。A.外模式B.內(nèi)模式C.存儲(chǔ)模式D.模式6.?dāng)?shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)獨(dú)立性是指。A.不會(huì)因?yàn)閿?shù)據(jù)的變化而影響應(yīng)用程序B.不會(huì)因?yàn)橄到y(tǒng)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)邏輯結(jié)構(gòu)的變化而影響應(yīng)用程序C.不會(huì)因?yàn)榇鎯?chǔ)策略的變化而影響存儲(chǔ)結(jié)構(gòu)D.不會(huì)因?yàn)槟承┐鎯?chǔ)結(jié)構(gòu)的變化而影響其他的存儲(chǔ)結(jié)構(gòu)據(jù)組織存儲(chǔ)和管理、數(shù)據(jù)庫(kù)運(yùn)行管理和事物管理、數(shù)據(jù)庫(kù)的建立和維護(hù)功能。2.?dāng)?shù)據(jù)庫(kù)系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng),一般由數(shù)據(jù)庫(kù)、、 和數(shù)據(jù)庫(kù)管理員構(gòu)成。3.模型是目前最常用也是最重要的一種數(shù)據(jù)模型。采用該模型作為數(shù)據(jù)的組織方式的數(shù)據(jù)庫(kù)系統(tǒng)稱(chēng)為。4.?dāng)?shù)據(jù)冗余可能導(dǎo)致的問(wèn)題有和。1.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)的主要功能有哪些?據(jù)庫(kù)管理系統(tǒng)?—20—第二章關(guān)系數(shù)據(jù)庫(kù)第1講關(guān)系模型三要素第一部分知識(shí)點(diǎn)回顧系數(shù)據(jù)結(jié)構(gòu)及形式化定義 (1)域:域是一組具有相同數(shù)據(jù)類(lèi)型的值的集合。 所有域的所有取值的一個(gè)組合不能重復(fù)·張清玫、計(jì)算機(jī)專(zhuān)業(yè)、李勇等都是分量n笛卡爾積的表示方法·笛卡爾積可表示為一個(gè)二維表·表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(yīng)一個(gè)域張清玫計(jì)算機(jī)專(zhuān)業(yè)李勇張清玫計(jì)算機(jī)專(zhuān)業(yè)劉晨張清玫計(jì)算機(jī)專(zhuān)業(yè)王敏—21—續(xù)表張清玫信息專(zhuān)業(yè)李勇張清玫信息專(zhuān)業(yè)劉晨張清玫信息專(zhuān)業(yè)王敏劉逸計(jì)算機(jī)專(zhuān)業(yè)李男劉逸計(jì)算機(jī)專(zhuān)業(yè)劉晨劉逸計(jì)算機(jī)專(zhuān)業(yè)王敏劉逸信息專(zhuān)業(yè)李男劉逸信息專(zhuān)業(yè)劉晨劉逸信息專(zhuān)業(yè)王敏1)關(guān)系其中:2)元組關(guān)系中的每個(gè)元素是關(guān)系中的元組,通常用t表示。3)單元關(guān)系與二元關(guān)系4)關(guān)系的表示關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域5)屬性關(guān)系中不同列可以對(duì)應(yīng)相同的域起一個(gè)名字,稱(chēng)為屬性n目關(guān)系必有n個(gè)屬性6)碼·候選碼(Candidatekey)若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱(chēng)該屬性組為候選碼·全碼(All-key)最極端的情況:關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候選碼,稱(chēng)為全碼(All-key)·主碼—22—若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primarykey)·主屬性不包含在任何侯選碼中的屬性稱(chēng)為非主屬性,或非碼屬性7)三類(lèi)關(guān)系·基本關(guān)系(基本表或基表):實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示·查詢(xún)表:查詢(xún)結(jié)果對(duì)應(yīng)的表·視圖表:由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)8)基本關(guān)系的性質(zhì)②不同的列可出自同一個(gè)域·其中的每一列稱(chēng)為一個(gè)屬性·不同的屬性要給予不同的屬性名可以任意交換④任意兩個(gè)元組的候選碼不能相同⑤行的順序無(wú)所謂,行的次序可以任意交換⑥分量必須取原子值這是規(guī)范條件中最基本的一條·關(guān)系是值·關(guān)系模式是對(duì)關(guān)系的描述·元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來(lái)自的域?qū)傩耘c域之間的映象關(guān)系·元組語(yǔ)義以及完整性約束條件·屬性間的數(shù)據(jù)依賴(lài)關(guān)系集合—23—關(guān)系模式可以形式化地表示為:DU性所來(lái)自的域F:屬性間的數(shù)據(jù)依賴(lài)關(guān)系集合關(guān)系模式通??梢院?jiǎn)記為注:域名及屬性向域的映象常常直接說(shuō)明為屬性的類(lèi)型、長(zhǎng)度·關(guān)系模式對(duì)關(guān)系的描述·關(guān)系關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容態(tài)的、隨時(shí)間不斷變化的·關(guān)系模式和關(guān)系往往統(tǒng)稱(chēng)為關(guān)系通過(guò)上下文加以區(qū)別·在一個(gè)給定的應(yīng)用領(lǐng)域中,所有關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫(kù)·關(guān)系數(shù)據(jù)庫(kù)的型:關(guān)系數(shù)據(jù)庫(kù)模式對(duì)關(guān)系數(shù)據(jù)庫(kù)的描述?!りP(guān)系數(shù)據(jù)庫(kù)模式包括若干域的定義在這些域上定義的若干關(guān)系模式·關(guān)系數(shù)據(jù)庫(kù)的值:關(guān)系模式在某一時(shí)刻對(duì)應(yīng)的關(guān)系的集合,簡(jiǎn)稱(chēng)為關(guān)系數(shù)據(jù)庫(kù)—24—·常用的關(guān)系操作查詢(xún)的表達(dá)能力是其中最主要的部分·關(guān)系操作的特點(diǎn)集合操作方式:操作的對(duì)象和結(jié)果都是集合,一次一集合的方式·關(guān)系代數(shù)語(yǔ)言用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢(xún)要求·關(guān)系演算語(yǔ)言:用謂詞來(lái)表達(dá)查詢(xún)要求元組關(guān)系演算語(yǔ)言謂詞變?cè)幕緦?duì)象是元組變量域關(guān)系演算語(yǔ)言謂詞變?cè)幕緦?duì)象是域變量·具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語(yǔ)言·實(shí)體完整性和參照完整性:關(guān)系模型必須滿(mǎn)足的完整性約束條件稱(chēng)為關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持·用戶(hù)定義的完整性:應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語(yǔ)義約束若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值例:—25—主碼(假設(shè)研究生不會(huì)重名)不能取空值注意:實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值,而不僅是主碼整體不能取空值。【例】則學(xué)號(hào)和課程號(hào)兩個(gè)屬性都不能取空值·在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來(lái)描述的,因此可能存在著關(guān)系與關(guān)系間的引用。專(zhuān)業(yè)(專(zhuān)業(yè)號(hào),專(zhuān)業(yè)名)·學(xué)生關(guān)系引用了專(zhuān)業(yè)關(guān)系的主碼“專(zhuān)業(yè)號(hào)”。·學(xué)生關(guān)系中的“專(zhuān)業(yè)號(hào)”值必須是確實(shí)存在的專(zhuān)業(yè)的專(zhuān)業(yè)號(hào),即專(zhuān)業(yè)關(guān)系中有該專(zhuān)業(yè)的記錄?!ぴO(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相FR的外碼gRelationtRelation?!ぁ皩?zhuān)業(yè)號(hào)”屬性是學(xué)生關(guān)系的外碼·專(zhuān)業(yè)關(guān)系是被參照關(guān)系,學(xué)生關(guān)系為參照關(guān)系學(xué)生關(guān)系—→專(zhuān)業(yè)關(guān)系專(zhuān)學(xué)生關(guān)系—→專(zhuān)業(yè)關(guān)系 ·關(guān)系R和S不一定是不同的關(guān)系·目標(biāo)關(guān)系S的主碼Ks和參照關(guān)系的外碼F必須定義在同一個(gè)(或一組)域上·外碼并不一定要與相應(yīng)的主碼同名當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時(shí),往往取相同的名字,以便于識(shí)別·規(guī)則2.2參照完整性規(guī)則若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:—26—·或者取空值(F的每個(gè)屬性值均為空值)·或者等于S中某個(gè)元組的主碼值: (1)空值,表示尚未給該學(xué)生分配專(zhuān)業(yè); (2)非空值,這時(shí)該值必須是專(zhuān)業(yè)關(guān)系中某個(gè)元組的“專(zhuān)業(yè)號(hào)”值,表示該學(xué)生不可能分配一不存在的專(zhuān)業(yè)?!め槍?duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿(mǎn)足的語(yǔ)義要求?!りP(guān)系模型應(yīng)提供定義和檢驗(yàn)這類(lèi)完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能?!ぁ罢n程號(hào)”屬性必須取唯一值·非主屬性“課程名”也不能取空值第二部分考點(diǎn)試題解析AB.至多由一個(gè)屬性組成C.可由一個(gè)或多個(gè)其值能惟一標(biāo)識(shí)該關(guān)系模式中任何元組的屬性組成D.以上都不是2.關(guān)系模式的任何屬性。C.C.命名在該關(guān)系模式中可以不惟一D.以上都不是3.下面的選項(xiàng)不是關(guān)系數(shù)據(jù)庫(kù)基本特征的是。A.不同的列應(yīng)有不同的數(shù)據(jù)類(lèi)型B.不同的列應(yīng)有不同的列名C.與行的次序無(wú)關(guān)D.與列的次序無(wú)關(guān)4.一個(gè)關(guān)系只有一個(gè)。A.候選碼B.外碼C.超碼D.主碼5.關(guān)系DBS中,對(duì)外部關(guān)鍵字(外碼)沒(méi)有任何限制的操作是。A.插入B.刪除C.修改6.現(xiàn)有如下關(guān)系:—27—其中,醫(yī)療關(guān)系中的外碼是。C.C.患者編號(hào)和患者姓名D.醫(yī)生編號(hào)和患者編號(hào)7.現(xiàn)有一個(gè)關(guān)系:借閱(書(shū)號(hào),書(shū)名,庫(kù)存數(shù),讀者號(hào),借期,還期),假如同一本書(shū)允許一個(gè)讀者多次借閱,但不能同時(shí)對(duì)一種書(shū)借多本,則該關(guān)系模式的主碼是。D.書(shū)號(hào)+讀者號(hào)+借期8.關(guān)系模型中實(shí)現(xiàn)實(shí)體間N:M聯(lián)系是通過(guò)增加一個(gè)。C.關(guān)系或一個(gè)屬性實(shí)現(xiàn)C.關(guān)系或一個(gè)屬性實(shí)現(xiàn)D.關(guān)系和一個(gè)屬性實(shí)現(xiàn)1.一個(gè)關(guān)系模式的定義格式為。 。3.關(guān)系數(shù)據(jù)庫(kù)中基于數(shù)學(xué)上兩類(lèi)運(yùn)算是和。4.已知系(系編號(hào),系名稱(chēng),系主任,電話(huà),地點(diǎn))和學(xué)生(學(xué)號(hào),姓名,性別,入學(xué)日期,專(zhuān)業(yè),系編號(hào))兩個(gè)關(guān)系,系關(guān)系的主關(guān)鍵字是,系關(guān)系的外關(guān)鍵字,學(xué)生關(guān)系的主關(guān)鍵字是,外關(guān)鍵字。1.試述關(guān)系模型的三個(gè)組成部分。2.試述關(guān)系數(shù)據(jù)語(yǔ)言的特點(diǎn)和分類(lèi)。3.試述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外部碼屬性的值也可以為空?什么情況下才可以為空?第2講關(guān)系代數(shù)及關(guān)系演算第一部分知識(shí)點(diǎn)回顧·概述(集合運(yùn)算符,比較運(yùn)算符,專(zhuān)門(mén)關(guān)系運(yùn)算符,邏輯運(yùn)算符)·傳統(tǒng)的集合運(yùn)算·專(zhuān)門(mén)的關(guān)系運(yùn)算—28—)))·關(guān)系運(yùn)算符)))先引入幾個(gè)記號(hào) (3)trts 專(zhuān)門(mén)關(guān)系運(yùn)算符含義—29—一般連接RS的結(jié)果如下:等值連接RS的結(jié)果如下:—30—自然連接RS的結(jié)果如下:·外連接如果把舍棄的元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值(Null),這種連接就叫做外連OUTERJOIN?!ぷ笸膺B接如果只把左邊關(guān)系R中要舍棄的元組保留就叫做左外連接(LEFTOUTERJOIN或LEFTJOIN)·右外連接如果只把右邊關(guān)系S中要舍棄的元組保留就叫做右外連接(RIGHTOUTERJOIN或RIGHTR÷S={trX|tr∈R∧πY(S)YX}—31—分析:【例3】查詢(xún)選修了全部課程的學(xué)生號(hào)碼和姓名。·關(guān)系代數(shù)運(yùn)算·基本運(yùn)算可以用5種基本運(yùn)算來(lái)表達(dá)引進(jìn)它們并不增加語(yǔ)言的能力,但可以簡(jiǎn)化表達(dá)·關(guān)系代數(shù)表達(dá)式關(guān)系代數(shù)運(yùn)算經(jīng)有限次復(fù)合后形成的式子·典型關(guān)系代數(shù)語(yǔ)言—32—·關(guān)系演算以數(shù)理邏輯中的謂詞演算為基礎(chǔ)·按謂詞變?cè)煌M(jìn)行分類(lèi)以元組變量作為謂詞變?cè)幕緦?duì)象元組關(guān)系演算語(yǔ)言ALPHA以域變量作為謂詞變?cè)幕緦?duì)象域關(guān)系演算語(yǔ)言QBE·關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)是目前使用最廣泛的數(shù)據(jù)庫(kù)系統(tǒng)·關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)與非關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的區(qū)別:·關(guān)系數(shù)據(jù)結(jié)構(gòu)·關(guān)系操作·關(guān)系的完整性約束·關(guān)系數(shù)據(jù)語(yǔ)言第二部分考點(diǎn)試題解析1.自然連接是構(gòu)成新關(guān)系的有效方法。一般情況下,當(dāng)對(duì)關(guān)系R和S使用自然連接時(shí),要求R和S含有一個(gè)或多個(gè)共有的。A.元組B.行C.記錄D.屬性2.關(guān)系運(yùn)算中花費(fèi)時(shí)間可能最長(zhǎng)的運(yùn)算是。A.投影B.選擇C.笛卡爾積D.除3.在關(guān)系代數(shù)運(yùn)算中,五種基本運(yùn)算為。4.設(shè)有關(guān)系R,按條件f對(duì)關(guān)系RD.πF(D.πF(R)F5.如圖所示,兩個(gè)關(guān)系R1和R2,它們進(jìn)行運(yùn)算后得到R3。—33—A.交B.并C.笛卡爾積D.連接6.關(guān)系代數(shù)運(yùn)算是以為基礎(chǔ)的運(yùn)算。DD數(shù)運(yùn)算7.關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)能實(shí)現(xiàn)的專(zhuān)門(mén)關(guān)系運(yùn)算包括。8.關(guān)系代數(shù)表達(dá)式的優(yōu)化策略中,首先要做的是。D.投影運(yùn)算9.關(guān)系數(shù)據(jù)庫(kù)中的投影操作是指從關(guān)系中。D.建立相應(yīng)的圖形10.從一個(gè)數(shù)據(jù)庫(kù)文件中取出滿(mǎn)足某個(gè)條件的所有記錄形成一個(gè)新的數(shù)據(jù)庫(kù)文件的操作是 操作。ABCD.復(fù)制11.關(guān)系代數(shù)中的聯(lián)接操作是由操作組合而成。A.選擇和投影A.選擇和投影D.投影和笛卡爾積12.自然聯(lián)接是構(gòu)成新關(guān)系的有效方法。一般情況下,當(dāng)對(duì)關(guān)系R和S是用自然聯(lián)接時(shí),要求R和S含有一個(gè)或者多個(gè)共有的。ABCD.元組13.假設(shè)有關(guān)系R和S,關(guān)系代數(shù)表達(dá)式R-(R-S)表示的是。14.下面列出的關(guān)系代數(shù)表達(dá)式中,那些式子能夠成立。Ⅰ.σf1(σf2(E))=σf1∧f2(E)EE)∞E3=E1∞(E2∞E3)Ⅳ.σf1(σf2(E))=σf2(σf1(E))算有、、和 。若對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上的屬性值相等,而在Y在關(guān)系模式R(U)中,對(duì)于U的子集X和Y,如果X→Y,但YX,則稱(chēng)X→Y是非平凡的函數(shù)依賴(lài)若X→Y,但YX,則稱(chēng)X→Y是平凡的函數(shù)依賴(lài) ·若X→Y,則X稱(chēng)為這個(gè)函數(shù)依賴(lài)的決定屬性組,也稱(chēng)為決定因素(Determinant)。XY·若Y不函數(shù)依賴(lài)于X,則記作X→Y。F全函數(shù)依賴(lài),記作X—→Y。PXY 傳遞FF若候選碼多于一個(gè),則選定其中的一個(gè)做為主碼(PrimaryKey)?!ぶ鲗傩耘c非主屬性bute·全碼llkey外部碼定義6.5關(guān)系模式R中屬性或?qū)傩越MX并非R的碼,但X是另一個(gè)關(guān)系模式的碼,則稱(chēng)X是R的外部碼(Foreignkey)也稱(chēng)外碼。關(guān)系模式SC的外部碼·主碼與外部碼一起提供了表示關(guān)系間聯(lián)系的手段·范式是符合某一種級(jí)別的關(guān)系模式的集合·關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系必須滿(mǎn)足一定的要求。滿(mǎn)足不同程度要求的為不同范式·范式的種類(lèi):(第一范式(1NF) |〈第五范式(5NF)第五范式(5NF)·各種范式之間存在聯(lián)系:1NF2NF3NFBCNF4NF5NF·一個(gè)低一級(jí)范式的關(guān)系模式,通過(guò)模式分解可以轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式的集合,這種過(guò)程就叫規(guī)范化?!?NF的定義第一范式是對(duì)關(guān)系模式的最起碼的要求。不滿(mǎn)足第一范式的數(shù)據(jù)庫(kù)模式不能稱(chēng)為關(guān)系數(shù)據(jù)庫(kù)。但是滿(mǎn)足第一范式的關(guān)系模式并不一定是一個(gè)好的關(guān)系模式?!?NF的定義·3NF的定義若R∈3NF,則每一個(gè)非主屬性既不部分依賴(lài)于碼也不傳遞依賴(lài)于碼。等價(jià)于:每一個(gè)決定屬性因素都包含碼。所有非主屬性對(duì)每一個(gè)碼都是完全函數(shù)依賴(lài)所有的主屬性對(duì)每一個(gè)不包含它的碼,也是完全函數(shù)依賴(lài)沒(méi)有任何屬性完全函數(shù)依賴(lài)于非碼的任何一組屬性RNFR只有一個(gè)候選碼第二部分考點(diǎn)試題分析2.采用E-R數(shù)據(jù)模型方法對(duì)某一應(yīng)用數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行需求分析和建立數(shù)據(jù)模型時(shí),建立的數(shù)據(jù)模型與將來(lái)采用的何種數(shù)據(jù)管理軟件(DBMS)有關(guān)嗎?5.一個(gè)關(guān)系的外鍵可由多個(gè)屬性構(gòu)成嗎?】ANFBNFCNFD4NF2.關(guān)系數(shù)據(jù)模型是當(dāng)前最常用的一種數(shù)據(jù)模型,它是用(①)結(jié)構(gòu)來(lái)表示實(shí)體類(lèi)型及實(shí)體之間的聯(lián)系的。關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)操作語(yǔ)言(DML)主要包括(②)兩類(lèi)操作,關(guān)系模型的關(guān)系運(yùn)算是以關(guān)系代數(shù)為理論基礎(chǔ)的,關(guān)系代數(shù)的基本操作是(③)?!?004北師大】②A.刪除和插入②A.刪除和插入C和修改D.檢索和更新3.設(shè)3.設(shè)R和S為兩個(gè)關(guān)系,則R|X|S表示R與S的(①)。若R和S的關(guān)系分別圖示如下:供選擇的答案:②個(gè)人借書(shū)證號(hào)、書(shū)號(hào)、書(shū)名、書(shū)價(jià)、圖書(shū)出版社,則該關(guān)系模式(①)。他的主要問(wèn)題是數(shù)據(jù)冗余。若把R0分解成兩個(gè)關(guān)系模式R1(②)和R2(③),則可以部分的解決這一問(wèn)題。R1和R2是規(guī)范化程度較供選擇的答案:①④⑤D.不是范式②③4.我們?cè)谝粋€(gè)關(guān)系中()?!?012青島大學(xué)】A.必須定義一個(gè)主關(guān)鍵字B.只能創(chuàng)建一個(gè)聚集索引(clusterindex)C.只能創(chuàng)建一個(gè)稠密索引D.只能定義一個(gè)約束5.在DBMS的關(guān)系中()。D值都不可以為空C.任何屬性值都可以為空個(gè)是R的關(guān)鍵字()。7.關(guān)于第三范式描述正確的是()。D它就屬于第三范式8.關(guān)系數(shù)據(jù)模型是目前最重要的一種數(shù)據(jù)模型,它的三個(gè)要素分別是()。A.實(shí)體完整性、參照完整性、用戶(hù)自定義完整性9.關(guān)于分布式數(shù)據(jù)庫(kù)系統(tǒng)和并行數(shù)據(jù)庫(kù)系統(tǒng),下列說(shuō)法正確的是()。A.分布式數(shù)據(jù)庫(kù)系統(tǒng)的目標(biāo)是利用多處理機(jī)結(jié)點(diǎn)并行地完成數(shù)據(jù)庫(kù)任務(wù)以提高數(shù)據(jù)庫(kù)系統(tǒng)的整體性能B.并行數(shù)據(jù)庫(kù)系統(tǒng)目的主要在于實(shí)現(xiàn)場(chǎng)地自治和數(shù)據(jù)全局透明共享C.并行數(shù)據(jù)庫(kù)系統(tǒng)經(jīng)常采用負(fù)載平衡方法提供數(shù)據(jù)庫(kù)系統(tǒng)的業(yè)務(wù)吞吐率D.分布式數(shù)據(jù)庫(kù)系統(tǒng)中,不存在全局應(yīng)用時(shí)各局部應(yīng)用的概念,各節(jié)點(diǎn)完全不獨(dú)立,各個(gè)節(jié)點(diǎn)需要協(xié)同工作RA規(guī)范化程度最高達(dá)到()。F第2講數(shù)據(jù)依賴(lài)的公理系統(tǒng)第一部分知識(shí)點(diǎn)回顧【例9】學(xué)校中某一門(mén)課程由多個(gè)教師講授,他們使用相同的一套參考書(shū)。每個(gè)教員可以講授多門(mén)課程,每種參考書(shū)可以供多門(mén)課程使用?!び枚S表表示Teaching (1)數(shù)據(jù)冗余度大 (2)插入操作復(fù)雜 (3)刪除操作復(fù)雜 (4)修改操作復(fù)雜設(shè)R(U)是一個(gè)屬性集U上的一個(gè)關(guān)系模式,X、Y和Z是U的子集,并且Z=U-X-Y。關(guān)系模式R(U)中多值依賴(lài)X→→Y成立,當(dāng)且僅當(dāng)對(duì)R(U)的任一關(guān)系r,給定的一對(duì)(x,z)值,有一組Y的值,這組值僅僅決定于x值而與z值無(wú)關(guān)。對(duì)于一個(gè)(物理,光學(xué)原理)有一組T值{李勇,王軍},這組值僅由課程C上的值(物理)決定,對(duì)于另一個(gè)(物理,物理習(xí)題集)對(duì)應(yīng)的T值仍是{李勇,王軍},因此T多值依賴(lài)于C?!ざ嘀狄蕾?lài)的另一個(gè)等價(jià)的形式化的定義: [Z](即交換s,t元組的Y值所得的兩個(gè)新元組必在r中),則Y多值依賴(lài)于X,記為X→→Y。這里,元組課程教員參考書(shū)W物理李明物理習(xí)題集T物理李明物理數(shù)學(xué)方法S物理趙海物理習(xí)題集V物理趙海物理數(shù)學(xué)方法·平凡多值依賴(lài)和非平凡的多值依賴(lài)XYZXYXY賴(lài)用下圖表示這種對(duì)應(yīng)多值依賴(lài)的性質(zhì): (1)多值依賴(lài)具有對(duì)稱(chēng)性 (2)多值依賴(lài)具有傳遞性 (3)函數(shù)依賴(lài)是多值依賴(lài)的特殊情況 (5)若X→→Y,X→→Z,則X→→YnZ 多值依賴(lài)與函數(shù)依賴(lài)的區(qū)別: (1)多值依賴(lài)的有效性與屬性集的范圍有關(guān) (2)·若函數(shù)依賴(lài)X→Y在R(U)上成立,則對(duì)于任何Y',Y均有X→Y'成立·多值依賴(lài)X→→Y若在R(U)上成立,不能斷言對(duì)于任何Y',Y有X→→Y'成立·如果R=4NF,則R=BCNF不允許有非平凡且非函數(shù)依賴(lài)的多值依賴(lài)允許的非平凡多值依賴(lài)是函數(shù)依賴(lài)邏輯蘊(yùn)含YFXY·A1.自反律(Reflexivity):若YX→U,則X→Y為F所蘊(yùn)含?!2.增廣律(Augmentation):若X→Y為F所蘊(yùn)含,且Z→U,則XZ→YZ為F所蘊(yùn)含。·A3.傳遞律(Transitivity):若X→Y及Y→Z為F所蘊(yùn)含,則X→Z為F所蘊(yùn)含。定理6.1Armstrong推理規(guī)則是正確的。 (l)自反律:若YXU,則X→Y為F所蘊(yùn)含。證:設(shè)YXU所以X→Y成立,自反律得證。 (2)增廣律:若X→Y為F所蘊(yùn)含,且ZU,則XZ→YZ為F所蘊(yùn)含。 (3)傳遞律:若X→Y及Y→Z為F所蘊(yùn)含,則X→Z為F所蘊(yùn)含。XYYZ為F所蘊(yùn)含。 (A2,A3) (A2,A3) 2)根據(jù)合并規(guī)則和分解規(guī)則,可得引理6.1FArmstrong在F+中;F的閉包關(guān)于閉包的引理要條件是YXF+·用途F的子集的問(wèn)題。求閉包的算法算法6.1求屬性集X(XU)關(guān)于U上的函數(shù)依賴(lài)集F的閉包XF+ (2)求B,這里B={A|(3V)(3W)(V→W∈F∧VX(i)∧A∈W)}; (3)X(i+1)=BUX(i); XiXi (5)若相等或X(i)=U,則X(i)就是XF+,算法終止。 U定義6.15如果函數(shù)依賴(lài)集F滿(mǎn)足下列條件,則稱(chēng)F為一個(gè)極小函數(shù)依賴(lài)集。亦稱(chēng)為最小依賴(lài)集或最小覆蓋。 (1)F中任一函數(shù)依賴(lài)的右部?jī)H含有一個(gè)屬性。 (2)F中不存在這樣的函數(shù)依賴(lài)X→A,使得F與F-{X→A}等價(jià)。 (3)F中不存在這樣的函數(shù)依賴(lài)X→A,X有真子集Z使得F-{X→A}U{Z→A}與F等價(jià)。 第2講邏輯與物理結(jié)構(gòu)設(shè)計(jì)第一部分知識(shí)點(diǎn)回顧根據(jù)需求分析的結(jié)果確定概念模型。概念模型是對(duì)現(xiàn)實(shí)世界的一個(gè)真實(shí)模型,且能滿(mǎn)足用戶(hù)對(duì)數(shù)據(jù)的處理要求。概念模型直觀形象、容易和用戶(hù)溝通。概念模型易于修改。概念模型與具體數(shù)據(jù)模型無(wú)關(guān)且容易向數(shù)據(jù)庫(kù)模型轉(zhuǎn)化?!じ拍罱Y(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ)。·為了能夠用某一DBMS實(shí)現(xiàn)用戶(hù)需求,還必須將概念結(jié)構(gòu)進(jìn)一步轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)模型,這正是數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)所要完成的任務(wù)。班名人數(shù)……姓名年齡性別王洋女劉興男………課名學(xué)時(shí)學(xué)分先修課數(shù)據(jù)庫(kù)數(shù)據(jù)結(jié)構(gòu)操作系統(tǒng)………2)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。①轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式·關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性?!りP(guān)系的候選碼:每個(gè)實(shí)體的碼均是該關(guān)系的候選碼。②與某一端對(duì)應(yīng)的關(guān)系模式合并·合并后關(guān)系的屬性:加入對(duì)應(yīng)關(guān)系的碼和聯(lián)系本身的屬性·合并后關(guān)系的碼:不變注意:·從理論上講,1:1聯(lián)系可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。但在一些情況下,與不同的關(guān)系模式合并效率會(huì)大不一樣。因此究竟應(yīng)該與哪端的關(guān)系模式合并需要依應(yīng)用的具體情況而定。·由于連接操作是最費(fèi)時(shí)的操作,所以一般應(yīng)以盡量減少連接操作為目標(biāo)。例如,如果經(jīng)常要查詢(xún)某個(gè)班級(jí)的班主任姓名,則將負(fù)責(zé)聯(lián)系與班級(jí)關(guān)系合并更好些。 (3)一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。①轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式·關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性?!りP(guān)系的碼:n端實(shí)體的碼。②與n端對(duì)應(yīng)的關(guān)系模式合并·合并后關(guān)系的屬性:在n端關(guān)系中加入1端關(guān)系的碼和聯(lián)系本身的屬性.·合并后關(guān)系的碼:不變以減少系統(tǒng)中的關(guān)系個(gè)數(shù),一般情況下更傾向于采用這種方法.①使其成為一個(gè)獨(dú)立的關(guān)系模式:負(fù)責(zé)(班名,輔導(dǎo)員姓名)②將其與班級(jí)關(guān)系模式合并:負(fù)責(zé)(班名,人數(shù),輔導(dǎo)員姓名) (4)一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性關(guān)系的碼:各實(shí)體碼的組合合碼:班名課名時(shí)間季數(shù)據(jù)結(jié)構(gòu)季季數(shù)據(jù)結(jié)構(gòu)季編譯原理季 (5)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。關(guān)系的屬性:與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性關(guān)系的碼:各實(shí)體碼的組合系的組合碼: (6)具有相同碼的關(guān)系模式可以合并 例,如果教師實(shí)體集內(nèi)部存在領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的1:n自聯(lián)系,我們可以將該聯(lián)系與教師實(shí)體合并,這時(shí)主碼職工號(hào)將多次出現(xiàn),但作用不同,可用不同的屬性名加以區(qū)分:·一般的數(shù)據(jù)模型還需要向特定DBMS規(guī)定的模型進(jìn)行轉(zhuǎn)換?!まD(zhuǎn)換的主要依據(jù)是所選用的DBMS的功能及限制。沒(méi)有通用規(guī)則。·對(duì)于關(guān)系模型來(lái)說(shuō),這種轉(zhuǎn)換通常都比較簡(jiǎn)單?!?shù)據(jù)庫(kù)邏輯設(shè)計(jì)的結(jié)果不是唯一的?!さ玫匠醪綌?shù)據(jù)模型后,還應(yīng)該適當(dāng)?shù)匦薷摹⒄{(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以進(jìn)一步提高數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能,這就是數(shù)據(jù)模型的優(yōu)化。查詢(xún)的投影屬性數(shù)據(jù)更新事務(wù)被更新的關(guān)系每個(gè)關(guān)系上的更新操作條件所涉及的屬性修改操作要改變的屬性值每個(gè)事務(wù)在各關(guān)系上運(yùn)行的頻率和性能要求·關(guān)系數(shù)據(jù)庫(kù)物理設(shè)計(jì)的內(nèi)容 (1)為關(guān)系模式選擇存取方法(建立存取路徑) (2)設(shè)計(jì)關(guān)系、索引等數(shù)據(jù)庫(kù)文件的物理存儲(chǔ)結(jié)構(gòu)·數(shù)據(jù)庫(kù)系統(tǒng)是多用戶(hù)共享的系統(tǒng),對(duì)同一個(gè)關(guān)系要建立多條存取路徑才能滿(mǎn)足多用戶(hù)的多種應(yīng)用要求?!の锢碓O(shè)計(jì)的第一個(gè)任務(wù)就是要確定選擇哪些存取方法,即建立哪些存取路徑?!BMS常用存取方法聚簇(Cluster)方法·選擇索引存取方法的主要內(nèi)容根據(jù)應(yīng)用要求確定對(duì)哪些屬性列建立索引對(duì)哪些屬性列建立組合索引對(duì)哪些索引要設(shè)計(jì)為唯一索引·選擇索引存取方法的一般規(guī)則如果一個(gè)(或一組)屬性經(jīng)常在查詢(xún)條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引(或組合索引)如果一個(gè)屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個(gè)屬性上建立索引如果一個(gè)(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引·關(guān)系上定義的索引數(shù)過(guò)多會(huì)帶來(lái)較多的額外開(kāi)銷(xiāo)(維護(hù)開(kāi)銷(xiāo),查找開(kāi)銷(xiāo))·聚簇的用途 (1)大大提高按聚簇屬性進(jìn)行查詢(xún)的效率 (2)節(jié)省存儲(chǔ)空間·聚簇的局限性 (1)聚簇只能提高某些特定應(yīng)用的性能 (2)建立與維護(hù)聚簇的開(kāi)銷(xiāo)相當(dāng)大·聚簇的適用范圍 (1)既適用于單個(gè)關(guān)系獨(dú)立聚簇,也適用于多個(gè)關(guān)系組合聚簇 (2)當(dāng)通過(guò)聚簇碼進(jìn)行訪問(wèn)或連接是該關(guān)系的主要應(yīng)用,與聚簇碼無(wú)關(guān)的其他訪問(wèn)很少或者是次要的時(shí),可以使用聚簇?!みx擇聚簇存取方法 (1)設(shè)計(jì)候選聚簇對(duì)經(jīng)常在一起進(jìn)行連接操作的關(guān)系可以建立組合聚簇;如果一個(gè)關(guān)系的一組屬性經(jīng)常出現(xiàn)在相等比較條件中,則該單個(gè)關(guān)系可建立聚簇;如果一個(gè)關(guān)系的一個(gè)(或一組)屬性上的值重復(fù)率很高,則此單個(gè)關(guān)系可建立聚簇。即對(duì)應(yīng)每個(gè)聚簇碼值的平均元組數(shù)不太少。太少了,聚簇的效果不明顯。 (2)檢查候選聚簇中的關(guān)系,取消其中不必要的關(guān)系從獨(dú)立聚簇中刪除經(jīng)常進(jìn)行全表掃描的關(guān)系;從獨(dú)立/組合聚簇中刪除更新操作遠(yuǎn)多于查詢(xún)操作的關(guān)系;從獨(dú)立/組合聚簇中刪除重復(fù)出現(xiàn)的關(guān)系當(dāng)一個(gè)關(guān)系同時(shí)加入多個(gè)聚簇時(shí),必須從這多個(gè)聚簇方案(包括不建立聚簇)中選擇一個(gè)較優(yōu)的,即在這個(gè)聚簇上運(yùn)行各種事務(wù)的總代價(jià)最小?!みx擇HASH存取方法的規(guī)則當(dāng)一個(gè)關(guān)系滿(mǎn)足下列兩個(gè)條件時(shí),可以選擇HASH存取方法該關(guān)系的屬性主要出現(xiàn)在等值連接條件中或主要出現(xiàn)在相等比較選擇條件中該關(guān)系的大小可預(yù)知,而且不變;或該關(guān)系的大小動(dòng)態(tài)改變,但所選用的DBMS提供了動(dòng)態(tài)HASH存取方法?!ご_定數(shù)據(jù)庫(kù)物理結(jié)構(gòu)的內(nèi)容影響數(shù)據(jù)存放位置和存儲(chǔ)結(jié)構(gòu)的因素·硬件環(huán)境·應(yīng)用需求存取時(shí)間存儲(chǔ)空間利用率維護(hù)代價(jià)這三個(gè)方面常常是相互矛盾的例:消除一切冗余數(shù)據(jù)雖能夠節(jié)約存儲(chǔ)空間和減少維護(hù)代價(jià),但往往會(huì)導(dǎo)致檢索代價(jià)的增加。必須進(jìn)行權(quán)衡,選擇一個(gè)折中方案。·基本原則根據(jù)應(yīng)用情況將易變部分與穩(wěn)定部分存取頻率較高部分與存取頻率較低部分分開(kāi)存放,以提高系統(tǒng)性能·DBMS產(chǎn)品一般都提供了一些存儲(chǔ)分配參數(shù)同時(shí)使用數(shù)據(jù)庫(kù)的用戶(hù)數(shù)同時(shí)打開(kāi)的數(shù)據(jù)庫(kù)對(duì)象數(shù)度、個(gè)數(shù)時(shí)間片大小數(shù)據(jù)庫(kù)的大小裝填因子鎖的數(shù)目等等·評(píng)價(jià)內(nèi)容對(duì)數(shù)據(jù)庫(kù)物理設(shè)計(jì)過(guò)程中產(chǎn)生的多種方案進(jìn)行細(xì)致的評(píng)價(jià),從中選擇一個(gè)較優(yōu)的方案作為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)·評(píng)價(jià)方法·定量估算各種方案存儲(chǔ)空間存取時(shí)間維護(hù)代價(jià)·對(duì)估算結(jié)果進(jìn)行權(quán)衡、比較,選擇出一個(gè)較優(yōu)的合理的物理結(jié)構(gòu)·如果該結(jié)構(gòu)不符合用戶(hù)需求,則需要修改設(shè)計(jì)·數(shù)據(jù)庫(kù)實(shí)施的工作內(nèi)容用DDL定義數(shù)據(jù)庫(kù)結(jié)構(gòu)組織數(shù)據(jù)入庫(kù)編制與調(diào)試應(yīng)用程序數(shù)據(jù)庫(kù)試運(yùn)行第二部分考點(diǎn)試題解析該系統(tǒng)所涉及的數(shù)據(jù)存在如下約束:A.一個(gè)出版社可以出版多種圖書(shū),但一種圖書(shū)只能在一個(gè)出版社出版,在該系統(tǒng)記錄的圖書(shū)出版社信息中包括圖書(shū)、出版時(shí)間、版次及出版數(shù)量信息。B.一個(gè)書(shū)店可以出售同種圖書(shū)的多本給多個(gè)讀者,每位讀者可以從多個(gè)書(shū)店購(gòu)買(mǎi)同種圖書(shū)的多本,一種圖書(shū)可以通過(guò)多個(gè)書(shū)店出售多本給同一讀者,書(shū)店把圖書(shū)出售給讀者后會(huì)在系統(tǒng)中記錄售書(shū)C.一個(gè)城市可以有多個(gè)書(shū)店,但是一個(gè)書(shū)店只在一個(gè)城市有一家店。問(wèn)題如下:1)請(qǐng)根據(jù)以上信息用ER圖畫(huà)出合理的圖書(shū)銷(xiāo)售數(shù)據(jù)庫(kù)的概念模型(4分)2)以圖書(shū)銷(xiāo)售表為例說(shuō)明原數(shù)據(jù)庫(kù)表設(shè)計(jì)的不合理之處。(6分)3)請(qǐng)給出你改進(jìn)原數(shù)據(jù)庫(kù)設(shè)計(jì)后的圖書(shū)銷(xiāo)售的數(shù)據(jù)字典(8分)4)給出該數(shù)據(jù)庫(kù)符合3NF要求的全部關(guān)系模式,并指出關(guān)系模式中的全部主碼和外碼。(6分)5)在第4)步的基礎(chǔ)上,現(xiàn)按“圖書(shū)名稱(chēng)”和“出版數(shù)量”進(jìn)行查詢(xún),為提高查詢(xún)效率,需要建立索引。給出創(chuàng)建索引的兩種方法(2分)。選擇較合理的一種方法寫(xiě)出其SQL語(yǔ)句(4分)第3講數(shù)據(jù)庫(kù)設(shè)計(jì)綜合考題2.【2012廣東工業(yè)大學(xué)】請(qǐng)為一個(gè)局部應(yīng)用設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù),它將保存每個(gè)部門(mén)及其職工的基本一個(gè)部門(mén)有多個(gè)職工,每個(gè)部門(mén)都有一個(gè)部門(mén)經(jīng)理。其中,職工的基本信息包括:職工工號(hào)(ENO)、姓名(ENAME)、年齡(AGE)、工資(SALARY)和工作部門(mén)(DPT);部門(mén)的基本信息包括:部門(mén)編號(hào) (DNO)、部門(mén)名稱(chēng)(DNAME)等。n換為杜麗的關(guān)系模式),并指出每個(gè)關(guān)系的主鍵和外鍵(如果存在的情況下)。3.根據(jù)上述第1題中的基本關(guān)系表完成下述各題。 ARY。 (2)寫(xiě)出以下查詢(xún)的關(guān)系代數(shù)表達(dá)式和SQL語(yǔ)句:部門(mén)編號(hào)、部門(mén)名稱(chēng)、經(jīng)理工號(hào)、經(jīng)理姓名和經(jīng)理工資。4.關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)(20分)【2011青島大學(xué)】某學(xué)校教學(xué)單位分院、系兩級(jí)管理,課程由學(xué)院統(tǒng)一設(shè)置,學(xué)生以系(在實(shí)際中對(duì)應(yīng)于專(zhuān)業(yè))為單位進(jìn)行管理?,F(xiàn)欲開(kāi)發(fā)一教學(xué)管理系統(tǒng),分析得出,該系統(tǒng)由兩個(gè)子系統(tǒng)構(gòu)成:課程設(shè)置子系統(tǒng)和選課管理子系統(tǒng)。對(duì)于課程設(shè)置子系統(tǒng),有如下實(shí)體:只允許一個(gè)學(xué)院開(kāi)設(shè),學(xué)院所開(kāi)設(shè)的每門(mén)課都要指定開(kāi)課學(xué)期;一個(gè)教師可講授多門(mén)課程,一門(mén)課程可由多個(gè)教師講授(注:課程與任課教師可以分屬于不同學(xué)院),教師講授的每門(mén)課程都有個(gè)評(píng)價(jià)。對(duì)于選課管理子系統(tǒng),有如下實(shí)體:多個(gè)學(xué)生選修,學(xué)生選修的每門(mén)課程都有個(gè)成績(jī)。試完成如下工作: (1)分別設(shè)計(jì)課程設(shè)置和選課管理兩個(gè)子系統(tǒng)的局部E-R圖。(8分) (2)將上述設(shè)計(jì)完成的E-R圖合并成一個(gè)全局E-R圖。要求:學(xué)院和系兩類(lèi)實(shí)體合并為“單位”實(shí)體,同時(shí)顯式表達(dá)學(xué)院和系之間的隸屬關(guān)系(注:每個(gè)學(xué)院下設(shè)多個(gè)系)。(6分) (3)將該全局E-R圖轉(zhuǎn)換為關(guān)系模型表示的數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu),并分別使用直下劃線和波浪下劃線標(biāo)明每個(gè)關(guān)系的主碼(或主鍵)與外碼(或外鍵)。(6分) (a)可通過(guò)數(shù)據(jù)庫(kù)中保存的出版社名、地址、右邊和電話(huà)等信息,向有關(guān)圖書(shū)的出版社增購(gòu)書(shū)籍。出版社名可唯一標(biāo)識(shí)每個(gè)出版社; (b)可隨時(shí)查詢(xún)書(shū)庫(kù)中現(xiàn)有各種圖書(shū)的書(shū)號(hào)、書(shū)名、庫(kù)存數(shù)量和存放位置。所有每種圖書(shū)可由書(shū)號(hào)唯一標(biāo)識(shí); (c)可隨時(shí)查詢(xún)借書(shū)人的可隨時(shí)查詢(xún)借書(shū)人的借書(shū)證號(hào)、姓名和工作部門(mén)。借書(shū)證號(hào)可唯一標(biāo)識(shí)每個(gè)借書(shū)人。其中一個(gè)出版社可出版多種圖書(shū),同一圖書(shū)只能由同一個(gè)出版社在某一具體的時(shí)間出版一定數(shù)量的圖書(shū)(即出版時(shí)間和出版數(shù)量):任何借書(shū)人可同時(shí)借多種圖書(shū),任何一種圖書(shū)可為多個(gè)人所借,在每次借還書(shū)時(shí)要求登記借書(shū)日期和還書(shū)日期。根據(jù)以上情況,可補(bǔ)充字段類(lèi)型等適當(dāng)信息,作如下設(shè)計(jì): (1)構(gòu)造該系統(tǒng)的E-R圖(要求用字母或數(shù)字標(biāo)識(shí)實(shí)體間聯(lián)系的類(lèi)型,用下劃線標(biāo)識(shí)實(shí)體的主關(guān)鍵字); (2)將E-R模型圖轉(zhuǎn)換為等價(jià)的關(guān)系模型的關(guān)系模式(要求用下劃線標(biāo)識(shí)實(shí)體的主關(guān)鍵字); (3)用SQL語(yǔ)言定義上述關(guān)系模式,要求定義每個(gè)模式的主關(guān)鍵字和參照完整性。8.商場(chǎng)(商場(chǎng)名、經(jīng)理名)有如下信息:一個(gè)商場(chǎng)內(nèi)有許多柜臺(tái)(柜臺(tái)號(hào),柜臺(tái)名),每個(gè)柜臺(tái)有多種商品(商品號(hào),價(jià)格);每個(gè)柜臺(tái)有多個(gè)營(yíng)業(yè)員(工號(hào),姓名,性別);每個(gè)營(yíng)業(yè)員賣(mài)出許多種商品,一種商品也可被多位營(yíng)業(yè)員賣(mài)出。畫(huà)出該系統(tǒng)的E-R模型;轉(zhuǎn)化為關(guān)系模型;說(shuō)明轉(zhuǎn)化方法;標(biāo)出各關(guān)系中的關(guān)鍵字;如果存在外碼,標(biāo)出外碼。(15分)【2008湖北工業(yè)大學(xué)】試畫(huà)出用關(guān)系代數(shù)表示的語(yǔ)法數(shù)。再用關(guān)系代數(shù)表達(dá)式優(yōu)化算法對(duì)該語(yǔ)法樹(shù)進(jìn)行優(yōu)化處理,畫(huà)出優(yōu)化后的語(yǔ)法樹(shù),根據(jù)優(yōu)化后的語(yǔ)法樹(shù)寫(xiě)出SELECT語(yǔ)句。(10分)第九章關(guān)系查詢(xún)處理和查詢(xún)優(yōu)化第一部分知識(shí)點(diǎn)回顧關(guān)系系統(tǒng)的分類(lèi)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢(xún)處理查詢(xún)處理步驟·對(duì)查詢(xún)語(yǔ)句進(jìn)行掃描、詞法分析和語(yǔ)法分析·從查詢(xún)語(yǔ)句中識(shí)別出語(yǔ)言符號(hào)·進(jìn)行語(yǔ)法檢查和語(yǔ)法分析·根據(jù)數(shù)據(jù)字典對(duì)合法的查詢(xún)語(yǔ)句進(jìn)行語(yǔ)義檢查·根據(jù)數(shù)據(jù)字典中的用戶(hù)權(quán)限和完整性約束定義對(duì)用戶(hù)的存取權(quán)限進(jìn)行檢查·檢查通過(guò)后把SQL查詢(xún)語(yǔ)句轉(zhuǎn)換成等價(jià)的關(guān)系代數(shù)表達(dá)式·RDBMS一般都用查詢(xún)樹(shù)(語(yǔ)法分析樹(shù))來(lái)表示擴(kuò)展的關(guān)系代數(shù)表達(dá)式·把數(shù)據(jù)庫(kù)對(duì)象的外部名稱(chēng)轉(zhuǎn)換為內(nèi)部表示·查詢(xún)優(yōu)化:選擇一個(gè)高效執(zhí)行的查詢(xún)處理策略·查詢(xún)優(yōu)化分類(lèi):代數(shù)優(yōu)化:指關(guān)系代數(shù)表達(dá)式的優(yōu)化物理優(yōu)化:指存取路徑和底層操作算法的選擇·查詢(xún)優(yōu)化方法選擇的依據(jù):·依據(jù)優(yōu)化器得到的執(zhí)行策略生成查詢(xún)計(jì)劃·代碼生成器(codegenerator)生成執(zhí)行查詢(xún)計(jì)劃的代碼考慮<條件表達(dá)式>的幾種情況:·選擇操作典型實(shí)現(xiàn)方法: (1)簡(jiǎn)單的全表掃描方法 (2)索引(或散列)掃描方法適合選擇條件中的屬性上有索引(例如B+樹(shù)索引或Hash索引)通過(guò)索引先找到滿(mǎn)足條件的元組主碼或元組指針,再通過(guò)元組指針直接在查詢(xún)的基本表中找到元組過(guò)元組指針在student表中檢索到該學(xué)生有元組指針通過(guò)這些元組指針到student表中檢索到所有年齡大于20的學(xué)生。指針·求這2組指針的交集dent·得到計(jì)算機(jī)系年齡大于20的學(xué)生·通過(guò)這些元組指針到student表中檢索·對(duì)得到的元組檢查另一些選擇條件(如Sage>20)是否滿(mǎn)足·把滿(mǎn)足條件的元組作為結(jié)果輸出?!みB接操作是查詢(xún)處理中最耗時(shí)的操作之一·本節(jié)只討論等值連接(或自然連接)最常用的實(shí)現(xiàn)算法 ·對(duì)外層循環(huán)(Student)的每一個(gè)元組(s),檢索內(nèi)層循環(huán)(SC)中的每一個(gè)元組(sc)·檢查這兩個(gè)元組在連接屬性(sno)上是否相等·如果滿(mǎn)足連接條件,則串接后作為結(jié)果輸出,直到外層循環(huán)表中的元組處理完為止 ·適合連接的諸表已經(jīng)排好序的情況·排序-合并連接方法的步驟:排序-合并連接方法示意圖 (3)索引連接(indexjoin)方法·步驟: ·步驟:對(duì)包含較少元組的表(比如R)進(jìn)行一遍處理對(duì)另一個(gè)表(S)進(jìn)行一遍處理把元組與桶中所有來(lái)自R并與之相匹配的元組連接起來(lái)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢(xún)優(yōu)化·查詢(xún)優(yōu)化的優(yōu)點(diǎn)不僅在于用戶(hù)不必考慮如何最好地表達(dá)查詢(xún)以獲得較好的效率,而且在于系統(tǒng)可以比用戶(hù)程序的“優(yōu)化”做得更好。 (1)優(yōu)化器可以從數(shù)據(jù)字典中獲取許多統(tǒng)計(jì)信息,而用戶(hù)程序則難以獲得這些信息 (2)如果數(shù)據(jù)庫(kù)的物理統(tǒng)計(jì)信息改變了,系統(tǒng)可以自動(dòng)對(duì)查詢(xún)重新優(yōu)化以選擇相適應(yīng)的執(zhí)行計(jì)劃。在非關(guān)系系統(tǒng)中必須重寫(xiě)程序,而重寫(xiě)程序在實(shí)際應(yīng)用中往往是不太可能的。 (3)優(yōu)化器可以考慮數(shù)百種不同的執(zhí)行計(jì)劃,程序員一般只能考慮有限的幾種可能性。 (4)優(yōu)化器中包括了很多復(fù)雜的優(yōu)化技術(shù),這些優(yōu)化技術(shù)往往只有最好的程序員才能掌握。系統(tǒng)的自動(dòng)優(yōu)化相當(dāng)于使得所有人都擁有這些優(yōu)化技術(shù)?!DBMS通過(guò)某種代價(jià)模型計(jì)算出各種查詢(xún)執(zhí)行策略的執(zhí)行代價(jià),然后選取代價(jià)最小的執(zhí)行方案集中式數(shù)據(jù)庫(kù)執(zhí)行開(kāi)銷(xiāo)主要包括: (1)磁盤(pán)存取塊數(shù)(I/O代價(jià)) (2)處理機(jī)時(shí)間(CPU代價(jià)) (3)查詢(xún)的內(nèi)存開(kāi)銷(xiāo)分布式數(shù)據(jù)庫(kù)·查詢(xún)優(yōu)化的總目標(biāo):選擇有效的策略求得給定關(guān)系表達(dá)式的值使得查詢(xún)代價(jià)最小(實(shí)際上是較小)實(shí)際系統(tǒng)的查詢(xún)優(yōu)化步驟 (1)將查詢(xún)轉(zhuǎn)換成某種內(nèi)部表示,通常是語(yǔ)法樹(shù) (2)根據(jù)一定的等價(jià)變換規(guī)則把語(yǔ)法樹(shù)轉(zhuǎn)換成標(biāo)準(zhǔn)(優(yōu)化)形式 (3)選擇低層的操作算法對(duì)于語(yǔ)法樹(shù)中的每一個(gè)操作·計(jì)算各種執(zhí)行算法的執(zhí)行代價(jià)·選擇代價(jià)小的執(zhí)行算法 (4)生成查詢(xún)計(jì)劃(查詢(xún)執(zhí)行方案)·查詢(xún)計(jì)劃是由一系列內(nèi)部操作組成的?!ご鷶?shù)優(yōu)化策略:通過(guò)對(duì)關(guān)系代數(shù)表達(dá)式的等價(jià)變換來(lái)提高查詢(xún)效率·關(guān)系代數(shù)表達(dá)式的等價(jià):指用相同的關(guān)系代替兩個(gè)表達(dá)式中相應(yīng)的關(guān)系所得到的結(jié)果是相同的EE可記為E1=E2常用的等價(jià)變換規(guī)則: (1)連接、笛卡爾積交換律 (2)連接、笛卡爾積的結(jié)合律 (3)投影的串接定律E (4)選擇的串接定律σF1(σF2(E))=σF1∧F2(E)選擇的串接律說(shuō)明選擇條件可以合并。這樣一次就可檢查全部條件。 (5)選擇與投影操作的交換律FAAAnEA1,A2,…An(σF(E)) (6)選擇與笛卡爾積的交換律如果F中涉及的屬性都是E1中的屬性,則σF(E1×E2)=σF(E1)×E2σF(E1×E2)=σF1(E1)×σF2(E2)σF(E1×E2)=σF2(σF1(E1)×E2)它使部分選擇在笛卡爾積前先做。 (7)選擇與并的分配律 (8)選擇與差運(yùn)算的分配律EEFEEFE-σF(E2) (9)選擇對(duì)自然連接的分配律σF(E1E2)=σF(E1)σF(E2) (10)投影與笛卡爾積的分配律 (11)投影與并的分配律典型的啟發(fā)式規(guī)則:1.選擇運(yùn)算應(yīng)盡可能先做。在優(yōu)化策略中這是最重要、最基本的一條2.把投影運(yùn)算和選擇運(yùn)算同時(shí)進(jìn)行如有若干投影和選擇運(yùn)算,并且它們都對(duì)同一個(gè)關(guān)系操作,則可以在掃描此關(guān)系的同時(shí)完成所有的這些運(yùn)算以避免重復(fù)掃描關(guān)系3.把投影同其前或其后的雙目運(yùn)算結(jié)合起來(lái)4.把某些選擇同在它前面要執(zhí)行的笛卡爾積結(jié)合起來(lái)成為一個(gè)連接運(yùn)算·如果這種重復(fù)出現(xiàn)的子表達(dá)式的結(jié)果不是很大的關(guān)系并且從外存中讀入這個(gè)關(guān)系比計(jì)算該子表達(dá)式的時(shí)間少得多,則先計(jì)算一次公共子表達(dá)式并把結(jié)果寫(xiě)入中間文件是合算的·當(dāng)查詢(xún)的是視圖時(shí),定義視圖的表達(dá)式就是公共子表達(dá)式的情況·遵循這些啟發(fā)式規(guī)則,應(yīng)用9.3.1的等價(jià)變換公式來(lái)優(yōu)化關(guān)系表達(dá)式的算法。達(dá)式的優(yōu)化輸入:一個(gè)關(guān)系表達(dá)式的查詢(xún)樹(shù)方法: (1)利用等價(jià)變換規(guī)則4把形如σF1∧F2∧…∧Fn(E)變換為σF1(σF2(…(σFn(E))…))。 (2)對(duì)每一個(gè)選擇,利用等價(jià)變換規(guī)則4~9盡可能把它移到樹(shù)的葉端。 注意:·等價(jià)變換規(guī)則3使一些投影消失·規(guī)則5把一個(gè)投影分裂為兩個(gè),其中一個(gè)有可能被移向樹(shù)的葉端 (4)利用等價(jià)變換規(guī)則3~5把選擇和投影的串接合并成單個(gè)選擇、單個(gè)投影或一個(gè)選擇后跟一個(gè)投影。使多個(gè)選擇或投影能同時(shí)執(zhí)行,或在一次掃描中全部完成 (5)把上述得到的語(yǔ)法樹(shù)的內(nèi)節(jié)點(diǎn)分組。每一雙目運(yùn)算(×,,∪,-)和它所有的直接祖先為一組(這些直接祖先是(σ,π運(yùn)算)。·如果其后代直到葉子全是單目運(yùn)算,則也將它們并入該組·但當(dāng)雙目運(yùn)算是笛卡爾積(×),而且后面不是與它組成等值連接的選擇時(shí),則不能把選擇與這個(gè)雙目運(yùn)算組成同一組,把這些單目運(yùn)算單獨(dú)分為一組【例4】下面給出[例3]中SQL語(yǔ)句的代數(shù)優(yōu)化示例。 (1)把SQL語(yǔ)句轉(zhuǎn)換成查詢(xún)樹(shù),如下圖所示查詢(xún)樹(shù) (2)對(duì)查詢(xún)樹(shù)進(jìn)行優(yōu)化o·代數(shù)優(yōu)化改變查詢(xún)語(yǔ)句中操作的次序和組合,不涉及底層的存取路徑·對(duì)于一個(gè)查詢(xún)語(yǔ)句有許多存取方案,它們的執(zhí)行效率不同,僅僅進(jìn)行代數(shù)優(yōu)化是不夠的·物理優(yōu)化就是要選擇高效合理的操作算法或存取路徑,求得優(yōu)化的查詢(xún)計(jì)劃第二部分考點(diǎn)試題解析1.學(xué)生-課程數(shù)據(jù)庫(kù)中包含了三個(gè)表。求選修了2號(hào)課程的學(xué)生姓名。假定學(xué)生-課程數(shù)據(jù)庫(kù)中有1000個(gè)學(xué)生記錄,10000個(gè)選課記錄,其中選修2號(hào)課程的選修記錄為50個(gè)。系統(tǒng)可以用多種等價(jià)的關(guān)系代數(shù)表達(dá)式來(lái)完成這一查詢(xún)。1)給出用關(guān)系代數(shù)表示的上述查詢(xún)?nèi)齻€(gè)查詢(xún)表達(dá)式。(6分)2)給出查詢(xún)優(yōu)化的一般準(zhǔn)則。(6分)3)畫(huà)出最優(yōu)的標(biāo)準(zhǔn)語(yǔ)法樹(shù)。(8分)2.學(xué)生—課程數(shù)據(jù)庫(kù)中包含了三個(gè)表。(9分)此查詢(xún)要求信息系學(xué)生選修了的所有課程名稱(chēng)。1)試畫(huà)出用關(guān)系代數(shù)表示的語(yǔ)法樹(shù)(3分)2)用關(guān)系代數(shù)表達(dá)式優(yōu)化算法對(duì)原始語(yǔ)法樹(shù)進(jìn)行優(yōu)化,畫(huà)出優(yōu)化后的標(biāo)準(zhǔn)語(yǔ)法樹(shù)。(6分)【2006第十章數(shù)據(jù)庫(kù)恢復(fù)技術(shù)第一部分知識(shí)點(diǎn)回顧·定義一個(gè)數(shù)據(jù)庫(kù)操作序列一個(gè)不可分割的工作單位恢復(fù)和并發(fā)控制的基本單位·事務(wù)和程序比較在關(guān)系數(shù)據(jù)庫(kù)中,一個(gè)事務(wù)可以是一條或多條SQL語(yǔ)句,也可以包含一個(gè)或多個(gè)程序。一個(gè)程序通常包含多個(gè)事務(wù) (1)原子性:·事務(wù)是數(shù)據(jù)庫(kù)的邏輯工作單位事務(wù)中包括的諸操作要么都做,要么都不做 (2)一致性:·事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)一致性狀態(tài):若數(shù)據(jù)庫(kù)中只包含成功事務(wù)提交的結(jié)果不一致?tīng)顟B(tài):若數(shù)據(jù)庫(kù)中包含失敗事務(wù)的結(jié)果 (3)隔離性對(duì)并發(fā)執(zhí)行而言:一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾·一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對(duì)其他并發(fā)事務(wù)是隔離的·并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾 (4)持續(xù)性·一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就應(yīng)該是永久性的?!そ酉聛?lái)的其他操作或故障不應(yīng)該對(duì)其執(zhí)行結(jié)果有任何影響。·破壞事務(wù)ACID特性的因素多個(gè)事務(wù)并行運(yùn)行時(shí),不同事務(wù)的操作交叉執(zhí)行事務(wù)在運(yùn)行過(guò)程中被強(qiáng)行停止·故障是不可避免的·數(shù)據(jù)庫(kù)的恢復(fù)把數(shù)據(jù)庫(kù)從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)(亦稱(chēng)為一致?tīng)顟B(tài)或完整狀態(tài))·故障的影響運(yùn)行事務(wù)非正常中斷破壞數(shù)據(jù)庫(kù)·數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)故障的對(duì)策DBMS保證故障發(fā)生后,能把數(shù)據(jù)庫(kù)中的數(shù)據(jù)從錯(cuò)誤狀態(tài)恢復(fù)到某種邏輯一致的狀態(tài)保證事務(wù)ACID·恢復(fù)技術(shù)是衡量系統(tǒng)優(yōu)劣的重要指標(biāo)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)紅巖板樓梯施工方案
- 酒店、廚房設(shè)備用品項(xiàng)目風(fēng)險(xiǎn)分析和評(píng)估報(bào)告
- 2025年航空傳感器市場(chǎng)分析報(bào)告
- 2020-2025年中國(guó)飲水機(jī)行業(yè)市場(chǎng)深度分析及發(fā)展前景預(yù)測(cè)報(bào)告
- 熱熔標(biāo)線施工方案
- 工業(yè)園區(qū)土地交易居間服務(wù)
- 水產(chǎn)養(yǎng)殖居間合同
- 金融服務(wù)公司裝修保修協(xié)議
- 湖北醫(yī)藥學(xué)院《包裝材料及應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖北文理學(xué)院《基因技術(shù)的臨床應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 滴滴補(bǔ)貼方案
- 民宿建筑設(shè)計(jì)方案
- 干部基本信息審核認(rèn)定表
- 2023年11月外交學(xué)院(中國(guó)外交培訓(xùn)學(xué)院)2024年度公開(kāi)招聘24名工作人員筆試歷年高頻考點(diǎn)-難、易錯(cuò)點(diǎn)薈萃附答案帶詳解
- 春節(jié)行車(chē)安全常識(shí)普及
- 電機(jī)維護(hù)保養(yǎng)專(zhuān)題培訓(xùn)課件
- 汽車(chē)租賃行業(yè)利潤(rùn)分析
- 春節(jié)拜年的由來(lái)習(xí)俗來(lái)歷故事
- 2021火災(zāi)高危單位消防安全評(píng)估導(dǎo)則
- 佛山市服務(wù)業(yè)發(fā)展五年規(guī)劃(2021-2025年)
- 房屋拆除工程監(jiān)理規(guī)劃
評(píng)論
0/150
提交評(píng)論