數(shù)據(jù)庫管理系統(tǒng)原理與實(shí)現(xiàn) 教學(xué)大綱_第1頁
數(shù)據(jù)庫管理系統(tǒng)原理與實(shí)現(xiàn) 教學(xué)大綱_第2頁
數(shù)據(jù)庫管理系統(tǒng)原理與實(shí)現(xiàn) 教學(xué)大綱_第3頁
數(shù)據(jù)庫管理系統(tǒng)原理與實(shí)現(xiàn) 教學(xué)大綱_第4頁
數(shù)據(jù)庫管理系統(tǒng)原理與實(shí)現(xiàn) 教學(xué)大綱_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)庫管理系統(tǒng)原理與實(shí)現(xiàn)教與學(xué)(教學(xué)大綱)教學(xué)大綱01課程內(nèi)容概述數(shù)據(jù)庫是信息系統(tǒng)的基礎(chǔ)設(shè)施,是國家明確需要突破的35項(xiàng)“卡脖子”關(guān)鍵技術(shù)之一。本課程聚焦數(shù)據(jù)庫管理系統(tǒng)內(nèi)核組成構(gòu)件的設(shè)計(jì)和實(shí)現(xiàn)技術(shù),系統(tǒng)講授數(shù)據(jù)庫的基本概念、SQL語言、數(shù)據(jù)庫管理系統(tǒng)的基本原理與實(shí)現(xiàn)技術(shù)。包括:第一篇為基礎(chǔ)篇(第1~4章),主要介紹數(shù)據(jù)庫系統(tǒng)的基本概念和基礎(chǔ)知識,內(nèi)容包括數(shù)據(jù)庫系統(tǒng)概述、關(guān)系數(shù)據(jù)模型、關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL、高級SQL;第二篇為存取篇(第5~6章),主要介紹數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)存取管理,內(nèi)容包括存儲管理、索引;第三篇為查詢處理篇(第7~9章),主要介紹查詢處理的過程和兩個核心步驟,內(nèi)容包括查詢處理、查詢優(yōu)化、查詢執(zhí)行;第四篇為事務(wù)處理篇(第10~12章),主要介紹事務(wù)處理的兩項(xiàng)關(guān)鍵技術(shù),內(nèi)容包括事務(wù)處理概述、并發(fā)控制、故障恢復(fù)。課程配套建有數(shù)據(jù)庫管理系統(tǒng)內(nèi)核實(shí)訓(xùn)平臺,支撐對學(xué)生相關(guān)知識點(diǎn)掌握程度的能力考核。本課程適用于有較好編程基礎(chǔ)的計(jì)算機(jī)相關(guān)專業(yè)學(xué)生。02課程目標(biāo)通過本課程學(xué)習(xí),要求在掌握數(shù)據(jù)庫系統(tǒng)基本概念的基礎(chǔ)上,能熟練使用SQL語言在某一個數(shù)據(jù)庫管理系統(tǒng)上進(jìn)行數(shù)據(jù)庫操作;掌握數(shù)據(jù)庫管理系統(tǒng)的基本原理與基本實(shí)現(xiàn)技術(shù),具有設(shè)計(jì)數(shù)據(jù)管理系統(tǒng)和開發(fā)數(shù)據(jù)庫管理系統(tǒng)核心組件基本功能的能力。03預(yù)修課程*計(jì)算機(jī)程序設(shè)計(jì)方法和語言*數(shù)據(jù)結(jié)構(gòu)*離散數(shù)學(xué)*操作系統(tǒng)*編譯原理04課程學(xué)時和實(shí)驗(yàn)安排(參考)05參考書目和學(xué)習(xí)資源1.杜小勇陳紅盧衛(wèi)《數(shù)據(jù)庫管理系統(tǒng)原理與實(shí)現(xiàn)》清華出版社2024年4月2.王珊杜小勇陳紅《數(shù)據(jù)庫系統(tǒng)概論》第6版高教出版社2023年3月3.

AviSilberschatz,HenryF.Korth,S.Sudarshan,DatabaseSystemConcepts,McGraw-Hill,SeventhEdition,2019美國的卡內(nèi)基梅隆大學(xué)(CMU)、普度大學(xué),中國的香港科技大學(xué)使用該教材。4.

RaghuRamakrishnan,JohannesGehrke,DatabaseManagementSystems,McGraw-Hill,3rdedition,2022美國威斯康辛大學(xué)麥迪遜分校、普渡大學(xué)、哥倫比亞大學(xué),以及瑞士的洛桑聯(lián)邦理工學(xué)院等大學(xué)使用該教材。5.

J.D.Ullman,JWidom,AFirstCourseinDatabaseSystems,PreticeHall,ThirdEdition2008本書是美國斯坦福大學(xué)(StanfordUniversity)計(jì)算機(jī)系本科生的第1門數(shù)據(jù)庫課程教材。6.

