MySQL基礎教學教案_第1頁
MySQL基礎教學教案_第2頁
MySQL基礎教學教案_第3頁
MySQL基礎教學教案_第4頁
MySQL基礎教學教案_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機與信息工程學院

教案

20XX-20XX學年度第1學期

課程名稱MySQL數(shù)據(jù)庫

主講教師

授課對象

授課時間

授課地點

教案(首頁)

初中九年級數(shù)學教案編寫時間:

課程代碼總學時:80學時

課程名稱MySQL數(shù)據(jù)庫講授:48學時

學分2上機:32學時

通識教育課()專業(yè)基礎課()專業(yè)課(V)實驗:0學時

課程類別

任意選修課()實踐課()其它()其它:0學時

授課對象2017計算機科學與技術1班2班

MySQL基礎與實例教程

主要參考資料:

PHP編程基礎與實例教程

JavaWeb基礎與實例教程

教學目地,要求:

教學目地:

本課程是面向計算機有關專業(yè)地一門專業(yè)基礎課,涉及數(shù)據(jù)庫基礎知識,MySQL數(shù)據(jù)庫地

安裝與配置,數(shù)據(jù)庫與表地操作,事務管理,鎖管理,存儲過程管理,視圖管理,函數(shù)管理,

應用程序開發(fā)等內(nèi)容,通過本課程地學習,學生能夠了解數(shù)據(jù)庫地基礎知識,掌握MySQL

數(shù)據(jù)庫地開發(fā)與管理技術,并初步具備應用程序開發(fā)能力。具體如下:

1.了解MySQL地特征及功能,掌握MySQL地基礎知識與核心技術。

2.掌握MySQL地安裝及配置,熟悉MySQL在應用程序中地作用。

3.掌握MySQL數(shù)據(jù)庫開發(fā)地全過程。

對課程教學環(huán)節(jié)地要求:

通過該課程地學習,使學生熟練掌握MySQL命令以及SQL語句,并能熟練應用于中小型動

態(tài)網(wǎng)站地建設中,在項目實踐中提高學生地動手能力與創(chuàng)新能力。具體如下:

1.在掌握MySQL基本知識地基礎上,以能力培養(yǎng)為主線,結合實際開發(fā)案例,突出主要知

識點,避免泛泛而談。

2.通過課堂實例練習,提高數(shù)據(jù)庫開發(fā)能力,學以致用。

3.通過上機實踐,把理論知識與實踐相結合,提高學生學習興趣。

4.引導學生創(chuàng)新,創(chuàng)意;對基本教初中九年級數(shù)學學案例地功能加以擴展,激發(fā)創(chuàng)新意

識。

教學重點,難點:

教學重點:

MySQL服務器地配置,MySQL存儲引擎地概念,MySQL字符集,存儲過程,函數(shù),事務與鎖管

理。

教學難點:

在學生沒有太多編程知識地前提下進行數(shù)據(jù)庫建模,開發(fā)小型軟件項目。

注:1.本頁內(nèi)容針對所講授課程地總體情況填寫;

2.預留版面不夠可另附頁。

第1章數(shù)據(jù)庫設計概述

一,教學目地:

了解:本章拋開MySQL講解關系數(shù)據(jù)庫設計地有關知識,以“選課系統(tǒng)”為例,講解

“選課系統(tǒng)”數(shù)據(jù)庫地設計流程。

掌握:通過本章地學習,學生將具備一定地數(shù)據(jù)庫設計能力

二,教學重點:

教學重點是E-R圖地設計。

教學難點是關系數(shù)據(jù)庫地設計。

三,教學難點:

教學難點是關系數(shù)據(jù)庫地設計。

四,教學進程(含學習內(nèi)容,教學方法,輔助手段,師生互動,時間分配,板書

設計,作業(yè)布置等):

學習內(nèi)容:

本章首先介紹數(shù)據(jù)庫概述,然后介紹數(shù)據(jù)庫設計地有關知識,并以選課系統(tǒng)E-R圖為例介

紹關系數(shù)據(jù)庫地設計過程。通過本章地學習,讀者可以了解關系數(shù)據(jù)庫地設計流程。

教學設計:

新課導入,案例教學,課堂討論,作業(yè)講評。

教學方法:

以多媒體講授為主,適當結合提問,設問,討論等方法。

內(nèi)容提要:

1.1數(shù)據(jù)庫概述

1.1.1關系數(shù)據(jù)庫管理系統(tǒng)

1.1.2關系數(shù)據(jù)庫

1.1.3結構化查詢語言SQL

1.2數(shù)據(jù)庫設計地有關知識

1.2.1商業(yè)知識與溝通技能

1.2.2數(shù)據(jù)庫設計輔助工具

1.2.3“選課系統(tǒng)”概述

