《MySQL數(shù)據(jù)原理與應(yīng)用》 教案全套 王金恒 第1-14章 數(shù)據(jù)庫系統(tǒng)概論- 數(shù)據(jù)庫系統(tǒng)的備份與還原_第1頁
《MySQL數(shù)據(jù)原理與應(yīng)用》 教案全套 王金恒 第1-14章 數(shù)據(jù)庫系統(tǒng)概論- 數(shù)據(jù)庫系統(tǒng)的備份與還原_第2頁
《MySQL數(shù)據(jù)原理與應(yīng)用》 教案全套 王金恒 第1-14章 數(shù)據(jù)庫系統(tǒng)概論- 數(shù)據(jù)庫系統(tǒng)的備份與還原_第3頁
《MySQL數(shù)據(jù)原理與應(yīng)用》 教案全套 王金恒 第1-14章 數(shù)據(jù)庫系統(tǒng)概論- 數(shù)據(jù)庫系統(tǒng)的備份與還原_第4頁
《MySQL數(shù)據(jù)原理與應(yīng)用》 教案全套 王金恒 第1-14章 數(shù)據(jù)庫系統(tǒng)概論- 數(shù)據(jù)庫系統(tǒng)的備份與還原_第5頁
已閱讀5頁,還剩117頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課程概況課程名稱數(shù)據(jù)庫原理及應(yīng)用授課班級課程編碼課程模塊專業(yè)核心課考試方式開卷□閉卷R操作□答辯□論文(報告)□其它:課程學(xué)時4學(xué)時/周學(xué)分4推薦教材及參考書目序號名稱作者出版社出版時間1MySQL數(shù)據(jù)庫原理與應(yīng)用(微課視頻版)王金恒等清華大學(xué)出版社年6月授課教師職稱授課時間教學(xué)目的要求數(shù)據(jù)庫原理及應(yīng)用是本科計算機類專業(yè)的專業(yè)必修課,是一門理論與實踐結(jié)合非常緊密的課程,是JAVA、Python、WEB開發(fā)技術(shù)等課程必不可少的一門前期必修課,該課程在計算機類專業(yè)的課程體系中起著承上啟下的作用。本課程講解數(shù)據(jù)庫系統(tǒng)開發(fā)過程中所需的數(shù)據(jù)庫、工作表、視圖、索引、觸發(fā)器以及對數(shù)據(jù)進(jìn)行增刪改操作,保障數(shù)據(jù)的安全性、統(tǒng)一性等知識點,以“綜合性、實戰(zhàn)型”的實踐項目為教學(xué)目標(biāo),引入通關(guān)式的教學(xué)模式,教學(xué)內(nèi)容和實踐項目從易到難,一關(guān)一關(guān)地往下走,環(huán)環(huán)相扣,不斷挑戰(zhàn)和滿足學(xué)生的學(xué)習(xí)成就感。在學(xué)期初設(shè)定一個一般難度的系統(tǒng)作為學(xué)習(xí)效果目標(biāo),在教學(xué)大綱中拆分課程知識點對應(yīng)目標(biāo)系統(tǒng)的子功能,在每一次教學(xué)活動中創(chuàng)設(shè)一個真實情境(目標(biāo)系統(tǒng)的子功能)來不斷激發(fā)學(xué)生的學(xué)習(xí)熱情,讓學(xué)生知道“我這節(jié)課認(rèn)真聽了,我就能做出系統(tǒng)的這個效果,我就能拿我做的項目參加學(xué)科競賽和申報項目”,從而讓學(xué)習(xí)變成有激勵,有目標(biāo),有動力的主動學(xué)習(xí)。教學(xué)重點難點重點:應(yīng)用數(shù)據(jù)管理工具實現(xiàn)數(shù)據(jù)的統(tǒng)一管理,包括數(shù)據(jù)組織和存儲,培養(yǎng)學(xué)生的計算思維能力;能夠熟練使用SQL語句、視圖、存儲過程、觸發(fā)器等進(jìn)行應(yīng)用開發(fā)。難點:通過數(shù)據(jù)庫系統(tǒng)項目實踐,掌握復(fù)雜系統(tǒng)的數(shù)據(jù)庫設(shè)計能力,完成從概念設(shè)計,邏輯設(shè)計,物理設(shè)計過程。能夠?qū)?shù)據(jù)庫進(jìn)行管理和維護(hù),包括數(shù)據(jù)庫完整性管理、安全性管理、并發(fā)控制、備份及恢復(fù)操作。理論教學(xué)教案

課次:第1-2講課程教案授課主題第1章章節(jié)內(nèi)容第1章數(shù)據(jù)庫系統(tǒng)概論地點多媒體課室課時4教學(xué)目的與要求1.了解為什么要使用數(shù)據(jù)庫;2.了解數(shù)據(jù)庫的相關(guān)概念;3.熟悉常見的數(shù)據(jù)庫及排名;4.了解RDBMS與非RDBMS;5.掌握數(shù)據(jù)庫設(shè)計的步驟。教學(xué)重點數(shù)據(jù)庫的基本概念教學(xué)難點數(shù)據(jù)庫的基本概念教學(xué)方法線上線下混合教學(xué)、講授法、討論法、練習(xí)法、歸納法教學(xué)手段多媒體技術(shù)、超星學(xué)習(xí)通等軟件教學(xué)過程課程思政元素說明:*號標(biāo)注的是課程思政的融入點【課前互動】跟學(xué)生互動交流,了解學(xué)生知識基礎(chǔ),講解課程目標(biāo)、授課內(nèi)容、考核要求等。【課程導(dǎo)入】首先就本門課程在專業(yè)中的特點向?qū)W生強調(diào)課程的重要性,給學(xué)生看一些以往學(xué)生做好的數(shù)據(jù)庫系統(tǒng),充分調(diào)動學(xué)生的學(xué)習(xí)積極性?!揪w論課】1、為什么要使用數(shù)據(jù)庫(1)何為數(shù)據(jù)庫(2)數(shù)據(jù)庫特點2、數(shù)據(jù)庫與數(shù)據(jù)管理系統(tǒng)(1)數(shù)據(jù)庫的相關(guān)概念1.數(shù)據(jù)表2.數(shù)據(jù)庫3.數(shù)據(jù)庫管理系統(tǒng)4.數(shù)據(jù)庫系統(tǒng)(2)數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS)可以管理多個數(shù)據(jù)庫,一般開發(fā)人員會針對每一個應(yīng)用創(chuàng)建一個數(shù)據(jù)庫。為保存應(yīng)用中實體的數(shù)據(jù),一般會在數(shù)據(jù)庫創(chuàng)建多個表,以保存程序中實體用戶的數(shù)據(jù),數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫和表的關(guān)系如圖1.2所示。圖1.2數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫和表的關(guān)系圖數(shù)據(jù)庫管理系統(tǒng)排名常見數(shù)據(jù)庫OracleMySQLSQLServerDB2PostgreSQLSQLiteinformix3.RDBMS與非RDBMS(1)關(guān)系型數(shù)據(jù)庫1.實質(zhì)2.優(yōu)勢復(fù)雜查詢可以用SQL語句方便地在一個表以及多個表之間做非常復(fù)雜的數(shù)據(jù)查詢。事務(wù)支持使得對于安全性能很高的數(shù)據(jù)訪問要求得以實現(xiàn)。(2)非關(guān)系型數(shù)據(jù)庫非關(guān)系型數(shù)據(jù)庫,可看成傳統(tǒng)關(guān)系型數(shù)據(jù)庫的功能閹割版本,基于鍵值對存儲數(shù)據(jù),不需要經(jīng)過SQL層的解析,性能非常高。同時,通過減少不常用的功能,進(jìn)一步提高性能。目前基本上大部分主流的非關(guān)系型數(shù)據(jù)庫都是免費的。(3)常見的非關(guān)系型數(shù)據(jù)庫1.鍵值型數(shù)據(jù)庫2.文檔型數(shù)據(jù)庫3.搜索引擎數(shù)據(jù)庫4.列式數(shù)據(jù)庫5.圖形數(shù)據(jù)庫4.關(guān)系型數(shù)據(jù)庫設(shè)計*數(shù)據(jù)庫的規(guī)范化(1)信息世界的基本概念(2)數(shù)據(jù)模型(3)關(guān)系的完整性約束條件(4)關(guān)系運算講解案例1.1查找姓王的同學(xué)的信息。講解案例1.2查找學(xué)生表中的學(xué)號,姓名信息。講解案例1.3查找姓王同學(xué)的學(xué)號,姓名和成績。(5)關(guān)系型數(shù)據(jù)庫設(shè)計的基本步驟按照規(guī)范設(shè)計的方法,考慮數(shù)據(jù)庫及其應(yīng)用系統(tǒng)開發(fā)全過程,將數(shù)據(jù)庫設(shè)計分為以下六個階段:*介紹國家個人信息保護(hù)法第一階段:需求分析(用戶需要分析)。第二階段:概念結(jié)構(gòu)設(shè)計(用E-R模型對現(xiàn)實進(jìn)行描述)。第三階段:邏輯結(jié)構(gòu)設(shè)計(轉(zhuǎn)換成計算機可以表達(dá)的方式:關(guān)系模型,即表)。第四階段:物理結(jié)構(gòu)設(shè)計(功能描述)。第五階段:數(shù)據(jù)庫實施(開發(fā))。第六階段:數(shù)據(jù)庫運行和維護(hù)(應(yīng)用與維護(hù))。【本講拓展】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納總結(jié),布置課后作業(yè)】(一)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進(jìn)行總結(jié)。提問講解的知識點,對存在問題進(jìn)行講解。帶領(lǐng)學(xué)生總結(jié)為什么使用數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、RDBMS與非RDBMS、關(guān)系型數(shù)據(jù)庫設(shè)計。(二)布置隨堂練習(xí),檢查學(xué)生掌握情況。根據(jù)博學(xué)谷和隨堂聯(lián)系資源,給學(xué)生布置隨堂練習(xí),檢測學(xué)生的掌握程度,并對學(xué)生出現(xiàn)的問題進(jìn)行解決。(三)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務(wù)。通過數(shù)據(jù)庫的規(guī)范化設(shè)計,可以消除數(shù)據(jù)冗余,提高數(shù)據(jù)存儲和管理的效率,減少數(shù)據(jù)更新時的異常和錯誤,符合節(jié)約資源、保護(hù)環(huán)境的思想。介紹數(shù)據(jù)庫的起源和發(fā)展歷程,我國數(shù)據(jù)庫系統(tǒng)發(fā)展及應(yīng)用情況,鼓舞學(xué)生樹立為振興國產(chǎn)數(shù)據(jù)庫軟件發(fā)展而努力學(xué)習(xí)的理想。個人信息保護(hù)法是中國于2021年11月1日正式實施的全面?zhèn)€人信息保護(hù)的法律框架。該法律規(guī)定了個人信息的收集、存儲、使用、處理和保護(hù)的要求,明確了個人信息處理者的責(zé)任和義務(wù),保護(hù)了個人信息主體的權(quán)益。教學(xué)后記課次:第3講課程教案授課主題第2章章節(jié)內(nèi)容第2章MySQL工具的使用地點多媒體課室課時2教學(xué)目的與要求1.掌握下載MySQL社區(qū)版;2.掌握在Windows平臺下安裝MySQL、配置、啟停、登錄以及卸載;3.熟悉使用不同的圖形化管理工具登錄到MySQL數(shù)據(jù)庫;4.通過完成課業(yè)任務(wù)學(xué)會分析問題、解決問題,提高動手操作能力。教學(xué)重點掌握在Windows平臺下安裝MySQL、配置、啟停、登錄以及卸載教學(xué)難點MySQL、配置、啟停、登錄以及卸載教學(xué)方法線上線下混合教學(xué)、講授法、討論法、練習(xí)法、歸納法教學(xué)手段多媒體技術(shù)、超星學(xué)習(xí)通等軟件教學(xué)過程課程思政元素說明:*號標(biāo)注的是課程思政的融入點【回顧上節(jié)課內(nèi)容,繼續(xù)講解本課時的知識】(1)教師對學(xué)生們的疑問進(jìn)行統(tǒng)一答疑。(2)回顧總結(jié)上節(jié)課內(nèi)容,繼續(xù)介紹本課時的內(nèi)容。上節(jié)課介紹了為什么使用數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、RDBMS與非RDBMS、關(guān)系型數(shù)據(jù)庫設(shè)計。本節(jié)課介紹MySQL概述、MySQL的啟動與停止、MySQL服務(wù)器的登錄?!揪w論課】1、MySQL概述對比之前的版本,MySQL8.0具有很多新特征,其中比較突出的新特征有:MySQL8.0版本默認(rèn)字符集為utf8mb4(即最多使用4個字節(jié)來表示1個字符,可以表示更多字符,例如生僻漢字、冷門符號、emoji表情符號等)。系統(tǒng)數(shù)據(jù)庫默認(rèn)存儲引擎修改為InnoDB(支持了ACID兼容的事務(wù))。MySQL8.0支持原子數(shù)據(jù)定義語言(DDL)語句,即:InnoDB數(shù)據(jù)表上的DDL可以實現(xiàn)事務(wù)完整性,要么失敗回滾,要么成功提交,不會出現(xiàn)DDL部分成功的問題。2、MySQL的下載與安裝*安裝成功的MySQL主要目錄和文件有以下幾項:bin存放可執(zhí)??件、MySQL?帶的客戶端和MySQL服務(wù)端等。Data存放數(shù)據(jù)?件和?志?件,本教材開發(fā)的項目“數(shù)據(jù)庫學(xué)習(xí)系統(tǒng)”使用的數(shù)據(jù)庫db_study的存放目錄如圖2.1所示。圖2.1數(shù)據(jù)庫學(xué)習(xí)系統(tǒng)使用的數(shù)據(jù)庫db_study的存放目錄docs存放?些?檔。include存儲包含的頭?件,如:mysql.h、mysql_ername.h等。lib?于放置?系列庫?件。6.share?于存放字符集、語言等信息。my.ini是MySQL數(shù)據(jù)庫中使?的配置?件。3.MySQL服務(wù)的啟動與停止(1)使用圖形界面工具啟動與停止MySQL服務(wù)(2)使用命令行啟動與停止MySQL服務(wù)講解案例2.1使用命令行啟動與停止MySQL服務(wù)。4.MySQL服務(wù)器的登錄*數(shù)據(jù)安全和隱私保護(hù)重點講解:當(dāng)MySQL服務(wù)啟動完成后,便可以通過客戶端來登錄MySQL服務(wù)器,登錄之前需要確(1)使用MySQL自帶客戶端登錄(2)使用命令行方式登錄講解案例2.2使用命令行登錄MySQL服務(wù)器。(3)使用數(shù)據(jù)庫圖形化管理工具管理MySQL1.Workbench2.Navicat【本講拓展】MySQLWorkbench和Navicat的區(qū)別:1.發(fā)布和授權(quán)。MySQLWorkbench是由MySQL官方發(fā)布和授權(quán)的工具,而Navicat則是一個第三方公司開發(fā)和發(fā)布的工具。2.功能和特點。MySQLWorkbench是一款功能強大的工具,主要用于數(shù)據(jù)庫設(shè)計、建模、查詢、管理和系統(tǒng)維護(hù)等。它還提供了可視化的數(shù)據(jù)庫設(shè)計工具、性能分析、備份和恢復(fù)功能等。Navicat也提供類似的功能,同時注重用戶界面的友好性和易用性。3.價格。MySQLWorkbench是免費的開源工具,用戶可以免費下載和使用。Navicat則為商業(yè)軟件,提供了免費試用的社區(qū)版和付費的商業(yè)版,商業(yè)版提供更多高級功能和技術(shù)支持?!練w納總結(jié),布置課后作業(yè)】(1)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進(jìn)行總結(jié)。提問講解的知識點,對存在問題進(jìn)行講解。帶領(lǐng)學(xué)生總結(jié)MySQL概述、MySQL的啟動與停止、MySQL服務(wù)器的登錄。(2)布置隨堂練習(xí),檢查學(xué)生掌握情況。根據(jù)博學(xué)谷和隨堂聯(lián)系資源,給學(xué)生布置隨堂練習(xí),檢測學(xué)生的掌握程度,并對學(xué)生出現(xiàn)的問題進(jìn)行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務(wù)。強調(diào)在使用MySQL工具時,保護(hù)用戶數(shù)據(jù)的重要性,討論數(shù)據(jù)泄露和濫用的后果,以及如何采取措施確保數(shù)據(jù)的安全性和隱私保護(hù)。教學(xué)后記

