版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
課程概況課程名稱數(shù)據(jù)庫原理及應用授課班級課程編碼課程模塊專業(yè)核心課考試方式開卷□閉卷R操作□答辯□論文(報告)□其它:課程學時4學時/周學分4推薦教材及參考書目序號名稱作者出版社出版時間1MySQL數(shù)據(jù)庫原理與應用(微課視頻版)王金恒等清華大學出版社年6月授課教師職稱授課時間教學目的要求數(shù)據(jù)庫原理及應用是本科計算機類專業(yè)的專業(yè)必修課,是一門理論與實踐結合非常緊密的課程,是JAVA、Python、WEB開發(fā)技術等課程必不可少的一門前期必修課,該課程在計算機類專業(yè)的課程體系中起著承上啟下的作用。本課程講解數(shù)據(jù)庫系統(tǒng)開發(fā)過程中所需的數(shù)據(jù)庫、工作表、視圖、索引、觸發(fā)器以及對數(shù)據(jù)進行增刪改操作,保障數(shù)據(jù)的安全性、統(tǒng)一性等知識點,以“綜合性、實戰(zhàn)型”的實踐項目為教學目標,引入通關式的教學模式,教學內容和實踐項目從易到難,一關一關地往下走,環(huán)環(huán)相扣,不斷挑戰(zhàn)和滿足學生的學習成就感。在學期初設定一個一般難度的系統(tǒng)作為學習效果目標,在教學大綱中拆分課程知識點對應目標系統(tǒng)的子功能,在每一次教學活動中創(chuàng)設一個真實情境(目標系統(tǒng)的子功能)來不斷激發(fā)學生的學習熱情,讓學生知道“我這節(jié)課認真聽了,我就能做出系統(tǒng)的這個效果,我就能拿我做的項目參加學科競賽和申報項目”,從而讓學習變成有激勵,有目標,有動力的主動學習。教學重點難點重點:應用數(shù)據(jù)管理工具實現(xiàn)數(shù)據(jù)的統(tǒng)一管理,包括數(shù)據(jù)組織和存儲,培養(yǎng)學生的計算思維能力;能夠熟練使用SQL語句、視圖、存儲過程、觸發(fā)器等進行應用開發(fā)。難點:通過數(shù)據(jù)庫系統(tǒng)項目實踐,掌握復雜系統(tǒng)的數(shù)據(jù)庫設計能力,完成從概念設計,邏輯設計,物理設計過程。能夠對數(shù)據(jù)庫進行管理和維護,包括數(shù)據(jù)庫完整性管理、安全性管理、并發(fā)控制、備份及恢復操作。理論教學教案
課次:第1-2講課程教案授課主題第1章章節(jié)內容第1章數(shù)據(jù)庫系統(tǒng)概論地點多媒體課室課時4教學目的與要求1.了解為什么要使用數(shù)據(jù)庫;2.了解數(shù)據(jù)庫的相關概念;3.熟悉常見的數(shù)據(jù)庫及排名;4.了解RDBMS與非RDBMS;5.掌握數(shù)據(jù)庫設計的步驟。教學重點數(shù)據(jù)庫的基本概念教學難點數(shù)據(jù)庫的基本概念教學方法線上線下混合教學、講授法、討論法、練習法、歸納法教學手段多媒體技術、超星學習通等軟件教學過程課程思政元素說明:*號標注的是課程思政的融入點【課前互動】跟學生互動交流,了解學生知識基礎,講解課程目標、授課內容、考核要求等。【課程導入】首先就本門課程在專業(yè)中的特點向學生強調課程的重要性,給學生看一些以往學生做好的數(shù)據(jù)庫系統(tǒng),充分調動學生的學習積極性?!揪w論課】1、為什么要使用數(shù)據(jù)庫(1)何為數(shù)據(jù)庫(2)數(shù)據(jù)庫特點2、數(shù)據(jù)庫與數(shù)據(jù)管理系統(tǒng)(1)數(shù)據(jù)庫的相關概念1.數(shù)據(jù)表2.數(shù)據(jù)庫3.數(shù)據(jù)庫管理系統(tǒng)4.數(shù)據(jù)庫系統(tǒng)(2)數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)的關系數(shù)據(jù)庫管理系統(tǒng)(DBMS)可以管理多個數(shù)據(jù)庫,一般開發(fā)人員會針對每一個應用創(chuàng)建一個數(shù)據(jù)庫。為保存應用中實體的數(shù)據(jù),一般會在數(shù)據(jù)庫創(chuàng)建多個表,以保存程序中實體用戶的數(shù)據(jù),數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫和表的關系如圖1.2所示。圖1.2數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫和表的關系圖數(shù)據(jù)庫管理系統(tǒng)排名常見數(shù)據(jù)庫OracleMySQLSQLServerDB2PostgreSQLSQLiteinformix3.RDBMS與非RDBMS(1)關系型數(shù)據(jù)庫1.實質2.優(yōu)勢復雜查詢可以用SQL語句方便地在一個表以及多個表之間做非常復雜的數(shù)據(jù)查詢。事務支持使得對于安全性能很高的數(shù)據(jù)訪問要求得以實現(xiàn)。(2)非關系型數(shù)據(jù)庫非關系型數(shù)據(jù)庫,可看成傳統(tǒng)關系型數(shù)據(jù)庫的功能閹割版本,基于鍵值對存儲數(shù)據(jù),不需要經(jīng)過SQL層的解析,性能非常高。同時,通過減少不常用的功能,進一步提高性能。目前基本上大部分主流的非關系型數(shù)據(jù)庫都是免費的。(3)常見的非關系型數(shù)據(jù)庫1.鍵值型數(shù)據(jù)庫2.文檔型數(shù)據(jù)庫3.搜索引擎數(shù)據(jù)庫4.列式數(shù)據(jù)庫5.圖形數(shù)據(jù)庫4.關系型數(shù)據(jù)庫設計*數(shù)據(jù)庫的規(guī)范化(1)信息世界的基本概念(2)數(shù)據(jù)模型(3)關系的完整性約束條件(4)關系運算講解案例1.1查找姓王的同學的信息。講解案例1.2查找學生表中的學號,姓名信息。講解案例1.3查找姓王同學的學號,姓名和成績。(5)關系型數(shù)據(jù)庫設計的基本步驟按照規(guī)范設計的方法,考慮數(shù)據(jù)庫及其應用系統(tǒng)開發(fā)全過程,將數(shù)據(jù)庫設計分為以下六個階段:*介紹國家個人信息保護法第一階段:需求分析(用戶需要分析)。第二階段:概念結構設計(用E-R模型對現(xiàn)實進行描述)。第三階段:邏輯結構設計(轉換成計算機可以表達的方式:關系模型,即表)。第四階段:物理結構設計(功能描述)。第五階段:數(shù)據(jù)庫實施(開發(fā))。第六階段:數(shù)據(jù)庫運行和維護(應用與維護)?!颈局v拓展】MYSQL與SQLServer的區(qū)別:1.操作系統(tǒng)支持不同。MySQL支持Windows、Linux、Unix等操作系統(tǒng),它具有廣泛的跨平臺支持,并且可以與各種編程語言和開發(fā)工具集成,而SQLServer只支持Windows操作系統(tǒng)。2.數(shù)據(jù)處理方式不同。MySQL是基于行的數(shù)據(jù)處理方式,而SQLServer是基于列的數(shù)據(jù)處理方式,這可能會影響各自的性能表現(xiàn)。3.數(shù)據(jù)庫安全性不同。SQLServer在安全性方面表現(xiàn)更強,例如支持強制密碼策略、Windows身份驗證和數(shù)據(jù)加密,而MySQL在這方面的安全性措施相對較少?!練w納總結,布置課后作業(yè)】(一)回顧上課前的學習目標,對本節(jié)課知識點進行總結。提問講解的知識點,對存在問題進行講解。帶領學生總結為什么使用數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、RDBMS與非RDBMS、關系型數(shù)據(jù)庫設計。(二)布置隨堂練習,檢查學生掌握情況。根據(jù)博學谷和隨堂聯(lián)系資源,給學生布置隨堂練習,檢測學生的掌握程度,并對學生出現(xiàn)的問題進行解決。(三)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務。通過數(shù)據(jù)庫的規(guī)范化設計,可以消除數(shù)據(jù)冗余,提高數(shù)據(jù)存儲和管理的效率,減少數(shù)據(jù)更新時的異常和錯誤,符合節(jié)約資源、保護環(huán)境的思想。介紹數(shù)據(jù)庫的起源和發(fā)展歷程,我國數(shù)據(jù)庫系統(tǒng)發(fā)展及應用情況,鼓舞學生樹立為振興國產數(shù)據(jù)庫軟件發(fā)展而努力學習的理想。個人信息保護法是中國于2021年11月1日正式實施的全面?zhèn)€人信息保護的法律框架。該法律規(guī)定了個人信息的收集、存儲、使用、處理和保護的要求,明確了個人信息處理者的責任和義務,保護了個人信息主體的權益。教學后記課次:第3講課程教案授課主題第2章章節(jié)內容第2章MySQL工具的使用地點多媒體課室課時2教學目的與要求1.掌握下載MySQL社區(qū)版;2.掌握在Windows平臺下安裝MySQL、配置、啟停、登錄以及卸載;3.熟悉使用不同的圖形化管理工具登錄到MySQL數(shù)據(jù)庫;4.通過完成課業(yè)任務學會分析問題、解決問題,提高動手操作能力。教學重點掌握在Windows平臺下安裝MySQL、配置、啟停、登錄以及卸載教學難點MySQL、配置、啟停、登錄以及卸載教學方法線上線下混合教學、講授法、討論法、練習法、歸納法教學手段多媒體技術、超星學習通等軟件教學過程課程思政元素說明:*號標注的是課程思政的融入點【回顧上節(jié)課內容,繼續(xù)講解本課時的知識】(1)教師對學生們的疑問進行統(tǒng)一答疑。(2)回顧總結上節(jié)課內容,繼續(xù)介紹本課時的內容。上節(jié)課介紹了為什么使用數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、RDBMS與非RDBMS、關系型數(shù)據(jù)庫設計。本節(jié)課介紹MySQL概述、MySQL的啟動與停止、MySQL服務器的登錄?!揪w論課】1、MySQL概述對比之前的版本,MySQL8.0具有很多新特征,其中比較突出的新特征有:MySQL8.0版本默認字符集為utf8mb4(即最多使用4個字節(jié)來表示1個字符,可以表示更多字符,例如生僻漢字、冷門符號、emoji表情符號等)。系統(tǒng)數(shù)據(jù)庫默認存儲引擎修改為InnoDB(支持了ACID兼容的事務)。MySQL8.0支持原子數(shù)據(jù)定義語言(DDL)語句,即:InnoDB數(shù)據(jù)表上的DDL可以實現(xiàn)事務完整性,要么失敗回滾,要么成功提交,不會出現(xiàn)DDL部分成功的問題。2、MySQL的下載與安裝*安裝成功的MySQL主要目錄和文件有以下幾項:bin存放可執(zhí)??件、MySQL?帶的客戶端和MySQL服務端等。Data存放數(shù)據(jù)?件和?志?件,本教材開發(fā)的項目“數(shù)據(jù)庫學習系統(tǒng)”使用的數(shù)據(jù)庫db_study的存放目錄如圖2.1所示。圖2.1數(shù)據(jù)庫學習系統(tǒng)使用的數(shù)據(jù)庫db_study的存放目錄docs存放?些?檔。include存儲包含的頭?件,如:mysql.h、mysql_ername.h等。lib?于放置?系列庫?件。6.share?于存放字符集、語言等信息。my.ini是MySQL數(shù)據(jù)庫中使?的配置?件。3.MySQL服務的啟動與停止(1)使用圖形界面工具啟動與停止MySQL服務(2)使用命令行啟動與停止MySQL服務講解案例2.1使用命令行啟動與停止MySQL服務。4.MySQL服務器的登錄*數(shù)據(jù)安全和隱私保護重點講解:當MySQL服務啟動完成后,便可以通過客戶端來登錄MySQL服務器,登錄之前需要確(1)使用MySQL自帶客戶端登錄(2)使用命令行方式登錄講解案例2.2使用命令行登錄MySQL服務器。(3)使用數(shù)據(jù)庫圖形化管理工具管理MySQL1.Workbench2.Navicat【本講拓展】MySQLWorkbench和Navicat的區(qū)別:1.發(fā)布和授權。MySQLWorkbench是由MySQL官方發(fā)布和授權的工具,而Navicat則是一個第三方公司開發(fā)和發(fā)布的工具。2.功能和特點。MySQLWorkbench是一款功能強大的工具,主要用于數(shù)據(jù)庫設計、建模、查詢、管理和系統(tǒng)維護等。它還提供了可視化的數(shù)據(jù)庫設計工具、性能分析、備份和恢復功能等。Navicat也提供類似的功能,同時注重用戶界面的友好性和易用性。3.價格。MySQLWorkbench是免費的開源工具,用戶可以免費下載和使用。Navicat則為商業(yè)軟件,提供了免費試用的社區(qū)版和付費的商業(yè)版,商業(yè)版提供更多高級功能和技術支持?!練w納總結,布置課后作業(yè)】(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。提問講解的知識點,對存在問題進行講解。帶領學生總結MySQL概述、MySQL的啟動與停止、MySQL服務器的登錄。(2)布置隨堂練習,檢查學生掌握情況。根據(jù)博學谷和隨堂聯(lián)系資源,給學生布置隨堂練習,檢測學生的掌握程度,并對學生出現(xiàn)的問題進行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務。強調在使用MySQL工具時,保護用戶數(shù)據(jù)的重要性,討論數(shù)據(jù)泄露和濫用的后果,以及如何采取措施確保數(shù)據(jù)的安全性和隱私保護。教學后記
課次:第5講課程教案授課主題第3章章節(jié)內容第3章SQL語言的規(guī)則與規(guī)范地點多媒體課室課時2教學目的與要求1.掌握SQL語言的基本規(guī)則與規(guī)范;2.熟練掌握MySQL運算符的使用;3.掌握運算符的優(yōu)先級;4.熟悉通過不同的工具管理MySQL;5.通過完成課業(yè)任務學會分析問題、解決問題,提高動手操作能力。教學重點1.熟練掌握MySQL運算符的使用;2.掌握運算符的優(yōu)先級;3.熟悉通過不同的工具管理MySQL;教學難點運算符的優(yōu)先級教學方法線上線下混合教學、講授法、討論法、練習法、歸納法教學手段多媒體技術、超星學習通等軟件教學過程課程思政元素說明:*號標注的是課程思政的融入點【回顧上節(jié)課內容,繼續(xù)講解本課時的知識】(1)教師對學生們的疑問進行統(tǒng)一答疑。(2)回顧總結上節(jié)課內容,繼續(xù)介紹本課時的內容。上節(jié)課介紹了使用MySQL概述、MySQL的啟動與停止、MySQL服務器的登錄。本節(jié)課介紹SQL的概述、SQL語言的規(guī)則與規(guī)范、運算符。【緒論課】1、SQL的概述(1)SQL的背景(2)SQL的分類1.SQL語言在功能上主要分為如下3大類:DML(DataManipulationLanguage:數(shù)據(jù)操作語言)DML數(shù)據(jù)操作語言主要用于添加、刪除、更新和查詢數(shù)據(jù)庫記錄,并檢查數(shù)據(jù)完整性。主要的語句關鍵字包括INSERT、DELETE、UPDATE、SELECT等。其中SELECT是SQL語言的基礎,最為重要。DCL(DataControlLanguage:數(shù)據(jù)控制語言)DCL數(shù)據(jù)控制語言主要用于定義數(shù)據(jù)庫、表、字段、用戶的訪問權限和安全級別。主要的語句關鍵字包括GRANT、REVOKE、COMMIT、ROLLBACK、SAVEPOINT等。因為查詢語句使用得非常頻繁,所以把查詢語句單拎出來成為一類,還有單獨將COMMIT、ROLLBACK取出來成為一類,分別為如下2類:DQL(DataQueryLanguage:數(shù)據(jù)查詢語言)DQL數(shù)據(jù)查詢語言主要用來查詢記錄(數(shù)據(jù)),執(zhí)行SELECT操作。數(shù)據(jù)庫執(zhí)行DQL語句不會對數(shù)據(jù)進行改變,而是讓數(shù)據(jù)庫發(fā)送結果集給客戶端。TCL(TransactionControlLanguage:事務控制語言)TCL事務控制語言主要用來事務管理,如果需要在一個事務中包含多條SQL語句,那么需要開啟事務和結束事務。2、SQL語言的規(guī)則與規(guī)范*(1)SQL語言的基本規(guī)則1.SQL語言可以單行或多行書寫。為了提高可讀性,各子句可分行寫,必要時使用縮進;2.每條命令以“;”或“\g”或“\G”結尾;3.關鍵字不能被縮寫也不能分行;4.必須保證所有的()、單引號、雙引號是成對結束的;5.必須使用英文狀態(tài)下的半角輸入方式;6.字符串型和日期時間類型的數(shù)據(jù)可以使用單引號(’’)表示;7.列的別名,盡量使用雙引號(””),而且不建議省略as。(2)SQL大小寫的規(guī)范1.MySQL在Windows環(huán)境下是大小寫不敏感的;2.MySQL在Linux環(huán)境下是大小寫敏感的。數(shù)據(jù)庫名、表名、表的別名、變量名是嚴格區(qū)分大小寫的;關鍵字、函數(shù)名、列名(或字段名)、列的別名(字段的別名)是忽略大小寫的。推薦采用統(tǒng)一的書寫規(guī)范:數(shù)據(jù)庫名、表名、字段名稱、變量名稱、視圖名稱、索引名稱、存儲名稱、觸發(fā)器名稱等都用小寫;SQL關鍵字、函數(shù)、數(shù)據(jù)類型等都用大寫。(3)MySQL注釋符注釋是可用于記錄SQL語句的目的或存儲過程中代碼塊的邏輯,解析SQL代碼時,MySQL會忽略注釋部分,它只會執(zhí)行除了可執(zhí)行注釋之外的SQL部分。MySQL可以使用如下三種格式的注釋結構:1.單行注釋:#注釋文字2.單行注釋:--注釋文字(--后面必須包含一個空格。)3.多行注釋:/*注釋文字*/(4)MySQL數(shù)據(jù)庫對象命名規(guī)范我們在使用MySQL數(shù)據(jù)庫的時候需要遵循一定的命名規(guī)范,揚長避短。以下是MySQL數(shù)據(jù)庫對象命名規(guī)范:1.數(shù)據(jù)庫、表名不得超過30個字符,變量名的長度限制為29;2.命名必須只能包含A–Z,a–z,0–9,共63個字符;3.數(shù)據(jù)庫名、表名、字段名等對象名中間不要包含空格;4.同一個MySQL軟件中,數(shù)據(jù)庫不能同名;同一個庫中,表不能重名;同一個表中,字段不能重名;5.必須保證字段沒有和保留字、數(shù)據(jù)庫系統(tǒng)或常用方法沖突。如果一定要使用,則必須在SQL語句中使用`(著重號)引起來;6.保持字段名和類型的一致性,在命名字段并為其指定數(shù)據(jù)類型的時候一定要保證一致性。3.運算符(1)算術運算符比較運算符邏輯運算符位運算符運算符的優(yōu)先級【本講拓展】SQL語言的規(guī)則與規(guī)范相似的語言有以下幾種:(1)PL/SQL(ProceduralLanguage/StructuredQueryLanguage):它是Oracle數(shù)據(jù)庫管理系統(tǒng)使用的一種過程化編程語言,具有與SQL類似的語法和結構。PL/SQL可以用于編寫存儲過程、觸發(fā)器和函數(shù)等數(shù)據(jù)庫對象。(2)T-SQL(Transact-SQL):它是MicrosoftSQLServer數(shù)據(jù)庫管理系統(tǒng)使用的一種過程化擴展SQL語言。T-SQL拓展了標準的SQL語法,提供了更多的數(shù)據(jù)庫編程功能,如事務控制、條件構造、循環(huán)和異常處理等。(3)MySQLShell:MySQLShell是MySQL數(shù)據(jù)庫管理系統(tǒng)的交互式命令行工具,支持使用JavaScript或Python腳本編寫數(shù)據(jù)庫管理任務。MySQLShell提供了類似于SQL的語法,并添加了一些額外的功能,如JavaScript和Python的擴展性和靈活性?!練w納總結,布置課后作業(yè)】(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。提問講解的知識點,對存在問題進行講解。帶領學生總結SQL的概述、SQL語言的規(guī)則與規(guī)范、運算符。(2)布置隨堂練習,檢查學生掌握情況。根據(jù)博學谷和隨堂聯(lián)系資源,給學生布置隨堂練習,檢測學生的掌握程度,并對學生出現(xiàn)的問題進行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務。教學后記課次:第6講課程教案授課主題第4章章節(jié)內容第4章MySQL數(shù)據(jù)庫管理地點多媒體課室課時2教學目的與要求1.熟練掌握數(shù)據(jù)庫的創(chuàng)建、刪除、修改操作過程;2.熟練使用不同的MySQL工具對數(shù)據(jù)庫進行管理。教學重點數(shù)據(jù)的創(chuàng)建、修改操作過程教學難點MySQL工具對數(shù)據(jù)庫進行管理教學方法線上線下混合教學、講授法、討論法、練習法、歸納法教學手段多媒體技術、超星學習通等軟件教學過程課程思政元素說明:*號標注的是課程思政的融入點【回顧上節(jié)課內容,繼續(xù)講解本課時的知識】(1)教師對學生們的疑問進行統(tǒng)一答疑。(2)回顧總結上節(jié)課內容,繼續(xù)介紹本課時的內容。上節(jié)課介紹了SQL的概述、SQL語言的規(guī)則與規(guī)范、運算符。本節(jié)課介紹MySQL數(shù)據(jù)庫管理概述、創(chuàng)建和管理數(shù)據(jù)庫?!揪w論課】1、MySQL數(shù)據(jù)庫管理概述*開源精神(1)數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,簡稱DBS)是指在計算機應用系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構成。主要由硬件、OS、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應用系統(tǒng)和數(shù)據(jù)庫用戶組成,用戶可以通過DBMS或應用程序操作數(shù)據(jù)庫。*數(shù)據(jù)的存儲過程存儲數(shù)據(jù)是處理數(shù)據(jù)的第一步,只有正確地把數(shù)據(jù)存儲起來,才能進行有效的處理和分析。若在MySQL中想要把用戶各種經(jīng)營相關的、紛繁復雜的數(shù)據(jù),有序、高效地存儲起來,則一個完整的數(shù)據(jù)存儲需要以下4步即可。2、創(chuàng)建和管理數(shù)據(jù)庫(1)創(chuàng)建數(shù)據(jù)庫*數(shù)據(jù)共享是推動社會進步和創(chuàng)新的重要推動力。方式1:直接創(chuàng)建數(shù)據(jù)庫講解案例4.1使用方式1直接創(chuàng)建數(shù)據(jù)庫。方式2:創(chuàng)建數(shù)據(jù)庫方式3:判斷數(shù)據(jù)庫是否已經(jīng)存在,若不存在,則創(chuàng)建數(shù)據(jù)庫,若MySQL中已經(jīng)存在相關的數(shù)據(jù)庫,則忽略該創(chuàng)建語句,不再創(chuàng)建數(shù)據(jù)庫。查看數(shù)據(jù)庫講解案例4.2查看當前所有數(shù)據(jù)庫。講解案例4.3查看指定數(shù)據(jù)庫的創(chuàng)建信息。SHOWDATABASES;(DATABASES中的S表示有多個數(shù)據(jù)庫)選擇當前操作的數(shù)據(jù)庫講解案例4.4查看test1數(shù)據(jù)庫中的所有表。講解案例4.5使用/切換到數(shù)據(jù)庫test1。USE數(shù)據(jù)庫名;修改數(shù)據(jù)庫講解案例4.6修改test1數(shù)據(jù)庫的字符編碼為“gbk”。刪除數(shù)據(jù)庫重點介紹刪除數(shù)據(jù)庫的操作:方式1:如果要刪除的數(shù)據(jù)庫存在,則刪除成功;反之,則會報錯方式2:如果要刪除的數(shù)據(jù)庫存在,則刪除成功;反之,則默認結束,不會報錯。通過講解案例4.7使用方式1直接刪除數(shù)據(jù)庫test1來熟練刪除數(shù)據(jù)庫操作?!颈局v拓展】與MySQL數(shù)據(jù)庫管理相似的數(shù)據(jù)庫管理系統(tǒng)包括:(1)PostgreSQL:PostgreSQL是一個開源的關系型數(shù)據(jù)庫管理系統(tǒng),與MySQL類似,支持多種操作系統(tǒng),具有強大的功能和可擴展性。(2)OracleDatabase:Oracle是一個商業(yè)級的關系型數(shù)據(jù)庫管理系統(tǒng),具有廣泛的功能和高性能,被廣泛用于企業(yè)級應用和大型數(shù)據(jù)處理。(3)MicrosoftSQLServer:MicrosoftSQLServer是微軟開發(fā)的關系型數(shù)據(jù)庫管理系統(tǒng),適用于Windows操作系統(tǒng),具有豐富的功能和集成性。(4)SQLite:SQLite是一個嵌入式關系型數(shù)據(jù)庫管理系統(tǒng),它是一個輕量級的數(shù)據(jù)庫引擎,適用于嵌入式設備和小型應用程序?!練w納總結,布置課后作業(yè)】(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。提問講解的知識點,對存在問題進行講解。帶領學生總結MySQL數(shù)據(jù)庫管理概述、創(chuàng)建和管理數(shù)據(jù)庫。(2)布置隨堂練習,檢查學生掌握情況。根據(jù)博學谷和隨堂聯(lián)系資源,給學生布置隨堂練習,檢測學生的掌握程度,并對學生出現(xiàn)的問題進行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務。MySQL作為開源軟件,體現(xiàn)了開放共享的精神,推動了開源社區(qū)的繁榮和技術的共同進步,符合社會主義核心價值觀中的共享共創(chuàng)理念。"數(shù)據(jù)共享是推動社會進步和創(chuàng)新的重要推動力。我們應該鼓勵合理的數(shù)據(jù)共享和合作,促進知識的傳播和共同發(fā)展。但同時,我們也要確保數(shù)據(jù)共享的合法性和道德性,保護數(shù)據(jù)的隱私和權益。"教學后記課次:第7講課程教案授課主題第5章章節(jié)內容第5章MySQL數(shù)據(jù)表結構管理地點多媒體課室課時2教學目的與要求1.熟悉常見的MySQL數(shù)據(jù)類型、約束類型;2.掌握如何創(chuàng)建數(shù)據(jù)表、查看數(shù)據(jù)表的結構、修改數(shù)據(jù)表;3.通過完成課業(yè)任務學會分析問題、解決問題,提高動手操作能力。教學重點1.創(chuàng)建數(shù)據(jù)表;2.查看數(shù)據(jù)表的結構;3.修改數(shù)據(jù)表。教學難點掌握如何創(chuàng)建數(shù)據(jù)表教學方法線上線下混合教學、講授法、討論法、練習法、歸納法教學手段多媒體技術、超星學習通等軟件教學過程課程思政元素說明:*號標注的是課程思政的融入點【回顧上節(jié)課內容,繼續(xù)講解本課時的知識】(1)教師對學生們的疑問進行統(tǒng)一答疑。(2)回顧總結上節(jié)課內容,繼續(xù)介紹本課時的內容。上節(jié)課介紹了SQL的概述、SQL語言的規(guī)則與規(guī)范、運算符。本節(jié)課介紹數(shù)據(jù)類型、創(chuàng)建數(shù)據(jù)表、修改數(shù)據(jù)表、刪除數(shù)據(jù)表?!揪w論課】1.數(shù)據(jù)類型*"數(shù)據(jù)的真實性和可靠性是數(shù)據(jù)管理的基石,選擇數(shù)據(jù)類型時,我們要牢記亞里士多德的名言:真實的數(shù)據(jù)是推動智慧和決策的基礎。"MySQL數(shù)據(jù)類型介紹數(shù)據(jù)類型是指在系統(tǒng)中用于限制或允許該列中存儲的數(shù)據(jù)。在MySQL中,數(shù)據(jù)類型主要根據(jù)數(shù)據(jù)值的內容、大小、精度來選擇,給字段選擇合適的數(shù)據(jù)類型對數(shù)據(jù)庫的優(yōu)化具有很重要的作用;反之,則可能會嚴重影響應用程序的功能和性能。MySQL支持多種數(shù)據(jù)類型,主要分為三種數(shù)據(jù)類型:數(shù)值、日期與時間以及字符串類型,其中數(shù)值類型又包括整數(shù)類型、浮點數(shù)與定點數(shù)類型;字符串類型包括文本字符串、二進制字符串類型。*資源節(jié)約整數(shù)類型MySQL中的整數(shù)類型分為TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和BIGINT這5個類型。浮點數(shù)與定點數(shù)類型在MySQL中的浮點數(shù)類型主要有兩種,分別單精度浮點數(shù)FLOAT和雙精度浮點數(shù)DOUBLE。日期與時間類型YEAR類型DATE類型TIME類型DATETIME類型TIMESTAMP類型文本字符串類型MySQL支持的字符串類型包括文本字符串類型和二進制字符串類型,主要用來存儲字符串數(shù)據(jù),以及存儲圖片和聲音的二進制數(shù)據(jù)。MySQL中的字符串類型主要分為CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET等類型。二進制字符串類型二進制字符串類型主要存儲二進制數(shù)據(jù),例如可以存儲圖片、音頻和視頻等二進制數(shù)據(jù)。MySQL中支持的二進制字符串類型主要包括BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB類型。2.創(chuàng)建數(shù)據(jù)表約束概述創(chuàng)建數(shù)據(jù)表的語法格式使用非空約束使用主鍵約束使用外鍵約束使用唯一約束使用AUTO_INCREMENT自增列使用默認值約束使用檢查約束查看數(shù)據(jù)表結構3.修改數(shù)據(jù)表*審慎而可靠的修改,才能鑄就可追溯的數(shù)據(jù)之道重命名表講解案例5.9修改數(shù)據(jù)表的名稱。添加字段講解案例5.10添加新的字段。修改字段講解案例5.11修改字段的約束條件。重命名字段講解案例5.12修改字段名稱。修改字段的排列位置講解案例5.13修改字段的排列位置。刪除字段講解案例5.14刪除字段。4.刪除數(shù)據(jù)表當一張數(shù)據(jù)表不再被需要時,可以將其刪除掉。但是在刪除表的同時,數(shù)據(jù)表的結構和表中的所有數(shù)據(jù)都會被刪除,所以在刪除數(shù)據(jù)表前最好先做好備份,以免造成無法挽留的損失。在MySQL中刪除數(shù)據(jù)表有兩種情況,一種是刪除沒有被關聯(lián)的表,另外一種是刪除被其他數(shù)據(jù)表關聯(lián)的表。講解案例5.15刪除課程表。講解案例5.16刪除部門表。【本講拓展】與MySQL數(shù)據(jù)表結構管理相似的數(shù)據(jù)庫結構管理工具包括:(1)PostgreSQL:PostgreSQL是一種開源關系型數(shù)據(jù)庫管理系統(tǒng),與MySQL類似,提供了豐富的表結構管理功能。用戶可以使用DDL(數(shù)據(jù)定義語言)語句來創(chuàng)建、修改和刪除數(shù)據(jù)庫表結構。(2)MicrosoftSQLServerManagementStudio:MicrosoftSQLServerManagementStudio是用于管理和操作MicrosoftSQLServer數(shù)據(jù)庫的集成開發(fā)環(huán)境(IDE)。它提供了圖形化界面,用戶可以輕松地創(chuàng)建、修改和刪除表結構,并進行索引、約束和觸發(fā)器等管理操作。(3)OracleSQLDeveloper:OracleSQLDeveloper是Oracle官方提供的免費集成開發(fā)環(huán)境(IDE),用于管理Oracle數(shù)據(jù)庫。它提供了直觀的界面,可用于創(chuàng)建、修改和刪除表結構,以及管理數(shù)據(jù)庫對象和約束。(4)Navicat:Navicat是一個多種數(shù)據(jù)庫管理工具的集合,支持MySQL、PostgreSQL、Oracle等多種數(shù)據(jù)庫系統(tǒng)。它提供了直觀的用戶界面和功能強大的表結構管理工具,可用于跨多個數(shù)據(jù)庫系統(tǒng)管理表結構。【歸納總結,布置課后作業(yè)】(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。提問講解的知識點,對存在問題進行講解。帶領學生總結數(shù)據(jù)類型、創(chuàng)建數(shù)據(jù)表、修改數(shù)據(jù)表、刪除數(shù)據(jù)表。(2)布置隨堂練習,檢查學生掌握情況。根據(jù)博學谷和隨堂聯(lián)系資源,給學生布置隨堂練習,檢測學生的掌握程度,并對學生出現(xiàn)的問題進行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務。在選擇數(shù)據(jù)類型時,我們應該注重數(shù)據(jù)的精確性和可持續(xù)性,不僅關注數(shù)據(jù)的規(guī)模和性能。這是因為不同的數(shù)據(jù)類型可能會對系統(tǒng)和用戶產生不同的影響。我們應該遵循數(shù)據(jù)管理的倫理原則,確保選擇的數(shù)據(jù)類型符合數(shù)據(jù)的真實性和可靠性,不誤導用戶或歪曲事實。選擇適當?shù)臄?shù)據(jù)類型可以減少存儲空間的占用,符合節(jié)約資源、保護環(huán)境的思想,推動可持續(xù)發(fā)展。在修改數(shù)據(jù)表時,我們要注重數(shù)據(jù)的一致性和完整性。任何修改都應該經(jīng)過審慎考慮和充分測試,確保數(shù)據(jù)的準確性和可追溯性。我們要避免隨意修改數(shù)據(jù)表,以免引起數(shù)據(jù)不一致或丟失。這是我們作為數(shù)據(jù)管理員的責任和職業(yè)道德所在。教學后記課次:第9、10、12、14、16講課程教案授課主題第6章章節(jié)內容第6章表記錄的檢索(可選)地點多媒體課室課時10教學目的與要求1.了解查詢功能的概念和實際作用;2.熟練使用各類型查詢;3.熟練查詢的實際應用。教學重點熟練使用各類型查詢教學難點熟練查詢的實際應用教學方法線上線下混合教學、講授法、討論法、練習法、歸納法教學手段多媒體技術、超星學習通等軟件教學過程課程思政元素說明:*號標注的是課程思政的融入點【回顧上節(jié)課內容,繼續(xù)講解本課時的知識】(1)教師對學生們的疑問進行統(tǒng)一答疑。(2)回顧總結上節(jié)課內容,繼續(xù)介紹本課時的內容。上節(jié)課介紹了數(shù)據(jù)類型、創(chuàng)建數(shù)據(jù)表、修改數(shù)據(jù)表、刪除數(shù)據(jù)表。本節(jié)課介紹單表查詢、函數(shù)查詢、多表查詢?!揪w論課】1.單表查詢基本查詢在MySQL中使用SELECT語句來查詢數(shù)據(jù)。SELECT語句是最常用的查詢語句,它的使用方式有些復雜,但功能很強大。(1)基本查詢語句*查詢語句在國產數(shù)據(jù)庫的應用案例(2)查詢所有字段(3)查詢指定字段(4)用DISTINCT關鍵字去除結果中的重復行WHERE子句講解案例6.2查詢課程表中課程學分為1和4的課程名稱。ORDERBY子句講解案例6.6查詢學生表中按身高由矮到高排列的學生信息。GROUPBY子句講解案例6.7查詢班級表中每個系部有多少個班級。用LIMIL限制查詢結果的數(shù)量講解案例6.10在學生表中按學號升序排序查詢第3至6條記錄。2.函數(shù)查詢*技術創(chuàng)新與社會發(fā)展MySQL函數(shù)會對傳遞進來的參數(shù)進行處理,并返回一個處理結果,也就是返回一個值。MySQL包含了大量并且豐富的函數(shù),在查詢中最常見的則是聚合函數(shù)。聚合函數(shù)最大的特點是它們根據(jù)一組數(shù)據(jù)求出一個值。聚合函數(shù)的結果值只根據(jù)選定行中非NULL的值進行計算,NULL值被忽略。COUNT函數(shù)講解案例6.11查詢學生表中的學生總人數(shù)。SUM函數(shù)講解案例6.12查詢成績表中的總成績。AVG函數(shù)講解案例6.13查詢成績表中的平均成績。MAX、MIN函數(shù)講解案例6.14查詢成績表中的成績最大值和最小值。3.多表查詢*COVID-19疫情下的數(shù)據(jù)分析與隱私保護(1)連接查詢1.內連接查詢講解案例6.15使用自然連接和相等連接查詢學生姓名與其成績。2.外連接方式1:左外連接講解案例6.16使用左連接查詢成績大于60的學生姓名和成績。方式2:右外連接講解案例6.17使用右連接查詢成績大于60的學生姓名和成績。3.復合條件連接查詢講解案例6.18查詢每個學生所在班級。(2)子查詢帶IN關鍵字的子查詢帶比較運算符的子查詢帶EXISTS關鍵字的子查詢帶ANY關鍵字的子查詢帶ALL關鍵字的子查詢(3)合并查詢合并查詢結果顧名思義是將多個SELECT語句的查詢結果合并在一起。MySQL中可以使用UNION和UNIONALL關鍵字對查詢結果進行合并。UNION關鍵字講解案例6.24演示UNION關鍵字的使用。UNIONALL關鍵字講解案例6.25使用案例6.24中的數(shù)據(jù)表演示UNIONALL關鍵字的使用。4.定義別名定義數(shù)據(jù)表別名首先介紹定義別名的優(yōu)勢講解案例6.26使用別名重寫案例6.18的SQL語句。定義字段別名講解案例6.27為案例6.11的輸出字段定義別名。5.使用正則表達式查詢這里的正則表達式與Java、PHP等編程語言中的正則表達式基本一致。①語法差異:MySQL的正則表達式使用的是基于POSIX的語法,而Java的正則表達式使用的是基于Perl的語法。這意味著在表達式的寫法和特定字符的含義上會有一些差異。②字符類表示法:MySQL的正則表達式中,字符類使用方括號([])表示,而Java的正則表達式中使用的是圓括號(())。例如,匹配數(shù)字的表達式在MySQL中是`[0-9]`,而在Java中是`[0-9]`。③轉義字符的差異:在MySQL中,某些特殊字符不需要使用反斜杠進行轉義,而在Java中,通常需要使用反斜杠對特殊字符進行轉義。例如,匹配句末的句號(.)在MySQL中可以直接使用`.`,而在Java中需要使用`\.`。④支持的功能差異:MySQL的正則表達式在功能上相對較簡單,不支持一些高級功能,如零寬斷言、捕獲組等。而Java的正則表達式提供了更豐富的功能,可以進行更復雜的模式匹配和提取操作?!颈局v拓展】MYSQL中groupby和聚合函數(shù)區(qū)別:(1)SQL中只要用到聚合函數(shù)就不一定要用到groupby。聚合函數(shù)是對一組值執(zhí)行計算,并返回單個值,也被稱為組函數(shù)。聚合函數(shù)可以應用于SELECT查詢語句的GROUPBY子句的HAVING子句中,但不可用于WHERE語句中,因為WHERE是對逐條的行記錄進行篩選。(2)聚合函數(shù)要使用的話,有一個前提,那就是是必須要有結果集。(3)因此聚合函數(shù)可以在查詢結果集中和having后使用,但不能在where后使用。(4)聚合函數(shù)在匯總前還可以在里面寫表達式來計算字段之間的關系?!練w納總結,布置課后作業(yè)】(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。提問講解的知識點,對存在問題進行講解。帶領學生總結單表查詢、函數(shù)查詢、多表查詢。(2)布置隨堂練習,檢查學生掌握情況。根據(jù)博學谷和隨堂聯(lián)系資源,給學生布置隨堂練習,檢測學生的掌握程度,并對學生出現(xiàn)的問題進行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務?!岸聪は扔谌?,數(shù)據(jù)贏天下”,樹立合法查詢意識,明確哪些數(shù)據(jù)查詢屬于違法行為。函數(shù)查詢是技術創(chuàng)新的一種體現(xiàn),通過創(chuàng)新的函數(shù)設計和使用,推動技術與社會的有機結合,為社會發(fā)展帶來更多的創(chuàng)新動力。COVID-19疫情期間,數(shù)據(jù)分析在疫情監(jiān)測和決策制定中起到了重要作用。然而,這也引發(fā)了對個人隱私保護和數(shù)據(jù)使用的關注。在進行表記錄檢索時,我們需要平衡數(shù)據(jù)的有效利用與個人隱私的保護,遵循合法、透明和倫理的數(shù)據(jù)管理原則,確保數(shù)據(jù)的安全性和合法性。教學后記課次:第18講課程教案授課主題第7章章節(jié)內容第7章視圖與索引地點多媒體課室課時2教學目的與要求1.熟練創(chuàng)建視圖和索引及增刪改查操作;2.熟練使用數(shù)據(jù)庫圖形化管理工具進行視圖和索引的實際操作。教學重點視圖與索引的增刪改查操作過程教學難點視圖的應用教學方法線上線下混合教學、講授法、討論法、練習法、歸納法教學手段多媒體技術、超星學習通等軟件教學過程課程思政元素說明:*號標注的是課程思政的融入點【回顧上節(jié)課內容,繼續(xù)講解本課時的知識】(1)教師對學生們的疑問進行統(tǒng)一答疑。(2)回顧總結上節(jié)課內容,繼續(xù)介紹本課時的內容。上節(jié)課介紹了單表查詢、函數(shù)查詢、多表查詢。本節(jié)課介紹視圖的增刪改查以及更新、索引的概念、索引的增刪改查。*應用型本科院校和研究性本科院校在理解索引時的區(qū)別【緒論課】視圖視圖是一個虛擬表,是從數(shù)據(jù)庫中的一個或多個表中導出來的表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。但是,數(shù)據(jù)庫中只存放了視圖的定義,而沒有存放視圖中的數(shù)據(jù)。這些數(shù)據(jù)存放在原來的表中。使用視圖查詢數(shù)據(jù)時,數(shù)據(jù)庫系統(tǒng)會從原來的表中取出對應的數(shù)據(jù)。因此,視圖中的數(shù)據(jù)是依賴于原來的表中的數(shù)據(jù)的。一旦表中的數(shù)據(jù)發(fā)生改變,顯示在視圖中的數(shù)據(jù)也會發(fā)生改變。創(chuàng)建視圖重點介紹創(chuàng)建的優(yōu)勢查看創(chuàng)建視圖的權限講解案例7.1查詢MySQL中root用戶是否具有創(chuàng)建視圖的權限。創(chuàng)建視圖講解案例7.2創(chuàng)建視圖查找學生表的全部信息,命名為view_stu。查看視圖1.使用DESCRIBE語句查看視圖講解案例7.3使用DESC語句查詢案例7.2創(chuàng)建的視圖view_stu的結構。2.使用SHOWTABLESTATUS語句查看視圖講解案例7.4查看視圖view_stu的信息。3.使用SHOWCREATEVIEW語句查詢視圖講解案例7.5查看視圖view_stu的詳細定義。修改視圖修改視圖是指修改數(shù)據(jù)庫中已存在的表的定義。當基本表的某些字段發(fā)生改變時,可以通過修改視圖來保持視圖和基本表之間的一致。MySQL中可以通過CREATEORREPLACEVIEW語句和ALTERVIEW語句來修改視圖。講解案例7.6將視圖view_stu的字段修改為name、gender、height。講解案例7.7修改視圖view_stu以學生表為基本表。更新視圖因為視圖是一個虛擬表,其中沒有數(shù)據(jù),所以通過視圖更新時,實際上都是在基本表中執(zhí)行更新操作。更新視圖是指通過視圖來插入(INSERT)、更新(UPDATE)和刪除(DELETE)表中的數(shù)據(jù)。但是,更新視圖時,只能更新權限范圍內的數(shù)據(jù),超出了范圍就不能更新。講解案例7.8修改視圖view_stu中姓黃的同學身高為0。刪除視圖講解案例7.9刪除視圖view_stu。2.索引*搜索引擎優(yōu)化(SEO)與索引的重要性索引是一種將數(shù)據(jù)庫中單列或者多列的值進行排序的結構。應用索引,可以大幅度提高查詢的速度,還可以降低服務器的負載。用戶查詢數(shù)據(jù)時,系統(tǒng)可以不必遍歷數(shù)據(jù)表中的所有記錄,而是查詢索引列。一般形式的數(shù)據(jù)查詢是通過遍歷數(shù)據(jù)后,尋找數(shù)據(jù)庫中的匹配記錄而實現(xiàn)的。與一般形式的查詢相比,索引就像一本書的目錄。通過目錄可以直接查詢到書的某節(jié)。大大縮短了查詢時間,提高了查找速度。所以,使用索引可以有效地提高數(shù)據(jù)庫系統(tǒng)的整體性能。*可持續(xù)發(fā)展普通索引唯一索引全文索引單列索引多列索引空間索引(1)創(chuàng)建索引方式1:直接創(chuàng)建索引講解案例7.11在test數(shù)據(jù)表中創(chuàng)建普通索引。方式2:修改數(shù)據(jù)表結構添加索引修改已經(jīng)存在表上的索引,可以通過ALTERTABLE語句為數(shù)據(jù)表添加索引。講解案例7.12在test數(shù)據(jù)表中添加普通索引。1.在建立數(shù)據(jù)表時創(chuàng)建索引2.在已建立的數(shù)據(jù)表中創(chuàng)建索引(2)刪除索引在MySQL中,創(chuàng)建索引后,如果用戶不再需要該索引,則可以刪除指定表的索引。因為這些已經(jīng)建立但不常使用的索引,一方面會占用系統(tǒng)資源,另一方面可能導致更新速度下降,這極大地影響了數(shù)據(jù)表的性能。講解案例7.13刪除test數(shù)據(jù)表中的索引?!颈局v拓展】InnoDB的索引模型:在InnoDB中,表都是根據(jù)主鍵順序以索引的形式存放的,這種存儲方式的表稱為索引組織表。InnoDB使用了B+樹索引模型,所以數(shù)據(jù)都是存儲在B+樹中的。每一個索引在InnoDB里面對應一棵B+樹。假設,我們有一個主鍵列為ID的表,表中有字段k,并且在k上有索引。這個表的建表語句是:
mysql>createtableT(
idintprimarykey,
kintnotnull,
namevarchar(16),
index(k))engine=InnoDB;【歸納總結,布置課后作業(yè)】(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。提問講解的知識點,對存在問題進行講解。帶領學生總結視圖的增刪改查以及更新、索引的概念、索引的增刪改查。(2)布置隨堂練習,檢查學生掌握情況。根據(jù)博學谷和隨堂聯(lián)系資源,給學生布置隨堂練習,檢測學生的掌握程度,并對學生出現(xiàn)的問題進行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務?!皵?shù)據(jù)精準到位,效率自成一派。”,引導學生理解在保護數(shù)據(jù)安全的前提下如何提高查詢效率。在互聯(lián)網(wǎng)時代,搜索引擎是人們獲取信息的主要渠道之一。網(wǎng)站的索引優(yōu)化對于提高網(wǎng)站在搜索引擎結果中的排名至關重要。通過創(chuàng)建和管理索引,我們可以提高數(shù)據(jù)庫查詢的效率,加快數(shù)據(jù)的檢索速度,提供更好的用戶體驗。索引的設計和使用需要考慮可持續(xù)發(fā)展的原則,遵循資源節(jié)約和環(huán)境保護的思想,推動社會的可持續(xù)發(fā)展。教學后記課次:第20講課程教案授課主題第8章章節(jié)內容第8章數(shù)據(jù)處理之增刪改地點多媒體課室課時2教學目的與要求1.熟練使用INSERT、UPDATE和DELETE語句對數(shù)據(jù)庫的數(shù)據(jù)進行增刪改操作;2.熟練使用不同的MySQL工具對數(shù)據(jù)表中的數(shù)據(jù)進行增、刪、改操作;3.通過完成課業(yè)任務學會分析問題、解決問題,提高動手操作能力。教學重點1.使用INSERT、UPDATE和DELETE語句對數(shù)據(jù)庫的數(shù)據(jù)進行增刪改操作過程;2.不同的MySQL工具對數(shù)據(jù)表中的數(shù)據(jù)進行增、刪、改操作教學難點INSERT、UPDATE和DELETE語句對數(shù)據(jù)庫的數(shù)據(jù)進行增刪改操作過程教學方法線上線下混合教學、講授法、討論法、練習法、歸納法教學手段多媒體技術、超星學習通等軟件教學過程課程思政元素說明:*號標注的是課程思政的融入點【回顧上節(jié)課內容,繼續(xù)講解本課時的知識】(1)教師對學生們的疑問進行統(tǒng)一答疑。(2)回顧總結上節(jié)課內容,繼續(xù)介紹本課時的內容。上節(jié)課介紹了視圖的增刪改查以及更新、索引的概念、索引的增刪改查。本節(jié)課介紹插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù)。*增刪改數(shù)據(jù)的SQL語與Java語言的結合應用【緒論課】1.插入數(shù)據(jù)在建立一個空的數(shù)據(jù)表后,首先需要考慮如何向數(shù)據(jù)表中添加數(shù)據(jù),該操作可以使用INSERT語句來完成。在MySQL中,INSERT語句有3種語法格式,分別是INSERT...VALUES、INSERT...SET和INSERT...SELECT語句。(1)通過INSERT...VALUES語句插入數(shù)據(jù)(2)通過INSERT...SET語句插入數(shù)據(jù)(3)通過INSERT...SELECT語句插入查詢結果2.更新數(shù)據(jù)在數(shù)據(jù)庫中,有些數(shù)據(jù)已經(jīng)失去意義或者發(fā)生錯誤,此時需要將它們刪除。在MySQL中,可以使用DELETE或者TRUNCATETABLE語句刪除表中的一行或者多行數(shù)據(jù)。UPDATE[IGNORE]數(shù)據(jù)表SET字段1=值1[,字段2=值2...][WHERE條件表達式][ORDERBY...][LIMIT行數(shù)]講解案例8.6更新系部表中的內容。[IGNORE]在MySQL中,通過UPDATE語句更新表中多行數(shù)據(jù)時,如果出現(xiàn)錯誤,那么整個UPDATE語句操作都會被取消,錯誤發(fā)生前更新的所有行將被恢復到它們原來的值。因此,為了在發(fā)生錯誤時也要繼續(xù)進行更新,可以在UPDATE語句中使用IGNORE關鍵字。SET子句為必選項,用于指定表中要修改的字段名及其字段值。其中的值可以是表達式,也可以是該字段所對應的默認值。如果要指定默認值,可使用關鍵字DEFAULT。WHERE子句為可選項,用于限定表中要修改的行,如果不指定該字句,那么UPDATE語句會更新表中的所有行。ORDERBY子句為可選項,用于限定表中的行被修改的次序。LIMIT子句為可選項,用于限定被修改的行數(shù)。3.刪除數(shù)據(jù)*網(wǎng)絡欺詐與虛假信息的刪除(1)通過DELETE語句刪除數(shù)據(jù)DELETE[QUICK][IGNORE]FROM數(shù)據(jù)表[WHERE條件表達式][ORDERBY...][LIMIT行數(shù)]通過TRUNCATETABLE語句刪除數(shù)據(jù)DELETE、TRUNCATE和DROP區(qū)別當表被TRUNCATE語句刪除后,該表和索引所占用的空間會恢復到初始大?。籇ELETE語句操作不會減少表或索引所占用的空間;DROP語句將表所占用的空間全釋放掉。1.表和索引所占空間2.應用范圍3.執(zhí)行速度【本講拓展】如何理解清空表、刪除表等操作:表刪除操作將把表的定義和表中的數(shù)據(jù)一起刪除,并目MySQL在執(zhí)行刪除操作時,不會有任何的確認信息提示,因此抄行刪除操時應當慎重。在刪除表前,最好對表中的數(shù)據(jù)進行各份,這樣當操作失誤時可以對數(shù)據(jù)進行恢復,以免造成無法挽回的后果。同樣的,在使用ALTERTABLE進行表的基本修改操作時在執(zhí)行操作過程之前,也應該確保對數(shù)據(jù)進行完整的各份,因為數(shù)據(jù)庫的改變是無法撤銷的,如果添加了一個不需要的字段可以將其刪除;相同的,如果刪除了一個需要的列,該列下面的所有數(shù)據(jù)都將會丟失。【歸納總結,布置課后作業(yè)】(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。提問講解的知識點,對存在問題進行講解。帶領學生總結插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù)。(2)布置隨堂練習,檢查學生掌握情況。根據(jù)博學谷和隨堂聯(lián)系資源,給學生布置隨堂練習,檢測學生的掌握程度,并對學生出現(xiàn)的問題進行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務。掌握增刪查改才能站讓數(shù)據(jù)更有價值,引導同學們在練習時養(yǎng)成嚴謹?shù)膶W習態(tài)度。近年來,網(wǎng)絡欺詐和虛假信息廣泛存在,對個人和社會造成了嚴重的傷害。在進行數(shù)據(jù)刪除操作時,我們應該審慎處理虛假信息,防止信息的誤導和對用戶的欺詐行為。保持數(shù)據(jù)的真實性和可靠性是維護公共信任和社會穩(wěn)定的重要責任。教學后記課次:第22講課程教案授課主題第9章章節(jié)內容第9章存儲過程與游標地點多媒體課室課時2教學目的與要求1.了解存儲的種類和優(yōu)勢;2.掌握存儲過程的創(chuàng)建、調用、查看、修改和刪除;3.了解變量的類別和使用;4.掌握基本的流程控制語句;5.通過完成課業(yè)任務,熟練掌握存儲過程的知識點;6.通過不同的工具熟悉管理存儲過程。教學重點1.掌握存儲過程的創(chuàng)建、調用、查看、修改和刪除;2.了解變量的類別和使用;3.掌握基本的流程控制語句。教學難點1.存儲過程的創(chuàng)建、調用、查看、修改和刪除;2.熟練基本的流程控制語句。教學方法線上線下混合教學、講授法、討論法、練習法、歸納法教學手段多媒體技術、超星學習通等軟件教學過程課程思政元素說明:*號標注的是課程思政的融入點【回顧上節(jié)課內容,繼續(xù)講解本課時的知識】(1)教師對學生們的疑問進行統(tǒng)一答疑。(2)回顧總結上節(jié)課內容,繼續(xù)介紹本課時的內容。上節(jié)課介紹了插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù)。本節(jié)課介紹存儲過程概述、存儲過程的創(chuàng)建、調用與查看、游標的使用、存儲過程的修改、刪除存儲過程、變量類型介紹、流程控制。*人民幣數(shù)字化與數(shù)字經(jīng)濟發(fā)展【緒論課】1.存儲過程概述存儲過程是一組經(jīng)過預先編譯的SQL語句的封裝,它由聲明式的SQL語句(例如DDL語句和DML語句)以及過程式的SQL語句(例如分支語句和循環(huán)語句)組成。在實際操作中,經(jīng)常需要多條SQL語句處理多個表才能完成一個完整的操作。如果在客戶端和服務器端頻繁地傳輸多條SQL語句,那么將會極大地降低命令的執(zhí)行效率。存儲過程預先將多條SQL語句組合成一個程序并存儲在MySQL服務器上。當需要執(zhí)行時,客戶端只需要向服務器端發(fā)出調用存儲過程的命令,服務器端就可以把預先存儲好的這一系列SQL語句全部執(zhí)行,從而大大提高了數(shù)據(jù)處理速度。2.存儲過程的創(chuàng)建、調用與查看在MySQL中,存儲程序是用CREATEPROCEDURE語句創(chuàng)建的。使用CALL語句來調用存儲過程,且只能使用輸出變量傳回值。存儲過程也可以調用其他存儲過程。(1)創(chuàng)建存儲過程*C語言的經(jīng)典案例求1到100的累加和講解案例9.1創(chuàng)建一個存儲過程。調用存儲過程講解案例9.2調用存儲過程。查看存儲過程1.使用SHOWSTATUS語句查看存儲過程講解案例9.3查看存儲過程的狀態(tài)。2.使用SHOWCREATE語句講解案例9.4查看存儲過程的定義信息。3.通過routines表查詢存儲過程或存儲函數(shù)講解案例9.5通過routines表查詢存儲過程。3.游標的使用在MySQL中,查詢語句常常返回多行數(shù)據(jù)。如果數(shù)據(jù)量很大,則不能逐行處理數(shù)據(jù)。因此,在存儲過程或函數(shù)中,可以使用游標來逐個讀取查詢結果。通過控制游標的移動,用戶可以按需要查看和操作這些數(shù)據(jù),但不能跳過任何記錄。(1)聲明游標(2)打開游標(3)使用游標(4)關閉游標4.存儲過程的修改可以通過ALTER關鍵字修改已經(jīng)創(chuàng)建的存儲過程的特性。講解案例9.7修改存儲過程。5.刪除存儲過程可以通過DROP關鍵字刪除存儲過程。講解案例9.8刪除存儲過程s_procedure。6.變量類型介紹(1)局部變量(2)用戶變量(3)會話變量(4)全局變量7.流程控制每個流程中可能包含一個單獨的語句,或者是使用BRGIN...END構造的復合語句。使用BEGIN...END構造復合語句時,可以進行嵌套。如果需要執(zhí)行循環(huán)操作,可以使用WHILE語句和REPEAT語句來實現(xiàn)類似的功能。需要注意的是,MySQL語句中不支持標準的FOR循環(huán)。分支結構講解案例9.14IF語句的使用。講解案例9.15CASE語句的使用方法一。循環(huán)結構講解案例9.17LOOP語句的使用。講解案例9.18WHILE語句的使用。講解案例9.19REPEAT語句的使用。跳轉語句講解案例9.20LEAVE語句的使用。講解案例9.21ITERATE語句的使用?!颈局v拓展】存儲過程優(yōu)缺點:優(yōu)點:(1)執(zhí)行度更快。在存儲過程創(chuàng)的時候,數(shù)據(jù)庫已經(jīng)對其進行了一次解析和優(yōu)化,它只在創(chuàng)造時進行編譯,以后每次執(zhí)行存儲過程都不需再重新編譯,而一般SOL語句每執(zhí)行次就編譯一次,所以使用存儲過程可提高數(shù)據(jù)庫執(zhí)行速度(2)安全性商??稍O定只有某此用戶才具有對指定存儲過程的使用權。(3)存儲過程可以重復使用,可減少數(shù)據(jù)庫開發(fā)人員的工作量。缺點:(1)不便于調試。基本上沒有較好的調試器,很多時候是用print來調試,但用這種方法調試長達數(shù)百行的存儲過程簡直是噩夢(2)無法適應數(shù)據(jù)庫的切割(水平或垂直切割)。數(shù)據(jù)庫切割之后,存儲過程并不清楚數(shù)據(jù)存儲在哪個數(shù)據(jù)庫中。【歸納總結,布置課后作業(yè)】(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。提問講解的知識點,對存在問題進行講解。帶領學生總結存儲過程概述、存儲過程的創(chuàng)建、調用與查看、游標的使用、存儲過程的修改、刪除存儲過程、變量類型介紹、流程控制。(2)布置隨堂練習,檢查學生掌握情況。根據(jù)博學谷和隨堂聯(lián)系資源,給學生布置隨堂練習,檢測學生的掌握程度,并對學生出現(xiàn)的問題進行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務。中國正在積極推進人民幣的數(shù)字化發(fā)展,以推動數(shù)字經(jīng)濟的發(fā)展和便利支付體驗。存儲過程和游標可用于處理數(shù)字支付交易數(shù)據(jù),確保支付數(shù)據(jù)的安全、準確和高效。在編寫存儲過程時,我們應注重數(shù)據(jù)的保護、穩(wěn)定性和合規(guī)性,為數(shù)字經(jīng)濟提供可靠的數(shù)據(jù)支持。教學后記課次:第24-25講課程教案授課主題第10章章節(jié)內容第10章函數(shù)(可選)地點多媒體課室課時4教學目的與要求1.掌握存儲函數(shù)的創(chuàng)建、調用、查看、修改與刪除;2.了解各種系統(tǒng)函數(shù)的用法。教學重點存儲函數(shù)的創(chuàng)建、調用、查看教學難點各種系統(tǒng)函數(shù)的用法教學方法線上線下混合教學、講授法、討論法、練習法、歸納法教學手段多媒體技術、超星學習通等軟件教學過程課程思政元素說明:*號標注的是課程思政的融入點【回顧上節(jié)課內容,繼續(xù)講解本課時的知識】(1)教師對學生們的疑問進行統(tǒng)一答疑。(2)回顧總結上節(jié)課內容,繼續(xù)介紹本課時的內容。上節(jié)課介紹了存儲過程概述、存儲過程的創(chuàng)建、調用與查看、游標的使用、存儲過程的修改、刪除存儲過程、變量類型介紹、流程控制。本節(jié)課介紹存儲函數(shù)的創(chuàng)建、調用與查看、修改存儲函數(shù)、刪除存儲函數(shù)?!揪w論課】1.存儲函數(shù)的創(chuàng)建、調用與查看(1)創(chuàng)建存儲函數(shù)存儲函數(shù)名:存儲函數(shù)的名稱;參數(shù):存儲函數(shù)的參數(shù)列表,只需要給定參數(shù)名稱與類型即可,因為存儲函數(shù)的參數(shù)默認為IN模式;RETURNS:指定存儲函數(shù)返回值的數(shù)據(jù)類型;特性:指定存儲函數(shù)的特性,取值與【9.2.1創(chuàng)建存儲過程】中特性的取值完全相同;存儲函數(shù)語句塊:指定SQL代碼的內容,也是存儲函數(shù)主體的核心部分。使用BEGIN和END將存儲函數(shù)塊封閉,并使用RETURN語句定義存儲函數(shù)的返回值。講解案例10.1創(chuàng)建一個存儲函數(shù)。調用存儲函數(shù)存儲函數(shù)名:表示調用的存儲函數(shù)的名稱。如果要調用其他數(shù)據(jù)庫中的存儲函數(shù),需要按照“數(shù)據(jù)庫名.存儲函數(shù)名”的格式調用;參數(shù):表示調用該存儲函數(shù)時傳遞的參數(shù)列表。該參數(shù)列表需要與存儲函數(shù)定義時的參數(shù)列表保持一致。講解案例10.2調用存儲函數(shù)。查看存儲函數(shù)講解案例10.3查看存儲函數(shù)的狀態(tài)。講解案例10.4查看存儲函數(shù)的定義信息。講解案例10.5通過routines表查詢存儲函數(shù)。2.修改存儲函數(shù)在MySQL中,可以通過ALTER關鍵字修改存儲函數(shù)的特性,但是無法修改存儲函數(shù)中的參數(shù)和過程體定義語句,因為這將導致存儲函數(shù)的結構或執(zhí)行邏輯發(fā)生變化。講解案例10.6修改存儲函數(shù)。3.刪除存儲函數(shù)*資源節(jié)約與環(huán)境保護講解案例10.7刪除存儲函數(shù)fun_find。4.MySQL系統(tǒng)函數(shù)(1)字符串函數(shù)*字符轉換函數(shù)等不常用函數(shù)也要能做到舉一反三,快速應用數(shù)學函數(shù)(3)日期和時間函數(shù)(4)統(tǒng)計函數(shù)(5)流程控制函數(shù)講解案例10.8使用IF函數(shù)進行條件判斷。講解案例10.9使用CASE函數(shù)進行分支操作。講解案例10.10使用CASE函數(shù)進行分支操作。講解案例10.11使用IFNULL函數(shù)進行條件判斷。講解案例10.12使用NULLIF函數(shù)進行條件判斷?!颈局v拓展】Decode函數(shù)在SQL語句中的功能:Decode函數(shù)與一系列嵌套的IF-THEN-ELSE語句相似。base_exp與compare1,compare2等等依次進行比較。如果base_exp和第i個compare項匹配,就返回第i個對應的value。如果base_exp與任何的compare值都不匹配,則返default。每個compare值順次求值,如果發(fā)現(xiàn)一個匹配,則剩下的compare值(如果還有的話)就都不再求值。一個NULL的base_exp被認為和NULLcompare值等價。如果需要的話,每一個compare值都被轉換成和第一個compare值相同的數(shù)據(jù)類型,這個數(shù)據(jù)類型也是返回值的類型。【歸納總結,布置課后作業(yè)】(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。提問講解的知識點,對存在問題進行講解。帶領學生總結存儲函數(shù)的創(chuàng)建、調用與查看、修改存儲函數(shù)、刪除存儲函數(shù)。(2)布置隨堂練習,檢查學生掌握情況。根據(jù)博學谷和隨堂聯(lián)系資源,給學生布置隨堂練習,檢測學生的掌握程度,并對學生出現(xiàn)的問題進行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務。教學后記課次:第26講課程教案授課主題第11章章節(jié)內容第11章觸發(fā)器地點多媒體課室課時2教學目的與要求1.了解觸發(fā)器的定義、作用和優(yōu)缺點;2.熟悉掌握觸發(fā)器的創(chuàng)建;3.掌握查看和刪除觸發(fā)器;4.掌握通過圖形化工具管理觸發(fā)器;5.通過完成課業(yè)任務學會分析問題、解決問題,提高動手操作能力。教學重點1.熟悉掌握觸發(fā)器的創(chuàng)建;2.掌握查看和刪除觸發(fā)器;3.掌握通過圖形化工具管理觸發(fā)器。教學難點1.了解觸發(fā)器的定義、作用和優(yōu)缺點;2.熟悉掌握觸發(fā)器的創(chuàng)建。教學方法線上線下混合教學、講授法、討論法、練習法、歸納法教學手段多媒體技術、超星學習通等軟件教學過程課程思政元素說明:*號標注的是課程思政的融入點【回顧上節(jié)課內容,繼續(xù)講解本課時的知識】(1)教師對學生們的疑問進行統(tǒng)一答疑。(2)回顧總結上節(jié)課內容,繼續(xù)介紹本課時的內容。上節(jié)課介紹了存儲函數(shù)的創(chuàng)建、調用與查看、修改存儲函數(shù)、刪除存儲函數(shù)。本節(jié)課介紹MySQL觸發(fā)器的概述、觸發(fā)器的創(chuàng)建、查看觸發(fā)器、刪除觸發(fā)器?!揪w論課】1.MySQL觸發(fā)器的概述(1)什么是觸發(fā)器*觸發(fā)器及游標常見錯誤及解決辦法MySQL從5.0.2版本開始支持觸發(fā)器。MySQL的觸發(fā)器和存儲過程一樣,都是嵌入到MySQL服務器的一段程序。觸發(fā)器是由事件來觸發(fā)某個操作,這些事件包括INSERT、UPDATE、DELETE事件。所謂事件是指用戶的動作或者觸發(fā)某項行為。如果定義了觸發(fā)程序,當數(shù)據(jù)庫執(zhí)行這些語句時,就相當于該事件發(fā)生了,就會自動激發(fā)觸發(fā)器執(zhí)行相應的操作。(2)觸發(fā)器作用1.安全性2.審計3.實現(xiàn)復雜的數(shù)據(jù)完整性規(guī)則4.實現(xiàn)復雜的級聯(lián)操作(3)觸發(fā)器的優(yōu)缺點1.優(yōu)點觸發(fā)器可以確保數(shù)據(jù)的完整性。觸發(fā)器可以保證存儲在數(shù)據(jù)庫中的所有數(shù)據(jù)值保持正確的狀態(tài),從而保護了數(shù)據(jù)的完整性。觸發(fā)器可以記錄操作日志。利用觸發(fā)器可以具體記錄什么時間發(fā)生了什么。例如,記錄修改會員儲值金額的觸發(fā)器,就是一個很好的例子。這對操作人員還原操作執(zhí)行時的具體場景,更好地定位問題原因很有幫助。觸發(fā)器還可以用在操作數(shù)據(jù)前,對數(shù)據(jù)進行合法性檢查。超市進貨的時候,需要錄入進貨價格。但是人為操作很容易犯錯誤,例如在錄入金額的時候,看錯了行,錄入的價格遠超售價,導致賬面上的虧損,這些都可以通過觸發(fā)器,在實際插入或者更新操作之前,對相應的數(shù)據(jù)進行檢查,及時提示錯誤,防止錯誤數(shù)據(jù)進入系統(tǒng)。2.缺點*觸發(fā)器可讀性差。觸發(fā)器存儲在數(shù)據(jù)庫中,并且由事件驅動,這就意味著觸發(fā)器有可能不受應用層的控制,這對系統(tǒng)維護是非常有挑戰(zhàn)的。數(shù)據(jù)的變更,可能會導致觸發(fā)器出錯。數(shù)據(jù)表結構的變更,會導致觸發(fā)器出錯,進而影響數(shù)據(jù)操作的正常運行。操作頻繁的表上不建議創(chuàng)建觸發(fā)器。在添加、刪除和修改操作相對頻繁的表上不建議創(chuàng)建觸發(fā)器,因為它會對表中受影響的每一行執(zhí)行一次觸發(fā)器,使觸發(fā)器消耗資源較大。NEW和OLD變量2.觸發(fā)器的創(chuàng)建CREATETRIGGER觸發(fā)器名稱{BEFORE|AFTER}{INSERT|UPDATE|DELETE}ON表名FOREACHROW觸發(fā)器執(zhí)行的語句塊;講解案例11.1記錄系部表添加數(shù)據(jù)的日志信息。3.查看觸發(fā)器(1)查看當前數(shù)據(jù)庫的所有觸發(fā)器(2)查看當前數(shù)據(jù)庫的某個觸發(fā)器(3)查看triggers表中的觸發(fā)器信息4.刪除觸發(fā)器觸發(fā)器也是數(shù)據(jù)庫對象,刪除觸發(fā)器可以通過DROP語句,語法格式如下:講解案例11.2刪除after_insert_department觸發(fā)器。【本講拓展】與MySQL觸發(fā)器相似的功能:(1)Oracle數(shù)據(jù)庫的觸發(fā)器:Oracle數(shù)據(jù)庫也支持觸發(fā)器,它們與MySQL觸發(fā)器類似,都是在數(shù)據(jù)庫中定義的特殊類型的存儲過程,用于在數(shù)據(jù)發(fā)生特定事件時自動執(zhí)行。(2)SQLServer的觸發(fā)器:SQLServer也支持觸發(fā)器,它們與MySQL觸發(fā)器的功能類似,都可以用于在數(shù)據(jù)庫表中插入、更新或刪除數(shù)據(jù)時自動觸發(fā)相關操作。(3)PostgreSQL的觸發(fā)器:PostgreSQL數(shù)據(jù)庫也有觸發(fā)器的概念,它們可以在表的數(shù)據(jù)變化時執(zhí)行相應的操作,類似于MySQL觸發(fā)器的功能。這些數(shù)據(jù)庫管理系統(tǒng)中的觸發(fā)器都具有類似的目的,即在數(shù)據(jù)庫中定義特定事件觸發(fā)的操作。雖然語法和用法可能會有所不同,但它們都提供了類似的功能來監(jiān)控和處理數(shù)據(jù)庫中的數(shù)據(jù)變化?!練w納總結,布置課后作業(yè)】(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。提問講解的知識點,對存在問題進行講解。帶領學生總結MySQL觸發(fā)器的概述、觸發(fā)器的創(chuàng)建、查看觸發(fā)器、刪除觸發(fā)器。(2)布置隨堂練習,檢查學生掌握情況。根據(jù)博學谷和隨堂聯(lián)系資源,給學生布置隨堂練習,檢測學生的掌握程度,并對學生出現(xiàn)的問題進行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務。“知其所以然,才能知其然”,要求學生養(yǎng)成認真負責的工作態(tài)度、一絲不茍的工匠精神和求真務實的科學精神。教學后記課次:第28講課程教案授課主題第12章章節(jié)內容第12章事務處理地點多媒體課室課時2教學目的與要求1.了解存儲引擎的相關知識;2.熟悉事務的基本概念;3.掌握事務的ACID特性和狀態(tài);4.掌握如何使用事務,設置事務的隔離級別;5.通過完成課業(yè)任務學會分析問題、解決問題,提高動手操作能力。教學重點1.熟悉事務的基本概念;2.掌握事務的ACID特性和狀態(tài);3.掌握如何使用事務,設置事務的隔離級別。教學難點掌握如何使用事務,設置事務的隔離級別教學方法線上線下混合教學、講授法、討論法、練習法、歸納法教學手段多媒體技術、超星學習通等軟件教學過程課程思政元素說明:*號標注的是課程思政的融入點【回顧上節(jié)課內容,繼續(xù)講解本課時的知識】(1)教師對學生們的疑問進行統(tǒng)一答疑。(2)回顧總結上節(jié)課內容,繼續(xù)介紹本課時的內容。上節(jié)課介紹了MySQL觸發(fā)器的概述、觸發(fā)器的創(chuàng)建、查看觸發(fā)器、刪除觸發(fā)器。本節(jié)課介紹存儲引擎的概述、事務的基本概念、使用事務、事務隔離級別。*知識與實踐的最高境界,是由實踐引導出理論,再用理論指導實踐【緒論課】1.存儲引擎的概述(1)什么是存儲引擎在學習事務處理之前,需要了解MySQL中的存儲引擎。數(shù)據(jù)庫存儲引擎是數(shù)據(jù)庫底層軟件組織,數(shù)據(jù)庫管理系統(tǒng)(DBMS)使用數(shù)據(jù)引擎進行創(chuàng)建、查詢、更新和刪除數(shù)據(jù)。不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能,使用不同的存儲引擎,還可以獲得特定的功能?,F(xiàn)在許多不同的數(shù)據(jù)庫管理系統(tǒng)都支持多種不同的數(shù)據(jù)引擎。在關系數(shù)據(jù)庫中數(shù)據(jù)的存儲是以表的形式存儲的,所以存儲引擎也可以稱為表類型(TableType,即存儲和操作此表的類型)。(2)MySQL存儲引擎1.MEMORY存儲引擎2.MRG_MYISAM存儲引擎3.CSV存儲引擎4.FEDERATED存儲引擎5.PERFORMANCE_SCHEMA存儲引擎6.MyISAM存儲引擎7.InnoDB存儲引擎8.ndbinfo存儲引擎9.BLACKHOLE存儲引擎10.ARCHIVE存儲引擎11.ndbcluster存儲引擎2.事務的基本概念事務是一組邏輯操作單元,使數(shù)據(jù)從一種狀態(tài)變換到另一種狀態(tài)。所有事務都作為一個工作單元來執(zhí)行,即使出現(xiàn)了故障,都不能改變這種執(zhí)行方式。當在一個事務中執(zhí)行多個操作時,要么所有的事務都被提交(commit(1)事務的ACID特性1.原子性(atomicity)2.一致性(consistency)3.隔離型(isolation)4.持久性(durability)(1)事務的狀態(tài)1.活動的(active)2.部分提交的(partiallycommitted)3.失敗的(failed)4.中止的(aborted)5.提交的(committed)3.使用事務*了解死鎖產生機制(1)顯式事務講解案例12.1開啟一個顯示事務。(2)隱式事務隱式事務沒有明顯的開啟和結束標記,都具有自動提交事務的功能,隱式事務提交數(shù)據(jù)包括以下幾種情況:MySQL中的數(shù)據(jù)定義語言(Datadefinitionlanguage,縮寫為:DDL);隱式使用或修改MySQL數(shù)據(jù)庫中的表;事務控制或關于鎖定的語句;加載數(shù)據(jù)的語句;關于MySQL復制的一些語句。4.事務隔離級別MySQL是一個客戶端或者服務器架構的軟件,對于同一個服務器來說,可以有若干個客戶端與之連接,每個客戶端與服務器連接上之后,就可以稱為一個會話(Session)。每個客戶端都可以在自己的會話中向服務器發(fā)出請求語句,一個請求語句可能是某個事務的一部分,也就是對于服務器來說可能同時處理多個事務。(1)數(shù)據(jù)并發(fā)問題1.臟寫(DirtyWrite)2.臟讀(DirtyRead)3.不可重復讀(Non-RepeatableRead)4.幻讀(Phantom)上面介紹了幾種并發(fā)事務執(zhí)行過程中可能遇到的一些問題,這些問題有輕重緩急之分,給這些問題按照嚴重性來排序:臟寫>臟讀>不可重復讀>幻讀。(2)SQL中的四種隔離級別1.READUNCOMMITTED(讀未提交)2.READCOMMITTED(讀已提交)3.REPEATABLEREAD(可重復讀)4.SERIALIZABLE(可串行化)(3)MySQL默認支持的隔離級別講解案例12.2查看當前事務的隔離級別。(4)設置事務的隔離級別【本講拓展】傳統(tǒng)關系型數(shù)據(jù)庫的事務處理與新興技術的對比:(1)數(shù)據(jù)模型和結構。傳統(tǒng)關系型數(shù)據(jù)庫使用表格和關系模型來存儲和管理數(shù)據(jù),采用嚴格的結構化模式。而新興技術如NoSQL數(shù)據(jù)庫可能采用不同的數(shù)據(jù)模型,如文檔型、鍵值對、列族等,更加靈活適應不同類型的數(shù)據(jù)。這種靈活性使得新興技術在非結構化數(shù)據(jù)處理和大規(guī)模數(shù)據(jù)存儲方面具有優(yōu)勢。(2)數(shù)據(jù)一致性與可擴展性。傳統(tǒng)關系型數(shù)據(jù)庫通過ACID(原子性、一致性、隔離性和持久性)事務特性來確保數(shù)據(jù)的一致性和完整性。這種嚴格的一致性對于某些應用場景非常重要。然而,在高并發(fā)和大規(guī)模數(shù)據(jù)處理場景下,傳統(tǒng)關系型數(shù)據(jù)庫可能面臨可擴展性挑戰(zhàn)。而新興技術如分布式數(shù)據(jù)庫和大數(shù)據(jù)技術(如Hadoop和Spark)則更加注重橫向擴展能力和數(shù)據(jù)處理性能,但對于數(shù)據(jù)一致性可能采用較弱的一致性模型(如最終一致性)?!練w納總結,布置課后作業(yè)】(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。提問講解的知識點,對存在問題進行講解。帶領學生總結存儲引擎的概述、事務的基本概念、使用事務、事務隔離級別。(2)布置隨堂練習,檢查學生掌握情況。根據(jù)博學谷和隨堂聯(lián)系資源,給學生布置隨堂練習,檢測學生的掌握程度,并對學生出現(xiàn)的問題進行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務。在線交易平臺上,數(shù)據(jù)一致性是確保交易可靠性和用戶信任的基石。正如曾經(jīng)發(fā)生的訂單處理問題所揭示的那樣,事務處理在維護數(shù)據(jù)一致性方面發(fā)揮著重要作用。通過采用事務處理機制,我們可以確保訂單的正確處理和支付的準確記錄,避免用戶面臨重復支付或未支付的尷尬情況。因此,我們作為數(shù)據(jù)管理者應該注重事務處理的可靠性和安全性,為用戶提供一致、可靠的在線交易體驗。正如華羅庚所言:'知識與實踐的最高境界,是由實踐引導出理論,再用理論指導實踐。'因此,在在線交易平臺的數(shù)據(jù)處理中,我們應積極探索并應用先進的事務處理技術,不斷提升數(shù)據(jù)一致性水平,為用戶提供安全、穩(wěn)定的交易環(huán)境“有條不紊、運籌帷幄”,培養(yǎng)學生并行、調動、協(xié)同的計算思維。加鎖是實現(xiàn)數(shù)據(jù)庫并發(fā)控制的一個非常重要的技術。在實際應用中經(jīng)常會遇到的與鎖相關的異常情況,當兩個事務需要一組有沖突的鎖,而不能將事務繼續(xù)下去的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個性化反擔保合同合同新規(guī)定樣本版B版
- 2025年度生態(tài)養(yǎng)殖場承包經(jīng)營權轉讓合同范本4篇
- 2024年高科技園區(qū)全額承包運營管理合同3篇
- 二零二五版農業(yè)墊資服務合同樣本2篇
- 2025年度應急指揮車輛設備采購合同4篇
- 教育信息化背景下的中小學教學方法變革
- 2025年度珠寶首飾出口貨物運輸代理與鑒定服務合同4篇
- 2025年物流配送與快遞快遞行業(yè)標準化合同范本3篇
- 2025年度動物行為研究錄像采集合同4篇
- 2025年度特種工程挖掘機購置與操作培訓合同4篇
- 定額〔2025〕1號文-關于發(fā)布2018版電力建設工程概預算定額2024年度價格水平調整的通知
- 2024年城市軌道交通設備維保及安全檢查合同3篇
- 【教案】+同一直線上二力的合成(教學設計)(人教版2024)八年級物理下冊
- 湖北省武漢市青山區(qū)2023-2024學年七年級上學期期末質量檢測數(shù)學試卷(含解析)
- 單位往個人轉賬的合同(2篇)
- 科研倫理審查與違規(guī)處理考核試卷
- GB/T 44101-2024中國式摔跤課程學生運動能力測評規(guī)范
- 高危妊娠的評估和護理
- 2024年山東鐵投集團招聘筆試參考題庫含答案解析
- 2023年高考全國甲卷數(shù)學(理)試卷【含答案】
- 數(shù)獨題目A4打印版無答案
評論
0/150
提交評論