1.2.4定義問題域

1.2.5編碼規(guī)范

1.3E-R圖

1.3.1實體與屬性

1.3.2關系

1.3.3E-R圖地設計原則

1.4關系數(shù)據(jù)庫設計

1.4.1為每個實體建立一張數(shù)據(jù)庫表

1.4.2為每張表定義一個主鍵

1.4.3增加外鍵表示一對多關系

1.4.4建立新表表示多對多關系

1.4.5為字段選擇合適地數(shù)據(jù)類型

1.4.6定義約束(constraint)條件

1.4.7評價數(shù)據(jù)庫表設計地質(zhì)量

1.4.8使用規(guī)范化減少數(shù)據(jù)冗余

1.4.9避免數(shù)據(jù)經(jīng)常發(fā)生變化

4,課后小結與課后作業(yè)(5分鐘)

討論與思考:

1.數(shù)據(jù)庫管理系統(tǒng)中常用地數(shù)學模型有哪些?

2.您聽說過地關系數(shù)據(jù)庫管理系統(tǒng)有哪些?數(shù)據(jù)庫容器中通常包含哪些數(shù)據(jù)庫對

象?

3.通過本章知識地講解,SQL與程序設計語言有什么關系?

4.通過本章地學習,您了解地MySQL有哪些特點?

5.通過本章地學習,您覺得數(shù)據(jù)庫表與電子表格(例如Excel)有哪些區(qū)別?

6.您所熟知地數(shù)據(jù)庫設計輔助工具有哪些?您所熟知地模型,工具,技術有哪些?

7.請您羅列出“選課系統(tǒng)”需要實現(xiàn)哪些功能,使用數(shù)據(jù)庫技術能夠解決“選課系

統(tǒng)”中地哪些商業(yè)問題?

8.您所熟知地編碼規(guī)范有哪些?

9.您是如何理解“E-R圖中實體間地關系是雙向地”?能不能舉個例子?

10.E-R圖中,什么是基數(shù)?什么是元?什么是關聯(lián)?

作業(yè):

1.根據(jù)本章地場景描述——“很多團購網(wǎng)站在網(wǎng)上對房源進行出租"地E-R圖,請設計

該場景描述地數(shù)據(jù)庫表。

2.如果將學生student表設計為如下表結構:

(student_no,student_no,student_name,student_contact,class_no,department_name)

3.請用數(shù)據(jù)庫規(guī)范化地知識解釋該表是否滿足3NF范式地要求?該表是否存在數(shù)據(jù)冗

余?是否會產(chǎn)生諸如插入異常,刪除異常,修改復雜等數(shù)據(jù)冗余“并發(fā)癥”?

4.在“選課系統(tǒng)”中,學生選課時,由于每一門課程受到教室座位數(shù)地限制,每一門課程

設置了人數(shù)上限,如何確保每一門課程選報學生地人數(shù)不超過人數(shù)上限?有幾種設

計方案?這些設計方案地區(qū)別在哪里?

5.“選課系統(tǒng)”有幾張表,每個表有哪些字段?

6.依據(jù)自己所掌握地知識,描述如何使用數(shù)據(jù)庫技術解決“選課系統(tǒng)”問題域中地問

題。?

五,主要參考資料:

《PHP編程基礎與實例教程》

?JavaWeb基礎與實例教程》

第2章MySQL基礎知識

一,教學目地:

本章將向學生展示一個完整地MySQL數(shù)據(jù)庫開發(fā)流程,完整地MySQL數(shù)據(jù)庫開發(fā)

流程應該包括:設計數(shù)據(jù)庫表(第一章已經(jīng)講過),安裝,配置與啟動MySQL服務,連接

MySQL服務器,設置字符集,創(chuàng)建數(shù)據(jù)庫,選擇當前操作地數(shù)據(jù)庫,在當前數(shù)據(jù)庫中創(chuàng)建表

(設置存儲引擎),索引,視圖,存儲過程,觸發(fā)器等數(shù)據(jù)庫對象,訪問數(shù)據(jù)庫表等數(shù)據(jù)庫對象,

備份數(shù)據(jù)庫以及恢復數(shù)據(jù)庫等內(nèi)容。

二,教學重點:

字符集以及字符序設置,MySQL表管理

三,教學難點:

理解系統(tǒng)變量地使用

四,教學進程(含學習內(nèi)容,教學方法,輔助手段,師生互動,時間分配,板書

設計,作業(yè)布置等):

學習內(nèi)容:

本章著重講述MySQL安裝,MySQL服務器配置以及字符集設置,詳細講解MySQL數(shù)據(jù)

庫管理以及MySQL表管理等知識。通過本章地學習,讀者可以從整體上認識MySQL地

各個知識點。

教學設計:

新課導入,案例教學,課堂討論,作業(yè)講評。

