版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
MySQL數(shù)據(jù)庫管理與開發(fā)(慕課版第2版)
第11章
觸發(fā)器PAGE2PAGE3MySQL數(shù)據(jù)庫管理與開發(fā)(慕課版第2版)教學設計課程名稱:授課年級:授課學期:教師姓名:年月課題名稱第11章觸發(fā)器計劃課時2課時教學引入觸發(fā)器是數(shù)據(jù)庫中由事件自動觸發(fā)操作的核心工具,當執(zhí)行INSERT、UPDATE、DELETE等操作時,觸發(fā)器會自動執(zhí)行預設程序,保障數(shù)據(jù)一致性與安全性。例如,圖書管理系統(tǒng)中插入新書時自動記錄日志,刪除圖書時自動備份數(shù)據(jù);電商平臺銷售商品后自動減少庫存。本章將系統(tǒng)講解觸發(fā)器的概念、創(chuàng)建、查看、使用及刪除方法,掌握這一自動化數(shù)據(jù)管理工具。教學目標使學生理解觸發(fā)器的概念(由INSERT/UPDATE/DELETE事件觸發(fā)的自動操作)及核心作用(數(shù)據(jù)一致性維護、自動化日志、冗余數(shù)據(jù)管理)。使學生掌握創(chuàng)建單個執(zhí)行語句觸發(fā)器的語法(CREATETRIGGER基礎結構)。使學生掌握創(chuàng)建多個執(zhí)行語句觸發(fā)器的方法(BEGIN...END包裹語句、DELIMITER修改分隔符)。使學生學會查看觸發(fā)器的兩種方法(SHOWTRIGGERS、查詢information_schema.triggers表)。使學生掌握觸發(fā)器執(zhí)行順序(BEFORE→表操作→AFTER)及實際應用(日志記錄、庫存維護)。使學生掌握刪除觸發(fā)器的語法(DROPTRIGGER)及注意事項。使學生學會利用AI工具生成觸發(fā)器實例代碼。教學重點觸發(fā)器的概念及核心作用(事件觸發(fā)自動操作、保障數(shù)據(jù)一致性)單個語句觸發(fā)器的創(chuàng)建語法(CREATETRIGGER...BEFORE/AFTER...ON...FOREACHROW)多個語句觸發(fā)器的創(chuàng)建(DELIMITER分隔符修改、BEGIN...END包裹語句)查看觸發(fā)器的方法(SHOWTRIGGERS和information_schema.triggers表查詢)觸發(fā)器執(zhí)行順序(BEFORE與AFTER觸發(fā)器的執(zhí)行邏輯)刪除觸發(fā)器的語法(DROPTRIGGER)教學難點多個語句觸發(fā)器中DELIMITER分隔符的修改與還原操作OLD和NEW關鍵字的理解與應用(引用觸發(fā)前后的字段值)觸發(fā)器執(zhí)行順序的邏輯梳理(BEFORE觸發(fā)器與表操作的先后關系)觸發(fā)器與基礎表的關聯(lián)性(基礎表結構變化對觸發(fā)器的影響)教學方式課堂教學以PPT講授為主,結合MySQL命令行實操演示(實時運行文檔案例代碼),采用“概念解析→語法演示→案例實操→邏輯驗證”四步教學法,輔以學生動手練習(基于文檔“上機指導”內(nèi)容)教學過程第一課時(觸發(fā)器概述與創(chuàng)建)一、復習鞏固回顧上一章視圖的核心知識(虛擬表、數(shù)據(jù)安全與簡化查詢),提問:“當需要在插入、更新或刪除數(shù)據(jù)時自動執(zhí)行日志記錄、數(shù)據(jù)備份等操作,如何實現(xiàn)?”引出觸發(fā)器的必要性,強調(diào)觸發(fā)器是數(shù)據(jù)庫自動化操作的核心工具。二、導入新課在圖書管理系統(tǒng)中,每次插入新書都需手動記錄日志,易遺漏且效率低;刪除圖書時若忘記備份,數(shù)據(jù)丟失后無法恢復。觸發(fā)器可解決這些問題:插入圖書時自動記日志,刪除時自動備份。本課時將學習觸發(fā)器的概念及創(chuàng)建方法。三、新課講解知識點1-觸發(fā)器概述●概念:由INSERT、UPDATE、DELETE等事件觸發(fā),自動執(zhí)行預設操作的數(shù)據(jù)庫對象,數(shù)據(jù)依賴基礎表,不實際存儲數(shù)據(jù)?!褡饔茫?.保障數(shù)據(jù)一致性(如銷售后自動減庫存);2.自動化日志記錄(操作留痕);3.數(shù)據(jù)備份與審計(刪除數(shù)據(jù)前自動備份)。知識點2-創(chuàng)建單個執(zhí)行語句的觸發(fā)器●語法:CREATETRIGGER觸發(fā)器名BEFORE|AFTER觸發(fā)事件ON表名FOREACHROW執(zhí)行語句;●參數(shù)說明:●BEFORE/AFTER:觸發(fā)時機(操作前/后執(zhí)行);●觸發(fā)事件:INSERT/UPDATE/DELETE;●FOREACHROW:每條記錄操作均觸發(fā)?!癜咐ɡ?1-1):插入圖書時自動記錄日志1.創(chuàng)建日志表:CREATETABLEtb_booklog(idintPRIMARYKEYAUTO_INCREMENTNOTNULL,eventvarchar(200)NOTNULL,logtimetimestampNOTNULLDEFAULTCURRENT_TIMESTAMP);2.創(chuàng)建觸發(fā)器:DELIMITER//CREATETRIGGERauto_save_logBEFOREINSERTONtb_bookinfoFOREACHROWINSERTINTOtb_booklog(event,logtime)VALUES('插入了一條圖書信息',now());//3.測試:插入圖書后查詢?nèi)罩颈恚炞C日志自動記錄。知識點3-創(chuàng)建多個執(zhí)行語句的觸發(fā)器●語法:DELIMITER//CREATETRIGGER觸發(fā)器名BEFORE|AFTER觸發(fā)事件ON表名FOREACHROWBEGIN執(zhí)行語句1;執(zhí)行語句2;END//DELIMITER;●關鍵:用BEGIN...END包裹多條語句,通過DELIMITER修改分隔符為“//”,創(chuàng)建后還原為“;”?!癜咐ɡ?1-2):刪除圖書時同步記錄日志和備份數(shù)據(jù)1.創(chuàng)建臨時備份表:CREATETABLEtb_bookinfotempLIKEtb_bookinfo;2.創(chuàng)建觸發(fā)器:DELIMITER//CREATETRIGGERdelete_book_infoBEFOREDELETEONtb_bookinfoFOREACHROWBEGININSERTINTOtb_booklog(event,logtime)VALUES('刪除了一條圖書信息',now());INSERTINTOtb_bookinfotempSELECT*FROMtb_bookinfoWHEREid=OLD.id;END//DELIMITER;3.測試:刪除圖書后,日志表新增記錄,備份表存入被刪數(shù)據(jù)。四、歸納總結回顧觸發(fā)器的概念、作用及創(chuàng)建方法:單個語句觸發(fā)器直接定義執(zhí)行語句,多個語句需用BEGIN...END和DELIMITER修改分隔符。強調(diào)OLD關鍵字(引用觸發(fā)前的字段值,如OLD.id)在刪除觸發(fā)器中的應用。五、布置作業(yè)●參考例11-1,為tb_sell表創(chuàng)建BEFOREINSERT觸發(fā)器,向日志表tb_selllog插入“新增銷售記錄”日志?!駞⒖祭?1-2,創(chuàng)建刪除tb_sell記錄的觸發(fā)器,同步向日志表和備份表tb_selltemp插入數(shù)據(jù)。第二課時(觸發(fā)器的查看、執(zhí)行順序、使用與刪除)一、復習鞏固檢查作業(yè)中觸發(fā)器的創(chuàng)建情況,重點分析多個語句觸發(fā)器的DELIMITER使用是否正確。提問:“如何驗證觸發(fā)器是否創(chuàng)建成功?觸發(fā)器執(zhí)行時,BEFORE和AFTER觸發(fā)器的執(zhí)行順序是什么?”引出本課時內(nèi)容。二、導入新課創(chuàng)建觸發(fā)器后需確認其定義是否正確;實際應用中需明確觸發(fā)器與表操作的執(zhí)行順序;不再使用的觸發(fā)器需及時刪除避免干擾。本課時將學習觸發(fā)器的查看、執(zhí)行順序、實際應用及刪除方法。三、新課講解知識點1-查看觸發(fā)器●方法1:SHOWTRIGGERS:查看當前數(shù)據(jù)庫所有觸發(fā)器基本信息SHOWTRIGGERS\G--格式化顯示,含觸發(fā)器名、事件、表名等執(zhí)行效果:返回觸發(fā)器觸發(fā)時機、語句、創(chuàng)建時間等?!穹椒?:查詢information_schema.triggers表:查看指定觸發(fā)器詳細定義--查看指定名稱觸發(fā)器SELECT*FROMinformation_schema.triggersWHERETRIGGER_NAME='auto_save_log'\G;--查看指定數(shù)據(jù)庫觸發(fā)器SELECT*FROMinformation_schema.triggersWHERETRIGGER_SCHEMA='db_library'\G;優(yōu)勢:可精準篩選特定觸發(fā)器,適合觸發(fā)器數(shù)量較多的場景。知識點2-觸發(fā)器的執(zhí)行順序●執(zhí)行邏輯:BEFORE觸發(fā)器→表操作(INSERT/UPDATE/DELETE)→AFTER觸發(fā)器●案例(例11-3):驗證插入操作的觸發(fā)器順序1.創(chuàng)建臨時表:CREATETABLEtb_temp(idintPRIMARYKEYAUTO_INCREMENT,eventvarchar(200),timetimestamp);2.創(chuàng)建BEFOREINSERT和AFTERINSERT觸發(fā)器:CREATETRIGGERbefore_inBEFOREINSERTONtb_bookcaseFOREACHROWINSERTINTOtb_temp(event)VALUES('BEFOREINSERT');CREATETRIGGERafter_inAFTERINSERTONtb_bookcaseFOREACHROWINSERTINTOtb_temp(event)VALUES('AFTERINSERT');3.測試:插入數(shù)據(jù)后查詢tb_temp,顯示BEFOREINSERT先于AFTERINSERT。知識點3-觸發(fā)器的實際應用(維護冗余數(shù)據(jù))●案例(例11-4):銷售后自動減少庫存1.創(chuàng)建庫存表并插入數(shù)據(jù):CREATETABLEtb_stock(idintPRIMARYKEYAUTO_INCREMENT,goodsnamevarchar(200),numberint);INSERTINTOtb_stock(goodsname,number)VALUES('九陽榨汁機',50);2.創(chuàng)建銷售觸發(fā)的庫存更新觸發(fā)器:DELIMITER//CREATETRIGGERauto_numberAFTERINSERTONtb_sellFOREACHROWBEGINDECLAREsellnumint;SELECTnumberFROMtb_sellWHEREid=NEW.idINTO@sellnum;--NEW引用新插入記錄UPDATEtb_stockSETnumber=number-@sellnumWHEREgoodsname='九陽榨汁機';END//DELIMITER;3.測試:插入銷售記錄后,庫存從50變?yōu)?0。知識點4-刪除觸發(fā)器●語法:DROPTRIGGER[IFEXISTS]觸發(fā)器名;●案例(例11-5):刪除delete_book_info觸發(fā)器DROPTRIGGERIFEXISTSdelete_book_info;●驗證:查詢觸發(fā)器列表,確認已刪除?!褡⒁馐马棧簞h除不可逆,需確認觸發(fā)器不再使用;刪除后不影響基礎表數(shù)據(jù)。四、歸納總結梳理觸發(fā)器的完整生命周期:創(chuàng)建(單個/多個語句)→查看(SHOWTRIG
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康管理師崗前基礎在崗考核試卷含答案
- 井礦鹽制鹽工QC管理模擬考核試卷含答案
- 玻璃鋼制品纏繞工道德水平考核試卷含答案
- 勞動保障協(xié)理員成果評優(yōu)考核試卷含答案
- 箔材精制工班組協(xié)作知識考核試卷含答案
- 平板顯示膜涂布工崗前節(jié)能考核試卷含答案
- 互動訓練操課件
- 鐵門焊接合同范本
- 收購儲存合同范本
- 投資商寫合同協(xié)議
- 頌缽療愈課件
- 《2025年黨務工作基礎知識》題庫及答案(2025版)
- 【 數(shù)學】2025-2026學年北師大版數(shù)學七年級上冊期末質(zhì)量檢測卷
- 延伸護理溝通技巧:與老年患者家屬的有效互動策略
- 物業(yè)餐飲安全協(xié)議書
- 司法鑒定考試題庫及答案
- 2025年健康管理師資格考試卷及答案
- 2025陜西交控集團社會招聘歷年真題庫附答案解析
- 協(xié)議婚約解除協(xié)議書
- 認知語言學視角下跨境電商平臺產(chǎn)品營銷策略研究-以亞馬遜電商平臺為例(英文論文)
- 成守珍護理質(zhì)量敏感指標體系構建與應用
評論
0/150
提交評論