HectorGarcia-Molina,JeffreyD.Ullman,JenniferWidom著,楊冬青,唐世渭,徐其鈞等譯,《數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)》第2版,機(jī)械工業(yè)出版社,2010.506考核方式1.書面作業(yè)2.上機(jī)實(shí)驗(yàn)和課程大作業(yè)(數(shù)據(jù)庫管理系統(tǒng)實(shí)現(xiàn))3.期中閉卷筆試4.期末閉卷筆試5.總成績=期中閉卷筆試(20/100)+期末閉卷筆試(40/100)+書面作業(yè)(10/100)+上機(jī)實(shí)驗(yàn)和課程大作業(yè)(30/100)07課程各章內(nèi)容概述、授課要求及重點(diǎn)難點(diǎn)第1章概述內(nèi)容概述初步回答數(shù)據(jù)庫是什么的問題,從數(shù)據(jù)模型、應(yīng)用以及計(jì)算平臺三個維度介紹數(shù)據(jù)庫發(fā)展歷史,從多個視角介紹數(shù)據(jù)庫管理系統(tǒng)的組成,還簡要介紹國產(chǎn)數(shù)據(jù)庫的發(fā)展歷史。本章目標(biāo)本章講解的數(shù)據(jù)庫基本概念和基本知識是學(xué)習(xí)后續(xù)各個章節(jié)的基礎(chǔ)。學(xué)習(xí)本章的目的在于對數(shù)據(jù)庫管理系統(tǒng)有一個概貌性的了解。重點(diǎn)和難點(diǎn)重點(diǎn):掌握數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)以及數(shù)據(jù)庫系統(tǒng)等概念,從發(fā)展歷史和數(shù)據(jù)庫系統(tǒng)組成兩個維度去了解數(shù)據(jù)庫系統(tǒng)的一些重要概念,包括模型,三級模式結(jié)構(gòu)和兩層映像、數(shù)據(jù)庫系統(tǒng)的邏輯獨(dú)立性和物理獨(dú)立性等。難點(diǎn):本章的難點(diǎn)是會涉及很多的數(shù)據(jù)庫系統(tǒng)名稱和概念,有些概念是第一次接觸又沒有解釋,會感到比較抽象,但不要緊,隨著學(xué)習(xí)的逐漸推進(jìn),在后續(xù)章節(jié)中,這些抽象的概念會逐漸變得清晰具體起來。實(shí)驗(yàn)準(zhǔn)備可以安排一次數(shù)據(jù)庫系統(tǒng)安裝的實(shí)驗(yàn)。實(shí)驗(yàn)準(zhǔn)備主要包括關(guān)系數(shù)據(jù)庫管理系統(tǒng)選擇、實(shí)驗(yàn)環(huán)境配置和實(shí)驗(yàn)數(shù)據(jù)準(zhǔn)備等工作。推薦使用國產(chǎn)的金倉數(shù)據(jù)庫管理系統(tǒng),例如金倉數(shù)據(jù)庫KingbaseES。也可以使用任何一種關(guān)系數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品或開源數(shù)據(jù)庫管理系統(tǒng)。建議學(xué)生親自安裝選用的關(guān)系數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品,觀察數(shù)據(jù)庫安裝過程,記錄和理解安裝配置參數(shù),熟悉數(shù)據(jù)庫管理系統(tǒng)的客戶端圖形管理工具。第2章關(guān)系數(shù)據(jù)模型內(nèi)容概述深入講解關(guān)系模型的有關(guān)內(nèi)容。按照數(shù)據(jù)模型的三要素,介紹關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及形式化定義、關(guān)系代數(shù)、關(guān)系的完整性約束。本章目標(biāo)掌握關(guān)系模型的三個組成部分及各部分所包括的主要內(nèi)容;牢固掌握關(guān)系數(shù)據(jù)結(jié)構(gòu)及其定義;關(guān)系的三類完整性約束的概念。為學(xué)習(xí)后面關(guān)系數(shù)據(jù)庫系統(tǒng)打好基礎(chǔ)。重點(diǎn)和難點(diǎn)重點(diǎn):掌握關(guān)系數(shù)據(jù)結(jié)構(gòu)及其定義;關(guān)系的三類完整性約束的概念。關(guān)系代數(shù)(包括抽象的語言及具體的語言);關(guān)系代數(shù)中的各種運(yùn)算(包括并、交、差、選擇、投影、連接、除、及廣義笛卡爾積等)。難點(diǎn):由于關(guān)系代數(shù)較為抽象,因此在學(xué)習(xí)的過程中一定要結(jié)合具體的實(shí)例進(jìn)行學(xué)習(xí)。第3章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL內(nèi)容概述詳細(xì)介紹關(guān)系數(shù)據(jù)庫語言SQL。SQL是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,內(nèi)容十分豐富,功能非常強(qiáng)大。因?yàn)殛P(guān)系數(shù)據(jù)庫系統(tǒng)的主要功能是通過SQL來實(shí)現(xiàn)的,因此講解SQL的同時進(jìn)一步講述關(guān)系數(shù)據(jù)庫的基本概念。本章基于SQL標(biāo)準(zhǔn)來詳細(xì)介紹SQL語法,包括數(shù)據(jù)定義、基本SQL查詢、數(shù)據(jù)更新和視圖。本章目標(biāo)牢固掌握SQL,達(dá)到舉一反三地掌握SQL的功能。同時通過實(shí)踐,體會面向過程的語言和SQL的區(qū)別和優(yōu)點(diǎn)。體會關(guān)系數(shù)據(jù)庫系統(tǒng)為數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)提供良好環(huán)境,減輕用戶負(fù)擔(dān),提高用戶生產(chǎn)率的原因。重點(diǎn)和難點(diǎn)重點(diǎn):關(guān)系模型和關(guān)系數(shù)據(jù)庫是本課程的重點(diǎn),要熟練正確的使用SQL完成對數(shù)據(jù)庫的查詢、插入、刪除、更新操作。在使用具體的SQL時,能有意識地和關(guān)系代數(shù)進(jìn)行比較,了解它們各自的特點(diǎn)。難點(diǎn):用SQL語言正確完成復(fù)雜查詢,掌握SQL語言強(qiáng)大的查詢功能。在學(xué)習(xí)過程中一定要多練習(xí),要在安裝好的數(shù)據(jù)庫系統(tǒng)上進(jìn)行實(shí)際操作,通過大量練習(xí)達(dá)到舉一反三的熟練程度。實(shí)驗(yàn)內(nèi)容1.了解TPCC性能測試,在關(guān)系數(shù)據(jù)庫中創(chuàng)建一個名為TPCC的模式。2.在TPCC模式中,使用SQL語句建立TPCC場景所包含的多個關(guān)系。3.對2.1.3所介紹的“網(wǎng)上商城”數(shù)據(jù)庫,使用SQL語句完成下面的查詢①查詢所有價格大于500的數(shù)碼產(chǎn)品,結(jié)果顯示商品ID、商品名稱和價格,并按價格降序排列;②查詢所有來自北京的顧客所下訂單,結(jié)果顯示訂單ID,顧客姓名;③查詢所有數(shù)碼產(chǎn)品的銷量,結(jié)果顯示商品ID,商品名稱,總銷量。其中一個商品的總銷量表示其在所有訂單中的數(shù)量之和。④查詢不同類別商品的種數(shù),結(jié)果顯示類別和該類別商品的種數(shù)。⑤查詢商品及供應(yīng)商信息,結(jié)果顯示商品名稱、供應(yīng)商ID和供應(yīng)商名稱。⑥查詢所有訂單的實(shí)際銷售額,結(jié)果顯示訂單ID、顧客ID和實(shí)際銷售額。其中實(shí)際銷售額計(jì)算方式為訂單中每種商品的數(shù)量*價格*折扣之和。4.修改商品信息,將所有商品的價格下調(diào)10%。5.建立一個視圖,包含訂單ID,顧客ID和訂單總金額。第4章高級SQL內(nèi)容概述本章介紹較為復(fù)雜的SQL查詢,分別是嵌套查詢、遞歸查詢以及基于派生表的查詢。其中,基于派生表的查詢是近年來SQL引入的新特性。本章目標(biāo)掌握通過嵌套、遞歸和派生表來完成復(fù)雜查詢。理解這三類特殊查的語法,并能夠根據(jù)具體問題靈活運(yùn)用。重點(diǎn)和難點(diǎn)重點(diǎn):嵌套查詢中相關(guān)子查詢的概念,相關(guān)子查詢的執(zhí)行過程。遞歸查詢的語法,利用遞歸查詢完成復(fù)雜的查詢功能。難點(diǎn):遞歸查詢較為抽象,需要結(jié)合具體例子理解其工作過程。實(shí)驗(yàn)內(nèi)容與第三章實(shí)驗(yàn)相同,讀者可以選擇一個合適的關(guān)系數(shù)據(jù)庫管理系統(tǒng),包括但不限于Oracle?、SQLServer?、MySQL?、OpenGauss?以及KingBaseES?,認(rèn)真閱讀其SQL參考手冊,完成上述習(xí)題內(nèi)容。讀者需要特別留意,不同RDBMS所支持的過程化SQL差別較大。第5章存儲管理內(nèi)容概述本章系統(tǒng)地講解數(shù)據(jù)庫的存儲管理機(jī)制,包括物理存儲系統(tǒng)、關(guān)系數(shù)據(jù)庫的數(shù)據(jù)組織、元數(shù)據(jù)管理以及緩沖區(qū)管理。針對物理存儲系統(tǒng),概要介紹了各種物理存儲介質(zhì)、詳細(xì)介紹了磁盤、SSD固態(tài)硬盤和獨(dú)立磁盤冗余陣列等常用存儲介質(zhì)的工作原理和特點(diǎn),講解了提升磁盤I/O性能的常用策略。針對數(shù)據(jù)組織,介紹了數(shù)據(jù)庫的邏輯與物理組織方式,講解了記錄表示、塊的組織以及關(guān)系表的組織。此外,本章還介紹了元數(shù)據(jù)的種類及其組織方式,緩沖區(qū)的管理機(jī)制及頁面置換策略。本章目標(biāo)了解常用的存儲介質(zhì)特性,理解磁盤I/O性能的提升方法。掌握數(shù)據(jù)的邏輯與物理組織方式,掌握記錄的表示方法、塊的組織方式以及關(guān)系表的組織方法。了解元數(shù)據(jù)的內(nèi)容及其組織方式,掌握緩沖區(qū)管理的原理以及常用的頁面置換策略。重點(diǎn)和難點(diǎn)重點(diǎn):理解并牢固掌握關(guān)系數(shù)據(jù)庫的數(shù)據(jù)組織方法,包括數(shù)據(jù)庫的邏輯與物理組織方式、記錄表示、塊的組織以及關(guān)系表的組織。掌握緩沖區(qū)管理的原理以及常用的頁面置換策略。難點(diǎn):數(shù)據(jù)庫的邏輯組織方式與物理組織方式的對應(yīng)關(guān)系;緩沖區(qū)管理器的工作原理;LRU和CLOCK置換策略的實(shí)現(xiàn)技術(shù)。實(shí)驗(yàn)內(nèi)容基于數(shù)據(jù)庫原型系統(tǒng)框架Rucbase(/ruc-deke/rucbase-lab),實(shí)現(xiàn)數(shù)據(jù)庫存儲管理的功能。(1)緩沖區(qū)管理。包括分配緩沖塊,讀寫指定頁面,實(shí)現(xiàn)LRU替換策略。(2)磁盤存儲管理。包括以定長記錄的組織形式存放記錄,對記錄進(jìn)行遍歷以及增刪改操作。第6章索引內(nèi)容概述本章詳細(xì)介紹了數(shù)據(jù)庫的常用索引結(jié)構(gòu),包括順序表索引、輔助索引、B+樹索引、哈希索引和Bitmap索引。講解了順序表上的稠密索引、稀疏索引和多級索引以及非順序表上的輔助索引的組織和查找方法;B+樹索引、靜態(tài)哈希索引和動態(tài)哈希索引的組織、查找和維護(hù)方法;Bitmap索引和編碼Bitmap索引的組織和查找方法。本章目標(biāo)深入理解數(shù)據(jù)庫索引的作用與原理。掌握常用索引結(jié)構(gòu)的組織方式、查找方式以及維護(hù)方式。了解各類索引適合的應(yīng)用場景。重點(diǎn)和難點(diǎn)重點(diǎn):了解數(shù)據(jù)庫索引的作用與工作原理。牢固掌握B+樹索引的組織、查找和維護(hù)方法。掌握稠密索引、稀疏索引、多級索引、輔助索引、Bitmap索引和編碼Bitmap索引的組織和查找方法。掌握靜態(tài)哈希索引、可擴(kuò)展哈希索引、線性哈希索引的組織、查找和維護(hù)方法。需要舉一反三的:各類索引的查找方法和維護(hù)方法。難點(diǎn):動態(tài)哈希索引,包括可擴(kuò)展哈希索引和線性哈希索引的組織、查找和維護(hù)方法。實(shí)驗(yàn)內(nèi)容基于數(shù)據(jù)庫原型系統(tǒng)框架Rucbase(/ruc-deke/rucbase-lab),實(shí)現(xiàn)數(shù)據(jù)庫B+樹索引功能,包括:(1)B+樹的查找操作;(2)B+樹的插入操作;(3)B+樹的刪除操作。第7章