教學方法:

以多媒體講授為主,適當結合提問,設問,討論等方法。

內(nèi)容提要:

2.1MySQL概述

2.1.1MySQL地特點

2.1.2MySQL服務地安裝

2.1.3MySQL服務地配置

2.1.4啟動與停止MySQL服務

2.1.5MySQL配置文件

2.1.6MySQL客戶機

2.1.7連接MySQL服務器

2.2字符集以及字符序設置

2.2.1字符集及字符序概念

2.2.2MySQL字符集與字符序

2.2.3MySQL字符集地轉換過程

2.2.4MySQL字符集地設置

2.2.5SQL腳本文件

2.3MySQL數(shù)據(jù)庫管理

2.3.1創(chuàng)建數(shù)據(jù)庫

2.3.2查看數(shù)據(jù)庫

2.3.3顯示數(shù)據(jù)庫結構

2.3.4選擇當前操作地數(shù)據(jù)庫

2.3.5刪除數(shù)據(jù)庫

2.4MySQL表管理

2.4.1MylSAM與InnoDB存儲引擎

2.4.2設置默認地存儲引擎

2.4.3創(chuàng)建數(shù)據(jù)庫表

2.4.4顯示表結構

2.4.5表記錄地管理

2.4.6InnoDB表空間

2.4.7刪除表

2.5系統(tǒng)變量

2.5.1全局系統(tǒng)變量與會話系統(tǒng)變量

2.5.2查看系統(tǒng)變量地值

2.5.3設置系統(tǒng)變量地值

2.6MySQL數(shù)據(jù)庫備份與恢復

4,課后小結與課后作業(yè)(5分鐘)

討論與思考:

1.通過本章地學習,您了解地MySQL有哪些特點?

2.請您簡單描述MySQL地使用流程。什么是MySQL客戶機?登錄主機與MySQL

客戶機有什么關系?什么是MySQL會話?

3.通過Google或者Baidu搜索引擎,搜索常用地MySQL客戶端工具(或者客戶機

程序)有哪些。

4.MySQL服務,MySQL服務實例,MySQL服務器分別是什么?什么是端口號?端

口號有什么作用?

5.請列舉my.ini配置文件中常用地參數(shù)選項組以及參數(shù)信息。

6.啟動MySQL服務地方法有哪些?停止MySQL服務地方法有哪些?

7.MySQL客戶機連接MySQL服務器地方法有哪些?連接MySQL服務器時,需提

供哪些信息?

8.字符,字符集,字符序分別是什么?字符序地命名規(guī)則是什么?

9.您所熟知地字符集,字符序有哪些?它們之間有什么區(qū)別?

10.請簡述MySQL字符集地轉換過程。

11.MySQL系統(tǒng)數(shù)據(jù)庫有哪些?這些系統(tǒng)數(shù)據(jù)庫有什么作用?

12.如果僅僅需要在數(shù)據(jù)庫中存儲中文簡體字符,那么如何設置MySQL字符集?

作業(yè):

創(chuàng)建student數(shù)據(jù)庫,并在該數(shù)據(jù)庫中創(chuàng)建student表,用于保存您地個人信息(如姓名,

性別,身份證號,出生日期等),并完成下列操作或問題。

1)上述地student表有沒有出現(xiàn)數(shù)據(jù)冗余現(xiàn)象?(提示:出生日期可以由身份證號推

算得出)

2)student數(shù)據(jù)庫目錄存放在數(shù)據(jù)庫根目錄中,默認情況下,根目錄是什么?

3)如何查看student數(shù)據(jù)庫地結構。

4)如何查看student表地結構,并查看該表地默認字符集,字符序,存儲引擎等信息。

5)student數(shù)據(jù)庫目錄中存放了哪些文件?數(shù)據(jù)庫根目錄中存放了哪些文件?

6)將個人信息插入到student表中,并查詢student表地所有記錄。

7)在上一步驟地查詢結果中是否出現(xiàn)了亂碼?如果出現(xiàn)了亂碼,如何避免亂碼問題

地發(fā)生?如果沒有出現(xiàn)亂碼,經(jīng)過哪些設置可以產(chǎn)生亂碼?

8)您地個人信息存放到了哪個文件中?

9)如何修改student表地存儲引擎?修改student表地存儲引擎后,您地個人信息存

放到了哪個文件中?

10)刪除student表以及student數(shù)據(jù)庫。

五,主要參考資料:

《PHP編程基礎與實例教程》

?JavaWeb基礎與實例教程》

第3章MySQL表結構地管理

一,教學目地:

本章詳細講解“選課系統(tǒng)”數(shù)據(jù)庫中各個表地實施過程,包括定義表地字段(字段名

及數(shù)據(jù)類型),約束條件,存儲引擎以及字符集,索引等內(nèi)容。通過本章地學習,學生可以掌

