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