查詢處理內(nèi)容概述本章對查詢處理過程做了整體介紹,包括查詢編譯和查詢執(zhí)行兩個關(guān)鍵階段。主要介紹數(shù)據(jù)庫管理系統(tǒng)中SQL語句的處理過程,包括詞法與語法分析、語義分析、查詢優(yōu)化概述,并重點(diǎn)介紹執(zhí)行計(jì)劃中各個操作符的執(zhí)行算法,例如掃描操作、排序操作、連接操作、去重、分組等。本章目標(biāo)了解數(shù)據(jù)庫管理系統(tǒng)中SQL語句處理過程,掌握SQL語句中各種算子的實(shí)現(xiàn)算法以及代價估算,使學(xué)生具有設(shè)計(jì)和實(shí)現(xiàn)DBMS中查詢處理器的基本能力,能夠設(shè)計(jì)和實(shí)現(xiàn)執(zhí)行高效的SQL語句,增強(qiáng)DBMS的處理能力。重點(diǎn)和難點(diǎn)重點(diǎn):掌握數(shù)據(jù)庫管理系統(tǒng)中SQL語句的處理過程,即:詞法與語法分析、語義分析、查詢優(yōu)化直到生成查詢計(jì)劃,特別是主要操作算子的算法實(shí)現(xiàn)以及代價估計(jì),特別是在有限內(nèi)存的情況下,根據(jù)數(shù)據(jù)的存儲特點(diǎn),掌握設(shè)計(jì)操作算子高效算法的方法,提高DBMS的處理性能。難點(diǎn):