握表結構管理地有關知識。

二,教學重點:

教學重點是MySQL數(shù)據(jù)類型,創(chuàng)建表,修改表結構。

三,教學難點:

教學難點是理解索引地使用。

四,教學進程(含學習內(nèi)容,教學方法,輔助手段,師生互動,時間分配,板書

設計,作業(yè)布置等):

學習內(nèi)容:

表結構地管理包括創(chuàng)建表(createtable),修改表結構(altertable),刪除表(droptable)

以及索引地管理。

教學設計:

新課導入,案例教學,課堂討論,作業(yè)講評。

教學方法:

以多媒體講授為主,適當結合提問,設問,討論等方法。

內(nèi)容提要:

3.1MySQL數(shù)據(jù)類型

3.1.1MySQL整數(shù)類型

3.1.2MySQL小數(shù)類型

3.1.3MySQL字符串類型

3.1.4MySQL日期類型

3.1.5MySQL復合類型

3.1.6MySQL二進制類型

3.1.7選擇合適地數(shù)據(jù)類型

3.2創(chuàng)建表

3.2.1設置約束

3.2.2設置自增型字段

3.2.3其它選項地設置

3.2.4創(chuàng)建“選課系統(tǒng)”數(shù)據(jù)庫表

3.2.5復制一個表結構

3.3修改表結構

3.3.1修改字段有關信息

3.3.2修改約束條件

3.3.3修改表地其它選項

3.3.4修改表名

3.4刪除表

3.5索引

3.5.1理解索引

3.5.2索引關鍵字地選取原則

3.5.3索引與約束

3.5.4創(chuàng)建索引

3.5.5刪除索引

4,課后小結與課后作業(yè)(5分鐘)

討論與思考:

1.MySQL數(shù)據(jù)庫類型有哪些?如何選擇合適地數(shù)據(jù)類型?

2.簡單總結char(n)數(shù)據(jù)類型與varchar(n)數(shù)據(jù)類型有哪些區(qū)別。

3.datetime與timestamp數(shù)據(jù)類型有什么區(qū)別?

4.MySQL模式與MySQL復合數(shù)據(jù)類型有什么關系?

5.創(chuàng)建SQL腳本文件choose.sql,書寫SQL代碼,運行choose.sql,創(chuàng)建choose數(shù)據(jù)庫

地5張表。

作業(yè):

1.分析choose數(shù)據(jù)庫地5張表地表結構,通過這5張表,可以解決“選課系統(tǒng)”問題

域中地哪些問題?

2.您是如何理解索引地?索引越多越好嗎?

3.索引關鍵字地選取原則有哪些?

4.您所熟知地索引種類有哪些?什么是全文索引?

5.索引與約束有什么關系?

五,主要參考資料:

《PHP編程基礎與實例教程》

?JavaWeb基礎與實例教程》

第4章表記錄地更新操作

一,教學目地:

成功創(chuàng)建數(shù)據(jù)庫表后,需要向表插入測試數(shù)據(jù),必要時需要對測試數(shù)據(jù)進行修改與刪

除,這些操作稱為表記錄地更新操作。通過學習,學生可以對表進行更新操作,包括插入,

修改與刪除記錄,為接下來地章節(jié)準備測試數(shù)據(jù),便于后續(xù)章節(jié)地學習。

二,教學重點:

教學重點是insert語句,update語句以及delete語句地使用。

三,教學難點:

教學難點是理解MySQL特殊字符序列。

四,教學進程(含學習內(nèi)容,教學方法,輔助手段,師生互動,時間分配,板書

設計,作業(yè)布置等):

學習內(nèi)容:

本章詳細講解“選課系統(tǒng)”地各種更新操作,一方面是為接下來地章節(jié)準備測試數(shù)據(jù),

另一方面希望學生對“選課系統(tǒng)”地各個表結構有更深刻地認識。。

教學設計:

新課導入,案例教學,課堂討論,作業(yè)講評。

教學方法:

以多媒體講授為主,適當結合提問,設問,討論等方法。

內(nèi)容提要:

4.1表記錄地插入

4.1.1使用insert語句插入新記錄

4.1.2更新操作與字符集

4.1.3關于自增型字段

4.1.4批量插入多條記錄

4.1.5使用insert…select插入結果集

4.1.6使用replace插入新記錄

4.2表記錄地修改

4.3表記錄地刪除

4.3.1使用delete刪除表記錄

4.3.2使用truncate清空表記錄

4.4MySQL特殊字符序列

4,課后小結與課后作業(yè)(5分鐘)

討論與思考:

1.NUL與NULL有什么區(qū)別?

2.truncate與delete有什么區(qū)別?

3.更新操作與字符集有什么關系?

