MySQL數(shù)據(jù)庫應(yīng)用項目教程 教案全套 涂剛 項目1-7 走進數(shù)據(jù)庫-走進 NoSQL_第1頁
MySQL數(shù)據(jù)庫應(yīng)用項目教程 教案全套 涂剛 項目1-7 走進數(shù)據(jù)庫-走進 NoSQL_第2頁
MySQL數(shù)據(jù)庫應(yīng)用項目教程 教案全套 涂剛 項目1-7 走進數(shù)據(jù)庫-走進 NoSQL_第3頁
MySQL數(shù)據(jù)庫應(yīng)用項目教程 教案全套 涂剛 項目1-7 走進數(shù)據(jù)庫-走進 NoSQL_第4頁
MySQL數(shù)據(jù)庫應(yīng)用項目教程 教案全套 涂剛 項目1-7 走進數(shù)據(jù)庫-走進 NoSQL_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目名稱項目一走進數(shù)據(jù)庫教學(xué)內(nèi)容數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的相關(guān)概念;數(shù)據(jù)庫系統(tǒng)的特點;概念模型、邏輯模型和物理模型;數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)和二級映像結(jié)構(gòu)。授課時間授課學(xué)時教學(xué)目標學(xué)習(xí)目標1.掌握數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的概念。2.掌握數(shù)據(jù)庫管理技術(shù)的發(fā)展歷程。3.了解數(shù)據(jù)模型的概念及分類。技能目標1.學(xué)會繪制數(shù)據(jù)庫系統(tǒng)內(nèi)部的抽象結(jié)構(gòu)。2.掌握數(shù)據(jù)庫系統(tǒng)的組成。3.掌握數(shù)據(jù)庫技術(shù)的應(yīng)用領(lǐng)域及發(fā)展趨勢。素養(yǎng)目標1.學(xué)會合理而規(guī)范地利用網(wǎng)絡(luò)信息資源和信息搜索引擎。2.學(xué)會“一分為二”的分析問題。學(xué)情分析通過對本項目的學(xué)習(xí),了解并掌握數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的概念。學(xué)會繪制數(shù)據(jù)庫系統(tǒng)內(nèi)部的抽象結(jié)構(gòu),掌握數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)和二級映像結(jié)構(gòu)。了解數(shù)據(jù)庫技術(shù)的應(yīng)用領(lǐng)域及發(fā)展趨勢。教學(xué)方法學(xué)生通過課前預(yù)習(xí)、查閱資料,課堂上緊跟著老師的思路,對老師的演示要熟記,課后練習(xí)提升、反思總結(jié)等方法進行本章節(jié)的學(xué)習(xí),有電腦條件的學(xué)生可以根據(jù)在課堂上所學(xué)習(xí)的內(nèi)容,反復(fù)的操作實踐驗證;實訓(xùn)課上要加強訓(xùn)練,不懂的問題及操作過程,及時的向老師詢問或是同學(xué)之間相互討論。教學(xué)媒介教材、配套的PPT課件、多媒體教案等 教學(xué)過程教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教學(xué)引入在信息化時代,每天都有大量的數(shù)據(jù)需要存儲和處理,如搜索引擎、交通運輸管理產(chǎn)生的數(shù)據(jù)、大中型企業(yè)的生產(chǎn)數(shù)據(jù)等。安全地存儲數(shù)據(jù)和快速地檢索、處理數(shù)據(jù)等都是數(shù)據(jù)庫技術(shù)需要研究的問題。學(xué)習(xí)數(shù)據(jù)庫技術(shù)之始,需要了解數(shù)據(jù)庫的常用術(shù)語和基本概念。教授新知一、明確教學(xué)目標二、教學(xué)內(nèi)容“走進數(shù)據(jù)庫”1.1初識數(shù)據(jù)庫技術(shù)1.1.1數(shù)據(jù)庫的相關(guān)概念1.數(shù)據(jù)(Data)2.數(shù)據(jù)庫(DataBase,DB)3.數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,DBMS)(1)數(shù)據(jù)定義功能。(2)數(shù)據(jù)的組織、存儲和管理功能。(3)數(shù)據(jù)操縱功能。(4)事務(wù)管理和運行管理功能。(5)建立和維護功能。4.數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)1.1.2數(shù)據(jù)庫管理技術(shù)的產(chǎn)生和發(fā)展1.人工管理階段2.文件系統(tǒng)階段3.數(shù)據(jù)庫系統(tǒng)階段4.高級數(shù)據(jù)庫系統(tǒng)階段1.1.3數(shù)據(jù)庫系統(tǒng)的特點(1)數(shù)據(jù)結(jié)構(gòu)化。(2)數(shù)據(jù)的共享性。(3)數(shù)據(jù)冗余度低。(4)數(shù)據(jù)的一致性。(5)物理獨立性。(6)邏輯獨立性。(7)數(shù)據(jù)的安全性(Security)。(8)數(shù)據(jù)的完整性(Integrity)。(9)并發(fā)控制。(10)數(shù)據(jù)庫恢復(fù)(Recovery)。1.2探索數(shù)據(jù)模型1.2.1兩類數(shù)據(jù)模型1.數(shù)據(jù)模型的組成(1)數(shù)據(jù)結(jié)構(gòu)(DataStructure)。(2)數(shù)據(jù)操作(DataOperation)。(3)數(shù)據(jù)約束(DataConstraint)。2.兩類數(shù)據(jù)模型第一類概念模型第二類邏輯模型和物理模型1.2.2常用的邏輯模型1.層次模型層次模型的基本特征:(1)有且只有一個位于樹根的結(jié)點,稱為根結(jié)點。(2)一個結(jié)點下面可以沒有結(jié)點,即向下沒有分支,該結(jié)點稱為葉結(jié)點。(3)一個結(jié)點下面可以有一個或多個結(jié)點,前者稱為雙親結(jié)點,后者稱為子女結(jié)點。(4)同一雙親結(jié)點的子女結(jié)點稱為兄弟結(jié)點。(5)除根結(jié)點外的任何結(jié)點有且只有一個雙親結(jié)點。2.網(wǎng)狀模型網(wǎng)狀模型的特征:(1)允許一個以上的結(jié)點沒有雙親結(jié)點。(2)一個結(jié)點可以有多于一個的雙親結(jié)點。3.關(guān)系模型(1)關(guān)系數(shù)據(jù)結(jié)構(gòu)。(2)關(guān)系操作集合。(3)關(guān)系的完整性。(4)關(guān)系模型的常用術(shù)語。(5)關(guān)系模型的基本特征。4.面向?qū)ο竽P?1)對象(2)類(3)封裝。(4)繼承。1.3探索數(shù)據(jù)庫系統(tǒng)1.3.1數(shù)據(jù)庫系統(tǒng)的模式1.外模式(ExternalSchema)2.模式(Schema)3.內(nèi)模式(InternalSchema)1.3.2數(shù)據(jù)庫的二級映像結(jié)構(gòu)1.外模式/模式映像2.模式/內(nèi)模式映像1.3.3數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)由以下部分組成:(1)計算機硬件(ComputerHardware)。(2)數(shù)據(jù)庫管理系統(tǒng)。(3)數(shù)據(jù)庫。(4)應(yīng)用程序(ApplicationProgram)。(5)數(shù)據(jù)庫用戶(DataBaseUser)。1.3.4數(shù)據(jù)庫技術(shù)的應(yīng)用領(lǐng)域與發(fā)展趨勢1.應(yīng)用領(lǐng)域(1)多媒體數(shù)據(jù)庫。(2)移動數(shù)據(jù)庫。(3)空間數(shù)據(jù)庫。(4)信息檢索系統(tǒng)。(5)分布式信息檢索。(6)專家決策系統(tǒng)。2.發(fā)展趨勢(1)信息集成。(2)數(shù)據(jù)流處理。(3)傳感器數(shù)據(jù)庫技術(shù)。(4)XML數(shù)據(jù)管理。(5)網(wǎng)格數(shù)據(jù)管理。(6)移動數(shù)據(jù)管理。(7)微小型數(shù)據(jù)庫技術(shù)。課堂小結(jié)本項目主要講述了:(1)數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的相關(guān)概念。(2)數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)約束三部分組成。(3)常見的數(shù)據(jù)模型包括層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P汀?4)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)是由外模式、模式和內(nèi)模式三部分組成的。(5)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)和二級映像結(jié)構(gòu)保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。布置作業(yè)1.區(qū)分數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。2.什么是層次模型、網(wǎng)狀模型、關(guān)系模型?并舉例說明。3.什么是三級模式結(jié)構(gòu)和二級映像結(jié)構(gòu)?教學(xué)反思項目名稱項目二走進關(guān)系代數(shù)教學(xué)內(nèi)容比較關(guān)系系統(tǒng)和非關(guān)系系統(tǒng)的區(qū)別;使用關(guān)系代數(shù)中的運算符進行關(guān)系運算;關(guān)系模型中最常用的關(guān)系操作;使用集合運算規(guī)則和關(guān)系運算規(guī)則;關(guān)系模型中完整性的分類及其定義規(guī)則;函數(shù)依賴的含義,描述各范式的概念及其關(guān)系;運用規(guī)范化的基本思想進行數(shù)據(jù)庫設(shè)計。授課時間授課學(xué)時教學(xué)目標學(xué)習(xí)目標1.了解關(guān)系模型的產(chǎn)生和發(fā)展,區(qū)別關(guān)系系統(tǒng)和非關(guān)系系統(tǒng)。2.了解關(guān)系模型中最常用的關(guān)系操作。3.了解域、笛卡兒積、關(guān)系和關(guān)系模式的定義。4.掌握關(guān)系模型中完整性的三個分類(實體完整性、參照完整性、用戶定義的完整性)及其定義規(guī)則。5.掌握函數(shù)依賴的含義,描述各范式的概念及其關(guān)系。技能目標1.會使用關(guān)系代數(shù)中的運算符進行關(guān)系運算。2.會使用集合運算規(guī)則(包括并、差、交、廣義笛卡兒積)和關(guān)系運算規(guī)則(包括選擇、投影、連接、除)。3.會運用規(guī)范化的基本思想進行數(shù)據(jù)庫設(shè)計。素養(yǎng)目標1.養(yǎng)成守規(guī)矩、按要求做事的習(xí)慣。2.保持堅持不懈的學(xué)習(xí)態(tài)度。3.養(yǎng)成尊重自然、尊重他人的處世風(fēng)格。學(xué)情分析通過對本項目的學(xué)習(xí),了解并掌握關(guān)系數(shù)據(jù)庫系統(tǒng)及其常用的關(guān)系操作包括:查詢操作和插入、刪除、修改操作;關(guān)系模型允許定義三類完整性約束:實體完整性約束、參照完整性約束和用戶定義的完整性約束;函數(shù)依賴的基本概念及第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。教學(xué)方法學(xué)生通過課前預(yù)習(xí)、查閱資料,課堂上緊跟著老師的思路,對老師的演示要熟記,課后練習(xí)提升、反思總結(jié)等方法進行本章節(jié)的學(xué)習(xí),有電腦條件的學(xué)生可以根據(jù)在課堂上所學(xué)習(xí)的內(nèi)容,反復(fù)的操作實踐驗證;實訓(xùn)課上要加強訓(xùn)練,不懂的問題及操作過程,及時的向老師詢問或是同學(xué)之間相互討論。教學(xué)媒介教材、配套的PPT課件、多媒體教案等 教學(xué)過程教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教學(xué)引入網(wǎng)狀數(shù)據(jù)庫和層次數(shù)據(jù)庫已經(jīng)很好地解決了數(shù)據(jù)的集中和共享問題,但是在數(shù)據(jù)獨立性和抽象級別上仍有很大欠缺。用戶在對這兩種數(shù)據(jù)庫中的數(shù)據(jù)進行存取時,仍然需要明確數(shù)據(jù)的存儲結(jié)構(gòu),指出存取路徑,而后來出現(xiàn)的關(guān)系數(shù)據(jù)庫較好地解決了這些問題。關(guān)系數(shù)據(jù)庫系統(tǒng)與非關(guān)系數(shù)據(jù)庫系統(tǒng)的區(qū)別是關(guān)系數(shù)據(jù)庫系統(tǒng)只有“表”這一種結(jié)構(gòu),而非關(guān)系數(shù)據(jù)庫系統(tǒng)還有其他數(shù)據(jù)結(jié)構(gòu)。教授新知一、明確教學(xué)目標二、教學(xué)內(nèi)容“走進關(guān)系代數(shù)”2.1探索關(guān)系2.1.1關(guān)系數(shù)據(jù)結(jié)構(gòu) 1.關(guān)系關(guān)系模型涉及的概念及理論如下。(1)域(Domain)(2)笛卡兒積(CartesianProduct)笛卡兒積可表示為一個二維表。表的每行對應(yīng)一個元組,表的每列對應(yīng)一個域。(3)關(guān)系(Relation)。關(guān)系是笛卡兒積的有限子集,因此關(guān)系也可用一個二維表來表示,表的每行對應(yīng)一個元組,表的每列對應(yīng)一個域。基本關(guān)系的性質(zhì)①列是同質(zhì)的(Homogeneous),即每一列中的分量是同一類型的數(shù)據(jù),來自同一個域。②不同的列可出自同一個域,其中的每一列稱為一個屬性,不同的屬性應(yīng)給予不同的屬性名。③列的位置可以任意交換。由于列順序是無關(guān)緊要的,因此當在關(guān)系數(shù)據(jù)庫產(chǎn)品中增加新屬性時,永遠是插至最后一列。④任意兩個元組的候選碼不能取相同的值。⑤行的位置可以任意交換。⑥分量必須取原子值,即每一個分量都必須是不可分的數(shù)據(jù)項。2.關(guān)系模式關(guān)系的描述稱為關(guān)系模式,它可以形式化地表示為R(U,D,M,F)3.關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫的型稱為關(guān)系數(shù)據(jù)庫模式,是對關(guān)系數(shù)據(jù)庫的描述。關(guān)系數(shù)據(jù)庫的值是關(guān)系模式在某一時刻對應(yīng)的關(guān)系的集合4.關(guān)系模型的存儲結(jié)構(gòu)2.1.2關(guān)系操作1.基本的關(guān)系操作關(guān)系模型中常用的關(guān)系操作包括查詢操作和插入、刪除、修改操作兩部分。2.關(guān)系數(shù)據(jù)語言的分類關(guān)系代數(shù)語言ISBL;關(guān)系演算語言元組關(guān)系演算語言ALPHA、QUEL,域關(guān)系演算語言QBE;具有關(guān)系代數(shù)和關(guān)系演算雙重特點的語言SQL;3.關(guān)系的完整性關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件。實體完整性約束,實體完整性規(guī)則的說明如下。①實體完整性規(guī)則是針對基本關(guān)系而言的。一個基本表通常對應(yīng)現(xiàn)實世界的一個實體集,如學(xué)生關(guān)系對應(yīng)學(xué)生的集合。②現(xiàn)實世界中的實體是可區(qū)分的,即它們具有某種唯一性標識。關(guān)系模型中以主碼作為唯一性標識。③主碼的屬性不能取空值。如果取空值,則說明存在某個不可標識的實體,即存在不可區(qū)分的實體,這與主碼作為唯一性標識的要求相矛盾。參照完整性約束參照完整性可定義為:設(shè)F是基本關(guān)系R的一個或一組屬性,但不是基本關(guān)系R的碼,Ks是基本關(guān)系S的主碼。用戶定義的完整性約束用戶定義的完整性約束就是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,它反映了某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。2.1.3關(guān)系代數(shù)1.關(guān)系代數(shù)運算符關(guān)系代數(shù)的運算對象是關(guān)系,運算結(jié)果亦為關(guān)系。關(guān)系代數(shù)運算符包括4類:集合運算符、專門的關(guān)系運算符、比較運算符和邏輯運算符。2.傳統(tǒng)的集合運算傳統(tǒng)的集合運算是二目運算,包括并、差、交和廣義笛卡兒積4種運算。3.專門的關(guān)系運算專門的關(guān)系運算包括選擇、投影、連接、除等。(1)選擇。選擇又稱為限制(restriction)。它是在關(guān)系R中選擇滿足給定條件的諸元組,記作:σF(R)={t|t∈R∧F(t)=‘true’}。(2)投影。關(guān)系R上的投影是從關(guān)系R中選擇出若干屬性列組成新的關(guān)系,記作:(3)連接。連接也稱為θ連接。它是從兩個關(guān)系的笛卡兒積中選取屬性間滿足一定條件的元組,記作:(4)除。Yx為X在關(guān)系R(X,Y)中的象集,X=tr[X]。除操作是同時從行和列角度進行運算的。2.2探索關(guān)系規(guī)范化2.2.1函數(shù)依賴關(guān)系模式中的各屬性之間相互依賴、相互制約的聯(lián)系稱為數(shù)據(jù)依賴。數(shù)據(jù)依賴一般分為函數(shù)依賴、多值依賴和連接依賴。1.函數(shù)依賴(FunctionalDependence)的定義2.函數(shù)依賴的基本性質(zhì)(1)投影性。根據(jù)平凡的函數(shù)依賴的定義可知,一組屬性函數(shù)決定它的所有子集。(2)擴張性。若X→Y且W→Z,則(X,W)→(Y,Z)。(3)合并性。若X→Y且X→Z,則必有X→(Y,Z)。(4)分解性。若X→(Y,Z),則X→Y且X→Z。3.函數(shù)依賴的相關(guān)概念4.函數(shù)依賴定義的碼2.2.2范式關(guān)系數(shù)據(jù)庫設(shè)計的關(guān)系模式必須滿足一定的條件。在關(guān)系數(shù)據(jù)庫的規(guī)范化過程中,為不同程度的規(guī)范化要求設(shè)立的不同標準稱為范式。1.第一范式第一范式是最基本的規(guī)范形式,即關(guān)系中的每個屬性都是不可再分的數(shù)據(jù)項。如果在關(guān)系模式R中,其所有的屬性均為簡單屬性,即每個屬性都是不可再分的,則稱關(guān)系模式R屬于第一范式,記作:R∈1NF。2.第二范式如果關(guān)系模式R∈1NF,且每個非主屬性都完全函數(shù)依賴于關(guān)系模式R的每個候選碼,則稱關(guān)系模式R屬于第二范式,記作:R∈2NF。3.第三范式如果關(guān)系模式R∈2NF,且每個非主屬性都不傳遞函數(shù)依賴于關(guān)系模式R的每個候選碼,則稱關(guān)系模式R屬于第三范式,記作:R∈3NF。4.BC范式如果關(guān)系模式R∈1NF,且X→Y(Y?X),決定因素X包含了關(guān)系模式R的一個候選碼,則稱關(guān)系模式R屬于BC范式,記作:R∈BCNF。2.2.3規(guī)范化的基本思想范式級別是在分析函數(shù)依賴條件下對關(guān)系模式分離程度的一種測度,范式級別可以逐級升高。一個低一級范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)化為若干個高一級范式的關(guān)系模式的集合,這種分解過程叫作關(guān)系模式的規(guī)范化。(1)對1NF進行投影,消除原關(guān)系模式中的非主屬性與碼之間的部分函數(shù)依賴,將1NF轉(zhuǎn)換成若干個2NF。(2)對2NF進行投影,消除原關(guān)系模式中的非主屬性與碼之間的傳遞函數(shù)依賴,將2NF轉(zhuǎn)換成若干個3NF。(3)對3NF進行投影,消除原關(guān)系模式中的主屬性與碼之間的部分函數(shù)依賴和傳遞函數(shù)依賴,也就是說,使決定因素都包含一個候選碼,得到一組BCNF。課堂小結(jié)本項目主要講述了:(1)關(guān)系數(shù)據(jù)結(jié)構(gòu)中的關(guān)系、關(guān)系模式、關(guān)系數(shù)據(jù)庫、關(guān)系模型的存儲結(jié)構(gòu)。(2)關(guān)系模型中常用的關(guān)系操作:查詢、插入、刪除、修改操作。(3)關(guān)系數(shù)據(jù)語言分為關(guān)系代數(shù)語言、關(guān)系演算語言、具有關(guān)系代數(shù)和關(guān)系演算雙重特點的語言;關(guān)系模型允許定義實體完整性約束、參照完整性約束和用戶定義的完整性約束三類完整性約束。(4)函數(shù)依賴的基本概念與基本性質(zhì)。(5)關(guān)系數(shù)據(jù)庫設(shè)計的關(guān)系模式滿足的范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BC范式。(6)應(yīng)用規(guī)范化的基本思想。布置作業(yè)1.關(guān)系模型的完整性規(guī)則有哪些?2.能應(yīng)用關(guān)系代數(shù)運算符、傳統(tǒng)的集合運算、專門的關(guān)系運算。3.理解函數(shù)依賴的基本性質(zhì)及相關(guān)概念。4.關(guān)系數(shù)據(jù)庫的規(guī)范化過程中,不同標準稱為范式各是什么?教學(xué)反思項目名稱項目三設(shè)計數(shù)據(jù)庫教學(xué)內(nèi)容數(shù)據(jù)庫設(shè)計的方法、基本步驟,數(shù)據(jù)庫設(shè)計過程中的各級模式;需求分析的任務(wù)、方法,數(shù)據(jù)字典,數(shù)據(jù)流程圖;概念結(jié)構(gòu)設(shè)計的方法、步驟;E-R圖的實體和屬性;E-R圖向關(guān)系模型的轉(zhuǎn)換遵循的原則;物理結(jié)構(gòu)設(shè)計的內(nèi)容、方法、步驟。授課時間授課學(xué)時教學(xué)目標學(xué)習(xí)目標1.掌握數(shù)據(jù)庫設(shè)計的基本步驟。2.掌握概念結(jié)構(gòu)設(shè)計的方法和步驟。3.掌握數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法。技能目標1.會繪制簡單的信息管理系統(tǒng)的數(shù)據(jù)流程圖。2.會繪制簡單的信息管理系統(tǒng)的E-R圖。3.會將E-R圖轉(zhuǎn)換為對應(yīng)的關(guān)系模型。素養(yǎng)目標1.尊重知識產(chǎn)權(quán),尊重勞動成果,并養(yǎng)成勞動習(xí)慣。2.合理表達個人需求,并與他人進行有效溝通。學(xué)情分析通過對本項目的學(xué)習(xí),了解數(shù)據(jù)庫設(shè)計的方法、基本步驟,數(shù)據(jù)庫設(shè)計過程中的各級模式;了解需求分析的任務(wù)、方法,數(shù)據(jù)字典,數(shù)據(jù)流程圖。掌握概念結(jié)構(gòu)設(shè)計的方法、步驟;E-R圖的實體和屬性。熟悉E-R圖向關(guān)系模型的轉(zhuǎn)換遵循的原則,物理結(jié)構(gòu)設(shè)計的內(nèi)容、方法、步驟。教學(xué)方法學(xué)生通過課前預(yù)習(xí)、查閱資料,課堂上緊跟著老師的思路,對老師的演示要熟記,課后練習(xí)提升、反思總結(jié)等方法進行本章節(jié)的學(xué)習(xí),有電腦條件的學(xué)生可以根據(jù)在課堂上所學(xué)習(xí)的內(nèi)容,反復(fù)的操作實踐驗證;實訓(xùn)課上要加強訓(xùn)練,不懂的問題及操作過程,及時的向老師詢問或是同學(xué)之間相互討論。教學(xué)媒介教材、配套的PPT課件、多媒體教案等 教學(xué)過程教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教學(xué)引入在數(shù)據(jù)庫領(lǐng)域中,通常把使用數(shù)據(jù)庫的各類信息系統(tǒng)稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)。例如,以數(shù)據(jù)庫為基礎(chǔ)的各種管理信息系統(tǒng)、辦公自動化系統(tǒng)、地理信息系統(tǒng)、電子政務(wù)系統(tǒng)、電子商務(wù)系統(tǒng)等。數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計)、優(yōu)化數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。數(shù)據(jù)庫設(shè)計的目標是,為用戶和各種應(yīng)用系統(tǒng)提供一個信息基礎(chǔ)設(shè)施和高效的運行環(huán)境。高效的運行環(huán)境是指數(shù)據(jù)庫數(shù)據(jù)的存取效率、數(shù)據(jù)庫存儲空間的利用率、數(shù)據(jù)庫系統(tǒng)運行管理的效率等都滿足用戶的需求。教授新知一、明確教學(xué)目標二、教學(xué)內(nèi)容“設(shè)計數(shù)據(jù)庫”3.1初始數(shù)據(jù)庫設(shè)計3.1.1認識數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計應(yīng)與應(yīng)用系統(tǒng)設(shè)計相結(jié)合。在整個數(shù)據(jù)庫設(shè)計過程中要把數(shù)據(jù)庫結(jié)構(gòu)設(shè)計和數(shù)據(jù)處理的設(shè)計密切結(jié)合起來。1.數(shù)據(jù)庫設(shè)計的方法新奧爾良(NewOrleans)方法基于E-R模型的設(shè)計方法3NF的設(shè)計方法面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計方法統(tǒng)一建模語言(UnifiedModelingLanguage,UML)方法2.數(shù)據(jù)庫設(shè)計的基本步驟按照結(jié)構(gòu)化系統(tǒng)設(shè)計的方法,考慮數(shù)據(jù)庫及其應(yīng)用系統(tǒng)開發(fā)的全過程,將數(shù)據(jù)庫設(shè)計分為六個階段。關(guān)于數(shù)據(jù)特性的設(shè)計描述3.數(shù)據(jù)庫設(shè)計過程中的各級模式數(shù)據(jù)庫設(shè)計的不同階段形成數(shù)據(jù)庫的各級模式3.1.2需求分析1.需求分析的任務(wù)(1)信息要求。(2)處理要求。(3)安全性與完整性要求。2.需求分析的方法3.數(shù)據(jù)字典數(shù)據(jù)字典通常包括數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程。(1)數(shù)據(jù)項。(2)數(shù)據(jù)結(jié)構(gòu)。(3)數(shù)據(jù)流。(4)數(shù)據(jù)存儲。(5)處理過程。3.1.3數(shù)據(jù)流程圖數(shù)據(jù)流程圖有兩個特征:抽象性和概括性。一般采用分層的數(shù)據(jù)流程圖,分層的數(shù)據(jù)流程圖有:頂層圖、中層圖、底層圖數(shù)據(jù)流程圖包括:外部實體、處理過程數(shù)據(jù)流、數(shù)據(jù)存儲3.2探索概念結(jié)構(gòu)設(shè)計3.2.1概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計就是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu),即概念模型。1.概念結(jié)構(gòu)設(shè)計的方法自頂向下。先定義全局概念模型的E-R圖框架,再逐步細化。自底向上。先定義各局部應(yīng)用的概念模型的E-R圖,然后將它們集成,得到全局概念模型的E-R圖。逐步擴張。先定義最重要的核心概念模型的E-R圖,然后向外擴充,以“滾雪球”的方式逐步生成其他概念模型的E-R圖?;旌喜呗?。該方法采用自頂向下和自底向上相結(jié)合的方法,先采用自頂向下的方法定義全局概念模型的E-R圖框架,再采用自底向上的方法設(shè)計各個局部概念概念模型的E-R圖。2.概念結(jié)構(gòu)設(shè)計的步驟若采用自底向上的方法設(shè)計概念模型,則可分為兩步:(1)數(shù)據(jù)抽象,設(shè)計局部E-R圖,即設(shè)計用戶視圖。(2)各局部E-R圖形成全局E-R圖,即視圖集成。3.數(shù)據(jù)抽象概念模型是對現(xiàn)實世界的一種數(shù)據(jù)抽象。一般有以下兩種數(shù)據(jù)抽象方式。(1)分類(2)聚集3.2.2繪制E-R圖1.局部E-R圖設(shè)計可根據(jù)以下兩條準則來劃分實體和屬性。(1)實體具有描述信息,而屬性沒有。即屬性必須是不可再分的數(shù)據(jù)項,不能再由另一些屬性組成。(2)屬性不能與其他實體具有聯(lián)系,聯(lián)系只能發(fā)生在實體之間。2.全局E-R圖設(shè)計視圖集成有以下兩種方式。(1)多元集成法(2)二元集成法3.合并局部E-R圖,生成初步E-R圖合并局部E-R圖的關(guān)鍵是合理消除各局部E-R圖中的沖突。各局部E-R圖中的沖突主要有以下三種:屬性沖突、命名沖突、結(jié)構(gòu)沖突3.3探索實現(xiàn)設(shè)計3.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換E-R圖所表示的概念模型可以轉(zhuǎn)換成具體的數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型,如網(wǎng)狀模型、層次模型或關(guān)系模型。1.初始關(guān)系模式設(shè)計將E-R圖轉(zhuǎn)換為關(guān)系模型就是將實體、屬性及其聯(lián)系轉(zhuǎn)換成關(guān)系模式。在轉(zhuǎn)換中要遵循以下原則。(1)一個實體轉(zhuǎn)換為一個關(guān)系模式,實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。(2)一個聯(lián)系轉(zhuǎn)換為一個關(guān)系模式,與該聯(lián)系相連的各實體的碼以及聯(lián)系的屬性均轉(zhuǎn)換為該關(guān)系的屬性。2.數(shù)據(jù)模型優(yōu)化的方法(1)確定范式級別。(2)實施規(guī)范化處理。3.模式評價與改進(1)模式評價。①功能評價。②性能評價。(2)模式改進。①合并。②分解。3.3.2物理結(jié)構(gòu)設(shè)計1.物理結(jié)構(gòu)設(shè)計的內(nèi)容和方法通過設(shè)計優(yōu)化的物理數(shù)據(jù)庫結(jié)構(gòu),使得在數(shù)據(jù)庫上運行的各種事務(wù)的響應(yīng)時間小、存儲空間利用率高、事務(wù)吞吐率大。首先,對要運行的事務(wù)進行詳細分析,獲得物理數(shù)據(jù)庫設(shè)計所需要的參數(shù)。其次,要充分了解所用的關(guān)系數(shù)據(jù)庫管理系統(tǒng)的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存儲結(jié)構(gòu)。對于關(guān)系數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計的內(nèi)容主要包括:為關(guān)系模式選擇存取方法,以及設(shè)計關(guān)系、索引等數(shù)據(jù)庫文件的物理存儲結(jié)構(gòu)。2.關(guān)系模式存取方法的選擇常用的存取方法有:索引方法(目前主要是B+樹索引方法)、聚簇方法、hash方法(1)索引存取方法的選擇。出現(xiàn)如下三種情況時可考慮建立索引。①一個(或一組)屬性經(jīng)常作為查詢條件出現(xiàn)。②一個屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù)。③一個(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn)。(2)聚簇存取方法的選擇。通常在以下情況下建立聚簇。①對經(jīng)常在一起進行連接操作的關(guān)系建立聚簇。②如果一個關(guān)系的一組屬性經(jīng)常出現(xiàn)在相等的比較條件中,則此單個關(guān)系可建立聚簇。③如果一個關(guān)系的一個(或一組)屬性上的值重復(fù)率很高,則此單個關(guān)系可建立聚簇。(3)hash存取方法的選擇。選擇hash存取方法的規(guī)則:如果一個關(guān)系的屬性主要出現(xiàn)在等值連接條件中或等值比較選擇條件中,而且滿足下列條件之一,則此關(guān)系可以選擇hash存取方法。①如果一個關(guān)系的大小可預(yù)知,而且不變。②如果關(guān)系的大小動態(tài)改變,但是數(shù)據(jù)庫管理系統(tǒng)提供了動態(tài)hash存取方法。3.物理結(jié)構(gòu)設(shè)計的步驟數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于給定的計算機系統(tǒng)。(1)確定物理結(jié)構(gòu)。存儲記錄結(jié)構(gòu)的設(shè)計、訪問方法的設(shè)計、數(shù)據(jù)存放位置的設(shè)計、系統(tǒng)配置的設(shè)計、(2)評價物理結(jié)構(gòu)。課堂小結(jié)本項目主要講述了:(1)數(shù)據(jù)庫設(shè)計的方法和基本步驟。(2)在數(shù)據(jù)庫設(shè)計中需求分析的實施方法及過程。(3)數(shù)據(jù)流程圖和數(shù)據(jù)字典的編寫方法。(4)概念結(jié)構(gòu)設(shè)計的定義、方法及步驟。(5)E-R圖的設(shè)計方法。(6)邏輯結(jié)構(gòu)設(shè)計及物理結(jié)構(gòu)設(shè)計的各種評價與改進的方法。布置作業(yè)1.數(shù)據(jù)庫設(shè)計過程中分為哪些階段?2.數(shù)據(jù)庫設(shè)計過程中的各級模式是什么?3.數(shù)據(jù)流程圖包含哪些內(nèi)容?舉例說明其實現(xiàn)過程。4.舉例實現(xiàn)E-R圖的繪制。教學(xué)反思項目名稱項目四實現(xiàn)數(shù)據(jù)庫教學(xué)內(nèi)容MariaDB的主要特點、體系結(jié)構(gòu)、邏輯結(jié)構(gòu),存儲引擎的任務(wù)及常見的存儲引擎,數(shù)據(jù)文件的格式;SQL的特點、體系結(jié)構(gòu)、分類、編寫規(guī)則;數(shù)據(jù)庫的操作,數(shù)據(jù)表的操作,數(shù)據(jù)的操作。授課時間授課學(xué)時教學(xué)目標學(xué)習(xí)目標1.了解存儲引擎的作用、特點和MariaDB常用的存儲引擎。2.掌握SQL語言的特點、分類、體系結(jié)構(gòu)和命名規(guī)則。3.了解MariaDB執(zhí)行SQL的過程、MariaDB中的各類數(shù)據(jù)文件以及數(shù)據(jù)類型。4.了解連接、聚類、索引和視圖的定義。技能目標1.會查詢MariaDB的存儲引擎,根據(jù)場景設(shè)置相應(yīng)的存儲引擎。2.會使用SQL命令創(chuàng)建、查看、選擇、修改和刪除數(shù)據(jù)庫及數(shù)據(jù)表。3.會使用SQL命令進行數(shù)據(jù)記錄的增加、刪除、修改、查詢。4.會使用SQL命令根據(jù)應(yīng)用需要進行索引、視圖的創(chuàng)建、刪除。5.會使用HeidiSQL圖形界面完成對數(shù)據(jù)庫、數(shù)據(jù)表的常用操作。素養(yǎng)目標1.懂規(guī)矩、守紀律,喜歡技術(shù),樂于學(xué)習(xí),不忘學(xué)習(xí)初心,明確做事底線。2.養(yǎng)成友善、樂于助人的品格。學(xué)情分析通過對本項目的學(xué)習(xí),了解MariaDB的主要特點、體系結(jié)構(gòu)、邏輯結(jié)構(gòu),存儲引擎的任務(wù)及常見的存儲引擎,數(shù)據(jù)文件的格式。熟悉SQL的特點、體系結(jié)構(gòu)、分類、編寫規(guī)則。掌握數(shù)據(jù)庫的操作,數(shù)據(jù)表的操作及數(shù)據(jù)的操作。有助于幫助學(xué)生加深對實現(xiàn)數(shù)據(jù)庫的理解,有助于后續(xù)課程的深化學(xué)習(xí)。教學(xué)方法學(xué)生通過課前預(yù)習(xí)、查閱資料,課堂上緊跟著老師的思路,對老師的演示要熟記,課后練習(xí)提升、反思總結(jié)等方法進行本章節(jié)的學(xué)習(xí),有電腦條件的學(xué)生可以根據(jù)在課堂上所學(xué)習(xí)的內(nèi)容,反復(fù)的操作實踐驗證;實訓(xùn)課上要加強訓(xùn)練,不懂的問題及操作過程,及時的向老師詢問或是同學(xué)之間相互討論。教學(xué)媒介教材、配套的PPT課件、多媒體教案等 教學(xué)過程教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教學(xué)引入數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計完成后,便可選擇數(shù)據(jù)庫管理系統(tǒng)來實現(xiàn)數(shù)據(jù)庫。數(shù)據(jù)庫對象包括表、視圖、索引、存儲過程、觸發(fā)器等。進行數(shù)據(jù)管理之前,首先必須創(chuàng)建數(shù)據(jù)庫。數(shù)據(jù)庫本身無法直接存儲數(shù)據(jù),是通過數(shù)據(jù)庫中的表來存儲數(shù)據(jù)的。教授新知一、明確教學(xué)目標二、教學(xué)內(nèi)容“實現(xiàn)數(shù)據(jù)庫”4.1數(shù)據(jù)庫操作4.1.1走進MariaDB1.初識MariaDB(1)MariaDB的主要特點。(2)MariaDB的體系結(jié)構(gòu)。MariaDB的體系結(jié)構(gòu)封裝了SQL接口、查詢解析器、查詢優(yōu)化器、查詢執(zhí)行引擎、緩存/緩沖機制以及一個插件式存儲引擎。(3)MariaDB的邏輯結(jié)構(gòu)。(4)MariaDB的連接。終端連接MariaDB服務(wù)器。圖形工具連接MariaDB服務(wù)器。2.存儲引擎(1)存儲引擎的任務(wù)。存儲引擎在物理層管控數(shù)據(jù),負責(zé)數(shù)據(jù)文件、數(shù)據(jù)、索引和高速緩沖存儲器等管理,使得管理和讀取數(shù)據(jù)變得更高效。(2)常見的存儲引擎。①XtraDB,②InnoDB,③Aria,④MyISAM,⑤PERFORMANCE_SCHEMA,⑥TokuDB,⑦Spider,⑧ColumnStore等。(3)MariaDB的存儲引擎。(4)存儲引擎的選擇。3.數(shù)據(jù)文件不同的MariaDB存儲引擎有各自不同的數(shù)據(jù)文件,存放位置也有區(qū)別。.frm文件、.MYD文件、.MYI文件、.ibd文件和ibdata文件。4.1.2操作數(shù)據(jù)庫1.認識SQLSQL是StructuredQueryLanguage(結(jié)構(gòu)化查詢語言)的簡稱,SQL的結(jié)構(gòu)簡潔、功能強大、簡單易學(xué),在主流數(shù)據(jù)庫中得到了廣泛的應(yīng)用。(1)SQL的特點。(2)SQL的體系結(jié)構(gòu)。SQL支持關(guān)系數(shù)據(jù)庫體系結(jié)構(gòu),即外模式、模式和內(nèi)模式,利用SQL可以實現(xiàn)對三級模式結(jié)構(gòu)的定義、修改和數(shù)據(jù)的操作功能,在此基礎(chǔ)上形成了SQL體系結(jié)構(gòu)。(3)SQL語句的分類。SQL語句依據(jù)操作對象和類型的不同,通常分為以下幾類。①數(shù)據(jù)查詢語言,用于對數(shù)據(jù)進行查詢,如SELECT。②數(shù)據(jù)操縱語言,可進行增加、修改、查詢、刪除。③數(shù)據(jù)定義語言,進行數(shù)據(jù)庫,表的管理等。④數(shù)據(jù)控制語言,設(shè)置訪問權(quán)限等,如GRANT,REVOKE等。⑤事務(wù)處理語言對事務(wù)進行處理,如BEGIN,TRANSACTION,COMMIT,ROLLBACK等。⑥指針控制語言,通過控制指針完成表的操作,如DECLARECURSOR等。(4)SQL語句的編寫規(guī)則。2.操作數(shù)據(jù)庫(1)創(chuàng)建數(shù)據(jù)庫。(2)查看數(shù)據(jù)庫。(3)選擇數(shù)據(jù)庫。(4)修改數(shù)據(jù)庫。(5)刪除數(shù)據(jù)庫。4.2數(shù)據(jù)表操作4.2.1創(chuàng)建數(shù)據(jù)表1.數(shù)據(jù)類型MariaDB常用的數(shù)據(jù)類型如下:(1)數(shù)值類型。①整數(shù)類型。②小數(shù)類型。③浮點類型。(2)字符串類型。(3)日期和時間類型。(4)ENUM類型和SET類型。(5)TEXT類型和BLOB類型。2.創(chuàng)建數(shù)據(jù)表數(shù)據(jù)表是用來實際存儲和操作數(shù)據(jù)的邏輯結(jié)構(gòu),對數(shù)據(jù)庫的各種操作就是對數(shù)據(jù)庫中數(shù)據(jù)表的操作。(1)列的其他屬性。給列定義數(shù)據(jù)類型的同時,也定義了列中存儲的內(nèi)容。①默認值。②自動增長值。③NULL與NOTNULL。(2)設(shè)計表結(jié)構(gòu)。(3)完整性約束條件。列級完整性約束條件。表級完整性約束條件。(4)使用CREATETABLE語句創(chuàng)建數(shù)據(jù)表。4.2.2維護數(shù)據(jù)表1.查看數(shù)據(jù)表2.修改數(shù)據(jù)表3.復(fù)制數(shù)據(jù)表4.修改表名5.刪除數(shù)據(jù)表4.3數(shù)據(jù)操作4.3.1記錄更新記錄的更新主要包括記錄的插入、修改和刪除。1.插入記錄(1)插入一條記錄。語法格式:INSERTINTO<表名>[(<字段清單>)]VALUES(<常量清單>);(2)插入多條記錄。(3)從其他數(shù)據(jù)表查詢插入。2.修改記錄修改記錄是指修改數(shù)據(jù)表中已經(jīng)存在的記錄,如修改學(xué)生的姓名或出生日期等,可以通過UPDATE語句來修改。語法格式:UPDATE<表名>SET<字段名1=表達式1>,[<字段名2=表達式2>,...][WHERE<條件表達式>];3.刪除記錄在SQL中,通過DELETE語句刪除數(shù)據(jù)。語法格式:DELETEFROM<表名>[WHERE<條件表達式>];4.3.2記錄查詢查詢是數(shù)據(jù)庫中最常見的操作,SQL是通過SELECT語句實現(xiàn)查詢的。1.單表查詢(1)簡單查詢。①查詢所有的數(shù)據(jù)記錄和字段②查詢部分字段③查詢計算字段。(2)條件查詢。①按簡單條件查詢②復(fù)合條件查詢③指定范圍查詢④指定集合查詢⑤查詢值為空的行。(3)查詢排序。(4)限制查詢結(jié)果范圍。(5)使用聚合函數(shù)查詢。(6)使用GROUPBY子句分組查詢。2.多表連接查詢(1)內(nèi)連接①使用FROM子句實現(xiàn)多表查詢。②在WHERE子句中指定連接條件。③使用JOIN關(guān)鍵字實現(xiàn)連接。④使用別名作為表名的簡寫。⑤三個數(shù)據(jù)表的連接查詢。(2)外連接①左外連接。②右外連接。③交叉連接。④自連接。⑤聯(lián)合查詢。3.子查詢操作(1)使用比較運算符的子查詢。(2)[NOT]IN子查詢。(3)ANY子查詢。(4)ALL子查詢。(5)[NOT]EXISTS子查詢。4.3.3索引和視圖1.索引(1)索引概述。(2)索引的分類。普通索引、唯一索引、主碼索引、全文索引、空間索引。(3)創(chuàng)建索引。創(chuàng)建數(shù)據(jù)表時可以直接創(chuàng)建索引,這種方式最簡單、方便。(4)刪除索引。2.視圖視圖(view)是一個虛擬表。視圖中的行和列都來自數(shù)據(jù)表,這些數(shù)據(jù)表稱為視圖的基表,視圖數(shù)據(jù)是在視圖被引用時動態(tài)生成的。(1)視圖的特點。(2)視圖的創(chuàng)建。創(chuàng)建視圖主要有兩種方法:HeidiSQL圖形界面和使用CREATE語句。(3)查看視圖。①查看視圖的基本信息??梢允褂肧HOWTABLESTATUS語句查看視圖的基本信息。②查看視圖的定義。使用SHOWCREATEVIEW語句查看視圖的定義,語法格式:SHOWCREATEVIEW<視圖名>;(4)使用視圖。視圖定義后,可以像基本表一樣進行查詢。(5)修改視圖。使用SQL語句修改視圖。語法格式:ALTER[ALGORITHM={UNDEFINEDIMERGEITEMPTABLE}]VIEW<視圖名>[(字段1,字段2,...)]ASselect_statement[WITH[CASCADEDILOCAL]CHECKOPTION];(6)刪除視圖。使用SQL語句刪除視圖。語法格式:DROPVIEW[IFEXISTS]<視圖名1[,視圖名2,...]>[RESTRICT|CASCADE];課堂小結(jié)本項目主要講述了:(1)存儲引擎的作用、特點和MariaDB常用的存儲引擎;查詢MariaDB的存儲引擎,根據(jù)場景設(shè)置相應(yīng)的存儲引擎以提高性能。(2)SQL中的數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制。(3)數(shù)據(jù)表是數(shù)據(jù)庫最基本的對象,用于存儲用戶數(shù)據(jù)。(4)約束用于確保數(shù)據(jù)庫數(shù)據(jù)滿足特定的商業(yè)邏輯或企業(yè)規(guī)則。(5)使用INSERT語句可以增加單行數(shù)據(jù),使用子查詢將數(shù)據(jù)復(fù)制到其他數(shù)據(jù)表。(6)數(shù)據(jù)查詢是數(shù)據(jù)庫的核心操作,常用的數(shù)據(jù)查詢有列查詢、條件查詢。(7)視圖是一個虛表,本身不存儲數(shù)據(jù)。布置作業(yè)1.怎樣進行存儲引擎的選擇?2.練習(xí)運用SQL命令創(chuàng)建、查看、選擇、修改和刪除數(shù)據(jù)庫。3.練習(xí)運用SQL命令創(chuàng)建、查看、選擇、修改和刪除數(shù)據(jù)表。4.練習(xí)運用SQL命令進行數(shù)據(jù)記錄的增加、刪除、修改、查詢操作。5.什么索引和視圖?怎樣對索引和視圖進行操作?教學(xué)反思項目名稱項目五數(shù)據(jù)庫編程教學(xué)內(nèi)容SQL語言中操作數(shù)據(jù)庫及數(shù)據(jù)庫對象的命令語句,常量和變量、表達式、運算符、控制語句;常用的字符串函數(shù)、數(shù)學(xué)函數(shù)、日期和時間函數(shù)、系統(tǒng)函數(shù);存儲過程和存儲函數(shù)的操作如創(chuàng)建、調(diào)用、查看、修改、刪除等;觸發(fā)器的創(chuàng)建和管理,事務(wù)控制,在事務(wù)中使用鎖。授課時間授課學(xué)時教學(xué)目標學(xué)習(xí)目標1.了解SQL語言的語法規(guī)范、常量和變量的定義、過程控制語句。2.熟悉游標、存儲過程和函數(shù)的定義及其應(yīng)用場景。3.掌握觸發(fā)器、事務(wù)及鎖的定義和它們的應(yīng)用場景。技能目標1.會使用SQL語言進行簡單的程序設(shè)計。2.會根據(jù)使用場景選擇SQL函數(shù)完成數(shù)據(jù)庫中的數(shù)據(jù)統(tǒng)計、數(shù)據(jù)分析等操作。3.會編寫具有簡單功能的存儲過程和函數(shù)。4.會根據(jù)實際應(yīng)用場景編寫簡單的觸發(fā)器、事務(wù)腳本。5.會合理使用鎖機制,以實現(xiàn)并發(fā)事務(wù)的控制。素養(yǎng)目標1.尊重知識產(chǎn)權(quán),遵紀守法,具備公民意識。2.合理使用資源,養(yǎng)成節(jié)儉習(xí)慣。3.在學(xué)會使用數(shù)據(jù)庫編程的同時,養(yǎng)成團結(jié)合作的意識。學(xué)情分析通過對本項目的學(xué)習(xí),了解SQL語言中操作數(shù)據(jù)庫及數(shù)據(jù)庫對象的命令語句;熟悉常用的字符串函數(shù)、數(shù)學(xué)函數(shù)、日期和時間函數(shù)、系統(tǒng)函數(shù);掌握存儲過程和存儲函數(shù)的操作,觸發(fā)器的創(chuàng)建、管理,以及事務(wù)控制。學(xué)習(xí)數(shù)據(jù)庫編程有助于幫助學(xué)生加深對數(shù)據(jù)庫的理解,有助于后續(xù)課程的深化學(xué)習(xí)。教學(xué)方法學(xué)生通過課前預(yù)習(xí)、查閱資料,課堂上緊跟著老師的思路,對老師的演示要熟記,課后練習(xí)提升、反思總結(jié)等方法進行本章節(jié)的學(xué)習(xí),有電腦條件的學(xué)生可以根據(jù)在課堂上所學(xué)習(xí)的內(nèi)容,反復(fù)的操作實踐驗證;實訓(xùn)課上要加強訓(xùn)練,不懂的問題及操作過程,及時的向老師詢問或是同學(xué)之間相互討論。教學(xué)媒介教材、配套的PPT課件、多媒體教案等 教學(xué)過程教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教學(xué)引入MariaDB雖然有各種便捷的圖形界面,但各種功能的實現(xiàn)基礎(chǔ)仍然是SQL語言,只有SQL語言可以直接和數(shù)據(jù)庫進行交互。教授新知一、明確教學(xué)目標二、教學(xué)內(nèi)容“數(shù)據(jù)庫編程”5.1SQL編程基礎(chǔ)5.1.1SQL語言基礎(chǔ)SQL語言中基本語法和流程語句的構(gòu)成,主要包括常量和變量、表達式、運算符、控制語句等。1.常量和變量(1)常量。十進制整型常量、十六進制整型常量、實型常量、字符串常量、日期常量、布爾常量、位字段值、NULL值(2)變量。變量就是在程序執(zhí)行過程中,值是可以改變的量。①全局變量和會話變量。②用戶變量。用戶變量指的是用戶自己定義的變量。③局部變量。作用范圍是在BEGIN...END語句塊中。2.運算符(1)算術(shù)運算符。(2)比較運算符。(3)邏輯運算符。(4)位運算符。(5)運算符的優(yōu)先級。3.SQL流程控制語句(1)BEGIN...END語句塊。語法格式:[begin_label:]BEGIN[statement_list]END[end_label];(2)IF...ELSE條件語句。語法格式:IF<表達式>THENstatement_list[ELSEIF<表達式>THENstatement_list]...[ELSEstatement_list]ENDIF;(3)CASE分支語句。①簡單格式。②搜索格式。(4)循環(huán)語句。在SQL語言中主要有三個標準的循環(huán)方式:LOOP、REPEAT和WHILE。①LOOP循環(huán)。②REPEAT循環(huán)。③WHILE循環(huán)。4.條件和處理程序的定義(1)定義條件。(2)定義處理程序。5.注釋(1)單行注釋。①在行前使用#。②在行前使用--(2)多行注釋。使用/??/注釋。5.1.2常用函數(shù)1.字符串函數(shù)字符串函數(shù)用于控制字符串返回滿足用戶需求的位置,這些功能僅用于字符型數(shù)據(jù)。ASCII(char)、LENGTH(s)、CHAR_LENGTH(s)、CONCAT(s1,s2,...)、UPPER(s)、CONCAT_WS(sep,s1,s2,...)、INSERT(s1,x,len,s2)、LOWER(s)、LEFT(s,n)、TRIM(s)、RIGHT(s,n)等2.數(shù)學(xué)函數(shù) 常用的數(shù)學(xué)函數(shù)有:ABS(x)函數(shù)、FLOOR(x)函數(shù)、CEILING(x)函數(shù)、GREATEST()函數(shù)、LEAST()函數(shù)、ROUND(x)函數(shù)、TRUNCATE(x,y)函數(shù)、RAND()函數(shù)、RAND(x)函數(shù)、SQRT(x)函數(shù)、MOD(x,y)函數(shù)3.日期和時間函數(shù) 常用日期和時間函數(shù)的操作有:CURDATE()函數(shù)、CURTIME()函數(shù)、DATE_ADD()函數(shù)、DATE_SUB()函數(shù)、DAYOFWEEK(d)函數(shù)、DAYOFMONTH(d)函數(shù)、DAYOFYEAR(d)函數(shù)、HOUR(t)函數(shù)、MINUTE(t)函數(shù)、SECOND(t)函數(shù)、⑤NOW()函數(shù)、DATEDIFF()函數(shù)、4.系統(tǒng)函數(shù) 常用的系統(tǒng)函數(shù):DATABASE()函數(shù)、USER()函數(shù)、VERSION()函數(shù)、CHARSET(str)函數(shù)、COLLATION(str)函數(shù)5.1.3游標1.聲明游標2.游標操作(1)打開游標。語法格式:OPENcursor_name;(2)檢索游標。語法格式:FETCHcursor_nameINTOvar_name[,var_name,...];(3)關(guān)閉游標語法格式:CLOSEcursor_name;5.2存儲過程和存儲函數(shù)5.2.1熟悉存儲過程和存儲函數(shù)1.存儲過程和存儲函數(shù)的優(yōu)缺點存儲過程和存儲函數(shù)的優(yōu)缺點存儲過程和存儲函數(shù)的缺點。2.存儲過程和存儲函數(shù)參數(shù)存儲過程和存儲函數(shù)能接受輸入?yún)?shù),并把參數(shù)返回給調(diào)用方。參數(shù)傳遞信息的關(guān)鍵字:5.2.2創(chuàng)建存儲過程和存儲函數(shù)1.創(chuàng)建存儲過程(1)使用CREATEPROCEDURE語句創(chuàng)建存儲過程,語法格式:CREATE[ORREPLACE][DEFINER={user|CURRENT_USER|role|CUR-RENT_ROLE}]PROCEDUREsp_name([proc_parameter[,...]])[characteristic...]routine_body使用ORREPLACE子句,判斷將要創(chuàng)建的存儲過程是否存在。DEFINER子句指定存儲過程執(zhí)行時,檢查權(quán)限所使用的上下文。sp_name參數(shù)表示創(chuàng)建的存儲過程的名稱proc_parameter允許使用空參數(shù)列表,如果給定了參數(shù),則參數(shù)名不區(qū)分大小寫。routine_body部分包含有效的SQL語句。2.創(chuàng)建存儲函數(shù)(1)使用CREATEFUNCTION語句創(chuàng)建存儲函數(shù)。使用CREATEFUNCTION語句,必須要具備CREATEROUTINE權(quán)限。語法格式:CREATE[ORREPLACE][DEFINER={user|CURRENT_USER|role|CUR-RENT_ROLE}][AGGREGATE]FUNCTION[IFNOTEXISTS]func_name([func_parameter[,...]])RETURNStype[characteristic...]RETURNfunc_body(2)利用HeidiSQL圖形界面創(chuàng)建存儲函數(shù)。利用HeidiSQL圖形界面創(chuàng)建存儲函數(shù)的步驟與創(chuàng)建存儲過程相似。3.調(diào)用存儲過程和存儲函數(shù)存儲函數(shù)的調(diào)用與MariaDB內(nèi)部函數(shù)的調(diào)用方式相同。(1)在HeidiSQL圖形界面調(diào)用存儲過程和存儲函數(shù)。利用HeidiSQL圖形界面調(diào)用存儲過程和存儲函數(shù)的方法非常簡單。(2)使用SQL語句調(diào)用存儲過程和存儲函數(shù)。①調(diào)用存儲過程。②調(diào)用存儲函數(shù)。5.2.3管理存儲過程和存儲函數(shù)1.查看存儲過程和存儲函數(shù)(1)利用SHOWSTATUS語句查看。語法格式:SHOW[PROCEDURE|FUNCTION]STATUS[LIKE‘pattern’];(2)利用SHOWCREATE語句查看。語法格式:SHOWCREATE[PROCEDURE|FUNCTION]<sp_name|func_name>;(3)從information_schema.ROUTINES數(shù)據(jù)表查看存儲過程或存儲函數(shù)的信息。SELECT?FROMinformation_schema.ROUTINES2.修改存儲過程和存儲函數(shù)語法格式:ALTER[PROCEDURE|FUNCTION]<sp_name|func_name>[characteristic...];3.刪除存儲過程和存儲函數(shù)使用DROP語句可以刪除存儲過程或存儲函數(shù),語法格式:DROP[PROCEDURE|FUNCTION][IFEXISTS]<sp_name|func_name>;5.3觸發(fā)器、事務(wù)和鎖5.3.1觸發(fā)器1.創(chuàng)建觸發(fā)器觸發(fā)器(Trigger)是特殊的存儲過程,它基于一個數(shù)據(jù)表創(chuàng)建。(1)利用SQL語句創(chuàng)建觸發(fā)器。語法格式:CREATE[ORREPLACE][DEFINER={user|CURRENT_USER|role|CUR-RENT_ROLE}]TRIGGER[IFNOTEXISTS]trigger_nametrigger_timetrigger_eventONtbl_nameFOREACHROW[{FOLLOWS|PRECEDES}other_trigger_name]trigger_stmt(2)利用HeidiSQL圖形界面創(chuàng)建觸發(fā)器。2.管理觸發(fā)器(1)查看觸發(fā)器。①用SHOWTRIGGERS語句查看觸發(fā)器信息。語法格式:SHOWTRIGGERS;②在information_schema.TRIGGERS數(shù)據(jù)表中查看觸發(fā)器的信息。(2)刪除觸發(fā)器。語法格式:DROPTRIGGER[db_name.]trigger_name;如:刪除觸發(fā)器tr_update_sno。DROPTRIGGERteaching_management.tr_update_sno;(3)利用HeidiSQL圖形界面管理觸發(fā)器。5.3.2事務(wù)1.事務(wù)的特性原子性、一致性、隔離性、持久性2.事務(wù)分類扁平事務(wù)、帶有保存點的扁平事務(wù)、鏈式事務(wù)、嵌套事務(wù)、分布式事務(wù)3.事務(wù)控制開始事務(wù)、提交事務(wù)、回滾事務(wù)5.3.3鎖1.并發(fā)操作引起的問題(1)丟失更新;(2)臟讀;(3)不可重復(fù)讀;(4)幻象讀2.事務(wù)隔離級別四個隔離級別的特性3.鎖機制(1)表級鎖定。①讀鎖②寫鎖(2)行級鎖定。(3)頁級鎖定。4.死鎖處理鎖是多個用戶能夠同時操作同一個數(shù)據(jù)庫中的數(shù)據(jù)而不發(fā)生數(shù)據(jù)不一致現(xiàn)象的重要保障,但封鎖的方法可能引起活鎖和死鎖等問題。(1)活鎖。避免活鎖的方法是采用先來先服務(wù)的策略。(2)死鎖。解決死鎖問題的方法主要有兩類:一類方法是采取一定措施來預(yù)防死鎖的發(fā)生;另一類方法是允許發(fā)生死鎖,采用一定手段定期診斷系統(tǒng)中有無死鎖,若有,則解除。課堂小結(jié)本項目主要講述了:(1)SQL語言中操作數(shù)據(jù)庫及數(shù)據(jù)庫對象的命令語句,SQL編程的基本語法和語句塊的構(gòu)成。(2)SQL語言中的字符串函數(shù)、數(shù)學(xué)函數(shù)、日期和時間函數(shù)、系統(tǒng)函數(shù)、條件判斷函數(shù)等常用函數(shù)的使用。(3)游標的概念,用游標編寫簡單的應(yīng)用程序。(4)編寫存儲過程和存儲函數(shù),管理存儲過程和存儲函數(shù),以及調(diào)用存儲過程和存儲函數(shù),優(yōu)化數(shù)據(jù)庫,提高運行效率。(5)觸發(fā)器的功能。布置作業(yè)1.練習(xí)SQL流程控制語句:BEGIN...END語句塊、IF...ELSE條件語句、CASE分支語句、循環(huán)語句。2.練習(xí)創(chuàng)建存儲函數(shù),調(diào)用、管理存儲過程和存儲函數(shù)。3.事務(wù)的特性是什么?又有哪些分類?4.死鎖的處理方法。教學(xué)反思項目名稱項目六數(shù)據(jù)庫運維教學(xué)內(nèi)容MariaDB的權(quán)限表及權(quán)限系統(tǒng)的工作原理,MariaDB的用戶管理和權(quán)限管理;MariaDB的數(shù)據(jù)備份和恢復(fù),數(shù)據(jù)備份和恢復(fù)的方法;MariaDB中二進制日志、錯誤日志、通用查詢?nèi)罩尽⒙樵內(nèi)罩?、中繼日志、事務(wù)日志的管理;架構(gòu)讀寫分離數(shù)據(jù)庫系統(tǒng),搭建高可用數(shù)據(jù)庫集群。授課時間授課學(xué)時教學(xué)目標學(xué)習(xí)目標1.了解MariaDB的權(quán)限系統(tǒng)。2.掌握數(shù)據(jù)備份、數(shù)據(jù)還原和數(shù)據(jù)遷移的方法。3.掌握MariaDB日志文件類型及應(yīng)用場景。4.了解主/從數(shù)據(jù)庫、高性能數(shù)據(jù)庫及讀寫分離數(shù)據(jù)庫的架構(gòu)和應(yīng)用場景。技能目標1.會根據(jù)工作場景合理地進行用戶管理和權(quán)限分配。2.會根據(jù)工作場景選擇數(shù)據(jù)備份和還原的方法,并進行數(shù)據(jù)備份、數(shù)據(jù)還原和數(shù)據(jù)遷移等操作。3.會根據(jù)工作場景操作相應(yīng)的MariaDB日志文件。4.會搭建主/從數(shù)據(jù)庫、讀寫分離數(shù)據(jù)庫和高性能數(shù)據(jù)庫等集群。素養(yǎng)目標1.能從數(shù)據(jù)庫日志的操作中,學(xué)會合理分配時間。2.具有規(guī)劃意識,合理規(guī)劃個人職業(yè)發(fā)展。3.在搭建數(shù)據(jù)庫的同時,培養(yǎng)靈活的思維能力和分析信息能力。學(xué)情分析通過對本項目的學(xué)習(xí),了解MariaDB的權(quán)限表及權(quán)限系統(tǒng)的工作原理,MariaDB的用戶管理和權(quán)限管理;掌握MariaDB的數(shù)據(jù)備份和恢復(fù),數(shù)據(jù)備份和恢復(fù)的方法;熟悉MariaDB中的日志管理;掌握架構(gòu)讀寫分離數(shù)據(jù)庫系統(tǒng),搭建高可用數(shù)據(jù)庫集群。學(xué)習(xí)數(shù)據(jù)庫運維有助于幫助學(xué)生加深對數(shù)據(jù)庫的應(yīng)用。教學(xué)方法學(xué)生通過課前預(yù)習(xí)、查閱資料,課堂上緊跟著老師的思路,對老師的演示要熟記,課后練習(xí)提升、反思總結(jié)等方法進行本章節(jié)的學(xué)習(xí),有電腦條件的學(xué)生可以根據(jù)在課堂上所學(xué)習(xí)的內(nèi)容,反復(fù)的操作實踐驗證;實訓(xùn)課上要加強訓(xùn)練,不懂的問題及操作過程,及時的向老師詢問或是同學(xué)之間相互討論。教學(xué)媒介教材、配套的PPT課件、多媒體教案等 教學(xué)過程教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教學(xué)引入安全管理是數(shù)據(jù)庫管理系統(tǒng)中非常重要的組成部分之一,也是數(shù)據(jù)庫中的數(shù)據(jù)被合理訪問和修改的基本保證。MariaDB既是一個多用戶數(shù)據(jù)庫管理系統(tǒng),又是功能強大的訪問控制系統(tǒng),可以為不同用戶指定允許的權(quán)限。MariaDB提供了多種對數(shù)據(jù)進行備份和還原的方法。教授新知一、明確教學(xué)目標二、教學(xué)內(nèi)容“數(shù)據(jù)庫運維”6.1MariaDB的權(quán)限系統(tǒng)6.1.1權(quán)限表MariaDB中的權(quán)限表都存放在mysql數(shù)據(jù)庫中,與權(quán)限相關(guān)的數(shù)據(jù)表有user視圖、db表、tables_priv表、columns_priv表、procs_priv表。1.user視圖和db表user視圖和db表的字段說明如書中表6-1所示。(1)user視圖。user視圖是從global_priv表中導(dǎo)出的。(2)db表。在db表中存儲的是用戶對某個數(shù)據(jù)庫的操作權(quán)限。2.tables_priv表、columns_priv表和procs_priv表6.1.2MariaDB權(quán)限系統(tǒng)的工作原理1.合法性驗證MariaDB使用user視圖中的Host、User和Password三個字段進行身份驗證。2.權(quán)限驗證和分配MariaDB服務(wù)器的權(quán)限驗證過程如下圖:6.1.3用戶管理1.創(chuàng)建用戶MariaDB的用戶可以分為普通用戶和root用戶(超級管理員)。(1)使用SQL語句(GRANT和CREATEUSER)創(chuàng)建用戶。使用GRANT語句創(chuàng)建新用戶。語法格式:GRANTpriv_type[(column_list)][,priv_type[(column_list)]]... ON[object_type]priv_level TOuser_specification[user_options...][WITHGRANTOPTION];使用CREATEUSER語句創(chuàng)建新用戶。語法格式:CREATE[ORREPLACE]USER[IFNOTEXISTS]user_specification[,user_specification]...[WITHresource_option[resource_option]...];(2)利用HeidiSQL圖形界面創(chuàng)建用戶。2.修改用戶名語法格式:RENAMEUSERold_userTOnew_user[,old_userTOnew_user]...;3.修改用戶密碼語法格式:SETPASSWORD[FORuser]{PASSWORD(‘somepassword’)|‘encryptedpassword’};4.刪除用戶語法格式:DROPUSER[IFEXISTS]user_name[,user_name]..;6.1.4權(quán)限管理1.權(quán)限類型在MariaDB中常見的權(quán)限如下圖:2.查看權(quán)限查看用戶權(quán)限可以使用SQL語句、查詢mysql.user視圖或HeidiSQL圖形界面3.授予權(quán)限在MariaDB中,可以在HeidiSQL圖形界面或使用GRANT語句為用戶授權(quán)。(1)權(quán)限的級別。①全局層級②數(shù)據(jù)庫層級③表層級④列層級⑤子程序?qū)蛹墶?2)授權(quán)語句GRANT。在MariaDB中,必須是擁有GRANT權(quán)限的用戶才可以執(zhí)行GRANT語句。4.收回權(quán)限(1)收回用戶的所有權(quán)限。(2)收回用戶的指定權(quán)限。(3)REVOKE語句的嚴格性。(4)設(shè)置root密碼。6.2MariaDB的數(shù)據(jù)備份和恢復(fù)6.2.1數(shù)據(jù)備份和恢復(fù)1.數(shù)據(jù)損失的因素可能造成數(shù)據(jù)損失的因素如下。系統(tǒng)故障、介質(zhì)故障、計算機病毒、錯誤操作、服務(wù)器崩潰、自然災(zāi)害。2.數(shù)據(jù)備份的分類(1)按備份時數(shù)據(jù)庫是否離線將數(shù)據(jù)備份劃分:冷備、溫備、熱備。(2)按備份設(shè)計的數(shù)據(jù)范圍將數(shù)據(jù)備份劃分為:完全備份、增量備份、差分備份、按需備份。6.2.2數(shù)據(jù)備份的方法1.MariaDB中的備份方式MariaDB中的數(shù)據(jù)備份方式主要有物理備份和邏輯備份。2.MariaDB中的備份工具(1)mariadb-backup。(2)mariadb-dump。(3)InnoDB存儲引擎的邏輯備份。(4)快照。3.使用mariadb-dump命令備份(1)備份數(shù)據(jù)庫或數(shù)據(jù)表。(2)備份多個數(shù)據(jù)庫。6.2.3數(shù)據(jù)恢復(fù)的方法1.使用命令恢復(fù)語法格式:mariadb-uuser-ppassword[db_name]<filename.sql;2.直接復(fù)制整個數(shù)據(jù)庫目錄6.2.4數(shù)據(jù)遷移1.使用語句導(dǎo)出(1)使用SELECT語句導(dǎo)出?;菊Z法格式:SELECT[列名]FROMtb_name[WHERE語句]INTOOUTFILE‘目標文件’[OPTION];(2)使用mariadb-dump命令導(dǎo)出文本文件。基本語法格式:mariadb-dump-uroot-ppassword-hhost-Tpathdb_name[tb_name[,tb_name]][OPTIONS](3)使用mariadb命令導(dǎo)出文本文件。基本格式:mariadb-uroot-ppassword[OPTIONS]-e|--execute=“SELECT語句”db_name>filename.txt2.使用語句導(dǎo)入(1)用LOADDATAINFILE方式導(dǎo)入文件。語法格式:LOADDATA[LOCAL]INFILE‘file_name’INTOTABLEtb_name[OPTION][IGNOREnumbersLINES][字段列表][SETcolumn=exp];(2)使用mariadb-import命令導(dǎo)入文本文件。語法格式:mariadb-import-uroot-ppassword[LOCAL]db_namefile_name[OPTIONS]3.用HeidiSQL導(dǎo)出和導(dǎo)入6.3MariaDB日志管理6.3.1二進制日志1.啟動和設(shè)置二進制日志啟動二進制日志,可以通過配置文件my.ini或f中的[mysqld]或[mariadb]組中添加選項的方式啟動二進制日志。2.查看二進制日志基本語法格式:mariadb-binlog[options]log-files3.刪除二進制日志(1)使用RESETMASTER語句刪除二進制日志文件。語法格式:RESETMASTER;(2)使用PURGEBINARYLOGS語句刪除日志。語法格式:PURGE{MASTER|BINARY}BINARYLOGSTO‘file_name’;或PURGE{MASTER|BINARY}BINARYLOGSBEFORE‘datetime’;4.使用二進制日志文件恢復(fù)數(shù)據(jù)庫使用mariadb-binlog命令恢復(fù)數(shù)據(jù)。語法格式:mariadb-binlog[options]log-files|mariadb-uroot-ppassword6.3.2錯誤日志1.啟動和設(shè)置錯誤日志(1)默認配置。(2)配置錯誤日志文件名。(3)設(shè)置log-basename選項配置錯誤日志的文件名。2.查看錯誤日志使用SHOWVARIABLES語句查看MariaDB服務(wù)器的錯誤日志的存儲位置。6.3.3通用查詢?nèi)罩?.啟動和設(shè)置通用查詢?nèi)罩?1)啟動通用查詢?nèi)罩尽?2)設(shè)置通用查詢?nèi)罩镜奈募?3)選擇通用查詢?nèi)罩镜妮敵瞿康牡亍?4)關(guān)閉通用查詢?nèi)罩尽?5)禁用通用查詢?nèi)罩尽?.查看、刪除通用查詢?nèi)罩?1)查看通用查詢?nèi)罩尽?2)刪除通用查詢?nèi)罩尽?.3.4慢查詢?nèi)罩?.啟動和設(shè)置慢查詢?nèi)罩?1)慢查詢?nèi)罩镜某S脜?shù)。(2)啟動慢查詢?nèi)罩尽?3)設(shè)置慢查詢?nèi)罩疚募?4)選擇慢查詢?nèi)罩镜妮敵瞿康牡亍?5)關(guān)閉慢查詢?nèi)罩尽?.查看、刪除慢查詢?nèi)罩?1)查看慢查詢?nèi)罩尽?2)刪除慢查詢?nèi)罩尽?.3.5中繼日志、事務(wù)日志中繼日志的相關(guān)參數(shù)如下。(1)relay_log={ON|OFF|PATH}:中繼日志的功能開關(guān),定義了中繼日志存放的路徑和文件名稱。(2)relay_log_recovery={ON|OFF}:當從服務(wù)器從宕機狀態(tài)恢復(fù)后,如果中繼日志損壞,會導(dǎo)致日志中的部分語句無法被重放或者全部不能被重放。2.事務(wù)日志(1)redolog:提供數(shù)據(jù)重做功能,實現(xiàn)回滾操作。(2)undolog:不僅提供數(shù)據(jù)恢復(fù)功能,實現(xiàn)回滾操作,而且提供了恢復(fù)操作及MVCC功能。6.4搭建高性能數(shù)據(jù)庫系統(tǒng)6.4.1架構(gòu)讀寫分離數(shù)據(jù)庫系統(tǒng)1.架構(gòu)主/從數(shù)據(jù)庫(1)主/從數(shù)據(jù)庫系統(tǒng)的優(yōu)勢。①增加服務(wù)健壯性。②實現(xiàn)負載均衡。③實現(xiàn)數(shù)據(jù)異地備份。(2)主/從復(fù)制的原理。(3)搭建主/從數(shù)據(jù)庫。2.讀寫分離數(shù)據(jù)庫的架構(gòu)(1)讀寫分離能提高數(shù)據(jù)庫的性能。(2)讀寫分離帶來的問題。①主/從復(fù)制延遲。②讀寫分離的分配機制。(3)搭建讀寫分離數(shù)據(jù)庫。用MyCat作為數(shù)據(jù)庫中間件構(gòu)建的讀寫分離數(shù)據(jù)庫。6.4.2搭建高可用數(shù)據(jù)庫集群1.數(shù)據(jù)庫集群和分布式數(shù)據(jù)庫數(shù)據(jù)庫集群是串聯(lián)工作的,分布式數(shù)據(jù)庫是并聯(lián)工作的。2.數(shù)據(jù)庫集群(1)業(yè)務(wù)分庫。①JOIN操作問題。②事務(wù)問題。③成本問題。(2)分表。①垂直分表。②水平分表。(3)“分庫分表”的實現(xiàn)。3.高可用數(shù)據(jù)庫集群的搭建課堂小結(jié)本項目主要講述了:(1)MariaDB權(quán)限系統(tǒng)的工作原理,用戶、權(quán)限的概念。(2)使用語句和圖形界面進行用戶與權(quán)限的管理。(3)數(shù)據(jù)備份與恢復(fù)的方式,常用的數(shù)據(jù)備份與恢復(fù)的語句和命令。(4)數(shù)據(jù)庫的導(dǎo)入和導(dǎo)出。(5)MariaDB數(shù)據(jù)庫日志的種類和各類日志的用途。(6)主/從服務(wù)器架構(gòu)、讀寫分離數(shù)據(jù)庫、高可用數(shù)據(jù)庫集群的搭建。布置作業(yè)1.練習(xí)在HeidiSQL圖形界面中創(chuàng)建一個新用戶test_user_6@localhost,密碼自定義。在“用戶管理”對話框中修改用戶test_user_6@localhost的用戶名和密碼,再刪除此用戶。2.練習(xí)用使用SQL語句創(chuàng)建新用戶、修改用戶名、修改用戶密碼及刪除用戶。3.數(shù)據(jù)備份和恢復(fù)的方法有哪些?4.怎樣對MariaDB中的日志進行管理?教學(xué)反思項目名稱項目七走進NoSQL教學(xué)內(nèi)容NoSQL的簡介、典型的應(yīng)用場景,NewSQL概念,NoSQL數(shù)據(jù)庫的相關(guān)技術(shù)、數(shù)據(jù)存儲模式和相對應(yīng)的數(shù)據(jù)庫;HBase的數(shù)據(jù)模型、拓撲結(jié)構(gòu)及HBase的操作;MongoDB的文檔和集合、集群架構(gòu)、存儲引擎等,以及MongoDB的操作。授課時間授課學(xué)時教學(xué)目標學(xué)習(xí)目標1.了解NoSQL的定義、特點,以及它與關(guān)系型數(shù)據(jù)庫間的關(guān)系。2.了解NoSQL常見的存儲模式。3.掌握HBase的基本數(shù)據(jù)模型和拓撲結(jié)構(gòu)。4.了解MongoDB的技術(shù)原理。技能目標1.會根據(jù)工作場景選擇比較適合的NoSQL軟件。2.會在HBaseShell環(huán)境中進行基本操作和數(shù)據(jù)備份、恢復(fù)。3.會在MongoDBShell環(huán)境中進行基本操作和數(shù)據(jù)備份、恢復(fù)。素養(yǎng)目標1.通過學(xué)習(xí)不同數(shù)據(jù)庫,培養(yǎng)辯證的思維方式和正確的價值觀。2.了解NoSQL的發(fā)展,樹立正確的歷史觀。學(xué)情分析通過對本項目的學(xué)習(xí),了解NoSQL數(shù)據(jù)庫的相關(guān)技術(shù)、數(shù)據(jù)存儲模式和相對應(yīng)的數(shù)據(jù)庫;掌握HBase的數(shù)據(jù)模型、拓撲結(jié)構(gòu)及HBase的操作;熟悉MongoDB的文檔和集合、集群架構(gòu)、存儲引擎等,以及MongoDB的操作。學(xué)習(xí)本項目有助于幫助學(xué)生加深對數(shù)據(jù)庫的了解。教學(xué)方法學(xué)生通過課前預(yù)習(xí)、查閱資料,課堂上緊跟著老師的思路,對老師的演示要熟記,課后練習(xí)提升、反思總結(jié)等方法進行本章節(jié)的學(xué)習(xí),有電腦條件的學(xué)生可以根據(jù)在課堂上所學(xué)習(xí)的內(nèi)容,反復(fù)的操作實踐驗證;實訓(xùn)課上要加強訓(xùn)練,不懂的問題及操作過程,及時的向老師詢問或是同學(xué)之間相互討論。教學(xué)媒介教材、配套的PPT課件、多媒體教案等 教學(xué)過程教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教學(xué)引入隨著互聯(lián)網(wǎng)的不斷發(fā)展,各種類型的數(shù)據(jù)庫層出不窮。雖然關(guān)系型數(shù)據(jù)庫已經(jīng)在業(yè)界的數(shù)據(jù)存儲方面占據(jù)了不可動搖的地位,但是它在應(yīng)用中存在擴展困難、讀寫慢、成本高和容量受限等問題。為了解決這些問題,出現(xiàn)了新的“NoSQL”數(shù)據(jù)庫類型。該類型的數(shù)據(jù)庫,在設(shè)計上非常關(guān)注數(shù)據(jù)的高并發(fā)讀寫和海量數(shù)據(jù)存儲等問題,與關(guān)系型數(shù)據(jù)庫相比,在架構(gòu)和數(shù)據(jù)模型方面做了“減法”,而在擴展和并發(fā)等方面做了“加法”教授新知一、明確教學(xué)目標二、教學(xué)內(nèi)容“走進NoSQL”7.1初識NoSQL7.1.1認識NoSQL1.NoSQL的簡介主要特點包括容錯性、伸縮性、訪問效率(可用性)。2.NewSQL的概念NewSQL的兩個特點:(1)NewSQL仍缺乏一個權(quán)威的定義,其歸類也比較模糊。(2)缺少知名度較高的NewSQL產(chǎn)品。3.NoSQL的典型應(yīng)用場景(1)海量日志數(shù)據(jù)、業(yè)務(wù)數(shù)據(jù)或監(jiān)控數(shù)據(jù)的管理和查詢。(2)特殊的或復(fù)雜的數(shù)據(jù)模型的簡化處理。(3)作為數(shù)據(jù)倉庫、數(shù)據(jù)挖掘系統(tǒng)或OLAP系統(tǒng)的后臺數(shù)據(jù)支撐。4.NoSQL數(shù)據(jù)庫的相關(guān)技術(shù)NoSQL數(shù)據(jù)庫一般基于分布式系統(tǒng)實現(xiàn)數(shù)據(jù)的管理與查詢。(1)分布式數(shù)據(jù)處理。(2)時間同步服務(wù)。(3)布隆過濾器。7.1.2NoSQL的數(shù)據(jù)存儲模式和相對應(yīng)的數(shù)據(jù)庫NoSQL的數(shù)據(jù)存儲模式主要涉及在數(shù)據(jù)庫中存放數(shù)據(jù)的邏輯結(jié)構(gòu),基本的數(shù)據(jù)讀寫、修改、刪除等操作。1.列存儲模式和列族數(shù)據(jù)庫2.文檔存儲模式和文檔數(shù)據(jù)庫3.鍵值對存儲模式和鍵值數(shù)據(jù)庫4.圖存儲模式和圖數(shù)據(jù)庫7.2走進HBase7.2.1認識HBase1.HBase的數(shù)據(jù)模型HBase采用的是一種面向列加鍵值對存儲模式,鍵值對的實際存儲格式如下圖:2.HBase的拓撲結(jié)構(gòu)HBase節(jié)點采用了主/從式的拓撲結(jié)構(gòu),其主要組件包括一個主節(jié)點和若干個從節(jié)點。HBase的典型架構(gòu)如下圖:3.水平分區(qū)原理7.2.2操作HBase1.查看HBase的基本信息顯示當前HBase的版本號:hbase(main):020:0>version顯示各主節(jié)點的狀態(tài):hbase(main):021:0>status顯示當前用戶名:hbase(main):022:0>whoam退出HBaseShell模式:hbase(main):025:0>exit2.表和列族操作HBase的表結(jié)構(gòu)只有表名和列族兩項內(nèi)容。在HBaseShell中數(shù)據(jù)表和數(shù)據(jù)的讀寫等基本操作(1)創(chuàng)建數(shù)據(jù)表。(2)查看表名列表、數(shù)據(jù)表的信息等。(3)修改表結(jié)構(gòu)。(4)刪除數(shù)據(jù)表。3.數(shù)據(jù)更新(1)數(shù)據(jù)插入。使用put命令可以實現(xiàn)單條數(shù)據(jù)的插入和修改。(2)數(shù)據(jù)更新。執(zhí)行put命令,則視為數(shù)據(jù)更新。(3)數(shù)據(jù)刪除。(4)計數(shù)器。使用incr命令可以將cell的數(shù)值在原值上加入指定數(shù)值。4.數(shù)據(jù)更新(1)get:根據(jù)行鍵獲取一條數(shù)據(jù)。(2)scan:掃描一個數(shù)據(jù)表,可以指定行鍵范圍或使用過濾器限制

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論