課次:第5講課程教案授課主題第3章章節(jié)內(nèi)容第3章SQL語言的規(guī)則與規(guī)范地點多媒體課室課時2教學(xué)目的與要求1.掌握SQL語言的基本規(guī)則與規(guī)范;2.熟練掌握MySQL運算符的使用;3.掌握運算符的優(yōu)先級;4.熟悉通過不同的工具管理MySQL;5.通過完成課業(yè)任務(wù)學(xué)會分析問題、解決問題,提高動手操作能力。教學(xué)重點1.熟練掌握MySQL運算符的使用;2.掌握運算符的優(yōu)先級;3.熟悉通過不同的工具管理MySQL;教學(xué)難點運算符的優(yōu)先級教學(xué)方法線上線下混合教學(xué)、講授法、討論法、練習(xí)法、歸納法教學(xué)手段多媒體技術(shù)、超星學(xué)習(xí)通等軟件教學(xué)過程課程思政元素說明:*號標(biāo)注的是課程思政的融入點【回顧上節(jié)課內(nèi)容,繼續(xù)講解本課時的知識】(1)教師對學(xué)生們的疑問進(jìn)行統(tǒng)一答疑。(2)回顧總結(jié)上節(jié)課內(nèi)容,繼續(xù)介紹本課時的內(nèi)容。上節(jié)課介紹了使用MySQL概述、MySQL的啟動與停止、MySQL服務(wù)器的登錄。本節(jié)課介紹SQL的概述、SQL語言的規(guī)則與規(guī)范、運算符?!揪w論課】1、SQL的概述(1)SQL的背景(2)SQL的分類1.SQL語言在功能上主要分為如下3大類:DML(DataManipulationLanguage:數(shù)據(jù)操作語言)DML數(shù)據(jù)操作語言主要用于添加、刪除、更新和查詢數(shù)據(jù)庫記錄,并檢查數(shù)據(jù)完整性。主要的語句關(guān)鍵字包括INSERT、DELETE、UPDATE、SELECT等。其中SELECT是SQL語言的基礎(chǔ),最為重要。DCL(DataControlLanguage:數(shù)據(jù)控制語言)DCL數(shù)據(jù)控制語言主要用于定義數(shù)據(jù)庫、表、字段、用戶的訪問權(quán)限和安全級別。主要的語句關(guān)鍵字包括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ù)進(jìn)行改變,而是讓數(shù)據(jù)庫發(fā)送結(jié)果集給客戶端。TCL(TransactionControlLanguage:事務(wù)控制語言)TCL事務(wù)控制語言主要用來事務(wù)管理,如果需要在一個事務(wù)中包含多條SQL語句,那么需要開啟事務(wù)和結(jié)束事務(wù)。2、SQL語言的規(guī)則與規(guī)范*(1)SQL語言的基本規(guī)則1.SQL語言可以單行或多行書寫。為了提高可讀性,各子句可分行寫,必要時使用縮進(jìn);2.每條命令以“;”或“\g”或“\G”結(jié)尾;3.關(guān)鍵字不能被縮寫也不能分行;4.必須保證所有的()、單引號、雙引號是成對結(jié)束的;5.必須使用英文狀態(tài)下的半角輸入方式;6.字符串型和日期時間類型的數(shù)據(jù)可以使用單引號(’’)表示;7.列的別名,盡量使用雙引號(””),而且不建議省略as。(2)SQL大小寫的規(guī)范1.MySQL在Windows環(huán)境下是大小寫不敏感的;2.MySQL在Linux環(huán)境下是大小寫敏感的。數(shù)據(jù)庫名、表名、表的別名、變量名是嚴(yán)格區(qū)分大小寫的;關(guān)鍵字、函數(shù)名、列名(或字段名)、列的別名(字段的別名)是忽略大小寫的。推薦采用統(tǒng)一的書寫規(guī)范:數(shù)據(jù)庫名、表名、字段名稱、變量名稱、視圖名稱、索引名稱、存儲名稱、觸發(fā)器名稱等都用小寫;SQL關(guān)鍵字、函數(shù)、數(shù)據(jù)類型等都用大寫。(3)MySQL注釋符注釋是可用于記錄SQL語句的目的或存儲過程中代碼塊的邏輯,解析SQL代碼時,MySQL會忽略注釋部分,它只會執(zhí)行除了可執(zhí)行注釋之外的SQL部分。MySQL可以使用如下三種格式的注釋結(jié)構(gòu):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)算術(shù)運算符比較運算符邏輯運算符位運算符運算符的優(yōu)先級【本講拓展】SQL語言的規(guī)則與規(guī)范相似的語言有以下幾種:(1)PL/SQL(ProceduralLanguage/StructuredQueryLanguage):它是Oracle數(shù)據(jù)庫管理系統(tǒng)使用的一種過程化編程語言,具有與SQL類似的語法和結(jié)構(gòu)。PL/SQL可以用于編寫存儲過程、觸發(fā)器和函數(shù)等數(shù)據(jù)庫對象。(2)T-SQL(Transact-SQL):它是MicrosoftSQLServer數(shù)據(jù)庫管理系統(tǒng)使用的一種過程化擴展SQL語言。T-SQL拓展了標(biāo)準(zhǔn)的SQL語法,提供了更多的數(shù)據(jù)庫編程功能,如事務(wù)控制、條件構(gòu)造、循環(huán)和異常處理等。(3)MySQLShell:MySQLShell是MySQL數(shù)據(jù)庫管理系統(tǒng)的交互式命令行工具,支持使用JavaScript或Python腳本編寫數(shù)據(jù)庫管理任務(wù)。MySQLShell提供了類似于SQL的語法,并添加了一些額外的功能,如JavaScript和Python的擴展性和靈活性。【歸納總結(jié),布置課后作業(yè)】(1)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進(jìn)行總結(jié)。提問講解的知識點,對存在問題進(jìn)行講解。帶領(lǐng)學(xué)生總結(jié)SQL的概述、SQL語言的規(guī)則與規(guī)范、運算符。(2)布置隨堂練習(xí),檢查學(xué)生掌握情況。根據(jù)博學(xué)谷和隨堂聯(lián)系資源,給學(xué)生布置隨堂練習(xí),檢測學(xué)生的掌握程度,并對學(xué)生出現(xiàn)的問題進(jìn)行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務(wù)。教學(xué)后記課次:第6講課程教案授課主題第4章章節(jié)內(nèi)容第4章MySQL數(shù)據(jù)庫管理地點多媒體課室課時2教學(xué)目的與要求1.熟練掌握數(shù)據(jù)庫的創(chuàng)建、刪除、修改操作過程;2.熟練使用不同的MySQL工具對數(shù)據(jù)庫進(jìn)行管理。教學(xué)重點數(shù)據(jù)的創(chuàng)建、修改操作過程教學(xué)難點MySQL工具對數(shù)據(jù)庫進(jìn)行管理教學(xué)方法線上線下混合教學(xué)、講授法、討論法、練習(xí)法、歸納法教學(xué)手段多媒體技術(shù)、超星學(xué)習(xí)通等軟件教學(xué)過程課程思政元素說明:*號標(biāo)注的是課程思政的融入點【回顧上節(jié)課內(nèi)容,繼續(xù)講解本課時的知識】(1)教師對學(xué)生們的疑問進(jìn)行統(tǒng)一答疑。(2)回顧總結(jié)上節(jié)課內(nèi)容,繼續(xù)介紹本課時的內(nèi)容。上節(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)是指在計算機應(yīng)用系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成。主要由硬件、OS、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用系統(tǒng)和數(shù)據(jù)庫用戶組成,用戶可以通過DBMS或應(yīng)用程序操作數(shù)據(jù)庫。*數(shù)據(jù)的存儲過程存儲數(shù)據(jù)是處理數(shù)據(jù)的第一步,只有正確地把數(shù)據(jù)存儲起來,才能進(jìn)行有效的處理和分析。若在MySQL中想要把用戶各種經(jīng)營相關(guān)的、紛繁復(fù)雜的數(shù)據(jù),有序、高效地存儲起來,則一個完整的數(shù)據(jù)存儲需要以下4步即可。2、創(chuàng)建和管理數(shù)據(jù)庫(1)創(chuàng)建數(shù)據(jù)庫*數(shù)據(jù)共享是推動社會進(jìn)步和創(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)存在相關(guān)的數(shù)據(jù)庫,則忽略該創(chuàng)建語句,不再創(chuàng)建數(shù)據(jù)庫。查看數(shù)據(jù)庫講解案例4.2查看當(dāng)前所有數(shù)據(jù)庫。講解案例4.3查看指定數(shù)據(jù)庫的創(chuàng)建信息。SHOWDATABASES;(DATABASES中的S表示有多個數(shù)據(jù)庫)選擇當(dāng)前操作的數(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ù)庫存在,則刪除成功;反之,則默認(rèn)結(jié)束,不會報錯。通過講解案例4.7使用方式1直接刪除數(shù)據(jù)庫test1來熟練刪除數(shù)據(jù)庫操作。【本講拓展】與MySQL數(shù)據(jù)庫管理相似的數(shù)據(jù)庫管理系統(tǒng)包括:(1)PostgreSQL:PostgreSQL是一個開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),與MySQL類似,支持多種操作系統(tǒng),具有強大的功能和可擴展性。(2)OracleDatabase:Oracle是一個商業(yè)級的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),具有廣泛的功能和高性能,被廣泛用于企業(yè)級應(yīng)用和大型數(shù)據(jù)處理。(3)MicrosoftSQLServer:MicrosoftSQLServer是微軟開發(fā)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),適用于Windows操作系統(tǒng),具有豐富的功能和集成性。(4)SQLite:SQLite是一個嵌入式關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它是一個輕量級的數(shù)據(jù)庫引擎,適用于嵌入式設(shè)備和小型應(yīng)用程序?!練w納總結(jié),布置課后作業(yè)】(1)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進(jìn)行總結(jié)。提問講解的知識點,對存在問題進(jìn)行講解。帶領(lǐng)學(xué)生總結(jié)MySQL數(shù)據(jù)庫管理概述、創(chuàng)建和管理數(shù)據(jù)庫。(2)布置隨堂練習(xí),檢查學(xué)生掌握情況。根據(jù)博學(xué)谷和隨堂聯(lián)系資源,給學(xué)生布置隨堂練習(xí),檢測學(xué)生的掌握程度,并對學(xué)生出現(xiàn)的問題進(jìn)行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務(wù)。MySQL作為開源軟件,體現(xiàn)了開放共享的精神,推動了開源社區(qū)的繁榮和技術(shù)的共同進(jìn)步,符合社會主義核心價值觀中的共享共創(chuàng)理念。"數(shù)據(jù)共享是推動社會進(jìn)步和創(chuàng)新的重要推動力。我們應(yīng)該鼓勵合理的數(shù)據(jù)共享和合作,促進(jìn)知識的傳播和共同發(fā)展。但同時,我們也要確保數(shù)據(jù)共享的合法性和道德性,保護(hù)數(shù)據(jù)的隱私和權(quán)益。"教學(xué)后記課次:第7講課程教案授課主題第5章章節(jié)內(nèi)容第5章MySQL數(shù)據(jù)表結(jié)構(gòu)管理地點多媒體課室課時2教學(xué)目的與要求1.熟悉常見的MySQL數(shù)據(jù)類型、約束類型;2.掌握如何創(chuàng)建數(shù)據(jù)表、查看數(shù)據(jù)表的結(jié)構(gòu)、修改數(shù)據(jù)表;3.通過完成課業(yè)任務(wù)學(xué)會分析問題、解決問題,提高動手操作能力。教學(xué)重點1.創(chuàng)建數(shù)據(jù)表;2.查看數(shù)據(jù)表的結(jié)構(gòu);3.修改數(shù)據(jù)表。教學(xué)難點掌握如何創(chuàng)建數(shù)據(jù)表教學(xué)方法線上線下混合教學(xué)、講授法、討論法、練習(xí)法、歸納法教學(xué)手段多媒體技術(shù)、超星學(xué)習(xí)通等軟件教學(xué)過程課程思政元素說明:*號標(biāo)注的是課程思政的融入點【回顧上節(jié)課內(nèi)容,繼續(xù)講解本課時的知識】(1)教師對學(xué)生們的疑問進(jìn)行統(tǒng)一答疑。(2)回顧總結(jié)上節(jié)課內(nèi)容,繼續(xù)介紹本課時的內(nèi)容。上節(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ù)是推動智慧和決策的基礎(chǔ)。"MySQL數(shù)據(jù)類型介紹數(shù)據(jù)類型是指在系統(tǒng)中用于限制或允許該列中存儲的數(shù)據(jù)。在MySQL中,數(shù)據(jù)類型主要根據(jù)數(shù)據(jù)值的內(nèi)容、大小、精度來選擇,給字段選擇合適的數(shù)據(jù)類型對數(shù)據(jù)庫的優(yōu)化具有很重要的作用;反之,則可能會嚴(yán)重影響應(yīng)用程序的功能和性能。MySQL支持多種數(shù)據(jù)類型,主要分為三種數(shù)據(jù)類型:數(shù)值、日期與時間以及字符串類型,其中數(shù)值類型又包括整數(shù)類型、浮點數(shù)與定點數(shù)類型;字符串類型包括文本字符串、二進(jìn)制字符串類型。*資源節(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支持的字符串類型包括文本字符串類型和二進(jìn)制字符串類型,主要用來存儲字符串?dāng)?shù)據(jù),以及存儲圖片和聲音的二進(jìn)制數(shù)據(jù)。MySQL中的字符串類型主要分為CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET等類型。二進(jìn)制字符串類型二進(jìn)制字符串類型主要存儲二進(jìn)制數(shù)據(jù),例如可以存儲圖片、音頻和視頻等二進(jìn)制數(shù)據(jù)。MySQL中支持的二進(jìn)制字符串類型主要包括BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB類型。2.創(chuàng)建數(shù)據(jù)表約束概述創(chuàng)建數(shù)據(jù)表的語法格式使用非空約束使用主鍵約束使用外鍵約束使用唯一約束使用AUTO_INCREMENT自增列使用默認(rèn)值約束使用檢查約束查看數(shù)據(jù)表結(jié)構(gòu)3.修改數(shù)據(jù)表*審慎而可靠的修改,才能鑄就可追溯的數(shù)據(jù)之道重命名表講解案例5.9修改數(shù)據(jù)表的名稱。添加字段講解案例5.10添加新的字段。修改字段講解案例5.11修改字段的約束條件。重命名字段講解案例5.12修改字段名稱。修改字段的排列位置講解案例5.13修改字段的排列位置。刪除字段講解案例5.14刪除字段。4.刪除數(shù)據(jù)表當(dāng)一張數(shù)據(jù)表不再被需要時,可以將其刪除掉。但是在刪除表的同時,數(shù)據(jù)表的結(jié)構(gòu)和表中的所有數(shù)據(jù)都會被刪除,所以在刪除數(shù)據(jù)表前最好先做好備份,以免造成無法挽留的損失。在MySQL中刪除數(shù)據(jù)表有兩種情況,一種是刪除沒有被關(guān)聯(lián)的表,另外一種是刪除被其他數(shù)據(jù)表關(guān)聯(lián)的表。講解案例5.15刪除課程表。講解案例5.16刪除部門表?!颈局v拓展】與MySQL數(shù)據(jù)表結(jié)構(gòu)管理相似的數(shù)據(jù)庫結(jié)構(gòu)管理工具包括:(1)PostgreSQL:PostgreSQL是一種開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),與MySQL類似,提供了豐富的表結(jié)構(gòu)管理功能。用戶可以使用DDL(數(shù)據(jù)定義語言)語句來創(chuàng)建、修改和刪除數(shù)據(jù)庫表結(jié)構(gòu)。(2)MicrosoftSQLServerManagementStudio:MicrosoftSQLServerManagementStudio是用于管理和操作MicrosoftSQLServer數(shù)據(jù)庫的集成開發(fā)環(huán)境(IDE)。它提供了圖形化界面,用戶可以輕松地創(chuàng)建、修改和刪除表結(jié)構(gòu),并進(jìn)行索引、約束和觸發(fā)器等管理操作。(3)OracleSQLDeveloper:OracleSQLDeveloper是Oracle官方提供的免費集成開發(fā)環(huán)境(IDE),用于管理Oracle數(shù)據(jù)庫。它提供了直觀的界面,可用于創(chuàng)建、修改和刪除表結(jié)構(gòu),以及管理數(shù)據(jù)庫對象和約束。(4)Navicat:Navicat是一個多種數(shù)據(jù)庫管理工具的集合,支持MySQL、PostgreSQL、Oracle等多種數(shù)據(jù)庫系統(tǒng)。它提供了直觀的用戶界面和功能強大的表結(jié)構(gòu)管理工具,可用于跨多個數(shù)據(jù)庫系統(tǒng)管理表結(jié)構(gòu)?!練w納總結(jié),布置課后作業(yè)】(1)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進(jìn)行總結(jié)。提問講解的知識點,對存在問題進(jìn)行講解。帶領(lǐng)學(xué)生總結(jié)數(shù)據(jù)類型、創(chuàng)建數(shù)據(jù)表、修改數(shù)據(jù)表、刪除數(shù)據(jù)表。(2)布置隨堂練習(xí),檢查學(xué)生掌握情況。根據(jù)博學(xué)谷和隨堂聯(lián)系資源,給學(xué)生布置隨堂練習(xí),檢測學(xué)生的掌握程度,并對學(xué)生出現(xiàn)的問題進(jìn)行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務(wù)。在選擇數(shù)據(jù)類型時,我們應(yīng)該注重數(shù)據(jù)的精確性和可持續(xù)性,不僅關(guān)注數(shù)據(jù)的規(guī)模和性能。這是因為不同的數(shù)據(jù)類型可能會對系統(tǒng)和用戶產(chǎn)生不同的影響。我們應(yīng)該遵循數(shù)據(jù)管理的倫理原則,確保選擇的數(shù)據(jù)類型符合數(shù)據(jù)的真實性和可靠性,不誤導(dǎo)用戶或歪曲事實。選擇適當(dāng)?shù)臄?shù)據(jù)類型可以減少存儲空間的占用,符合節(jié)約資源、保護(hù)環(huán)境的思想,推動可持續(xù)發(fā)展。在修改數(shù)據(jù)表時,我們要注重數(shù)據(jù)的一致性和完整性。任何修改都應(yīng)該經(jīng)過審慎考慮和充分測試,確保數(shù)據(jù)的準(zhǔn)確性和可追溯性。我們要避免隨意修改數(shù)據(jù)表,以免引起數(shù)據(jù)不一致或丟失。這是我們作為數(shù)據(jù)管理員的責(zé)任和職業(yè)道德所在。教學(xué)后記課次:第9、10、12、14、16講課程教案授課主題第6章章節(jié)內(nèi)容第6章表記錄的檢索(可選)地點多媒體課室課時10教學(xué)目的與要求1.了解查詢功能的概念和實際作用;2.熟練使用各類型查詢;3.熟練查詢的實際應(yīng)用。教學(xué)重點熟練使用各類型查詢教學(xué)難點熟練查詢的實際應(yīng)用教學(xué)方法線上線下混合教學(xué)、講授法、討論法、練習(xí)法、歸納法教學(xué)手段多媒體技術(shù)、超星學(xué)習(xí)通等軟件教學(xué)過程課程思政元素說明:*號標(biāo)注的是課程思政的融入點【回顧上節(jié)課內(nèi)容,繼續(xù)講解本課時的知識】(1)教師對學(xué)生們的疑問進(jìn)行統(tǒng)一答疑。(2)回顧總結(jié)上節(jié)課內(nèi)容,繼續(xù)介紹本課時的內(nèi)容。上節(jié)課介紹了數(shù)據(jù)類型、創(chuàng)建數(shù)據(jù)表、修改數(shù)據(jù)表、刪除數(shù)據(jù)表。本節(jié)課介紹單表查詢、函數(shù)查詢、多表查詢?!揪w論課】1.單表查詢基本查詢在MySQL中使用SELECT語句來查詢數(shù)據(jù)。SELECT語句是最常用的查詢語句,它的使用方式有些復(fù)雜,但功能很強大。(1)基本查詢語句*查詢語句在國產(chǎn)數(shù)據(jù)庫的應(yīng)用案例(2)查詢所有字段(3)查詢指定字段(4)用DISTINCT關(guān)鍵字去除結(jié)果中的重復(fù)行WHERE子句講解案例6.2查詢課程表中課程學(xué)分為1和4的課程名稱。ORDERBY子句講解案例6.6查詢學(xué)生表中按身高由矮到高排列的學(xué)生信息。GROUPBY子句講解案例6.7查詢班級表中每個系部有多少個班級。用LIMIL限制查詢結(jié)果的數(shù)量講解案例6.10在學(xué)生表中按學(xué)號升序排序查詢第3至6條記錄。2.函數(shù)查詢*技術(shù)創(chuàng)新與社會發(fā)展MySQL函數(shù)會對傳遞進(jìn)來的參數(shù)進(jìn)行處理,并返回一個處理結(jié)果,也就是返回一個值。MySQL包含了大量并且豐富的函數(shù),在查詢中最常見的則是聚合函數(shù)。聚合函數(shù)最大的特點是它們根據(jù)一組數(shù)據(jù)求出一個值。聚合函數(shù)的結(jié)果值只根據(jù)選定行中非NULL的值進(jìn)行計算,NULL值被忽略。COUNT函數(shù)講解案例6.11查詢學(xué)生表中的學(xué)生總?cè)藬?shù)。SUM函數(shù)講解案例6.12查詢成績表中的總成績。AVG函數(shù)講解案例6.13查詢成績表中的平均成績。MAX、MIN函數(shù)講解案例6.14查詢成績表中的成績最大值和最小值。3.多表查詢*COVID-19疫情下的數(shù)據(jù)分析與隱私保護(hù)(1)連接查詢1.內(nèi)連接查詢講解案例6.15使用自然連接和相等連接查詢學(xué)生姓名與其成績。2.外連接方式1:左外連接講解案例6.16使用左連接查詢成績大于60的學(xué)生姓名和成績。方式2:右外連接講解案例6.17使用右連接查詢成績大于60的學(xué)生姓名和成績。3.復(fù)合條件連接查詢講解案例6.18查詢每個學(xué)生所在班級。(2)子查詢帶IN關(guān)鍵字的子查詢帶比較運算符的子查詢帶EXISTS關(guān)鍵字的子查詢帶ANY關(guān)鍵字的子查詢帶ALL關(guān)鍵字的子查詢(3)合并查詢合并查詢結(jié)果顧名思義是將多個SELECT語句的查詢結(jié)果合并在一起。MySQL中可以使用UNION和UNIONALL關(guān)鍵字對查詢結(jié)果進(jìn)行合并。UNION關(guān)鍵字講解案例6.24演示UNION關(guān)鍵字的使用。UNIONALL關(guān)鍵字講解案例6.25使用案例6.24中的數(shù)據(jù)表演示UNIONALL關(guān)鍵字的使用。4.定義別名定義數(shù)據(jù)表別名首先介紹定義別名的優(yōu)勢講解案例6.26使用別名重寫案例6.18的SQL語句。定義字段別名講解案例6.27為案例6.11的輸出字段定義別名。5.使用正則表達(dá)式查詢這里的正則表達(dá)式與Java、PHP等編程語言中的正則表達(dá)式基本一致。①語法差異:MySQL的正則表達(dá)式使用的是基于POSIX的語法,而Java的正則表達(dá)式使用的是基于Perl的語法。這意味著在表達(dá)式的寫法和特定字符的含義上會有一些差異。②字符類表示法:MySQL的正則表達(dá)式中,字符類使用方括號([])表示,而Java的正則表達(dá)式中使用的是圓括號(())。例如,匹配數(shù)字的表達(dá)式在MySQL中是`[0-9]`,而在Java中是`[0-9]`。③轉(zhuǎn)義字符的差異:在MySQL中,某些特殊字符不需要使用反斜杠進(jìn)行轉(zhuǎn)義,而在Java中,通常需要使用反斜杠對特殊字符進(jìn)行轉(zhuǎn)義。例如,匹配句末的句號(.)在MySQL中可以直接使用`.`,而在Java中需要使用`\.`。④支持的功能差異:MySQL的正則表達(dá)式在功能上相對較簡單,不支持一些高級功能,如零寬斷言、捕獲組等。而Java的正則表達(dá)式提供了更豐富的功能,可以進(jìn)行更復(fù)雜的模式匹配和提取操作。【本講拓展】MYSQL中g(shù)roupby和聚合函數(shù)區(qū)別:(1)SQL中只要用到聚合函數(shù)就不一定要用到groupby。聚合函數(shù)是對一組值執(zhí)行計算,并返回單個值,也被稱為組函數(shù)。聚合函數(shù)可以應(yīng)用于SELECT查詢語句的GROUPBY子句的HAVING子句中,但不可用于WHERE語句中,因為WHERE是對逐條的行記錄進(jìn)行篩選。(2)聚合函數(shù)要使用的話,有一個前提,那就是是必須要有結(jié)果集。(3)因此聚合函數(shù)可以在查詢結(jié)果集中和having后使用,但不能在where后使用。(4)聚合函數(shù)在匯總前還可以在里面寫表達(dá)式來計算字段之間的關(guān)系?!練w納總結(jié),布置課后作業(yè)】(1)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進(jìn)行總結(jié)。提問講解的知識點,對存在問題進(jìn)行講解。帶領(lǐng)學(xué)生總結(jié)單表查詢、函數(shù)查詢、多表查詢。(2)布置隨堂練習(xí),檢查學(xué)生掌握情況。根據(jù)博學(xué)谷和隨堂聯(lián)系資源,給學(xué)生布置隨堂練習(xí),檢測學(xué)生的掌握程度,并對學(xué)生出現(xiàn)的問題進(jìn)行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務(wù)?!岸聪は扔谌耍瑪?shù)據(jù)贏天下”,樹立合法查詢意識,明確哪些數(shù)據(jù)查詢屬于違法行為。函數(shù)查詢是技術(shù)創(chuàng)新的一種體現(xiàn),通過創(chuàng)新的函數(shù)設(shè)計和使用,推動技術(shù)與社會的有機結(jié)合,為社會發(fā)展帶來更多的創(chuàng)新動力。COVID-19疫情期間,數(shù)據(jù)分析在疫情監(jiān)測和決策制定中起到了重要作用。然而,這也引發(fā)了對個人隱私保護(hù)和數(shù)據(jù)使用的關(guān)注。在進(jìn)行表記錄檢索時,我們需要平衡數(shù)據(jù)的有效利用與個人隱私的保護(hù),遵循合法、透明和倫理的數(shù)據(jù)管理原則,確保數(shù)據(jù)的安全性和合法性。教學(xué)后記課次:第18講課程教案授課主題第7章章節(jié)內(nèi)容第7章視圖與索引地點多媒體課室課時2教學(xué)目的與要求1.熟練創(chuàng)建視圖和索引及增刪改查操作;2.熟練使用數(shù)據(jù)庫圖形化管理工具進(jìn)行視圖和索引的實際操作。教學(xué)重點視圖與索引的增刪改查操作過程教學(xué)難點視圖的應(yīng)用教學(xué)方法線上線下混合教學(xué)、講授法、討論法、練習(xí)法、歸納法教學(xué)手段多媒體技術(shù)、超星學(xué)習(xí)通等軟件教學(xué)過程課程思政元素說明:*號標(biāo)注的是課程思政的融入點【回顧上節(jié)課內(nèi)容,繼續(xù)講解本課時的知識】(1)教師對學(xué)生們的疑問進(jìn)行統(tǒng)一答疑。(2)回顧總結(jié)上節(jié)課內(nèi)容,繼續(xù)介紹本課時的內(nèi)容。上節(jié)課介紹了單表查詢、函數(shù)查詢、多表查詢。本節(jié)課介紹視圖的增刪改查以及更新、索引的概念、索引的增刪改查。*應(yīng)用型本科院校和研究性本科院校在理解索引時的區(qū)別【緒論課】視圖視圖是一個虛擬表,是從數(shù)據(jù)庫中的一個或多個表中導(dǎo)出來的表,其內(nèi)容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。但是,數(shù)據(jù)庫中只存放了視圖的定義,而沒有存放視圖中的數(shù)據(jù)。這些數(shù)據(jù)存放在原來的表中。使用視圖查詢數(shù)據(jù)時,數(shù)據(jù)庫系統(tǒng)會從原來的表中取出對應(yīng)的數(shù)據(jù)。因此,視圖中的數(shù)據(jù)是依賴于原來的表中的數(shù)據(jù)的。一旦表中的數(shù)據(jù)發(fā)生改變,顯示在視圖中的數(shù)據(jù)也會發(fā)生改變。創(chuàng)建視圖重點介紹創(chuàng)建的優(yōu)勢查看創(chuàng)建視圖的權(quán)限講解案例7.1查詢MySQL中root用戶是否具有創(chuàng)建視圖的權(quán)限。創(chuàng)建視圖講解案例7.2創(chuàng)建視圖查找學(xué)生表的全部信息,命名為view_stu。查看視圖1.使用DESCRIBE語句查看視圖講解案例7.3使用DESC語句查詢案例7.2創(chuàng)建的視圖view_stu的結(jié)構(gòu)。2.使用SHOWTABLESTATUS語句查看視圖講解案例7.4查看視圖view_stu的信息。3.使用SHOWCREATEVIEW語句查詢視圖講解案例7.5查看視圖view_stu的詳細(xì)定義。修改視圖修改視圖是指修改數(shù)據(jù)庫中已存在的表的定義。當(dāng)基本表的某些字段發(fā)生改變時,可以通過修改視圖來保持視圖和基本表之間的一致。MySQL中可以通過CREATEORREPLACEVIEW語句和ALTERVIEW語句來修改視圖。講解案例7.6將視圖view_stu的字段修改為name、gender、height。講解案例7.7修改視圖view_stu以學(xué)生表為基本表。更新視圖因為視圖是一個虛擬表,其中沒有數(shù)據(jù),所以通過視圖更新時,實際上都是在基本表中執(zhí)行更新操作。更新視圖是指通過視圖來插入(INSERT)、更新(UPDATE)和刪除(DELETE)表中的數(shù)據(jù)。但是,更新視圖時,只能更新權(quán)限范圍內(nèi)的數(shù)據(jù),超出了范圍就不能更新。講解案例7.8修改視圖view_stu中姓黃的同學(xué)身高為0。刪除視圖講解案例7.9刪除視圖view_stu。2.索引*搜索引擎優(yōu)化(SEO)與索引的重要性索引是一種將數(shù)據(jù)庫中單列或者多列的值進(jìn)行排序的結(jié)構(gòu)。應(yīng)用索引,可以大幅度提高查詢的速度,還可以降低服務(wù)器的負(fù)載。用戶查詢數(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ù)表結(jié)構(gòu)添加索引修改已經(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)資源,另一方面可能導(dǎo)致更新速度下降,這極大地影響了數(shù)據(jù)表的性能。講解案例7.13刪除test數(shù)據(jù)表中的索引?!颈局v拓展】InnoDB的索引模型:在InnoDB中,表都是根據(jù)主鍵順序以索引的形式存放的,這種存儲方式的表稱為索引組織表。InnoDB使用了B+樹索引模型,所以數(shù)據(jù)都是存儲在B+樹中的。每一個索引在InnoDB里面對應(yīng)一棵B+樹。假設(shè),我們有一個主鍵列為ID的表,表中有字段k,并且在k上有索引。這個表的建表語句是:

mysql>createtableT(

idintprimarykey,

kintnotnull,

namevarchar(16),

index(k))engine=InnoDB;【歸納總結(jié),布置課后作業(yè)】(1)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進(jìn)行總結(jié)。提問講解的知識點,對存在問題進(jìn)行講解。帶領(lǐng)學(xué)生總結(jié)視圖的增刪改查以及更新、索引的概念、索引的增刪改查。(2)布置隨堂練習(xí),檢查學(xué)生掌握情況。根據(jù)博學(xué)谷和隨堂聯(lián)系資源,給學(xué)生布置隨堂練習(xí),檢測學(xué)生的掌握程度,并對學(xué)生出現(xiàn)的問題進(jìn)行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務(wù)。“數(shù)據(jù)精準(zhǔn)到位,效率自成一派?!?,引導(dǎo)學(xué)生理解在保護(hù)數(shù)據(jù)安全的前提下如何提高查詢效率。在互聯(lián)網(wǎng)時代,搜索引擎是人們獲取信息的主要渠道之一。網(wǎng)站的索引優(yōu)化對于提高網(wǎng)站在搜索引擎結(jié)果中的排名至關(guān)重要。通過創(chuàng)建和管理索引,我們可以提高數(shù)據(jù)庫查詢的效率,加快數(shù)據(jù)的檢索速度,提供更好的用戶體驗。索引的設(shè)計和使用需要考慮可持續(xù)發(fā)展的原則,遵循資源節(jié)約和環(huán)境保護(hù)的思想,推動社會的可持續(xù)發(fā)展。教學(xué)后記課次:第20講課程教案授課主題第8章章節(jié)內(nèi)容第8章數(shù)據(jù)處理之增刪改地點多媒體課室課時2教學(xué)目的與要求1.熟練使用INSERT、UPDATE和DELETE語句對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行增刪改操作;2.熟練使用不同的MySQL工具對數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行增、刪、改操作;3.通過完成課業(yè)任務(wù)學(xué)會分析問題、解決問題,提高動手操作能力。教學(xué)重點1.使用INSERT、UPDATE和DELETE語句對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行增刪改操作過程;2.不同的MySQL工具對數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行增、刪、改操作教學(xué)難點INSERT、UPDATE和DELETE語句對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行增刪改操作過程教學(xué)方法線上線下混合教學(xué)、講授法、討論法、練習(xí)法、歸納法教學(xué)手段多媒體技術(shù)、超星學(xué)習(xí)通等軟件教學(xué)過程課程思政元素說明:*號標(biāo)注的是課程思政的融入點【回顧上節(jié)課內(nèi)容,繼續(xù)講解本課時的知識】(1)教師對學(xué)生們的疑問進(jìn)行統(tǒng)一答疑。(2)回顧總結(jié)上節(jié)課內(nèi)容,繼續(xù)介紹本課時的內(nèi)容。上節(jié)課介紹了視圖的增刪改查以及更新、索引的概念、索引的增刪改查。本節(jié)課介紹插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù)。*增刪改數(shù)據(jù)的SQL語與Java語言的結(jié)合應(yīng)用【緒論課】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語句插入查詢結(jié)果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條件表達(dá)式][ORDERBY...][LIMIT行數(shù)]講解案例8.6更新系部表中的內(nèi)容。[IGNORE]在MySQL中,通過UPDATE語句更新表中多行數(shù)據(jù)時,如果出現(xiàn)錯誤,那么整個UPDATE語句操作都會被取消,錯誤發(fā)生前更新的所有行將被恢復(fù)到它們原來的值。因此,為了在發(fā)生錯誤時也要繼續(xù)進(jìn)行更新,可以在UPDATE語句中使用IGNORE關(guān)鍵字。SET子句為必選項,用于指定表中要修改的字段名及其字段值。其中的值可以是表達(dá)式,也可以是該字段所對應(yīng)的默認(rèn)值。如果要指定默認(rèn)值,可使用關(guān)鍵字DEFAULT。WHERE子句為可選項,用于限定表中要修改的行,如果不指定該字句,那么UPDATE語句會更新表中的所有行。ORDERBY子句為可選項,用于限定表中的行被修改的次序。LIMIT子句為可選項,用于限定被修改的行數(shù)。3.刪除數(shù)據(jù)*網(wǎng)絡(luò)欺詐與虛假信息的刪除(1)通過DELETE語句刪除數(shù)據(jù)DELETE[QUICK][IGNORE]FROM數(shù)據(jù)表[WHERE條件表達(dá)式][ORDERBY...][LIMIT行數(shù)]通過TRUNCATETABLE語句刪除數(shù)據(jù)DELETE、TRUNCATE和DROP區(qū)別當(dāng)表被TRUNCATE語句刪除后,該表和索引所占用的空間會恢復(fù)到初始大??;DELETE語句操作不會減少表或索引所占用的空間;DROP語句將表所占用的空間全釋放掉。1.表和索引所占空間2.應(yīng)用范圍3.執(zhí)行速度【本講拓展】如何理解清空表、刪除表等操作:表刪除操作將把表的定義和表中的數(shù)據(jù)一起刪除,并目MySQL在執(zhí)行刪除操作時,不會有任何的確認(rèn)信息提示,因此抄行刪除操時應(yīng)當(dāng)慎重。在刪除表前,最好對表中的數(shù)據(jù)進(jìn)行各份,這樣當(dāng)操作失誤時可以對數(shù)據(jù)進(jìn)行恢復(fù),以免造成無法挽回的后果。同樣的,在使用ALTERTABLE進(jìn)行表的基本修改操作時在執(zhí)行操作過程之前,也應(yīng)該確保對數(shù)據(jù)進(jìn)行完整的各份,因為數(shù)據(jù)庫的改變是無法撤銷的,如果添加了一個不需要的字段可以將其刪除;相同的,如果刪除了一個需要的列,該列下面的所有數(shù)據(jù)都將會丟失?!練w納總結(jié),布置課后作業(yè)】(1)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進(jìn)行總結(jié)。提問講解的知識點,對存在問題進(jìn)行講解。帶領(lǐng)學(xué)生總結(jié)插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù)。(2)布置隨堂練習(xí),檢查學(xué)生掌握情況。根據(jù)博學(xué)谷和隨堂聯(lián)系資源,給學(xué)生布置隨堂練習(xí),檢測學(xué)生的掌握程度,并對學(xué)生出現(xiàn)的問題進(jìn)行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務(wù)。掌握增刪查改才能站讓數(shù)據(jù)更有價值,引導(dǎo)同學(xué)們在練習(xí)時養(yǎng)成嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度。近年來,網(wǎng)絡(luò)欺詐和虛假信息廣泛存在,對個人和社會造成了嚴(yán)重的傷害。在進(jìn)行數(shù)據(jù)刪除操作時,我們應(yīng)該審慎處理虛假信息,防止信息的誤導(dǎo)和對用戶的欺詐行為。保持?jǐn)?shù)據(jù)的真實性和可靠性是維護(hù)公共信任和社會穩(wěn)定的重要責(zé)任。教學(xué)后記課次:第22講課程教案授課主題第9章章節(jié)內(nèi)容第9章存儲過程與游標(biāo)地點多媒體課室課時2教學(xué)目的與要求1.了解存儲的種類和優(yōu)勢;2.掌握存儲過程的創(chuàng)建、調(diào)用、查看、修改和刪除;3.了解變量的類別和使用;4.掌握基本的流程控制語句;5.通過完成課業(yè)任務(wù),熟練掌握存儲過程的知識點;6.通過不同的工具熟悉管理存儲過程。教學(xué)重點1.掌握存儲過程的創(chuàng)建、調(diào)用、查看、修改和刪除;2.了解變量的類別和使用;3.掌握基本的流程控制語句。教學(xué)難點1.存儲過程的創(chuàng)建、調(diào)用、查看、修改和刪除;2.熟練基本的流程控制語句。教學(xué)方法線上線下混合教學(xué)、講授法、討論法、練習(xí)法、歸納法教學(xué)手段多媒體技術(shù)、超星學(xué)習(xí)通等軟件教學(xué)過程課程思政元素說明:*號標(biāo)注的是課程思政的融入點【回顧上節(jié)課內(nèi)容,繼續(xù)講解本課時的知識】(1)教師對學(xué)生們的疑問進(jìn)行統(tǒng)一答疑。(2)回顧總結(jié)上節(jié)課內(nèi)容,繼續(xù)介紹本課時的內(nèi)容。上節(jié)課介紹了插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù)。本節(jié)課介紹存儲過程概述、存儲過程的創(chuàng)建、調(diào)用與查看、游標(biāo)的使用、存儲過程的修改、刪除存儲過程、變量類型介紹、流程控制。*人民幣數(shù)字化與數(shù)字經(jīng)濟(jì)發(fā)展【緒論課】1.存儲過程概述存儲過程是一組經(jīng)過預(yù)先編譯的SQL語句的封裝,它由聲明式的SQL語句(例如DDL語句和DML語句)以及過程式的SQL語句(例如分支語句和循環(huán)語句)組成。在實際操作中,經(jīng)常需要多條SQL語句處理多個表才能完成一個完整的操作。如果在客戶端和服務(wù)器端頻繁地傳輸多條SQL語句,那么將會極大地降低命令的執(zhí)行效率。存儲過程預(yù)先將多條SQL語句組合成一個程序并存儲在MySQL服務(wù)器上。當(dāng)需要執(zhí)行時,客戶端只需要向服務(wù)器端發(fā)出調(diào)用存儲過程的命令,服務(wù)器端就可以把預(yù)先存儲好的這一系列SQL語句全部執(zhí)行,從而大大提高了數(shù)據(jù)處理速度。2.存儲過程的創(chuàng)建、調(diào)用與查看在MySQL中,存儲程序是用CREATEPROCEDURE語句創(chuàng)建的。使用CALL語句來調(diào)用存儲過程,且只能使用輸出變量傳回值。存儲過程也可以調(diào)用其他存儲過程。(1)創(chuàng)建存儲過程*C語言的經(jīng)典案例求1到100的累加和講解案例9.1創(chuàng)建一個存儲過程。調(diào)用存儲過程講解案例9.2調(diào)用存儲過程。查看存儲過程1.使用SHOWSTATUS語句查看存儲過程講解案例9.3查看存儲過程的狀態(tài)。2.使用SHOWCREATE語句講解案例9.4查看存儲過程的定義信息。3.通過routines表查詢存儲過程或存儲函數(shù)講解案例9.5通過routines表查詢存儲過程。3.游標(biāo)的使用在MySQL中,查詢語句常常返回多行數(shù)據(jù)。如果數(shù)據(jù)量很大,則不能逐行處理數(shù)據(jù)。因此,在存儲過程或函數(shù)中,可以使用游標(biāo)來逐個讀取查詢結(jié)果。通過控制游標(biāo)的移動,用戶可以按需要查看和操作這些數(shù)據(jù),但不能跳過任何記錄。(1)聲明游標(biāo)(2)打開游標(biāo)(3)使用游標(biāo)(4)關(guān)閉游標(biāo)4.存儲過程的修改可以通過ALTER關(guān)鍵字修改已經(jīng)創(chuàng)建的存儲過程的特性。講解案例9.7修改存儲過程。5.刪除存儲過程可以通過DROP關(guān)鍵字刪除存儲過程。講解案例9.8刪除存儲過程s_procedure。6.變量類型介紹(1)局部變量(2)用戶變量(3)會話變量(4)全局變量7.流程控制每個流程中可能包含一個單獨的語句,或者是使用BRGIN...END構(gòu)造的復(fù)合語句。使用BEGIN...END構(gòu)造復(fù)合語句時,可以進(jìn)行嵌套。如果需要執(zhí)行循環(huán)操作,可以使用WHILE語句和REPEAT語句來實現(xiàn)類似的功能。需要注意的是,MySQL語句中不支持標(biāo)準(zhǔn)的FOR循環(huán)。分支結(jié)構(gòu)講解案例9.14IF語句的使用。講解案例9.15CASE語句的使用方法一。循環(huán)結(jié)構(gòu)講解案例9.17LOOP語句的使用。講解案例9.18WHILE語句的使用。講解案例9.19REPEAT語句的使用。跳轉(zhuǎn)語句講解案例9.20LEAVE語句的使用。講解案例9.21ITERATE語句的使用?!颈局v拓展】存儲過程優(yōu)缺點:優(yōu)點:(1)執(zhí)行度更快。在存儲過程創(chuàng)的時候,數(shù)據(jù)庫已經(jīng)對其進(jìn)行了一次解析和優(yōu)化,它只在創(chuàng)造時進(jìn)行編譯,以后每次執(zhí)行存儲過程都不需再重新編譯,而一般SOL語句每執(zhí)行次就編譯一次,所以使用存儲過程可提高數(shù)據(jù)庫執(zhí)行速度(2)安全性商??稍O(shè)定只有某此用戶才具有對指定存儲過程的使用權(quán)。(3)存儲過程可以重復(fù)使用,可減少數(shù)據(jù)庫開發(fā)人員的工作量。缺點:(1)不便于調(diào)試?;旧蠜]有較好的調(diào)試器,很多時候是用print來調(diào)試,但用這種方法調(diào)試長達(dá)數(shù)百行的存儲過程簡直是噩夢(2)無法適應(yīng)數(shù)據(jù)庫的切割(水平或垂直切割)。數(shù)據(jù)庫切割之后,存儲過程并不清楚數(shù)據(jù)存儲在哪個數(shù)據(jù)庫中。【歸納總結(jié),布置課后作業(yè)】(1)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進(jìn)行總結(jié)。提問講解的知識點,對存在問題進(jìn)行講解。帶領(lǐng)學(xué)生總結(jié)存儲過程概述、存儲過程的創(chuàng)建、調(diào)用與查看、游標(biāo)的使用、存儲過程的修改、刪除存儲過程、變量類型介紹、流程控制。(2)布置隨堂練習(xí),檢查學(xué)生掌握情況。根據(jù)博學(xué)谷和隨堂聯(lián)系資源,給學(xué)生布置隨堂練習(xí),檢測學(xué)生的掌握程度,并對學(xué)生出現(xiàn)的問題進(jìn)行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務(wù)。中國正在積極推進(jìn)人民幣的數(shù)字化發(fā)展,以推動數(shù)字經(jīng)濟(jì)的發(fā)展和便利支付體驗。存儲過程和游標(biāo)可用于處理數(shù)字支付交易數(shù)據(jù),確保支付數(shù)據(jù)的安全、準(zhǔn)確和高效。在編寫存儲過程時,我們應(yīng)注重數(shù)據(jù)的保護(hù)、穩(wěn)定性和合規(guī)性,為數(shù)字經(jīng)濟(jì)提供可靠的數(shù)據(jù)支持。教學(xué)后記課次:第24-25講課程教案授課主題第10章章節(jié)內(nèi)容第10章函數(shù)(可選)地點多媒體課室課時4教學(xué)目的與要求1.掌握存儲函數(shù)的創(chuàng)建、調(diào)用、查看、修改與刪除;2.了解各種系統(tǒng)函數(shù)的用法。教學(xué)重點存儲函數(shù)的創(chuàng)建、調(diào)用、查看教學(xué)難點各種系統(tǒng)函數(shù)的用法教學(xué)方法線上線下混合教學(xué)、講授法、討論法、練習(xí)法、歸納法教學(xué)手段多媒體技術(shù)、超星學(xué)習(xí)通等軟件教學(xué)過程課程思政元素說明:*號標(biāo)注的是課程思政的融入點【回顧上節(jié)課內(nèi)容,繼續(xù)講解本課時的知識】(1)教師對學(xué)生們的疑問進(jìn)行統(tǒng)一答疑。(2)回顧總結(jié)上節(jié)課內(nèi)容,繼續(xù)介紹本課時的內(nèi)容。上節(jié)課介紹了存儲過程概述、存儲過程的創(chuàng)建、調(diào)用與查看、游標(biāo)的使用、存儲過程的修改、刪除存儲過程、變量類型介紹、流程控制。本節(jié)課介紹存儲函數(shù)的創(chuàng)建、調(diào)用與查看、修改存儲函數(shù)、刪除存儲函數(shù)?!揪w論課】1.存儲函數(shù)的創(chuàng)建、調(diào)用與查看(1)創(chuàng)建存儲函數(shù)存儲函數(shù)名:存儲函數(shù)的名稱;參數(shù):存儲函數(shù)的參數(shù)列表,只需要給定參數(shù)名稱與類型即可,因為存儲函數(shù)的參數(shù)默認(rèn)為IN模式;RETURNS:指定存儲函數(shù)返回值的數(shù)據(jù)類型;特性:指定存儲函數(shù)的特性,取值與【9.2.1創(chuàng)建存儲過程】中特性的取值完全相同;存儲函數(shù)語句塊:指定SQL代碼的內(nèi)容,也是存儲函數(shù)主體的核心部分。使用BEGIN和END將存儲函數(shù)塊封閉,并使用RETURN語句定義存儲函數(shù)的返回值。講解案例10.1創(chuàng)建一個存儲函數(shù)。調(diào)用存儲函數(shù)存儲函數(shù)名:表示調(diào)用的存儲函數(shù)的名稱。如果要調(diào)用其他數(shù)據(jù)庫中的存儲函數(shù),需要按照“數(shù)據(jù)庫名.存儲函數(shù)名”的格式調(diào)用;參數(shù):表示調(diào)用該存儲函數(shù)時傳遞的參數(shù)列表。該參數(shù)列表需要與存儲函數(shù)定義時的參數(shù)列表保持一致。講解案例10.2調(diào)用存儲函數(shù)。查看存儲函數(shù)講解案例10.3查看存儲函數(shù)的狀態(tài)。講解案例10.4查看存儲函數(shù)的定義信息。講解案例10.5通過routines表查詢存儲函數(shù)。2.修改存儲函數(shù)在MySQL中,可以通過ALTER關(guān)鍵字修改存儲函數(shù)的特性,但是無法修改存儲函數(shù)中的參數(shù)和過程體定義語句,因為這將導(dǎo)致存儲函數(shù)的結(jié)構(gòu)或執(zhí)行邏輯發(fā)生變化。講解案例10.6修改存儲函數(shù)。3.刪除存儲函數(shù)*資源節(jié)約與環(huán)境保護(hù)講解案例10.7刪除存儲函數(shù)fun_find。4.MySQL系統(tǒng)函數(shù)(1)字符串函數(shù)*字符轉(zhuǎn)換函數(shù)等不常用函數(shù)也要能做到舉一反三,快速應(yīng)用數(shù)學(xué)函數(shù)(3)日期和時間函數(shù)(4)統(tǒng)計函數(shù)(5)流程控制函數(shù)講解案例10.8使用IF函數(shù)進(jìn)行條件判斷。講解案例10.9使用CASE函數(shù)進(jìn)行分支操作。講解案例10.10使用CASE函數(shù)進(jìn)行分支操作。講解案例10.11使用IFNULL函數(shù)進(jìn)行條件判斷。講解案例10.12使用NULLIF函數(shù)進(jìn)行條件判斷。【本講拓展】Decode函數(shù)在SQL語句中的功能:Decode函數(shù)與一系列嵌套的IF-THEN-ELSE語句相似。base_exp與compare1,compare2等等依次進(jìn)行比較。如果base_exp和第i個compare項匹配,就返回第i個對應(yīng)的value。如果base_exp與任何的compare值都不匹配,則返default。每個compare值順次求值,如果發(fā)現(xiàn)一個匹配,則剩下的compare值(如果還有的話)就都不再求值。一個NULL的base_exp被認(rèn)為和NULLcompare值等價。如果需要的話,每一個compare值都被轉(zhuǎn)換成和第一個compare值相同的數(shù)據(jù)類型,這個數(shù)據(jù)類型也是返回值的類型?!練w納總結(jié),布置課后作業(yè)】(1)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進(jìn)行總結(jié)。提問講解的知識點,對存在問題進(jìn)行講解。帶領(lǐng)學(xué)生總結(jié)存儲函數(shù)的創(chuàng)建、調(diào)用與查看、修改存儲函數(shù)、刪除存儲函數(shù)。(2)布置隨堂練習(xí),檢查學(xué)生掌握情況。根據(jù)博學(xué)谷和隨堂聯(lián)系資源,給學(xué)生布置隨堂練習(xí),檢測學(xué)生的掌握程度,并對學(xué)生出現(xiàn)的問題進(jìn)行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務(wù)。教學(xué)后記課次:第26講課程教案授課主題第11章章節(jié)內(nèi)容第11章觸發(fā)器地點多媒體課室課時2教學(xué)目的與要求1.了解觸發(fā)器的定義、作用和優(yōu)缺點;2.熟悉掌握觸發(fā)器的創(chuàng)建;3.掌握查看和刪除觸發(fā)器;4.掌握通過圖形化工具管理觸發(fā)器;5.通過完成課業(yè)任務(wù)學(xué)會分析問題、解決問題,提高動手操作能力。教學(xué)重點1.熟悉掌握觸發(fā)器的創(chuàng)建;2.掌握查看和刪除觸發(fā)器;3.掌握通過圖形化工具管理觸發(fā)器。教學(xué)難點1.了解觸發(fā)器的定義、作用和優(yōu)缺點;2.熟悉掌握觸發(fā)器的創(chuàng)建。教學(xué)方法線上線下混合教學(xué)、講授法、討論法、練習(xí)法、歸納法教學(xué)手段多媒體技術(shù)、超星學(xué)習(xí)通等軟件教學(xué)過程課程思政元素說明:*號標(biāo)注的是課程思政的融入點【回顧上節(jié)課內(nèi)容,繼續(xù)講解本課時的知識】(1)教師對學(xué)生們的疑問進(jìn)行統(tǒng)一答疑。(2)回顧總結(jié)上節(jié)課內(nèi)容,繼續(xù)介紹本課時的內(nèi)容。上節(jié)課介紹了存儲函數(shù)的創(chuàng)建、調(diào)用與查看、修改存儲函數(shù)、刪除存儲函數(shù)。本節(jié)課介紹MySQL觸發(fā)器的概述、觸發(fā)器的創(chuàng)建、查看觸發(fā)器、刪除觸發(fā)器。【緒論課】1.MySQL觸發(fā)器的概述(1)什么是觸發(fā)器*觸發(fā)器及游標(biāo)常見錯誤及解決辦法MySQL從5.0.2版本開始支持觸發(fā)器。MySQL的觸發(fā)器和存儲過程一樣,都是嵌入到MySQL服務(wù)器的一段程序。觸發(fā)器是由事件來觸發(fā)某個操作,這些事件包括INSERT、UPDATE、DELETE事件。所謂事件是指用戶的動作或者觸發(fā)某項行為。如果定義了觸發(fā)程序,當(dāng)數(shù)據(jù)庫執(zhí)行這些語句時,就相當(dāng)于該事件發(fā)生了,就會自動激發(fā)觸發(fā)器執(zhí)行相應(yīng)的操作。(2)觸發(fā)器作用1.安全性2.審計3.實現(xiàn)復(fù)雜的數(shù)據(jù)完整性規(guī)則4.實現(xiàn)復(fù)雜的級聯(lián)操作(3)觸發(fā)器的優(yōu)缺點1.優(yōu)點觸發(fā)器可以確保數(shù)據(jù)的完整性。觸發(fā)器可以保證存儲在數(shù)據(jù)庫中的所有數(shù)據(jù)值保持正確的狀態(tài),從而保護(hù)了數(shù)據(jù)的完整性。觸發(fā)器可以記錄操作日志。利用觸發(fā)器可以具體記錄什么時間發(fā)生了什么。例如,記錄修改會員儲值金額的觸發(fā)器,就是一個很好的例子。這對操作人員還原操作執(zhí)行時的具體場景,更好地定位問題原因很有幫助。觸發(fā)器還可以用在操作數(shù)據(jù)前,對數(shù)據(jù)進(jìn)行合法性檢查。超市進(jìn)貨的時候,需要錄入進(jìn)貨價格。但是人為操作很容易犯錯誤,例如在錄入金額的時候,看錯了行,錄入的價格遠(yuǎn)超售價,導(dǎo)致賬面上的虧損,這些都可以通過觸發(fā)器,在實際插入或者更新操作之前,對相應(yīng)的數(shù)據(jù)進(jìn)行檢查,及時提示錯誤,防止錯誤數(shù)據(jù)進(jìn)入系統(tǒng)。2.缺點*觸發(fā)器可讀性差。觸發(fā)器存儲在數(shù)據(jù)庫中,并且由事件驅(qū)動,這就意味著觸發(fā)器有可能不受應(yīng)用層的控制,這對系統(tǒng)維護(hù)是非常有挑戰(zhàn)的。數(shù)據(jù)的變更,可能會導(dǎo)致觸發(fā)器出錯。數(shù)據(jù)表結(jié)構(gòu)的變更,會導(dǎo)致觸發(fā)器出錯,進(jìn)而影響數(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)查看當(dāng)前數(shù)據(jù)庫的所有觸發(fā)器(2)查看當(dāng)前數(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ā)相關(guān)操作。(3)PostgreSQL的觸發(fā)器:PostgreSQL數(shù)據(jù)庫也有觸發(fā)器的概念,它們可以在表的數(shù)據(jù)變化時執(zhí)行相應(yīng)的操作,類似于MySQL觸發(fā)器的功能。這些數(shù)據(jù)庫管理系統(tǒng)中的觸發(fā)器都具有類似的目的,即在數(shù)據(jù)庫中定義特定事件觸發(fā)的操作。雖然語法和用法可能會有所不同,但它們都提供了類似的功能來監(jiān)控和處理數(shù)據(jù)庫中的數(shù)據(jù)變化。【歸納總結(jié),布置課后作業(yè)】(1)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進(jìn)行總結(jié)。提問講解的知識點,對存在問題進(jìn)行講解。帶領(lǐng)學(xué)生總結(jié)MySQL觸發(fā)器的概述、觸發(fā)器的創(chuàng)建、查看觸發(fā)器、刪除觸發(fā)器。(2)布置隨堂練習(xí),檢查學(xué)生掌握情況。根據(jù)博學(xué)谷和隨堂聯(lián)系資源,給學(xué)生布置隨堂練習(xí),檢測學(xué)生的掌握程度,并對學(xué)生出現(xiàn)的問題進(jìn)行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務(wù)。“知其所以然,才能知其然”,要求學(xué)生養(yǎng)成認(rèn)真負(fù)責(zé)的工作態(tài)度、一絲不茍的工匠精神和求真務(wù)實的科學(xué)精神。教學(xué)后記課次:第28講課程教案授課主題第12章章節(jié)內(nèi)容第12章事務(wù)處理地點多媒體課室課時2教學(xué)目的與要求1.了解存儲引擎的相關(guān)知識;2.熟悉事務(wù)的基本概念;3.掌握事務(wù)的ACID特性和狀態(tài);4.掌握如何使用事務(wù),設(shè)置事務(wù)的隔離級別;5.通過完成課業(yè)任務(wù)學(xué)會分析問題、解決問題,提高動手操作能力。教學(xué)重點1.熟悉事務(wù)的基本概念;2.掌握事務(wù)的ACID特性和狀態(tài);3.掌握如何使用事務(wù),設(shè)置事務(wù)的隔離級別。教學(xué)難點掌握如何使用事務(wù),設(shè)置事務(wù)的隔離級別教學(xué)方法線上線下混合教學(xué)、講授法、討論法、練習(xí)法、歸納法教學(xué)手段多媒體技術(shù)、超星學(xué)習(xí)通等軟件教學(xué)過程課程思政元素說明:*號標(biāo)注的是課程思政的融入點【回顧上節(jié)課內(nèi)容,繼續(xù)講解本課時的知識】(1)教師對學(xué)生們的疑問進(jìn)行統(tǒng)一答疑。(2)回顧總結(jié)上節(jié)課內(nèi)容,繼續(xù)介紹本課時的內(nèi)容。上節(jié)課介紹了MySQL觸發(fā)器的概述、觸發(fā)器的創(chuàng)建、查看觸發(fā)器、刪除觸發(fā)器。本節(jié)課介紹存儲引擎的概述、事務(wù)的基本概念、使用事務(wù)、事務(wù)隔離級別。*知識與實踐的最高境界,是由實踐引導(dǎo)出理論,再用理論指導(dǎo)實踐【緒論課】1.存儲引擎的概述(1)什么是存儲引擎在學(xué)習(xí)事務(wù)處理之前,需要了解MySQL中的存儲引擎。數(shù)據(jù)庫存儲引擎是數(shù)據(jù)庫底層軟件組織,數(shù)據(jù)庫管理系統(tǒng)(DBMS)使用數(shù)據(jù)引擎進(jìn)行創(chuàng)建、查詢、更新和刪除數(shù)據(jù)。不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能,使用不同的存儲引擎,還可以獲得特定的功能?,F(xiàn)在許多不同的數(shù)據(jù)庫管理系統(tǒng)都支持多種不同的數(shù)據(jù)引擎。在關(guān)系數(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.事務(wù)的基本概念事務(wù)是一組邏輯操作單元,使數(shù)據(jù)從一種狀態(tài)變換到另一種狀態(tài)。所有事務(wù)都作為一個工作單元來執(zhí)行,即使出現(xiàn)了故障,都不能改變這種執(zhí)行方式。當(dāng)在一個事務(wù)中執(zhí)行多個操作時,要么所有的事務(wù)都被提交(commit(1)事務(wù)的ACID特性1.原子性(atomicity)2.一致性(consistency)3.隔離型(isolation)4.持久性(durability)(1)事務(wù)的狀態(tài)1.活動的(active)2.部分提交的(partiallycommitted)3.失敗的(failed)4.中止的(aborted)5.提交的(committed)3.使用事務(wù)*了解死鎖產(chǎn)生機制(1)顯式事務(wù)講解案例12.1開啟一個顯示事務(wù)。(2)隱式事務(wù)隱式事務(wù)沒有明顯的開啟和結(jié)束標(biāo)記,都具有自動提交事務(wù)的功能,隱式事務(wù)提交數(shù)據(jù)包括以下幾種情況:MySQL中的數(shù)據(jù)定義語言(Datadefinitionlanguage,縮寫為:DDL);隱式使用或修改MySQL數(shù)據(jù)庫中的表;事務(wù)控制或關(guān)于鎖定的語句;加載數(shù)據(jù)的語句;關(guān)于MySQL復(fù)制的一些語句。4.事務(wù)隔離級別MySQL是一個客戶端或者服務(wù)器架構(gòu)的軟件,對于同一個服務(wù)器來說,可以有若干個客戶端與之連接,每個客戶端與服務(wù)器連接上之后,就可以稱為一個會話(Session)。每個客戶端都可以在自己的會話中向服務(wù)器發(fā)出請求語句,一個請求語句可能是某個事務(wù)的一部分,也就是對于服務(wù)器來說可能同時處理多個事務(wù)。(1)數(shù)據(jù)并發(fā)問題1.臟寫(DirtyWrite)2.臟讀(DirtyRead)3.不可重復(fù)讀(Non-RepeatableRead)4.幻讀(Phantom)上面介紹了幾種并發(fā)事務(wù)執(zhí)行過程中可能遇到的一些問題,這些問題有輕重緩急之分,給這些問題按照嚴(yán)重性來排序:臟寫>臟讀>不可重復(fù)讀>幻讀。(2)SQL中的四種隔離級別1.READUNCOMMITTED(讀未提交)2.READCOMMITTED(讀已提交)3.REPEATABLEREAD(可重復(fù)讀)4.SERIALIZABLE(可串行化)(3)MySQL默認(rèn)支持的隔離級別講解案例12.2查看當(dāng)前事務(wù)的隔離級別。(4)設(shè)置事務(wù)的隔離級別【本講拓展】傳統(tǒng)關(guān)系型數(shù)據(jù)庫的事務(wù)處理與新興技術(shù)的對比:(1)數(shù)據(jù)模型和結(jié)構(gòu)。傳統(tǒng)關(guān)系型數(shù)據(jù)庫使用表格和關(guān)系模型來存儲和管理數(shù)據(jù),采用嚴(yán)格的結(jié)構(gòu)化模式。而新興技術(shù)如NoSQL數(shù)據(jù)庫可能采用不同的數(shù)據(jù)模型,如文檔型、鍵值對、列族等,更加靈活適應(yīng)不同類型的數(shù)據(jù)。這種靈活性使得新興技術(shù)在非結(jié)構(gòu)化數(shù)據(jù)處理和大規(guī)模數(shù)據(jù)存儲方面具有優(yōu)勢。(2)數(shù)據(jù)一致性與可擴展性。傳統(tǒng)關(guān)系型數(shù)據(jù)庫通過ACID(原子性、一致性、隔離性和持久性)事務(wù)特性來確保數(shù)據(jù)的一致性和完整性。這種嚴(yán)格的一致性對于某些應(yīng)用場景非常重要。然而,在高并發(fā)和大規(guī)模數(shù)據(jù)處理場景下,傳統(tǒng)關(guān)系型數(shù)據(jù)庫可能面臨可擴展性挑戰(zhàn)。而新興技術(shù)如分布式數(shù)據(jù)庫和大數(shù)據(jù)技術(shù)(如Hadoop和Spark)則更加注重橫向擴展能力和數(shù)據(jù)處理性能,但對于數(shù)據(jù)一致性可能采用較弱的一致性模型(如最終一致性)。【歸納總結(jié),布置課后作業(yè)】(1)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進(jìn)行總結(jié)。提問講解的知識點,對存在問題進(jìn)行講解。帶領(lǐng)學(xué)生總結(jié)存儲引擎的概述、事務(wù)的基本概念、使用事務(wù)、事務(wù)隔離級別。(2)布置隨堂練習(xí),檢查學(xué)生掌握情況。根據(jù)博學(xué)谷和隨堂聯(lián)系資源,給學(xué)生布置隨堂練習(xí),檢測學(xué)生的掌握程度,并對學(xué)生出現(xiàn)的問題進(jìn)行解決。(3)完成超星平臺的章節(jié)知識測試,以及教師發(fā)布的實踐任務(wù)。在線交易平臺上,數(shù)據(jù)一致性是確保交易可靠性和用戶信任的基石。正如曾經(jīng)發(fā)生的訂單處理問題所揭示的那樣,事務(wù)處理在維護(hù)數(shù)據(jù)一致性方面發(fā)揮著重要作用。通過采用事務(wù)處理機制,我們可以確保訂單的正確處理和支付的準(zhǔn)確記錄,避免用戶面臨重復(fù)支付或未支付的尷尬情況。因此,我們作為數(shù)據(jù)管理者應(yīng)該注重事務(wù)處理的可靠性和安全性,為用戶提供一致、可靠的在線交易體驗。正如華羅庚所言:'知識與實踐的最高境界,是由實踐引導(dǎo)出理論,再用理論指導(dǎo)實踐。'因此,在在線交易平臺的數(shù)據(jù)處理中,我們應(yīng)積極探索并應(yīng)用先進(jìn)的事務(wù)處理技術(shù),不斷提升數(shù)據(jù)一致性水平,為用戶提供安全、穩(wěn)定的交易環(huán)境“有條不紊、運籌帷幄”,培養(yǎng)學(xué)生并行、調(diào)動、協(xié)同的計算思維。加鎖是實現(xiàn)數(shù)據(jù)庫并發(fā)控制的一個非常重要的技術(shù)。在實際應(yīng)用中經(jīng)常會遇到的與鎖相關(guān)的異常情況,當(dāng)兩個事務(wù)需要一組有沖突的鎖,而不能將事務(wù)繼續(xù)下去的

溫馨提示

  • 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

提交評論