4.數(shù)據(jù)庫表中自增型字段地值一定連續(xù)嗎?

5.replace語句與insert語句有什么區(qū)別?

6.執(zhí)行了delete語句后,表結構被刪除了嗎?使用什么命令可以刪除表結構?

作業(yè):

請讀者向"選課系統(tǒng)"choose數(shù)據(jù)庫中地選課choose表插入表4-8所示地信息,并

完成其它操作。

表4-8向choose表添加地測試數(shù)據(jù)

choose_nostudent_nocourse_noscorechoose_tim

e

12012001240服務器當

前時間

22012001150服務器當

前時間

32012002360服務器當

前時間

42012002270服務器當

前時間

52012003180服務器當

前時間

62012004290服務器當

前時間

720120053NULL服務器當

前時間

820120051NULL服務器當

前時間

(1)學生張三(student_no=2012005)已經(jīng)選修了課程java程序設計(course_no=l),

在選修時間截止前,它想把該課程調(diào)換成MySQL數(shù)據(jù)庫(course_no=2),試用SQL語句

實現(xiàn)該功能。

提示:實現(xiàn)調(diào)課有兩種方法。第一種方法是直接使用update語句調(diào)換課程;第二種方

法是先刪除張三選修java程序設計地記錄,然后再插入張三選修MySQL數(shù)據(jù)庫地記錄。

(2)學生田七(student_no=5)已經(jīng)選修了課程c語言程序設計(course_no=3),

由于某種原因,在選修時間截止前,它不想選修該課程了,試用SQL語句實現(xiàn)該功能。

(3)課程結束后,請錄入某個學生地最終成績,最終成績=(原成績*70%)+30o

(4)請解釋學生地成績?yōu)镹ULL值地意義,NULL值等于零嗎?

五,主要參考資料:

《PHP編程基礎與實例教程》

?JavaWeb基礎與實例教程》

第5章記錄地檢索

一,教學目地:

通過本章地學習,學生可以從數(shù)據(jù)庫表中檢索出自己需要地數(shù)據(jù)。

二,教學重點:

教學重點是select語句地使用。

三,教學難點:

教學難點是全文檢索地使用。

四,教學進程(含學習內(nèi)容,教學方法,輔助手段,師生互動,時間分配,板書

設計,作業(yè)布置等):

學習內(nèi)容:

數(shù)據(jù)庫中最為常用地操作是從表中檢索所需要地數(shù)據(jù)。本章將詳細講解select語句

檢索表記錄地方法,并結合“選課系統(tǒng)”,討論該系統(tǒng)部分問題域地解決方法。

教學設計:

新課導入,案例教學,課堂討論,作業(yè)講評。

教學方法:

以多媒體講授為主,適當結合提問,設問,討論等方法。

內(nèi)容提要:

5.1select語句概述

5.1.1使用select子句指定字段列表

5.1.2使用謂詞過濾記錄

5.1.3使用from子句指定數(shù)據(jù)源

5.1.4多表連接

5.2使用where子句過濾結果集

5.2.1使用單一地條件過濾結果集

5.2.2isNULL運算符

5.2.3select語句與字符集

5.2.4使用邏輯運算符

5.2.5使用like進行模糊查詢

5.3使用orderby子句對結果集排序

5.4使用聚合函數(shù)匯總結果集

5.5使用groupby子句對記錄分組統(tǒng)計

5.5.1groupby子句與聚合函數(shù)

5.5.2groupby子句與having子句

5.5.3groupby子句與group_concat()函數(shù)

5.5.4groupby子句與withrollup選項

5.6合并結果集

5.7子查詢

5.7.1子查詢與比較運算符

5.7.2子查詢與in運算符

5.7.3子查詢與exists邏輯運算符

5.7.4子查詢與any運算符

5.7.5子查詢與all運算符

5.8選課系統(tǒng)綜合查詢

5.9使用正則表達式模糊查詢

5.10全文檢索

5.10.1全文檢索地簡單應用

5.10.2全文檢索方式

5.10.3布爾檢索模式地復雜應用

5.10.4MySQL全文檢索地注意事項

5.10.5InnoDB表地全文檢索

4,課后小結與課后作業(yè)(5分鐘)

討論與思考:

1.簡述limit以及distinct地用法。

2.什么是內(nèi)連接,外連接?MySQL支持哪些外連接?

3.NULL參與算術運算,比較運算以及邏輯運算時,結果是什么?

4.NULL參與排序時,MySQL對NULL如何處理?

5.您怎樣理解select語句與字符集之間地關系?

6.MySQL常用地聚合函數(shù)有哪些?這些聚合函數(shù)對NULL值操作地結果是什么?

7.您怎樣理解having子句與where子句之間地區(qū)別?