設(shè)計(jì)和實(shí)現(xiàn)SQL語句的查詢編譯處理;在有限內(nèi)存的情況下,根據(jù)數(shù)據(jù)的存儲特點(diǎn),設(shè)計(jì)和實(shí)現(xiàn)操作算子的高效執(zhí)行算法。實(shí)驗(yàn)內(nèi)容基于數(shù)據(jù)庫原型系統(tǒng)框架Rucbase(/ruc-deke/rucbase-lab),實(shí)現(xiàn)數(shù)據(jù)庫的基本查詢處理操作以及支持基本查詢子句,包括:(1)元組插入操作。(2)元組更新操作。(3)元組刪除操作。(4)WHERE子句。(5)GROUPBY和HAVING子句。(6)ORDERBY子句。第8章

查詢優(yōu)化內(nèi)容概述本章系統(tǒng)介紹查詢優(yōu)化的基本概念、方法以及關(guān)鍵問題,包括邏輯優(yōu)化和物理優(yōu)化的概念、關(guān)系代數(shù)表達(dá)式等價變換規(guī)則、基于代價優(yōu)化器中進(jìn)行代價估算所需的統(tǒng)計(jì)信息和基數(shù)估算方法以及多表連接順序的選擇算法,這些規(guī)則和算法使得優(yōu)化后的查詢在獲得執(zhí)行性能提升的同時保證了最終結(jié)果的正確性。本章目標(biāo)了解數(shù)據(jù)庫管理系統(tǒng)中查詢優(yōu)化器的原理和實(shí)現(xiàn)方法,掌握SQL語句邏輯優(yōu)化的規(guī)則以及物理優(yōu)化的關(guān)鍵技術(shù),例如統(tǒng)計(jì)信息的采集、基數(shù)估算方法、操作算子的代價模型以及多表連接的優(yōu)化方法,使學(xué)生具有SQL語句的調(diào)優(yōu)能力,并且可以設(shè)計(jì)和實(shí)現(xiàn)數(shù)據(jù)庫管理系統(tǒng)查詢優(yōu)化器。重點(diǎn)和難點(diǎn)重點(diǎn):了解數(shù)據(jù)庫管理系統(tǒng)中查詢優(yōu)化器的原理和實(shí)現(xiàn)方法,能夠進(jìn)行SQL語句的調(diào)優(yōu)。掌握查詢優(yōu)化器邏輯優(yōu)化的基本規(guī)則、統(tǒng)計(jì)信息對于執(zhí)行路徑代價估算的作用、基數(shù)估算的方法以及多表連接的優(yōu)化原理。難點(diǎn):理解關(guān)系代數(shù)表達(dá)式的等價變換規(guī)則,基于代價的查詢優(yōu)化器中基數(shù)估算和代價模型以及關(guān)系操作中多表連接操作的優(yōu)化。設(shè)計(jì)和實(shí)現(xiàn)統(tǒng)計(jì)信息所使用的系統(tǒng)表。實(shí)驗(yàn)內(nèi)容基于數(shù)據(jù)庫原型系統(tǒng)框架Rucbase(/ruc-deke/rucbase-lab),實(shí)現(xiàn)數(shù)據(jù)庫簡單查詢優(yōu)化功能,包括:(1)選擇下推。(2)基于代價的物理優(yōu)化。(3)多表連接操作的順序選擇。第9章

