MySQL數(shù)據(jù)庫管理與應(yīng)用 單元10 存儲(chǔ)過程與觸發(fā)器教案_第1頁
MySQL數(shù)據(jù)庫管理與應(yīng)用 單元10 存儲(chǔ)過程與觸發(fā)器教案_第2頁
MySQL數(shù)據(jù)庫管理與應(yīng)用 單元10 存儲(chǔ)過程與觸發(fā)器教案_第3頁
MySQL數(shù)據(jù)庫管理與應(yīng)用 單元10 存儲(chǔ)過程與觸發(fā)器教案_第4頁
MySQL數(shù)據(jù)庫管理與應(yīng)用 單元10 存儲(chǔ)過程與觸發(fā)器教案_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

教案授課教師部門課程名稱MySQL數(shù)據(jù)庫管理與應(yīng)用課次31,32單元標(biāo)題單元10存儲(chǔ)過程與觸發(fā)器授課學(xué)時(shí)4學(xué)時(shí)授課班級(jí)授課時(shí)間上課地點(diǎn)合作教師日期節(jié)次教學(xué)目標(biāo)知識(shí)目標(biāo)1.理解存儲(chǔ)過程的概念和作用。2.理解觸發(fā)器的概念、分類和作用。能力目標(biāo)1.能根據(jù)需要?jiǎng)?chuàng)建、調(diào)用和刪除存儲(chǔ)過程。2.能根據(jù)需要?jiǎng)?chuàng)建、刪除觸發(fā)器。3.在實(shí)際應(yīng)用開發(fā)時(shí)能夠靈活運(yùn)用存儲(chǔ)過程,以提高開發(fā)效率。素質(zhì)目標(biāo)1.培養(yǎng)學(xué)生吃苦耐勞的品質(zhì),增強(qiáng)創(chuàng)新創(chuàng)業(yè)意識(shí)和法治意識(shí)。2.培養(yǎng)學(xué)生自主學(xué)習(xí)能力和自我提高能力。3.通過以小組為單位學(xué)習(xí),培養(yǎng)學(xué)生的人際溝通能力和團(tuán)隊(duì)協(xié)作意識(shí)。4.培養(yǎng)學(xué)生吃苦耐勞的品質(zhì)和精益求精的工匠精神。教學(xué)重點(diǎn)1.存儲(chǔ)過程的概念和作用,創(chuàng)建、調(diào)用和刪除的方法。2.觸發(fā)器的概念和作用,創(chuàng)建和刪除的方法。3.。教學(xué)難點(diǎn)1.創(chuàng)建存儲(chǔ)過程。2.創(chuàng)建觸發(fā)器。教學(xué)方法線上自學(xué),課堂理實(shí)一體化教學(xué)、項(xiàng)目式教學(xué),第二課堂拓展學(xué)習(xí)等。教學(xué)資源教材數(shù)字資源教材配套微課、PPT、數(shù)據(jù)庫建庫建表腳本、習(xí)題解答等;智慧職教平臺(tái):學(xué)習(xí)通平臺(tái):其他:教學(xué)環(huán)境配備有電腦、電子教室或投影儀、有線或無線網(wǎng)絡(luò)環(huán)境、黑板或白板等教學(xué)工具的計(jì)算機(jī)房或多媒體教室。MySQL、MySQLWorkbench或NavicatforMySQL等軟件。教學(xué)過程第31次課(任務(wù)1存儲(chǔ)過程)教學(xué)環(huán)節(jié)教學(xué)活動(dòng)主要內(nèi)容學(xué)生活動(dòng)說明課前預(yù)習(xí)學(xué)生通過在線課程平臺(tái)預(yù)習(xí)本單元內(nèi)容。課中講練一、導(dǎo)入新課如果每天都要重復(fù)某些常用的數(shù)據(jù)庫操作,能否用用方便快捷的方法來實(shí)現(xiàn)?二、新課講解任務(wù)1存儲(chǔ)過程教師根據(jù)PPT講解。在數(shù)據(jù)庫管理中,使用的除了函數(shù)外,還有存儲(chǔ)過程。存儲(chǔ)過程是一種數(shù)據(jù)庫對(duì)象,是存儲(chǔ)在服務(wù)器上的一組預(yù)定義的SQL語句集合。使用存儲(chǔ)過程的目的是將常用或復(fù)雜的工作預(yù)先用SQL語句寫好并用一個(gè)指定名稱存儲(chǔ)起來,這個(gè)過程經(jīng)編譯和優(yōu)化后存儲(chǔ)在數(shù)據(jù)庫服務(wù)器中,因此稱為存儲(chǔ)過程。當(dāng)以后需要數(shù)據(jù)庫提供與已定義好的存儲(chǔ)過程的功能相同的服務(wù)時(shí),只需調(diào)用存儲(chǔ)過程即可。存儲(chǔ)過程與函數(shù)的區(qū)別。10.1.1創(chuàng)建存儲(chǔ)過程教師演示講解操作過程,介紹相關(guān)命令的用法。1.創(chuàng)建存儲(chǔ)過程創(chuàng)建存儲(chǔ)過程與創(chuàng)建自定義函數(shù)大體相同,其語法格式如下。CREATEPROCEDURE存儲(chǔ)過程名([[IN|OUT|INOUT]參數(shù)名數(shù)據(jù)類型])存儲(chǔ)過程體【例題10.1】在cjgl數(shù)據(jù)庫中創(chuàng)建一個(gè)名稱為proc_rjxs的存儲(chǔ)過程,其功能是顯示學(xué)生表xs中軟件技術(shù)專業(yè)的學(xué)生的信息。【例題10.2】在cjgl數(shù)據(jù)庫中創(chuàng)建一個(gè)名稱為proc_xsxx的存儲(chǔ)過程,其功能是根據(jù)給定的學(xué)號(hào)顯示相應(yīng)學(xué)生的信息。【例題10.3】在cjgl數(shù)據(jù)庫中創(chuàng)建一個(gè)帶輸入輸出參數(shù)的存儲(chǔ)過程proc_xmxh,其功能是根據(jù)給定的學(xué)生姓名返回相應(yīng)學(xué)生的學(xué)號(hào)。2.調(diào)用存儲(chǔ)過程在MySQL中使用CALL語句來調(diào)用存儲(chǔ)過程,其語法格式如下。CALL存儲(chǔ)過程名([參數(shù)[...]]);【例題10.4】調(diào)用存儲(chǔ)過程proc_rjxs,顯示學(xué)生表xs中軟件技術(shù)專業(yè)的學(xué)生的信息。調(diào)用存儲(chǔ)過程proc_xsxx,顯示學(xué)號(hào)為001101的學(xué)生的信息。調(diào)用存儲(chǔ)過程proc_xmxh,查詢學(xué)生“王金華”的學(xué)號(hào)。10.1.2管理存儲(chǔ)過程教師演示講解操作過程,介紹相關(guān)命令的用法。1.查看存儲(chǔ)過程(1)查看存儲(chǔ)過程的定義。在MySQL中可以通過SHOWCREATE語句查看存儲(chǔ)過程的定義,其語法格式如下。SHOWCREATEPROCEDURE存儲(chǔ)過程名;如SHOWCREATEPROCEDUREproc_rjxs;。(2)查看存儲(chǔ)過程的狀態(tài)信息。在MySQL中可以通過SHOWSTATUS語句查看存儲(chǔ)過程的狀態(tài),其語法格式如下。SHOWPROCEDURESTATUSLIKE存儲(chǔ)過程名;如SHOWPROCEDURESTATUSLIKEproc_xsxx;。2.修改存儲(chǔ)過程的特征信息可以使用ALTERPROCEDURE語句修改存儲(chǔ)過程的某些特征,其語法格式如下。ALTERPROCEDURE存儲(chǔ)過程名[特征...]【例題10.5】修改存儲(chǔ)過程proc_rjxs的定義,將讀寫權(quán)限改為MODIFIESSQLDATA,并指明可調(diào)用者。3.刪除存儲(chǔ)過程在MySQL中,可使用DROPPROCEDURE語句來刪除數(shù)據(jù)庫中已經(jīng)存在的存儲(chǔ)過程,其語法格式如下。DROPPROCEDURE[IFEXISTS]存儲(chǔ)過程名;【例題10.6】刪除名為proc_rjxs的存儲(chǔ)過程。10.1.3使用MySQLWorkbench圖形化工具創(chuàng)建和管理存儲(chǔ)過程教師演示講解操作過程。1.創(chuàng)建存儲(chǔ)過程【例題10.7】在cjgl數(shù)據(jù)庫中創(chuàng)建一個(gè)名稱為proc_wlxs的存儲(chǔ)過程,其功能是顯示學(xué)生表xs中網(wǎng)絡(luò)技術(shù)專業(yè)的學(xué)生的信息。2.管理存儲(chǔ)過程課堂小結(jié):教師針對(duì)學(xué)生實(shí)驗(yàn)中出現(xiàn)的典型問題進(jìn)行點(diǎn)評(píng),學(xué)生討論、查漏補(bǔ)缺。教師總結(jié)本次課學(xué)習(xí)的主要內(nèi)容。學(xué)生小組練習(xí),教師巡視指導(dǎo)。學(xué)生小組練習(xí)學(xué)生小組練習(xí)課后拓展提升課后作業(yè)教材習(xí)題10實(shí)驗(yàn)12人力資源管理系統(tǒng)中存儲(chǔ)過程與觸發(fā)器的應(yīng)用教學(xué)總結(jié)第32次課(任務(wù)2觸發(fā)器)教學(xué)環(huán)節(jié)教學(xué)活動(dòng)主要內(nèi)容說明課前預(yù)習(xí)學(xué)生通過在線課程平臺(tái)預(yù)習(xí)本單元內(nèi)容。課中講練一、復(fù)習(xí)鞏固教師檢查學(xué)生對(duì)前次上課內(nèi)容的掌握情況,對(duì)學(xué)生吸收不好的知識(shí)點(diǎn)進(jìn)行再次鞏固講解。二、導(dǎo)入新課觸發(fā)器是一種特殊類型的存儲(chǔ)過程,與存儲(chǔ)過程的區(qū)別在于存儲(chǔ)過程通過調(diào)用實(shí)現(xiàn),而觸發(fā)器不能被顯式地調(diào)用,只有在預(yù)先定義好的事件發(fā)生時(shí),才會(huì)被激活從而被執(zhí)行。觸發(fā)器與數(shù)據(jù)表關(guān)聯(lián),在MySQL中,只有執(zhí)行INSERT、UPDATE和DELETE操作時(shí)才能激活觸發(fā)器,其他SQL語句則不會(huì)激活觸發(fā)器。例如,向數(shù)據(jù)表中插入數(shù)據(jù)前強(qiáng)制檢驗(yàn)或轉(zhuǎn)換數(shù)據(jù),或在觸發(fā)器中的代碼執(zhí)行發(fā)生了錯(cuò)誤后撤銷已執(zhí)行成功的操作等。三、新課講解任務(wù)2觸發(fā)器10.2.1觸發(fā)器概述教師結(jié)合PPT講解。觸發(fā)器主要用于加強(qiáng)業(yè)務(wù)規(guī)則和數(shù)據(jù)完整性。觸發(fā)器可以實(shí)現(xiàn)比CHECK約束更復(fù)雜的檢查和操作,以保護(hù)表中的數(shù)據(jù)??梢杂捎|發(fā)器通過數(shù)據(jù)庫中的相關(guān)表進(jìn)行級(jí)聯(lián)無痕更新操作,實(shí)現(xiàn)對(duì)數(shù)據(jù)的完全校驗(yàn),在一定程度上保證了數(shù)據(jù)的完整性。一般在使用觸發(fā)器前應(yīng)優(yōu)先考慮用約束,在必要時(shí)才使用觸發(fā)器。使用觸發(fā)器的不足之處是如果需要變動(dòng)的數(shù)據(jù)量較大,觸發(fā)器的執(zhí)行效率會(huì)非常低。使用觸發(fā)器實(shí)現(xiàn)的業(yè)務(wù)邏輯在出現(xiàn)問題時(shí)很難進(jìn)行定位,特別是在涉及多個(gè)觸發(fā)器的情況下,會(huì)增加維護(hù)成本。根據(jù)觸發(fā)事件,觸發(fā)器分為3種:INSERT觸發(fā)器、UPDATE觸發(fā)器和DELETE觸發(fā)器。根據(jù)觸發(fā)器發(fā)生的時(shí)機(jī),觸發(fā)器可分為BEFORE觸發(fā)器和AFTER觸發(fā)器。10.2.2創(chuàng)建觸發(fā)器教師演示講解操作過程,介紹相關(guān)命令的用法。在MySQL中,可使用CREATETRIGGER語句創(chuàng)建觸發(fā)器,其語法格式如下。CREATETRIGGER觸發(fā)器名<BEFORE|AFTER><INSERT|UPDATE|DELETE>ON表名FOREACHROW[FOLLOWS|PRECEDES]觸發(fā)器體當(dāng)對(duì)學(xué)生表進(jìn)行插入、更新或刪除操作時(shí),有時(shí)希望自動(dòng)給出一些提示信息,或者自動(dòng)做一些相應(yīng)的處理,如在學(xué)生表中刪除一條學(xué)生信息時(shí),需要?jiǎng)h除其成績表上的對(duì)應(yīng)記錄,這時(shí)就可以使用觸發(fā)器?!纠}10.8】創(chuàng)建觸發(fā)器xs_AFTER_INSERT,其功能是在向?qū)W生表中插入一條學(xué)生記錄后,可顯示“已向xs表中插入一條記錄”的消息。觸發(fā)器是因事件被觸發(fā)而執(zhí)行的。本例中,先向?qū)W生表xs中插入一條記錄,觸發(fā)器xs_AFTER_INSERT將被觸發(fā)并激活執(zhí)行,然后查看變量@message的值。【例題10.9】創(chuàng)建觸發(fā)器xs_BEFORE_DELETE,其功能是當(dāng)刪除學(xué)生表xs中某個(gè)學(xué)生的記錄時(shí),成績表中該學(xué)生的相關(guān)成績信息也一并被刪除。10.2.3管理觸發(fā)器教師演示講解操作過程,介紹相關(guān)命令的用法。1.查看觸發(fā)器查看觸發(fā)器是指查看數(shù)據(jù)庫中已經(jīng)存在的觸發(fā)器的定義、狀態(tài)和語法信息等。(1)用SHOWTRIGGERS語句查看觸發(fā)器信息。在MySQL中,可以用SHOWTRIGGERS語句來查看觸發(fā)器的基本信息,其語法格式如下。SHOWTRIGGERS[FROM數(shù)據(jù)庫名][LIKE區(qū)配模式|WHERE條件表達(dá)式];【例題10.10】查看當(dāng)前數(shù)據(jù)庫中創(chuàng)建的所有觸發(fā)器的信息?!纠}10.11】查看觸發(fā)器xs_BEFORE_DELETE的信息。2.修改觸發(fā)器觸發(fā)器的定義不可修改,如果要修改觸發(fā)器,可以先刪除原觸發(fā)器,再以相同的名稱創(chuàng)建新的觸發(fā)器。3.刪除觸發(fā)器可以使用DROPTRIGGER語句將觸發(fā)器從數(shù)據(jù)庫中刪除,其語法格式如下。DROPTRIGGER[IFEXISTS]觸發(fā)器名;【例題10.12】刪除名為xs_BEFORE_DELETE的觸發(fā)器。10.2.4使用MySQLWorkbench圖形化工具創(chuàng)建和管理觸發(fā)器教師演示講解操作過程。使用MySQLWorkbench圖形化工具可以方便快捷地創(chuàng)建和管理觸發(fā)器。1.創(chuàng)建觸發(fā)器打開MySQLWorkbench圖形化工具,在SCHEMAS欄中單擊cjgl數(shù)據(jù)庫,右擊xs表

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論