8.您怎樣理解concat()與group_concat()函數(shù)之間地區(qū)別?

9.什么是有關子查詢與非有關子查詢?

10.給定一個教師地工號(例如‘001'),統(tǒng)計該教師已經(jīng)申報了哪些課程。

11.MySQL如何使用like關鍵字實現(xiàn)模糊查詢?有什么注意事項?

12.MySQL如何使用正則表達式實現(xiàn)模糊查詢?

13.MySQL如何進行全文檢索?全文檢索有什么注意事項?

14.您覺得全文檢索與like模糊查詢,正則表達式模糊查詢最大地區(qū)別是什么?

15.最新版本地MySQL中,InnoDB存儲引擎地表支持全文檢索嗎?

16.MySQL不支持完全連接,您能不能通過其它技術手段實現(xiàn)完全連接地功能?

17.合并結果集時,union與unionall有什么區(qū)別?

作業(yè):

1.請編寫SQL腳本,輸入選課系統(tǒng)綜合查詢章節(jié)內(nèi)地select語句。

五,主要參考資料:

《PHP編程基礎與實例教程》

?JavaWeb基礎與實例教程》

第6章MySQL編程基礎

一,教學目地:

通過學習,學生可以編寫復雜地存儲程序代碼,便于MySQL代碼維護,提高MySQL

代碼地重用性。

二,教學重點:

教學重點是自定義函數(shù)以及系統(tǒng)函數(shù)地使用。

三,教學難點:

教學難點是中文全文檢索地模擬實現(xiàn)。

四,教學進程(含學習內(nèi)容,教學方法,輔助手段,師生互動,時間分配,板書

設計,作業(yè)布置等):

學習內(nèi)容:

本章首先介紹MySQL編程地基礎知識,然后講解自定義函數(shù)地實現(xiàn)方法,接著介紹

MySQL常用地系統(tǒng)函數(shù),最后結合“選課系統(tǒng)”編寫自定義函數(shù),模擬實現(xiàn)了中文全文檢

索。

教學設計:

新課導入,案例教學,課堂討論,作業(yè)講評。

教學方法:

以多媒體講授為主,適當結合提問,設問,討論等方法。

內(nèi)容提要:

6.1MySQL編程基礎知識

6.1.1常量

6.1.2用戶自定義變量

6.1.3運算符與表達式

6.1.4begin-end語句塊

6.1.5重置命令結束標記

6.2自定義函數(shù)

6.2.1創(chuàng)建自定義函數(shù)地語法格式

6.2.2函數(shù)地創(chuàng)建與調(diào)用

6.2.3函數(shù)地維護

6.2.4條件控制語句

6.2.5循環(huán)語句

6.3系統(tǒng)函數(shù)

6.3.1數(shù)學函數(shù)

6.3.2字符串函數(shù)

6.3.3數(shù)據(jù)類型轉換函數(shù)

6.3.4條件控制函數(shù)

6.3.5系統(tǒng)信息函數(shù)

6.3.6日期與時間函數(shù)

6.3.7其它常用地MySQL函數(shù)

6.4中文全文檢索地模擬實現(xiàn)

4,課后小結與課后作業(yè)(5分鐘)

討論與思考:

1.使用select語句輸出各種數(shù)據(jù)類型地常量時,數(shù)據(jù)類型都是如何轉換地?

2.系統(tǒng)會話變量與用戶會話變量有什么區(qū)別與聯(lián)系?

3.用戶會話變量與局部變量有什么區(qū)別與聯(lián)系?

4.為用戶會話變量或者局部變量賦值時,有哪些注意事項?

5.編寫MySQL存儲程序時,為什么需要重置命令結束標記?

6.創(chuàng)建本書涉及到地所有自定義函數(shù),并進行調(diào)用。

7.總結哪些日期,時間函數(shù)地執(zhí)行結果與時區(qū)地設置無關。

8.創(chuàng)建自定義函數(shù)有哪些注意事項?

作業(yè):

1.請分析下面地getdate。函數(shù)完成地功能,創(chuàng)建該函數(shù),并調(diào)用該函數(shù)。

delimiter$$

createfunctiongetdate(gdatedatetime)returnsvarchar(255)

nosql

begin

declarexvarchar(255)default

setx=date_format(gdate,,%Y年%m月%d日%h時%i分%s秒');

returnx;

end

$$

delimiter;

2.通過本章知識地講解,您是如何理解中文全文檢索地?您覺得實現(xiàn)中文全文檢索

地核心技術是什么?

五,主要參考資料:

《PHP編程基礎與實例教程》

?JavaWeb基礎與實例教程》

第7章視圖與觸發(fā)器

一,教學目地:

通過本章地學習,學生可以掌握如何使用視圖簡化數(shù)據(jù)查詢操作,以及如何使用觸發(fā)

器實現(xiàn)表記錄地自動維護,表之間復雜關系地自動維護。

二,教學重點:

教學重點是視圖,觸發(fā)器,臨時表,派生表地使用。

三,教學難點:

教學難點是子查詢,視圖,臨時表,派生表地區(qū)別與聯(lián)系。

四,教學進程(含學習內(nèi)容,教學方法,輔助手段,師生互動,時間分配,板書

設計,作業(yè)布置等):

學習內(nèi)容:

作為常用地數(shù)據(jù)庫對象,視圖(view)為數(shù)據(jù)查詢提供了一條捷徑;觸發(fā)器(trigger)

為數(shù)據(jù)自動維護提供了便利。本章首先講解視圖以及觸發(fā)器地管理及使用,然后結合“選

課系統(tǒng)”分別介紹視圖以及觸發(fā)器在該系統(tǒng)中地應用。

教學設計:

新課導入,案例教學,課堂討論,作業(yè)講評。

教學方法:

以多媒體講授為主,適當結合提問,設問,討論等方法。

內(nèi)容提要:

7.1視圖

7.1.1創(chuàng)建視圖

7.1.2查看視圖地定義

7.1.3視圖在“選課系統(tǒng)”中地應用

7.1.4視圖地作用

7.1.5刪除視圖

7.1.6檢查視圖

7.1.7local與cascade檢查視圖

7.2觸發(fā)器

7.2.1準備工作

7.2.2使用觸發(fā)器實現(xiàn)檢查約束

7.2.3使用觸發(fā)器維護冗余數(shù)據(jù)

7.2.4使用觸發(fā)器模擬外鍵級聯(lián)選項

7.2.5查看觸發(fā)器地定義

7.2.6刪除觸發(fā)器

7.2.7使用觸發(fā)器地注意事項

7.3臨時表

7.3.1臨時表概述

7.3.2臨時表地創(chuàng)建,查看與刪除

7.3.3“選課系統(tǒng)”中臨時表地使用

7.3.4使用臨時表地注意事項

7.4派生表(derivedtable)

7.5子查詢,視圖,臨時表,派生表

4,課后小結與課后作業(yè)(5分鐘)

討論與思考:

1.視圖與基表有什么區(qū)別與聯(lián)系?視圖與select語句有什么關系?

2.什么是檢查視圖?什么是local檢查視圖與cascaded檢查視圖?

3.請用觸發(fā)器實現(xiàn)檢查約束:一個學生某門課程地成績score要求在0到100之間取

值。

4.MySQL觸發(fā)器中地觸發(fā)事件有幾種?觸發(fā)器地觸發(fā)時間有幾種?

5.創(chuàng)建觸發(fā)器時,有哪些注意事項?

6.您是如何理解臨時表地?臨時表與基表有什么關系?

7.您是如何理解視圖,子查詢,臨時表,派生表之間地關系地?

作業(yè):

1.使用觸發(fā)器可以實現(xiàn)哪些數(shù)據(jù)地自動維護?

五,主要參考資料:

《PHP編程基礎與實例教程》

?JavaWeb基礎與實例教程》

第8章存儲過程與游標

一,教學目地:

通過學習,學生可以編寫更為復雜地業(yè)務邏輯代碼,為今后設計更為復雜地應用系統(tǒng)

奠定堅實地基礎。

二,教學重點:

教學重點是存儲過程,錯誤觸發(fā)條件,游標與預處理SQL語句地使用。

三,教學難點:

教學難點是存儲過程,錯誤觸發(fā)條件,游標與預處理SQL語句地使用。

四,教學進程(含學習內(nèi)容,教學方法,輔助手段,師生互動,時間分配,板書

設計,作業(yè)布置等):

學習內(nèi)容:

MySQL存儲過程實現(xiàn)了比MySQL函數(shù)更為強大地功能,數(shù)據(jù)庫開發(fā)人員可以將功

能復雜,使用頻繁地MySQL代碼封裝成MySQL存儲過程,從而提高MySQL代碼地重用

性。本章主要講解如何在MySQL中使用存儲過程,內(nèi)容包括存儲過程地創(chuàng)建以及調(diào)

用,MySQL異常處理機制,游標以及MySQL預處理等方面地知識,并結合“選課系統(tǒng)”講

解這些知識在該系統(tǒng)中地應用,最后本章對存儲程序做了總結。

教學設計:

新課導入,案例教學,課堂討論,作業(yè)講評。

教學方法:

以多媒體講授為主,適當結合提問,設問,討論等方法。

內(nèi)容提要:

8.1存儲過程

8.1.1創(chuàng)建存儲過程地語法格式

8.1.2存儲過程地調(diào)用

8.1.3“選課系統(tǒng)”地存儲過程

8.1.4查看存儲過程地定義

8.1.5刪除存儲過程

8.1.6存儲過程與函數(shù)地比較

8.2錯誤觸發(fā)條件與錯誤處理

8.2.1自定義錯誤處理程序

8.2.2自定義錯誤觸發(fā)條件

8.2.3自定義錯誤處理程序說明

8.3游標

8.3.1使用游標

8.3.2游標在“選課系統(tǒng)”中地使用

8.4預處理SQL語句

8.4.1預處理SQL語句使用步驟

8.4.2“選課系統(tǒng)”中預處理SQL語句地使用

8.4.3預處理SQL語句地復雜應用

8.4.4靜態(tài)SQL語句與預處理SQL語句

8.5存儲程序地說明

4,課后小結與課后作業(yè)(5分鐘)

討論與思考:

1.舉例說明,如何遍歷游標中地“結果集”。

2.查看存儲過程定義地方法有哪些?

3.請羅列存儲過程與函數(shù)地區(qū)別與聯(lián)系。

4.數(shù)據(jù)庫開發(fā)人員定義錯誤處理機制時,需要提供錯誤處理類型,錯誤觸發(fā)條件以及

錯誤處理程序等信息,錯誤處理類型有哪些?什么是錯誤觸發(fā)條件以及錯誤處理程

序?

5.游標地使用步驟是什么?每一個步驟完成什么任務?

6.o

7.使用預處理SQL語句有哪些注意事項?預處理SQL語句與靜態(tài)SQL語句有什

么區(qū)別與聯(lián)系?

作業(yè):

1.編寫“選課系統(tǒng)”地存儲過程,并對其進行調(diào)用,測試。

五,主要參考資料:

《PHP編程基礎與實例教程》

?JavaWeb基礎與實例教程》

第9章事務機制與鎖機制

一,教學目地:

通過本章地學習,希望學生了解事務機制與鎖機制地重要性,掌握使用事務機制以及

鎖機制實現(xiàn)多用戶并發(fā)訪問地有關知識。

二,教學重點:

教學重點是如何理解事務機制以及鎖機制。

三,教學難點:

教學難點是事務地ACID特性。

四,教學進程(含學習內(nèi)容,教學方法,輔助手段,師生互動,時間分配,板書

設計,作業(yè)布置等):

學習內(nèi)容:

數(shù)據(jù)庫與文件系統(tǒng)地最大區(qū)別在于數(shù)據(jù)庫實現(xiàn)了數(shù)據(jù)地一致性以及并發(fā)性。對于數(shù)

據(jù)庫管理系統(tǒng)而言事務機制與鎖機制是實現(xiàn)數(shù)據(jù)庫一致性與并發(fā)性地基石。本章探討了

數(shù)據(jù)庫中事務機制與鎖機制地必要性,講解了如何在數(shù)據(jù)庫中使用事務機制與鎖機制實

現(xiàn)數(shù)據(jù)地一致性以及并發(fā)性,并結合“選課系統(tǒng)”講解事務機制與鎖機制在該系統(tǒng)中地應

用。

教學設計:

新課導入,案例教學,課堂討論,作業(yè)講評。

教學方法:

以多媒體講授為主,適當結合提問,設問,討論等方法。

內(nèi)容提要:

9.1事務機制

9.1.1事務機制地必要性

9.1.2關閉MySQL自動提交

9.1.3回滾

9.1.4提交

9.1.5事務

9.1.6保存點

9.1.7“選課系統(tǒng)”中地事務

9.2鎖機制

9.2.1鎖機制地必要性

9.2.2MySQL鎖機制地基礎知識

9.2.3MylSAM表地表級鎖

9.2.4InnoDB表地行級鎖

9.2.5“選課系統(tǒng)”中地行級鎖

9.2.6InnoDB表地意向鎖

9.2.7InnoDB行級鎖與索引之間地關系

9.2.8間隙鎖與死鎖

9.2.9死鎖與鎖等待

9.3事務地ACID特性

9.3.1事務地ACID特性

9.3.2事務地隔離級別與并發(fā)問題

9.3.3設置事務地隔離級別

9.3.4使用間隙鎖避免幻讀現(xiàn)象

9.4事務與鎖機制注意事項

4,課后小結與課后作業(yè)(5分鐘)

討論與思考:

1.請簡單描述事務地必要性。

2.關閉MySQL自動提交地方法有哪些?您推薦數(shù)據(jù)庫開發(fā)人員使用哪一種方法?

3.關閉MySQL自動提交后,提交更新語句地方法有哪些?您推薦數(shù)據(jù)庫開發(fā)人員使

用哪一種方法?

4.請簡單描述典型地事務處理使用方法。

5.請簡單描述典型地事務保存點使用方法。您是如何理解保存點是

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論