查詢執(zhí)行內(nèi)容概述本章介紹了數(shù)據(jù)庫管理系統(tǒng)中SQL語句編譯形成的執(zhí)行樹操作符間的物化與流水線兩種執(zhí)行方式以及執(zhí)行計(jì)劃可采用的火山模型和向量執(zhí)行模型。為了更好地提高執(zhí)行效率,本章還介紹了查詢并行化執(zhí)行和編譯執(zhí)行技術(shù)。本章目標(biāo)數(shù)據(jù)庫管理系統(tǒng)中SQL語句編譯形成具有多個操作算子的執(zhí)行樹,本章的目的是希望學(xué)生重點(diǎn)掌握執(zhí)行樹的各個操作算子如何高效協(xié)同執(zhí)行的,尤其在處理海量數(shù)據(jù)時遇到的問題和難點(diǎn),使學(xué)生可以設(shè)計(jì)和實(shí)現(xiàn)數(shù)據(jù)庫管理系統(tǒng)的執(zhí)行模型或算法。重點(diǎn)和難點(diǎn)重點(diǎn):了解數(shù)據(jù)庫中SQL語句編譯生成的執(zhí)行樹的執(zhí)行模型,掌握目前數(shù)據(jù)庫管理系統(tǒng)中最常使用的火山模型,深入理解SQL語句面向集合操作的特點(diǎn)和高效處理大數(shù)據(jù)集的方法,例如并行策略、批量執(zhí)行策略等。難點(diǎn):本章的難點(diǎn)是深入理解SQL語句面向集合操作的特點(diǎn),并根據(jù)其特點(diǎn)設(shè)計(jì)執(zhí)行模型,例如目前最常用的火山模型,以及處理海量數(shù)據(jù)采用的并行方法和批量方法。實(shí)驗(yàn)內(nèi)容基于數(shù)據(jù)庫原型系統(tǒng)框架Rucbase(/ruc-deke/rucbase-lab),實(shí)現(xiàn)數(shù)據(jù)庫基本執(zhí)行策略,包括:(1)使用臨時表的物化模型;(2)簡單的流水線模型;(3)并行掃描。

重點(diǎn)和難點(diǎn)重點(diǎn):了解數(shù)據(jù)庫中SQL語句編譯生成的執(zhí)行樹的執(zhí)行模型,掌握目前數(shù)據(jù)庫管理系統(tǒng)中最常使用的火山模型,深入理解SQL語句面向集合操作的特點(diǎn)和高效處理大數(shù)據(jù)集的方法,例如并行策略、批量執(zhí)行策略等。難點(diǎn):本章的難點(diǎn)是深入理解SQL語句面向集合操作的特點(diǎn),并根據(jù)其特點(diǎn)設(shè)計(jì)執(zhí)行模型,例如目前最常用的火山模型,以及處理海量數(shù)據(jù)采用的并行方法和批量方法。實(shí)驗(yàn)內(nèi)容基于數(shù)據(jù)庫原型系統(tǒng)框架Rucbase(/ruc-deke/rucbase-lab),實(shí)現(xiàn)數(shù)據(jù)庫基本執(zhí)行策略,包括:(1)使用臨時表的物化模型;(2)簡單的流水線模型;(3)并行掃描。第10章事務(wù)處理概述內(nèi)容概述事務(wù)處理是數(shù)據(jù)庫管理系統(tǒng)的核心技術(shù)之一,是數(shù)據(jù)庫管理系統(tǒng)從實(shí)驗(yàn)室的原型系統(tǒng)真正走向市場、支撐關(guān)鍵行業(yè)核心業(yè)務(wù)的基石。本章系統(tǒng)地講解了事務(wù)的ACID特性,即事務(wù)的原子性、一致性、隔離性和持續(xù)性。通過給出事務(wù)的符號化表示,以及事務(wù)在數(shù)據(jù)庫管理系統(tǒng)中的執(zhí)行模型,介紹了在缺少合理調(diào)度情況下系統(tǒng)可能出現(xiàn)的各類數(shù)據(jù)異常,并給出了SQL-92中四類數(shù)據(jù)異常的符號化表示及其對應(yīng)的隔離級別。最后,介紹了什么是正確的調(diào)度,以及如何判斷一個調(diào)度是沖突可串行化調(diào)度。本章目標(biāo)掌握事務(wù)的基本概念和事務(wù)的ACID性質(zhì),理解在缺少合理調(diào)度情況下系統(tǒng)可能出現(xiàn)的各類數(shù)據(jù)異常,能夠?qū)ζ渲械臄?shù)據(jù)異常進(jìn)行舉一反三;掌握什么是正確的事務(wù)調(diào)度以及在系統(tǒng)中如何確保系統(tǒng)調(diào)度的正確性。重點(diǎn)和難點(diǎn)重點(diǎn):牢固掌握事務(wù)的基本概念和事務(wù)的ACID性質(zhì)。掌握SQL-92中四類數(shù)據(jù)異常的符號化表示及其對應(yīng)的隔離級別,在缺少合理調(diào)度情況下系統(tǒng)可能出現(xiàn)的各類數(shù)據(jù)異常。掌握串行調(diào)度、可串行化調(diào)度、沖突可串行化調(diào)度的聯(lián)系和區(qū)別;掌握可串行化調(diào)度、沖突可串行化調(diào)度的證明方法。難點(diǎn):理解1)如何將SQL語句轉(zhuǎn)換為數(shù)據(jù)庫中數(shù)據(jù)項(xiàng)的多寫操作;2)事務(wù)如何將多個SQL封裝成事務(wù);3)事務(wù)的執(zhí)行模型。實(shí)驗(yàn)內(nèi)容在數(shù)據(jù)庫原型系統(tǒng)框架Rucbase(/ruc-deke/rucbase-lab)基礎(chǔ)上,實(shí)現(xiàn)開啟事務(wù)(BEGIN)、提交事務(wù)(COMMIT)、回滾事務(wù)(ABORT)三條事務(wù)控制語句。考察的知識點(diǎn)包括事務(wù)基本概念、事務(wù)的執(zhí)行模型等,通過該實(shí)驗(yàn),考查學(xué)生對事務(wù)概念和事務(wù)執(zhí)行的理解。第11章并發(fā)控制內(nèi)容概述并發(fā)控制的目的是確保事務(wù)執(zhí)行的一致性(C)和隔離性(I)。按照可串行化理論,給定一組事務(wù)的調(diào)度執(zhí)行,如果其結(jié)果等價于某一個串行執(zhí)行這組事務(wù)的結(jié)果,則這組事務(wù)的調(diào)度是可串行化的。本章介紹了三類沖突可串行化下的并發(fā)控制實(shí)現(xiàn)技術(shù),包括兩階段封鎖協(xié)議、時間戳排序協(xié)議和樂觀并發(fā)控制協(xié)議。介紹了兩階段封鎖協(xié)議如何保證事務(wù)調(diào)度的沖突可串行化,以及兩階段封鎖協(xié)議可能出現(xiàn)的問題:級聯(lián)回滾和死鎖。為了解決事務(wù)的級聯(lián)回滾問題,講解了嚴(yán)格兩階段封鎖協(xié)議和強(qiáng)嚴(yán)格兩階段封鎖協(xié)議,進(jìn)一步明確了鎖的釋放時間是在事務(wù)提交或回滾后;為了解決死鎖問題,介紹了死鎖檢測和死鎖預(yù)防技術(shù);針對死鎖預(yù)防技術(shù),介紹了No-Wait、Wait-Die、Wound-Wait三種策略,避免事務(wù)調(diào)度過程中可能存在的環(huán)。介紹了弱隔離級別下的并發(fā)控制技術(shù),包括三級封鎖協(xié)議和多版本并發(fā)控制。本章目標(biāo)掌握沖突可串行化下的并發(fā)控制方法原理與實(shí)現(xiàn)技術(shù),包括兩階段封鎖協(xié)議、時間戳排序協(xié)議和樂觀并發(fā)控制協(xié)議;了解弱隔離級別下的并發(fā)控制技術(shù),包括三級封鎖協(xié)議和多版本并發(fā)控制。重點(diǎn)和難點(diǎn)重點(diǎn):牢固掌握兩階段封鎖協(xié)議的基本原理和實(shí)現(xiàn)技術(shù)。理解兩階段封鎖協(xié)議中可能出現(xiàn)的級聯(lián)回滾和死鎖問題,掌握避免級聯(lián)回滾的嚴(yán)格兩階封鎖協(xié)議方法;理解死鎖預(yù)防方法的基本原理,掌握死鎖預(yù)防的三種常見策略(No-Wait、Wait-Die、Wound-Wait)及其實(shí)現(xiàn)技術(shù)。難點(diǎn):理解事務(wù)的隔離級別與并發(fā)控制技術(shù)之間的關(guān)系。沖突可串行化下基本的并發(fā)控制方法包括兩階段封鎖協(xié)議、時間戳排序協(xié)議和樂觀并發(fā)控制協(xié)議,牢固掌握并發(fā)控制技術(shù)的核心理念,熟練掌握并發(fā)控制方法的聯(lián)系和區(qū)別。理解多版本并發(fā)控制技術(shù)。實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)9沖突可串行化掌握避免級聯(lián)回滾的嚴(yán)格兩階封鎖協(xié)議方法;理解死鎖預(yù)防方法的基本原理,掌握死鎖預(yù)防的三種常見策略(No-Wait、Wait-Die、Wound-Wait)及其實(shí)現(xiàn)技術(shù)。在數(shù)據(jù)庫原型系統(tǒng)框架Rucbase(/ruc-deke/rucbase-lab)基礎(chǔ)上,實(shí)現(xiàn)一個支持死鎖預(yù)防的兩階段并發(fā)控制協(xié)議,要求事務(wù)調(diào)度達(dá)到可串行化隔離級別??疾斓闹R點(diǎn)包括封鎖、兩階段封鎖協(xié)議,死鎖預(yù)防等,通過該實(shí)驗(yàn),考查學(xué)生使用兩階段封鎖協(xié)議實(shí)現(xiàn)可串行化調(diào)度的能力。第12章故障恢復(fù)內(nèi)容概述數(shù)據(jù)庫管理系統(tǒng)在正常運(yùn)行的過程中可能會出現(xiàn)故障,這些故障有些是可以提前預(yù)知的,有些是不能提前預(yù)知的,數(shù)據(jù)庫管理系統(tǒng)的故障恢復(fù)子系統(tǒng)可以確保,無論出現(xiàn)哪種故障,都能將數(shù)據(jù)庫中的數(shù)據(jù)恢復(fù)到故障發(fā)生前的正確的狀態(tài)。本章重點(diǎn)講解了數(shù)據(jù)庫恢復(fù)技術(shù)。介紹了數(shù)據(jù)庫運(yùn)行中可能發(fā)生的故障類型、事務(wù)讀寫的訪問模式、以及各類故障下數(shù)據(jù)的一致性破壞;講解了恢復(fù)的基本實(shí)現(xiàn)技術(shù),包括登記日志(Logging)、WAL日志、備份技術(shù),登記日志文件所要遵循的原則;針對事務(wù)故障、系統(tǒng)故障和介質(zhì)故障等不同故障的恢復(fù)策略和恢復(fù)方法。討論了具有檢查點(diǎn)的恢復(fù)技術(shù);詳細(xì)描述了ARIES算法的基本原理和實(shí)現(xiàn)技術(shù)。本章目標(biāo)了解數(shù)據(jù)庫恢復(fù)技術(shù)的重要性,針對不同的故障類型,掌握數(shù)據(jù)庫恢復(fù)的基本原理和實(shí)現(xiàn)技術(shù),以及具有檢查點(diǎn)的恢復(fù)技術(shù)。重點(diǎn)和難點(diǎn)重點(diǎn):熟練掌握數(shù)據(jù)庫運(yùn)行過程中可能出現(xiàn)的各類故障,做到舉一反三;能夠理解事務(wù)讀寫的訪問模式,特別是事務(wù)讀寫操作、緩沖區(qū)塊(包括數(shù)據(jù)緩沖區(qū)與日志緩沖區(qū))、數(shù)據(jù)頁三者之間的邏輯關(guān)系;理解各類故障下數(shù)據(jù)一致性的破壞與正確的故障恢復(fù);掌握基于備份+WAL日志的數(shù)據(jù)庫恢復(fù)基本原理;掌握具有檢查點(diǎn)恢復(fù)技術(shù)的實(shí)現(xiàn)原理。難點(diǎn):掌握AIRES算法的基本原理和實(shí)現(xiàn)技術(shù)。數(shù)據(jù)庫產(chǎn)品中的恢復(fù)技術(shù)常采用ARIES算法,如何從系統(tǒng)的層面上,掌握如下技術(shù)要點(diǎn):(1)登記日志文件所要遵循的原則:先寫日志、后寫數(shù)據(jù);(2)已經(jīng)回滾或部分回滾的事務(wù),如何確保級聯(lián)回滾下該事務(wù)故障恢復(fù)的正確性和高效性;(3)支持模糊檢查點(diǎn)。實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)10

ARIES算法實(shí)驗(yàn)掌握故障恢復(fù)技術(shù)的原理和實(shí)現(xiàn)方法。實(shí)驗(yàn)內(nèi)容包括。實(shí)驗(yàn)方式:在數(shù)據(jù)庫原型系統(tǒng)框架Rucbase(/ruc-deke/rucbase-lab)補(bǔ)充代碼。在數(shù)據(jù)庫原型系統(tǒng)框架Rucbase(/ruc-deke/rucbase-lab)基礎(chǔ)上,實(shí)現(xiàn)ARIES故障恢復(fù)算法,要求在系統(tǒng)在發(fā)生事務(wù)故障和系統(tǒng)故障后能夠重啟并恢復(fù)到故障發(fā)生前的一致性狀態(tài)??疾斓闹R點(diǎn)包括REDO/UNDO日志、WAL機(jī)制、檢查點(diǎn)、ARIES算法等,通過該實(shí)驗(yàn),考察學(xué)生使用ARIES算法實(shí)現(xiàn)數(shù)據(jù)庫系統(tǒng)故障恢復(fù)的能力。第一篇基礎(chǔ)篇第1章概述31.1數(shù)據(jù)庫系統(tǒng)概述31.1.1數(shù)據(jù)庫系統(tǒng)的基本概念31.1.2為什么使用數(shù)據(jù)庫系統(tǒng)51.2數(shù)據(jù)庫技術(shù)的發(fā)展51.2.1數(shù)據(jù)模型推動數(shù)據(jù)庫技術(shù)發(fā)展61.2.2應(yīng)用需求推動數(shù)據(jù)庫技術(shù)發(fā)展91.2.3計(jì)算平臺推動數(shù)據(jù)庫技術(shù)發(fā)展131.3數(shù)據(jù)庫管理系統(tǒng)組成171.3.1數(shù)據(jù)庫管理系統(tǒng)的功能結(jié)構(gòu)171.3.2數(shù)據(jù)庫管理系統(tǒng)的模式結(jié)構(gòu)191.3.3數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)201.3.4數(shù)據(jù)庫管理系統(tǒng)的執(zhí)行過程211.4我國數(shù)據(jù)庫的發(fā)展歷程231.5本章小結(jié)25習(xí)題25第2章關(guān)系數(shù)據(jù)模型272.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及形式化定義272.1.1關(guān)系概述272.1.2關(guān)系模式302.1.3關(guān)系數(shù)據(jù)庫302.1.4關(guān)系模型的存儲結(jié)構(gòu)312.2關(guān)系代數(shù)312.2.1傳統(tǒng)的集合運(yùn)算312.2.2專門的關(guān)系運(yùn)算322.3關(guān)系的完整性342.3.1實(shí)體完整性342.3.2參照完整性352.3.3用戶定義的完整性362.4本章小結(jié)36習(xí)題36第3章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL373.1SQL概述373.2數(shù)據(jù)定義373.2.1模式的定義與刪除373.2.2基本表的定義、修改與刪除383.2.3索引的創(chuàng)建413.3基本SQL查詢413.3.1單表查詢413.3.2連接查詢433.3.3集合查詢453.3.4空值查詢463.3.5聚集查詢463.4數(shù)據(jù)更新473.4.1插入數(shù)據(jù)473.4.2修改數(shù)據(jù)483.4.3刪除數(shù)據(jù)483.5視圖493.5.1定義視圖493.5.2查詢視圖503.5.3更新視圖503.6本章小結(jié)50習(xí)題51實(shí)驗(yàn)51第4章高級SQL534.1復(fù)雜SQL查詢534.1.1嵌套查詢534.1.2遞歸查詢554.1.3基于派生表的查詢564.2數(shù)據(jù)庫完整性574.2.1實(shí)體完整性574.2.2參照完整性574.2.3用戶定義的完整性584.3數(shù)據(jù)庫安全性584.3.1數(shù)據(jù)庫安全性等級584.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論