SQL Server 2022數(shù)據(jù)庫技術(shù)項目教程 教案全套 胡伏湘 項目1-8 數(shù)據(jù)庫技術(shù)導(dǎo)論- 數(shù)據(jù)庫應(yīng)用程序開發(fā)項目實戰(zhàn)_第1頁
SQL Server 2022數(shù)據(jù)庫技術(shù)項目教程 教案全套 胡伏湘 項目1-8 數(shù)據(jù)庫技術(shù)導(dǎo)論- 數(shù)據(jù)庫應(yīng)用程序開發(fā)項目實戰(zhàn)_第2頁
SQL Server 2022數(shù)據(jù)庫技術(shù)項目教程 教案全套 胡伏湘 項目1-8 數(shù)據(jù)庫技術(shù)導(dǎo)論- 數(shù)據(jù)庫應(yīng)用程序開發(fā)項目實戰(zhàn)_第3頁
SQL Server 2022數(shù)據(jù)庫技術(shù)項目教程 教案全套 胡伏湘 項目1-8 數(shù)據(jù)庫技術(shù)導(dǎo)論- 數(shù)據(jù)庫應(yīng)用程序開發(fā)項目實戰(zhàn)_第4頁
SQL Server 2022數(shù)據(jù)庫技術(shù)項目教程 教案全套 胡伏湘 項目1-8 數(shù)據(jù)庫技術(shù)導(dǎo)論- 數(shù)據(jù)庫應(yīng)用程序開發(fā)項目實戰(zhàn)_第5頁
已閱讀5頁,還剩140頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGE2《SQLServer2022數(shù)據(jù)庫技術(shù)項目教程》教案課程名稱:數(shù)據(jù)庫應(yīng)用技術(shù)授課年級:202X年級授課學期:202X學年第X學期教師姓名:XX老師年月日課題名稱項目1數(shù)據(jù)庫技術(shù)導(dǎo)論之任務(wù)1:了解數(shù)據(jù)庫技術(shù)計劃課時2課時內(nèi)容分析掌握數(shù)據(jù)庫的管理與設(shè)計方法,是程序員的基本技能,要掌握數(shù)據(jù)庫技術(shù),則必須了解數(shù)據(jù)庫的基礎(chǔ)知識。本次課將學習數(shù)據(jù)庫的基本概念,數(shù)據(jù)庫職業(yè)崗位技能需求,圖書館借閱管理系統(tǒng)數(shù)據(jù)庫的基本結(jié)構(gòu)。教學目標及基本要求通過教學,讓學生掌握:數(shù)據(jù)庫的基本類型及主要的國產(chǎn)數(shù)據(jù)庫。關(guān)系數(shù)據(jù)庫的基本概念。軟件企業(yè)數(shù)據(jù)庫管理員崗位的職責與基本要求。圖書館圖書資料借閱管理系統(tǒng)數(shù)據(jù)庫的基本結(jié)構(gòu)。教學重點關(guān)系數(shù)據(jù)庫的基本概念。圖書館管理系統(tǒng)的組成。教學難點圖書館管理系統(tǒng)需求分析。圖書館管理系統(tǒng)數(shù)據(jù)庫的組成。教學方式講授為主,講練結(jié)合教學過程教案1:了解數(shù)據(jù)庫技術(shù)一、課程引入(1)展示淘寶網(wǎng)站和學校教務(wù)管理系統(tǒng)的運行界面,提示學生思考后臺數(shù)據(jù)的保存與處理方法,引出本門課程的內(nèi)容。帶領(lǐng)學生打開這些應(yīng)用系統(tǒng)的工作界面,通過購物、查看課表、查看成績等操作,展現(xiàn)運行過程,引出后臺數(shù)據(jù)管理的概念。(2)提出學習目標1.數(shù)據(jù)庫的基本概念。2.數(shù)據(jù)庫職業(yè)崗位技能需求。3.圖書館借閱管理系統(tǒng)數(shù)據(jù)庫的基本結(jié)構(gòu)。二、新內(nèi)容學習(1)數(shù)據(jù)庫的主要類型數(shù)據(jù)庫主要包括關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫兩種類型,介紹各種數(shù)據(jù)庫的特點及主要產(chǎn)品,關(guān)系型數(shù)據(jù)庫的相關(guān)概念,主要國產(chǎn)數(shù)據(jù)庫,介紹信創(chuàng)產(chǎn)業(yè)。(參考教材1.1.1)(2)數(shù)據(jù)庫職業(yè)崗位技能需求分析教師在智聯(lián)招聘、前程無憂、BOSS直聘、中華英才網(wǎng)、58同城等專業(yè)的人才招聘網(wǎng)站上,搜索數(shù)據(jù)庫管理員、軟件開發(fā)工程師、數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)、網(wǎng)站開發(fā)等崗位,查看崗位職責和主要任務(wù)。(參考教材1.1.2)。安排學生實踐,搜索智聯(lián)招聘、前程無憂、BOSS直聘,了解軟件企業(yè)對DBA的要求,搜索DBA的崗位要求和考證方法。(3)案例數(shù)據(jù)庫及表設(shè)計老師可參考教材內(nèi)容,打開學校圖書館圖書資料借閱管理系統(tǒng),介紹圖書館圖書資料借閱管理系統(tǒng)用戶端界面,引導(dǎo)學生分析總結(jié)該系統(tǒng)的功能,分析主要數(shù)據(jù)表及各個欄目的意義(參考教材1.1.3)。(4)數(shù)據(jù)庫中的表介紹圖書館管理系統(tǒng)libsys的3個表,分析bookInfo表(圖書信息表)、readerInfo表(讀者信息表)、borrowInfo表(借閱信息表)的功能與相互聯(lián)系。教師首先介紹bookInfo表的組成,然后參考教材1.1.3小節(jié)中的字段列表對表中各字段進行介紹,請學生分析readerInfo表,最后選取進行borrowInfo表講解說明。(5)表的記錄介紹圖書館管理系統(tǒng)libsys的3個表,對照bookInfo表(圖書信息表)、readerInfo表(讀者信息表)、borrowInfo表(借閱信息表)的結(jié)構(gòu),分析記錄與表結(jié)構(gòu)的對應(yīng)聯(lián)系。教師首先介紹bookInfo表的記錄,然后參考教材1.1.3小節(jié)中的字段列表對表中各條記錄進行介紹,請學生分析readerInfo表的記錄,最后選取進行borrowInfo記錄講解說明。三、歸納總結(jié),隨堂練習,布置作業(yè)(1)分析學生成績管理系統(tǒng)scoresys的表組成,各表的結(jié)構(gòu)及記錄。(2)按照教材技能訓練1:了解數(shù)據(jù)庫工作崗位的要求,安排學生上機操作,了解數(shù)據(jù)庫課程對應(yīng)的崗位及技能要求;了解常見的數(shù)據(jù)庫有哪些;了解SQLServer數(shù)據(jù)庫;了解常用的國產(chǎn)數(shù)據(jù)庫的特點。(3)打開達夢公司網(wǎng)站,了解達夢數(shù)據(jù)庫的特點及應(yīng)用范圍,了解信創(chuàng)產(chǎn)業(yè)。思考題和習題(1)在你用過的軟件中,如微信,哪些包含了數(shù)據(jù)庫?是怎么看出來的?(2)你用過騰訊導(dǎo)航APP或高德導(dǎo)航APP嗎?地理位置是什么類型的數(shù)據(jù)庫?教學后記

課題名稱項目1數(shù)據(jù)庫技術(shù)導(dǎo)論之任務(wù)2:配置SQLServer2022運行環(huán)境計劃課時2課時內(nèi)容分析前一次課學習了數(shù)據(jù)庫的分類、關(guān)系數(shù)據(jù)庫的基本特征,了解了數(shù)據(jù)庫的基本組成。本次課將學習SQLServer2022數(shù)據(jù)庫開發(fā)環(huán)境的搭建,包括軟件下載、安裝與配套。教學目標及基本要求通過教學,讓學生掌握:SQLServer2022數(shù)據(jù)庫的版本及選擇方法。SQLServer2022數(shù)據(jù)庫的下載方法。SQLServer2022數(shù)據(jù)庫的安裝過程。SQLServer2022數(shù)據(jù)庫的運行界面。教學重點SQLServer2022數(shù)據(jù)庫的安裝。SQLServer2022數(shù)據(jù)庫運行環(huán)境的搭建。教學難點SQLServer2022數(shù)據(jù)庫的安裝。SQLServer2022數(shù)據(jù)庫的運行。教學方式講練結(jié)合,邊講邊練教學過程教案2:配置SQLServer2022運行環(huán)境一、課程引入(1)回顧上一次的內(nèi)容:數(shù)據(jù)庫的組成,數(shù)據(jù)表和記錄。打開圖書館管理系統(tǒng)libsys的3張表,回顧并分析各個表的功能與字段組成,記錄的組成及字段的對應(yīng)關(guān)系,引出數(shù)據(jù)存儲與數(shù)據(jù)處理的概念。(2)提出學習目標1.SQLServer2022數(shù)據(jù)庫的功能特點。2.SQLServer2022數(shù)據(jù)庫的下載。3.SQLServer2022數(shù)據(jù)庫的安裝。4.SQLServer2022數(shù)據(jù)庫的運行界面。二、新內(nèi)容學習(1)SQLServer2022數(shù)據(jù)庫的版本SQLServer2022數(shù)據(jù)庫有5個版本,重點介紹Enterprise版和Developer版。(參考教材1.2.1)(2)下載SQLServer2022Enterprise版軟件包包括2個文件:內(nèi)核在線安裝包和可視化工具SSMS安裝包。內(nèi)核在線安裝包用于安裝SQLServer2022內(nèi)核,可視化工具SSMS安裝包用于安裝SSMS,提供數(shù)據(jù)庫操作的可視化界面。(參考教材1.2.1)。安排學生實踐,打開網(wǎng)站,找到文件所在位置,查看文件名,嘗試下載。(3)SQLServer2022的安裝老師先介紹安裝本軟件所需要的硬件和軟件要求,檢查本機配置,確認是否滿足安裝要求(參考教材1.2.2)。先安裝內(nèi)核包,再安裝可視化工具包,注意軟件的安裝位置和目錄結(jié)構(gòu)。內(nèi)核包在安裝時,有多個對話框需要選擇參數(shù),需要停頓下來跟學生解釋清楚,也可以全部采用默認值。(4)SQLServer的工作界面啟動SSMS,用Windows身份驗證方式登錄數(shù)據(jù)庫服務(wù)器,查看其工作界面。分別介紹SSMS工作界面各個部分的功能及關(guān)閉和重新打開的方法(參考教材1.2.3)。(5)SQLServer2022環(huán)境的使用打開SSMS工作界面,介紹菜單欄、工作欄及各個子窗口的使用方法,重點學習對象資源管理器子窗口的組成和常用工具按鈕的用法(參考教材1.2.4)。編寫一小段代碼,比如用于顯示系統(tǒng)參數(shù)或者系統(tǒng)時間,讓學生操作,熟悉基本功能。三、歸納總結(jié),隨堂練習,布置作業(yè)(1)SQLServer2022的版本及開發(fā)版的下載與安裝。(2)安排學生從網(wǎng)站上下載SQLServer2022開發(fā)版,并安裝在自己機器上。(3)了解SSMS的界面組成,運用查詢窗口編寫小程序。思考題和習題(1)SQLServer2022的內(nèi)核與SSMS有什么關(guān)系?(2)如果沒有SSMS,SQLServer2022能否運行?(3)完成本項目習題之選擇題和問答題。教學后記

課題名稱項目1數(shù)據(jù)庫技術(shù)導(dǎo)論之任務(wù)3:結(jié)構(gòu)化查詢語言T-SQL的使用計劃課時4課時內(nèi)容分析在本項目的任務(wù)2中,學習了SQLServer2022數(shù)據(jù)庫軟件的版本、安裝方法與環(huán)境設(shè)置,SSMS管理器窗口的組成與應(yīng)用。本次課將學習SQLServer2022數(shù)據(jù)庫工作窗口編寫應(yīng)用程序,包括T-SQL語言分類、基本語法和程序基本結(jié)構(gòu)。教學目標及基本要求通過教學,讓學生掌握:了解T-SQL語言的類型及主要語句。掌握T-SQL語言的基本語法格式。掌握程序的三種基本結(jié)構(gòu)及關(guān)鍵語句。能夠在SQLServer2022查詢窗口中編寫簡單的程序。教學重點程序的基本結(jié)構(gòu),變量定義與應(yīng)用。SQLServer2022數(shù)據(jù)庫編程。教學難點程序的基本結(jié)構(gòu)及應(yīng)用。SQLServer2022數(shù)據(jù)庫編程。教學方式講練結(jié)合,邊講邊練,案例教學教學過程教案3:結(jié)構(gòu)化查詢語言T-SQL的使用一、課程引入(1)回顧上一次的內(nèi)容。SQLServer2022數(shù)據(jù)庫軟件的下載、安裝、開發(fā)環(huán)境搭建、工作界面的組成。回顧Java或者Python程序設(shè)計課程,了解程序的基本結(jié)構(gòu)及關(guān)鍵命令。(2)提出學習目標1.T-SQL語言特點及分類,了解主要語句。2.數(shù)據(jù)類型及其應(yīng)用。3.變量及其應(yīng)用。4.程序的三種結(jié)構(gòu)。5.T-SQL編程方法與應(yīng)用。二、新內(nèi)容學習(1)T-SQL語言介紹T-SQL是在SQLServer數(shù)據(jù)庫中的SQL3標準的實現(xiàn),是微軟公司對SQL語言的擴展,具有SQL語言的特點,并增加了變量、運算符、函數(shù)、流程控制和注釋等元素,功能更強大。(參考教材1.3.1)(2)T-SQL語言的分類DDL、DML、DCL和附加語句四大類,重點介紹前3類,讓學生初步解數(shù)據(jù)管理的基本框架。(參考教材1.3.1)。(3)T-SQL數(shù)據(jù)類型老師先從數(shù)據(jù)表中找?guī)讉€比較典型的字段,讓學生回答應(yīng)該是什么類型,怎么判斷數(shù)據(jù)類型(參考教材1.3.2)。介紹字符型、整數(shù)型、實數(shù)型、日期時間型、貨幣型、文本型、二進制等數(shù)據(jù)類型,通過大量的實例讓學生能夠正確選擇字段的數(shù)據(jù)類型。(4)運算符對比Java或者Python語言,對比數(shù)學運算符,講解各種運算符及表達式的功能與用法,特別要注意關(guān)系運算符的表示方式。每介紹一個運算符,都需要講解一個實例,并讓學生操作實現(xiàn)(參考教材1.3.2)。(5)系統(tǒng)函數(shù)講解各主要系統(tǒng)的功能與用法,全部講完后集中練習。(參考教材1.3.2)。(6)流程控制語句(參考教材1.3.3)注釋語句與語句塊的用法。程序的三種結(jié)構(gòu)。條件判斷語句的語法格式與用法,簡單if語句與嵌套if語句的用法。Case分情況條件語句的用法。循環(huán)語句的用法(7)三種程序結(jié)構(gòu)與流程控制語句的運用。對比Java或者Python語言,運用三種程序結(jié)構(gòu)與流程控制語句,編寫各種實用經(jīng)典小程序。(8)技能訓練:使用T-SQL語言編寫簡單程序。(參考教材1.3.4)三、歸納總結(jié),隨堂練習,布置作業(yè)(1)T-SQL語言分類。(2)T-SQL語法基礎(chǔ)。(3)程序結(jié)構(gòu)與流程控制語句,編程練習。(4)運用T-SQL語言編程方法,編程練習。思考題和習題(1)完成本項目習題之填空題。(2)運用流程控制語句編寫程序,求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)。(3)運用流程控制語句編寫程序,輸出水仙花數(shù)。教學后記《SQLServer2022數(shù)據(jù)庫技術(shù)項目教程》教案課程名稱:數(shù)據(jù)庫應(yīng)用技術(shù)授課年級:202X年級授課學期:202X學年第X學期教師姓名:XX老師2024年5月10日課題名稱項目2數(shù)據(jù)庫的創(chuàng)建與管理之任務(wù)1:查看數(shù)據(jù)庫服務(wù)器信息計劃課時2課時內(nèi)容分析通過項目1的學習,已經(jīng)掌握了數(shù)據(jù)庫的基礎(chǔ)知識,掌握了SQLServer2022數(shù)據(jù)庫的安裝方法與SSMS管理器窗口的組成,能夠用T-SQL語言編寫簡單程序。本次課將學習查看SQLServer2022數(shù)據(jù)庫服務(wù)器信息,數(shù)據(jù)庫的創(chuàng)建與管理方法。教學目標及基本要求通過教學,讓學生掌握:SQLServer2022數(shù)據(jù)庫服務(wù)器的組成。SQLServer2022的主要數(shù)據(jù)庫。SQLServer2022服務(wù)器身份驗證模式。教學重點SQLServer2022的主要數(shù)據(jù)庫。SQLServer2022身份驗證。教學難點SQLServer2022數(shù)據(jù)庫數(shù)據(jù)庫服務(wù)器的身份驗證。教學方式講練結(jié)合,邊講邊練教學過程教案4:結(jié)構(gòu)化查詢語言T-SQL的使用一、課程引入(1)回顧上一次的內(nèi)容。T-SQL語言的分類,主要語句,數(shù)據(jù)類型,運算符,系統(tǒng)函數(shù),程序結(jié)構(gòu),條件語句,循環(huán)語句。在SQLServer數(shù)據(jù)庫查詢窗口中編寫程序及運行程序的方法。采用提問的方式,學生回答。(2)提出學習目標1.SQLServer2022數(shù)據(jù)庫服務(wù)器的組成。2.SQLServer2022的主要系統(tǒng)數(shù)據(jù)庫的功能與主要數(shù)據(jù)表。3.SQLServer2022服務(wù)器身份驗證模式及實踐。二、新內(nèi)容學習(1)SQLServer2022的體系結(jié)構(gòu)體系結(jié)構(gòu)是描述系統(tǒng)各個組成要素之間相互關(guān)系的模型,重點介紹數(shù)據(jù)庫引擎,一般性介紹集成服務(wù)、分析服務(wù)、報表服務(wù)、主數(shù)據(jù)服務(wù)、配置管理、數(shù)據(jù)庫引擎優(yōu)化顧問和代理服務(wù)。(參考教材2.1.1)(2)SQLServer2022的數(shù)據(jù)庫組成介紹系統(tǒng)數(shù)據(jù)庫、數(shù)據(jù)庫快照和用戶數(shù)據(jù)庫三種類型,重點講解master、model、msdb、tempdb四個系統(tǒng)數(shù)據(jù)庫的功能,展示其主要的表,包括結(jié)構(gòu)和記錄。(參考教材2.1.2)。一般性介紹數(shù)據(jù)庫快照。可以導(dǎo)入一個用戶數(shù)據(jù)庫,讓學生理解其組成、所在位置。(3)SQLServer2022服務(wù)器身份驗證模式型老師先從展示SQLServer2022服務(wù)器身份驗證的兩種模式(參考教材2.1.3)。然后介紹兩種模式的差異。演示W(wǎng)indows身份驗證的優(yōu)勢,講解SQLServer身份驗證的方法,添加一個用戶,并用此用戶登錄,觀察兩者的區(qū)別。三、歸納總結(jié),隨堂練習,布置作業(yè)(1)SQLServer2022數(shù)據(jù)庫服務(wù)器的組成及主要功能模塊。(2)SQLServer2022的4個系統(tǒng)數(shù)據(jù)庫。(3)SQLServer2022服務(wù)器身份驗證的兩種模式及差異。(4)學生操作服務(wù)器身份驗證的2種方法。思考題和習題(1)系統(tǒng)數(shù)據(jù)庫的功能是什么,能進行哪些操作?(2)Master數(shù)據(jù)庫保存了哪些信息?(3)如何從本地(遠程)登錄數(shù)據(jù)庫服務(wù)器?教學后記

課題名稱項目2數(shù)據(jù)庫的創(chuàng)建與管理之任務(wù)2:創(chuàng)建數(shù)據(jù)庫計劃課時2課時內(nèi)容分析通過任務(wù)1的學習,已經(jīng)掌握了SQLServer2022數(shù)據(jù)庫服務(wù)器的組成,掌握了SQLServer2022服務(wù)器的主要數(shù)據(jù)庫和身份驗證模式。本次課將學習在SQLServer2022中創(chuàng)建數(shù)據(jù)庫的2種方法。教學目標及基本要求通過教學,讓學生能夠:數(shù)據(jù)庫對應(yīng)的文件與文件組。掌握用戶數(shù)據(jù)庫的主要參數(shù)及設(shè)置方法。掌握運用SSMS管理器窗口創(chuàng)建用戶數(shù)據(jù)庫的方法。掌握運用SQL命令創(chuàng)建數(shù)據(jù)庫的方法。掌握數(shù)據(jù)庫的管理方法。掌握數(shù)據(jù)庫分離與附加的方法。教學重點運用SQL命令創(chuàng)建用戶數(shù)據(jù)庫。運用SQL命令管理數(shù)據(jù)庫。教學難點用戶數(shù)據(jù)庫的參數(shù)及設(shè)置方法。運用SQL命令創(chuàng)建數(shù)據(jù)庫的方法。運用SQL命令管理數(shù)據(jù)庫的方法。教學方式講練結(jié)合,邊講邊練教學過程教案5:創(chuàng)建數(shù)據(jù)庫一、課程引入(1)回顧上一次的內(nèi)容。SQLServer2022數(shù)據(jù)庫服務(wù)器的組成,SQLServer2022服務(wù)器的主要數(shù)據(jù)庫,數(shù)據(jù)庫服務(wù)器身份驗證方法。采用提問的方式,學生回答。如:數(shù)據(jù)庫引擎的功能,系統(tǒng)數(shù)據(jù)庫有哪些,Master數(shù)據(jù)庫存儲了哪些信息,數(shù)據(jù)庫服務(wù)器的登錄模式有哪些。(2)提出學習目標1.數(shù)據(jù)庫對應(yīng)的物理文件與邏輯文件。2.數(shù)據(jù)表的主要參數(shù)。3.運用SSMS管理器窗口創(chuàng)建用戶數(shù)據(jù)庫。4.運用SQL命令創(chuàng)建用戶數(shù)據(jù)庫。二、新內(nèi)容學習(1)文件與文件組數(shù)據(jù)庫對應(yīng)的物理文件包括主數(shù)據(jù)文件、輔助數(shù)據(jù)文件和事務(wù)日志文件,文件要放在文件組中。(參考教材2.2.1)(2)使用SSMS管理器窗口創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫就是確定數(shù)據(jù)庫名,并設(shè)置對應(yīng)的參數(shù),包括所有者、磁盤文件名及存儲位置、初始大小、最大容量、增長速度等。(參考教材2.2.2)。老師演示【例2-1】使用SSMS管理器窗口建立libsys數(shù)據(jù)庫,在操作過程中,要注意各個參數(shù)的可選項、單位和功能。安排學生操作,用SSMS管理器窗口設(shè)計一個成績管理的數(shù)據(jù)庫scoresys。數(shù)據(jù)庫創(chuàng)建后,老師演示對應(yīng)的物理文件的位置,大小,狀態(tài),并在SSMS管理器窗口中查找相關(guān)的參數(shù),作為總結(jié),老師可進一步演示【例2-3】。(3)使用SQL命令創(chuàng)建數(shù)據(jù)庫打開查詢窗口,老師演示用SQL命令創(chuàng)建【例2-2】和【例2-3】數(shù)據(jù)庫。然后指導(dǎo)學生在SSMS窗口中刪除成績管理的數(shù)據(jù)庫scoresys,然后用SQL命令重新建立此數(shù)據(jù)庫。(參考教材2.2.3)。(4)技能訓練3:創(chuàng)建數(shù)據(jù)庫指導(dǎo)學生分別用SSMS或者SQL命令創(chuàng)建建立學校管理數(shù)據(jù)庫CollegeManager和建立人力資源管理數(shù)據(jù)庫HRMIS,檢查其結(jié)果是否正確。(參考教材2.2.4)。三、歸納總結(jié),隨堂練習,布置作業(yè)(1)數(shù)據(jù)庫的組成與主要參數(shù)。(2)創(chuàng)建數(shù)據(jù)庫的兩種方法。(3)分別用2種方法建立2個數(shù)據(jù)庫,將物理存放在指定位置。思考題和習題(1)完成本項目習題。(2)數(shù)據(jù)庫被創(chuàng)建后,對應(yīng)的物理文件能刪除嗎?通過操作驗證。(3)程序員在異地為數(shù)據(jù)庫服務(wù)器創(chuàng)建數(shù)據(jù)庫,應(yīng)該用哪種服務(wù)器登錄模式?用哪種方法創(chuàng)建數(shù)據(jù)庫?為什么?教學后記課題名稱項目2數(shù)據(jù)庫的創(chuàng)建與管理之任務(wù)3:管理數(shù)據(jù)庫計劃課時2課時內(nèi)容分析通過任務(wù)2的學習,已經(jīng)掌握了SQLServer2022數(shù)據(jù)庫創(chuàng)建的兩種方法,掌握了數(shù)據(jù)庫的主要參數(shù)以及物理文件的存放位置。本次課將學習在SQLServer2022中管理數(shù)據(jù)庫的2種方法。教學目標及基本要求通過教學,讓學生能夠:數(shù)據(jù)庫參數(shù)的修改方法。數(shù)據(jù)庫名稱的修改方法。數(shù)據(jù)庫的刪除方法。數(shù)據(jù)庫信息的查看方法。掌握數(shù)據(jù)庫分離與附加的方法。教學重點運用SQL命令修改用戶數(shù)據(jù)庫的參數(shù)。運用SQL命令管理數(shù)據(jù)庫。教學難點運用SQL命令修改用戶數(shù)據(jù)庫參數(shù)的方法。運用SQL命令查看數(shù)據(jù)庫信息的方法。運用SQL命令分離和附加數(shù)據(jù)庫的方法。教學方式講練結(jié)合,邊講邊練教學過程教案6:管理數(shù)據(jù)庫一、課程引入(1)回顧上一次的內(nèi)容。數(shù)據(jù)庫對應(yīng)的物理文件與邏輯文件、數(shù)據(jù)表的主要參數(shù)、運用SSMS管理器窗口創(chuàng)建用戶數(shù)據(jù)庫、運用SQL命令創(chuàng)建用戶數(shù)據(jù)庫。采用提問的方式,學生回答。如:數(shù)據(jù)庫的主要參數(shù),建立數(shù)據(jù)庫之前的準備工作,創(chuàng)建數(shù)據(jù)庫時,默認參數(shù)如何處理。(2)提出學習目標1.已有數(shù)據(jù)庫的參數(shù)修改。2.已有數(shù)據(jù)表的刪除方法。3.已有數(shù)據(jù)庫信息的查詢方法。4.運用SSMS管理器窗口分離與附加用戶數(shù)據(jù)庫。5.運用SQL命令分離與附加用戶數(shù)據(jù)庫。二、新內(nèi)容學習(1)修改數(shù)據(jù)庫修改數(shù)據(jù)庫主要指修改其參數(shù),與創(chuàng)建數(shù)據(jù)庫類似,但SQL命令不同。(參考教材2.3.1)老師分別用SSMS管理器窗口和SQL命令修改數(shù)據(jù)庫參數(shù),查看物理文件的變化情況。(2)刪除數(shù)據(jù)庫刪除數(shù)據(jù)庫是從SQLServer中卸載掉此數(shù)據(jù)庫,使其不可再使用,對應(yīng)的物理文件或以由程序員選擇是否要一起刪除。(參考教材2.3.2)。老師演示刪除已有的libsys數(shù)據(jù)庫,在操作過程中,要注意各個參數(shù)的選擇,刪除后檢查物理文化的變化情況。安排學生操作,用SSMS管理器窗口刪除已建立的成績管理的數(shù)據(jù)庫scoresys。(3)使用SQL命令刪除數(shù)據(jù)庫恢復(fù)或重建數(shù)據(jù)庫libsys,用命令刪除此數(shù)據(jù)庫。指導(dǎo)學生在查詢窗口中用SQL命令重新建立此數(shù)據(jù)庫。(參考教材2.3.2)。(4)查看數(shù)據(jù)庫老師先分別用SSMS管理器窗口和SQL命令查看已有數(shù)據(jù)庫的相關(guān)信息。然后指導(dǎo)學生分別用SSMS或者SQL命令查看已有的全部數(shù)據(jù)庫信息,再檢查指定數(shù)據(jù)庫的信息。(參考教材2.3.3)。(5)管理數(shù)據(jù)庫。老師介紹數(shù)據(jù)庫管理的基本內(nèi)容,然后分別用SSMS管理器窗口和SQL命令進行l(wèi)ibsys數(shù)據(jù)庫進行參數(shù)修改、名稱修改、數(shù)據(jù)庫信息查看、分離與附加數(shù)據(jù)庫等相關(guān)操作。(參考教材2.3.1-2.3.4)。指導(dǎo)學生在SSMS窗口和SQL命令對成績管理數(shù)據(jù)庫scoresys進行參數(shù)修改、名稱修改、數(shù)據(jù)庫信息查看、分離與附加數(shù)據(jù)庫等管理操作。三、歸納總結(jié),隨堂練習,布置作業(yè)(1)數(shù)據(jù)庫參數(shù)的修改。(2)數(shù)據(jù)庫的刪除方法。(3)數(shù)據(jù)庫的查看方法。(4)數(shù)據(jù)庫的分離與附加方法。思考題和習題(1)完成本項目習題。(2)數(shù)據(jù)庫被刪除后,對應(yīng)的物理文件還存在嗎?通過操作驗證。(3)附加數(shù)據(jù)庫時,是否可以一并進行數(shù)據(jù)庫改名?通過操作驗證。教學后記《SQLServer2022數(shù)據(jù)庫技術(shù)項目教程》教案課程名稱:數(shù)據(jù)庫應(yīng)用技術(shù)授課年級:202X年級授課學期:202X學年第X學期教師姓名:XX老師2024年5月10日

課題名稱項目3數(shù)據(jù)表的創(chuàng)建與管理之任務(wù)1:數(shù)據(jù)完整性計劃課時2課時內(nèi)容分析通過項目2的學習,已經(jīng)掌握了SQLServer2022數(shù)據(jù)庫創(chuàng)建和管理的兩種方法,掌握了數(shù)據(jù)庫和數(shù)據(jù)表的關(guān)系,數(shù)據(jù)庫維護的主要內(nèi)容。本次課將學習數(shù)據(jù)完整性的主要類型及管理方法。教學目標及基本要求通過教學,讓學生能夠掌握:數(shù)據(jù)完整性的內(nèi)涵。數(shù)據(jù)完整性的類型及意義。數(shù)據(jù)完整性約束的實現(xiàn)。教學重點各類數(shù)據(jù)完整性的意義。各類數(shù)據(jù)完整性約束的實現(xiàn)。教學難點域完整性約束、實體完整性約束、參照完整性約束的編程實現(xiàn)。教學方式講練結(jié)合,邊講邊練教學過程教案7:數(shù)據(jù)完整性一、課程引入(1)回顧上一次的內(nèi)容。主要包括四個內(nèi)容:數(shù)據(jù)庫參數(shù)的修改,數(shù)據(jù)庫的刪除方法,數(shù)據(jù)庫的查看方法,數(shù)據(jù)庫的分離與附加方法。采用提問的方式,學生回答。如:數(shù)據(jù)庫的主要參數(shù),數(shù)據(jù)庫刪除的命令,查看數(shù)據(jù)庫信息的系統(tǒng)存儲過程,數(shù)據(jù)庫分享和附加的命令。(2)提出學習目標1.數(shù)據(jù)完整性的意義。2.數(shù)據(jù)完整性的類型。3.數(shù)據(jù)完整性約束的內(nèi)涵與意義。4.各類數(shù)據(jù)完整性約束的實現(xiàn)方法。二、新內(nèi)容學習(1)數(shù)據(jù)完整性的意義數(shù)據(jù)完整性用于保證數(shù)據(jù)的完整,控制非法數(shù)據(jù)輸入數(shù)據(jù)庫,避免一錯百錯。(參考教材3.1.1)老師可以用幾個表,舉例說明什么是域完整性約束、實體完整性約束、參照完整性約束,如果沒有這些約束,結(jié)果會怎么樣。(2)數(shù)據(jù)完整性的類型分別解釋實體完整性、域完整性、參照完整性、用戶自定義完整性的內(nèi)涵。(參考教材3.1.1)。老師演示如果沒有缺少完整性,輸入記錄時會發(fā)生什么不符合常識的現(xiàn)象。安排學生操作,用成績管理數(shù)據(jù)庫scoresys中的某個表為例,查看用到了哪些完整性約束,如果刪除,有什么影響。(3)數(shù)據(jù)完整性約束的實現(xiàn)介紹添加約束的SQL命令,注意其默認約束名(參考教材3.1.2)。實體完整性約束的類型,分別用SSMS管理器窗口及SQL命令實現(xiàn)方法。老師先以libsys數(shù)據(jù)庫中的booksys表為例演示,安排學生成績管理數(shù)據(jù)庫scoresys中的某個表為例操作。域完整性約束的類型,分別用SSMS管理器窗口及SQL命令實現(xiàn)方法。老師先以libsys數(shù)據(jù)庫中的booksys表為例演示,安排學生成績管理數(shù)據(jù)庫scoresys中的某個表為例操作。參照完整性約束(FOREIGNKEY外鍵約束),分別用SSMS管理器窗口及SQL命令實現(xiàn)方法。老師先以libsys數(shù)據(jù)庫中的booksys和borrowifo表為例演示,安排學生成績管理數(shù)據(jù)庫scoresys中的某2個表為例操作。(4)自定義完整性約束。一般性介紹,老師可以舉一個例子演示,安排學生適當修改再操作。三、歸納總結(jié),隨堂練習,布置作業(yè)(1)數(shù)據(jù)完整性的類型。(2)利用SSMS管理器窗口實現(xiàn)數(shù)據(jù)完整性約束。(3)利用SQL命令實現(xiàn)數(shù)據(jù)完整性約束。思考題和習題(1)在數(shù)據(jù)庫中,數(shù)據(jù)的完整性由誰來設(shè)計的?(2)設(shè)置了數(shù)據(jù)完整性,對用戶操作有什么影響?(3)數(shù)據(jù)的完整性如果涉及到同一個表的多個字段,屬于哪種完整性?如果涉及到多張表,應(yīng)采用哪種完整性?教學后記

課題名稱項目3數(shù)據(jù)表的創(chuàng)建與管理之任務(wù)2:創(chuàng)建表結(jié)構(gòu)計劃課時2課時內(nèi)容分析通過上一個任務(wù)的學習,已經(jīng)掌握了引入數(shù)據(jù)完整性的意義,掌握了數(shù)據(jù)完整性的分類,以及用SSMS管理器窗口和SQL實現(xiàn)數(shù)據(jù)完整性的方法。本次課將學習基于數(shù)據(jù)完整性的數(shù)據(jù)表結(jié)構(gòu)的創(chuàng)建方法。教學目標及基本要求通過教學,讓學生能夠:使用SSMS管理器窗口創(chuàng)建表結(jié)構(gòu)。使用SQL命令建立表結(jié)構(gòu)。運用SQL命令創(chuàng)建帶完整性約束的表結(jié)構(gòu)。教學重點使用SQL命令建立表結(jié)構(gòu)。運用SQL命令創(chuàng)建帶完整性約束的表結(jié)構(gòu)。教學難點運用SQL命令創(chuàng)建帶完整性約束的表結(jié)構(gòu)。教學方式講練結(jié)合,邊講邊練教學過程教案8:創(chuàng)建表結(jié)構(gòu)一、課程引入(1)回顧上一次的內(nèi)容。主要包括四個內(nèi)容:數(shù)據(jù)完整性的意義,數(shù)據(jù)完整性的分類,數(shù)據(jù)完整的實現(xiàn)方法。采用提問的方式,請學生回答。如:數(shù)據(jù)完整性包括哪些類型,實現(xiàn)數(shù)據(jù)完整性約束的主要關(guān)鍵詞,實現(xiàn)數(shù)據(jù)完整性的主要方法。(2)提出學習目標1.利用數(shù)據(jù)類型確定表中各個字段的相關(guān)參數(shù)。2.掌握利用SSMS管理器窗口創(chuàng)建表結(jié)構(gòu)的方法。3.掌握利用SQL命令創(chuàng)建表結(jié)構(gòu)的方法。4.掌握利用SQL命令創(chuàng)建帶約束的表結(jié)構(gòu)的方法。二、新內(nèi)容學習(1)使用SSMS管理器窗口創(chuàng)建表使用SSMS管理器窗口為libsys數(shù)據(jù)庫創(chuàng)建readerInfo表,參見項目1中的表1-7,除主鍵約束和非空約束以外,其他約束暫不設(shè)置。(參考教材3.2.1)在增加列時,要說明列名的命名規(guī)則,每一列的主要參數(shù),回顧項目1中的數(shù)據(jù)類型,分析每一列最適合的數(shù)據(jù)類型,長度設(shè)置的原則,設(shè)計主鍵約束和非空約束的原因。安排學生先創(chuàng)建數(shù)據(jù)庫libsys(所有參數(shù)均取默認值以節(jié)省時間),然后建立跟老師操作相同的readerInfo數(shù)據(jù)表。(2)利用SQL命令創(chuàng)建表結(jié)構(gòu)先講解CREATETABLE命令的格式,各個參數(shù)的含義。(參考教材3.2.2)。為libsys數(shù)據(jù)庫創(chuàng)建bookInfo表或者readerInfo表,每一列的各個參數(shù)如何取值,盡量在學生討論的基礎(chǔ)上確定。安排學生操作,用成績管理數(shù)據(jù)庫scoresys中的scoreinfo表為例,用SQL命令實現(xiàn)。(3)創(chuàng)建帶完整性約束的表創(chuàng)造帶到PRIMARYKEY約束、DEFAULT約束、CHECK約束的表結(jié)構(gòu),以【例3-3】為例,可以在定義列時直接增加相應(yīng)約束,也可以先不加約束,寫好代碼后再補充約束。作為強化,老師可以繼續(xù)演示【例3-4】。安排學生實踐,完成【例3-5】。(4)技能訓練4:建立表結(jié)構(gòu)。一般性介紹,老師可以舉一個例子演示,安排學生適當修改再操作。三、歸納總結(jié),隨堂練習,布置作業(yè)(1)數(shù)據(jù)表結(jié)構(gòu)中列的參數(shù)。(2)利用SSMS管理器窗口創(chuàng)建數(shù)據(jù)表。(3)利用SQL命令創(chuàng)建數(shù)據(jù)表。(4)利用SQL命令創(chuàng)建帶完整性約束的數(shù)據(jù)表。思考題和習題(1)創(chuàng)建數(shù)據(jù)庫與創(chuàng)建表有什么關(guān)系?SQL命令各是什么?(2)表創(chuàng)建后,有記錄嗎?(3)如果有調(diào)整表中列的位置,怎么做?請操作實現(xiàn)。(4)如何刪除表的完整性約束?教學后記

課題名稱項目3數(shù)據(jù)表的創(chuàng)建與管理之任務(wù)3:修改表結(jié)構(gòu)計劃課時2課時內(nèi)容分析通過上一個任務(wù)的學習,已經(jīng)掌握了數(shù)據(jù)表結(jié)構(gòu)的組成,學會了數(shù)據(jù)表中列的參數(shù)的設(shè)置方法,能夠用SSMS管理器窗口和SQL命令創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)。本次課將學習數(shù)據(jù)表結(jié)構(gòu)的修改方法。教學目標及基本要求通過教學,讓學生能夠:修改表結(jié)構(gòu)的內(nèi)容使用SSMS管理器窗口修改表結(jié)構(gòu)。使用SQL命令修改表結(jié)構(gòu)。教學重點使用SSMS管理器窗口修改表結(jié)構(gòu)。使用SQL命令修改表結(jié)構(gòu)。教學難點運用SQL命令修改表結(jié)構(gòu)。教學方式講練結(jié)合,邊講邊練教學過程教案9:修改表結(jié)構(gòu)一、課程引入(1)回顧上一次的內(nèi)容。主要包括四個內(nèi)容:數(shù)據(jù)表列的參數(shù),運用SSMS管理器窗口和SQL命令創(chuàng)建表結(jié)構(gòu)的方法,利用SQL命令創(chuàng)建帶約束的表結(jié)構(gòu)的方法。采用提問的方式,請學生回答。如:每個列包括哪些參數(shù),創(chuàng)建表的命令,創(chuàng)建帶約束的表的命令。(2)提出學習目標1.掌握利用SSMS管理器窗口修改表結(jié)構(gòu)。2.掌握利用SQL命令修改表結(jié)構(gòu)的方法。二、新內(nèi)容學習(1)修改表結(jié)構(gòu)的內(nèi)容表結(jié)構(gòu)建立以后,如果要修改表結(jié)構(gòu),則既可以使用SSMS管理器窗口實現(xiàn),也可以使用SQL命令實現(xiàn),方法與建表的方法基本類似。修改表結(jié)構(gòu)的主要操作包括修改現(xiàn)有列的參數(shù)、增加列、刪除列、增加約束。(2)使用SSMS管理器窗口修改表在SSMS管理器窗口中右擊表名,在彈出的快捷菜單中選擇“設(shè)計”命令,即可打開表設(shè)計窗口,該窗口顯示的內(nèi)容與創(chuàng)建表結(jié)構(gòu)時打開的窗口顯示的內(nèi)容相同,可以直接修改。在修改完成后,單擊“保存”按鈕或者關(guān)閉表設(shè)計窗口使修改生效。(參考教材3.3.1)提示學生,修改表結(jié)構(gòu)時,可能會引起記錄數(shù)據(jù)的變化,如丟失、精度降低等,可以通過演示讓學生理解,并分析其原因。(3)利用SQL命令修改表結(jié)構(gòu)先講解ALTERTABLE命令的格式,各個參數(shù)的含義。(參考教材3.3.2)。以libsys數(shù)據(jù)庫創(chuàng)建bookInfo表或者readerInfo表為例,講解修改表結(jié)構(gòu)的方法。講解例3-7,通過SQL命令修改表結(jié)構(gòu)。(4)修改表結(jié)構(gòu)綜合應(yīng)用老師可以繼續(xù)演示例3-8。安排學生實踐,完成例3-7和3-8??梢匝a充刪除表的方法,分別用SSMS管理器窗口和SQL命令實現(xiàn)。三、歸納總結(jié),隨堂練習,布置作業(yè)(1)利用SSMS管理器窗口修改表結(jié)構(gòu),與創(chuàng)建表結(jié)構(gòu)方法相同。(2)利用SQL命令修改數(shù)據(jù)表。思考題和習題(1)完成本項目習題。(2)修改數(shù)據(jù)庫與修改表結(jié)構(gòu)的功能有什么不同?(3)修改數(shù)據(jù)庫與修改表結(jié)構(gòu)的SQL命令分別是什么?(4)修改了表結(jié)構(gòu),數(shù)據(jù)庫的參數(shù)會變化嗎?教學后記《SQLServer2022數(shù)據(jù)庫技術(shù)項目教程》教案課程名稱:數(shù)據(jù)庫應(yīng)用技術(shù)授課年級:202X年級授課學期:202X學年第X學期教師姓名:XX老師2024年5月10日課題名稱項目4數(shù)據(jù)基本操作之任務(wù)1:向數(shù)據(jù)表中添加記錄計劃課時2課時內(nèi)容分析建立表結(jié)構(gòu)相當于填寫了表頭的內(nèi)容,并沒有記錄,只相當于空表,接下來就是輸入記錄,填入表的內(nèi)容。本次課將學習用SSMS向數(shù)據(jù)庫表中添加記錄和用SQL命令向數(shù)據(jù)庫表中添加記錄。教學目標及基本要求通過教學,讓學生掌握:1.用SSMS向數(shù)據(jù)庫表中添加記錄;2.用INSERT-VALUES命令添加數(shù)據(jù)記錄;3.用INSERT-SELECT添加數(shù)據(jù)記錄。教學重點1.用SSMS向數(shù)據(jù)庫表中添加記錄2.用INSERT-VALUES命令添加數(shù)據(jù)記錄教學難點用INSERT-VALUES命令添加數(shù)據(jù)記錄用INSERT-SELECT添加數(shù)據(jù)記錄教學方式講授為主,講練結(jié)合教學過程教案10:向數(shù)據(jù)表中添加記錄一、課程引入(1)提出任務(wù):圖書館管理系統(tǒng)的后臺數(shù)據(jù)庫libsys中,創(chuàng)建了圖書信息表bookInfo后,就需要向該表中添加圖書記錄,用以存儲圖書館中藏書的基本信息。展示bookInfo數(shù)據(jù)表添加記錄后的效果圖,提示學生思考向數(shù)據(jù)表中添加記錄的方法,引出本門課程的內(nèi)容。(2)提出學習目標1.用SSMS向數(shù)據(jù)庫表中添加記錄。2.用INSERT-VALUES命令添加數(shù)據(jù)記錄。3.用INSERT-SELECT添加數(shù)據(jù)記錄。二、新內(nèi)容的講解(1)用SSMS向數(shù)據(jù)庫表中添加記錄教師首先在SSMS中演示向數(shù)據(jù)庫表bookInfo中添加一條記錄的方法,然后針對數(shù)據(jù)表中記錄排列順序進行解釋說明(可參考教材4.1.1小節(jié))(2)用INSERT-VALUES添加數(shù)據(jù)記錄教師首先講解INSERT-VALUES語句的格式,然后教師演示、學生練習例4-1用SQL命令給表BookInfo輸入圖4-3所示的11條記錄。再教師演示、學生練習例4-2給表BookInfo添加2條記錄,這兩條記錄只有BookID、BookNmae、BookType、Writer、Publish、Price、BuyCount、AbleCount八個列有值,其它列沒有值。參考教材對命令使用注意事項進行講解說明。(可參考教材4.1.2小節(jié))。(3)用INSERT-SELECT添加數(shù)據(jù)記錄教師首先講解INSERTINTOSELECT語句的格式,然后教師演示、學生練習例4-3針對libsys數(shù)據(jù)庫中的表BookInfo,把作者為“胡振華”的所有圖書數(shù)據(jù)記錄添加到數(shù)據(jù)表BookInfo_copy中。可參考教材對用INSERT-SELECT添加數(shù)據(jù)記錄進行講解演示(可參考教材4.1.3小節(jié))。三、歸納總結(jié),隨堂練習,布置作業(yè)(1)對課堂上講解的知識點進行總結(jié),使用本章末尾的隨堂練習題鞏固本節(jié)課的知識點。思考題和習題教學后記

課題名稱項目4數(shù)據(jù)基本操作之任務(wù)2:更新數(shù)據(jù)表中的數(shù)據(jù)記錄計劃課時2課時內(nèi)容分析數(shù)據(jù)表中的數(shù)據(jù)經(jīng)常需要根據(jù)項目實際情況進行修改更新。本次課將學習用SSMS更新數(shù)據(jù)記錄和使用SQL命令更新數(shù)據(jù)記錄。教學目標及基本要求通過教學,讓學生掌握:1.用SSMS更新數(shù)據(jù)記錄;2.用UPDATE命令更新數(shù)據(jù)記錄;教學重點1.用SSMS更新數(shù)據(jù)記錄;2.用UPDATE命令更新數(shù)據(jù)記錄;教學難點用UPDATE命令更新數(shù)據(jù)記錄教學方式講授為主,講練結(jié)合教學過程教案11:更新數(shù)據(jù)表中的數(shù)據(jù)記錄一、課程引入(1)提出任務(wù):圖書館管理系統(tǒng)的后臺數(shù)據(jù)庫libsys中,經(jīng)常需要更新圖書信息表bookInfo中已存在的圖書記錄,用以存儲圖書館中藏書的最新信息。提示學生思考向數(shù)據(jù)表中添加記錄的方法,引出本門課程的內(nèi)容。(2)提出學習目標1.用SSMS更新數(shù)據(jù)記錄。2.用UPDATE命令更新數(shù)據(jù)記錄。二、新內(nèi)容的講解(1)用SSMS更新數(shù)據(jù)記錄教師首先在SSMS中演示更新數(shù)據(jù)記錄的方法,然后讓學生練習用SSMS更新數(shù)據(jù)記錄的方法(可參考教材4.2.1小節(jié))(2)用UPDATE命令更新數(shù)據(jù)記錄教師首先講解UPDATE語句的作用與格式,然后教師演示、學生練習例4-4針對libsys數(shù)據(jù)庫中的表BookInfo,把所有圖書的可借出本數(shù)(AbleCount)全部置為0,表示均不可以外借了。接著教師演示、學生練習例4-5針對libsys數(shù)據(jù)庫中的表BookInfo,對于類型為“計算機”的圖書,將類型(BookType)修改為“計算機技術(shù)”。最后教師演示、學生練習例4-6針對libsys數(shù)據(jù)庫中的表BookInfo,所有圖書可借出本數(shù)(AbleCount)全部置為購買圖書本數(shù)-1。參考教材對命令使用注意事項進行講解說明。(可參考教材4.2.2小節(jié))。三、歸納總結(jié),隨堂練習,布置作業(yè)(1)對課堂上講解的知識點進行總結(jié),使用本章末尾的隨堂練習題鞏固本節(jié)課的知識點。思考題和習題教學后記

課題名稱項目4數(shù)據(jù)基本操作之任務(wù)3:刪除數(shù)據(jù)表中的數(shù)據(jù)記錄計劃課時2課時內(nèi)容分析軟件開發(fā)過程中最常見的功能就是對數(shù)據(jù)表及表中的數(shù)據(jù)進行增刪改查,其中刪除功能又分為刪除數(shù)據(jù)表中數(shù)據(jù)和刪除數(shù)據(jù)兩種操作。本次課將學習刪除數(shù)據(jù)表中的部分數(shù)據(jù)記錄和刪除數(shù)據(jù)表。教學目標及基本要求通過教學,讓學生掌握:1.刪除數(shù)據(jù)表中的部分數(shù)據(jù)記錄;2.刪除數(shù)據(jù)表;教學重點1.刪除數(shù)據(jù)表中的部分數(shù)據(jù)記錄;2.刪除數(shù)據(jù)表;教學難點刪除數(shù)據(jù)表中的部分數(shù)據(jù)記錄教學方式講授為主,講練結(jié)合教學過程教案12:刪除數(shù)據(jù)表中的數(shù)據(jù)記錄一、課程引入(1)提出任務(wù):圖書館管理系統(tǒng)的后臺數(shù)據(jù)庫libsys中,經(jīng)常需要根據(jù)實際需要,刪除圖書信息表bookInfo中的記錄以及刪除廢棄或多余的數(shù)據(jù)表,如需要刪除所有作者為“胡振華”的所有圖書信息等。提示學生思考刪除數(shù)據(jù)表中記錄以及刪除數(shù)據(jù)表的方法,引出本門課程的內(nèi)容。(2)提出學習目標1.刪除數(shù)據(jù)表中的部分數(shù)據(jù)記錄。2.刪除數(shù)據(jù)表。二、新內(nèi)容的講解(1)用SSMS窗口刪除記錄教師首先在SSMS中演示刪除數(shù)據(jù)表中記錄的方法,然后讓學生練習用SSMS刪除數(shù)據(jù)表中記錄的方法(可參考教材4.3.1小節(jié))(2)用DELETE單表內(nèi)刪除數(shù)據(jù)記錄教師首先講解DELETE語句的格式,然后教師演示、學生練習例4-7針對libsys數(shù)據(jù)庫中的表BookInfo,刪除“胡振華”作者編寫的所有圖書。再教師演示、學生練習例4-8將10年前出版的圖書刪除。參考教材對命令使用注意事項進行講解說明。(可參考教材4.3.1小節(jié))。(3)用DELETE跨表刪除數(shù)據(jù)記錄教師首先講解用DELETE跨表刪除數(shù)據(jù)記錄語句的格式,然后教師演示、學生練習例4-9刪除數(shù)據(jù)表Borrowinfo中所有與“胡振華”相關(guān)的數(shù)據(jù)記錄。參考教材對命令使用注意事項進行講解說明。(可參考教材4.3.1小節(jié))。(4)用SSMS窗口刪除表教師首先在SSMS中演示刪除數(shù)據(jù)表的方法,然后讓學生練習用SSMS刪除數(shù)據(jù)表的方法(可參考教材4.3.2小節(jié))(5)刪除數(shù)據(jù)表中的所有數(shù)據(jù)記錄與表結(jié)構(gòu)教師首先講解使用DROPTABLE語句的格式,然后教師演示、學生練習使用DROPTABLE語句刪除數(shù)據(jù)表的方法(可參考教材4.3.2小節(jié))三、歸納總結(jié),隨堂練習,布置作業(yè)(1)對課堂上講解的知識點進行總結(jié),使用本章末尾的隨堂練習題鞏固本節(jié)課的知識點。思考題和習題教學后記《SQLServer2022數(shù)據(jù)庫技術(shù)項目教程》教案課程名稱:數(shù)據(jù)庫應(yīng)用技術(shù)授課年級:202X年級授課學期:202X學年第X學期教師姓名:XX老師2024年5月10日課題名稱項目5數(shù)據(jù)查詢之任務(wù)1:基本數(shù)據(jù)查詢計劃課時2課時內(nèi)容分析通過SELECT語句從數(shù)據(jù)庫中挑選數(shù)據(jù)的過程稱為匹配查詢或查詢(query),所以SELECT語句也被稱為查詢語句。SELECT語句是SQL中使用最多的,最基本的語句,掌握了SELECT語句,距離掌握SQL就不遠了。教學目標及基本要求通過教學,讓學生掌握:簡單數(shù)據(jù)查詢;WHERE子中的表達式; 統(tǒng)計數(shù)據(jù)查詢;GROUPBY子句。教學重點簡單數(shù)據(jù)查詢;WHERE子中的表達式教學難點GROUPBY子句教學方式講授為主,講練結(jié)合教學過程教案13:基本數(shù)據(jù)查詢一、課程引入1、回顧項目三和項目四學習知識,引出本節(jié)主題帶領(lǐng)學生回顧項目三和項目四,如何創(chuàng)建數(shù)據(jù)表,操作數(shù)據(jù)表,鞏固libsys數(shù)據(jù)庫中三張表的結(jié)構(gòu)。提出問題:數(shù)據(jù)庫用來管理海量的數(shù)據(jù),所謂管理,最重要的工作就是從海量的數(shù)據(jù)中挑選出我們感興趣的數(shù)據(jù)。從數(shù)據(jù)庫中挑選數(shù)據(jù)需要使用SELECT語句,通過SELECT語句從數(shù)據(jù)庫中挑選出我們需要的數(shù)據(jù)的過程稱為匹配查詢或查詢(query),所以SELECT語句也被稱為查詢語句。SELECT語句是SQL語言中使用最多的、最基本的語句,掌握了SELECT語句,距離掌握SQL語言就不遠了!2、提出學習目標(1)簡單數(shù)據(jù)查詢;(2)統(tǒng)計數(shù)據(jù)查詢。二、新內(nèi)容的講解1、簡單數(shù)據(jù)查詢在bookInfo表中,如果我們只想知道每本書的書名和對應(yīng)的價格,則其他字段上的數(shù)據(jù)可能對我們的觀察造成干擾,甚至看錯某本書的真正價格。此時,我們就可以使用SELECT語句選?。ú樵儯┏鑫覀冃枰淖侄螖?shù)據(jù)。在查詢窗口中輸入以下代碼并執(zhí)行。SELECTBookName,PriceFROMbookInfo執(zhí)行結(jié)果如圖由上述操作過程可以總結(jié)出,使用SELECT語句查詢出我們需要的列的格式如下:SELECT<列名1[,列名2…]>FROM<表名>【例5-1】從數(shù)據(jù)表readerInfo中查詢ReaderName列、ReaderSex列、Mobile列和Department列中的數(shù)據(jù)。readerInfo表中的數(shù)據(jù)如圖所示查詢命令如下:SELECTReaderName,ReaderSex,Mobile,DepartmentFROMreaderInfo查詢結(jié)果如圖所示。在某些特殊情況下,我們確實需要查詢表中所有列的數(shù)據(jù),這時可以在SELECT子句中列出所有列的名字。命令如下:SELECTReaderID,BookID,BorrowDate,Deadline,ReturnDateFROMborrowInfo也可以使用*符號代替所有列名,命令如下:SELECT*FROMborrowInfo在對表進行查詢時,還可以同時使用“別名”代替原來的列名,共有3種方法引入列的別名:(1)列名AS別名。(2)列名別名。(3)別名=列名。這3種方法可以在一個SELECT語句混合使用,如果列不指定別名,則別名就是列名本身?!纠?-2】查詢bookInfo表中的BookID、BookNmae、Publisher、Price等列,并在標題欄中顯示書號、書名、出版社、價格字樣,而不是顯示列名。查詢命令如下:SELECTBookIDAS書號,Bookname書名,出版社=Publisher,PriceAS價格FROMbookInfo查詢結(jié)果如圖所示。2、WHERE子中的表達式前面的例子都是將表中所有的行(記錄)都選取出來,但在實際工作中,一個表中可能有幾萬甚至幾十萬行記錄,不可能也不需要每次都需要選取出全部記錄,在大部分情況下都是要選取出滿足“圖書類型為計算機”“價格在40元以上”等某些條件的記錄。SELECT語句可以通過WHERE子句來指定查詢記錄的條件,格式如下:SELECT<列名1[,列名2…]>FROM<表名>WHERE<條件表達式>在WHERE子句中可以指定“某個列的值等于特定字符串”或“某個列的值大于一個數(shù)字”等條件。執(zhí)行含有這些條件的SELECT語句,就可以查詢出只符合該條件的記錄了?!纠?-3】查詢bookInfo表中清華大學出版社出版的圖書的所有記錄。SELECT*FROMbookInfoWHEREPublisher='清華大學出版社'查詢結(jié)果如圖所示在WHERE子句中,允許用戶在查詢條件(表達式)中使用各類運算符,過濾掉不滿足要求的數(shù)據(jù)行,只挑選符合要求的數(shù)據(jù)行。運算符包括比1、較運算符:>、>=、=、<、<=、!>、!<、<>、!=2、范圍運算符:BETWEEN…AND和NOTBETWEEN…AND3、列表運算符:IN(項1,項2……)、NOTIN(項1,項2……)4、空值判斷符:ISNULL、ISNOTNULL5、邏輯運算符:NOT、AND、OR6、通配符:百分號%、下劃線_、方括號[]、[^]7、模式匹配符:LIKE、NOTLIKE【例5-4】查詢bookInfo表中2019年以后出版的圖書的BookID、BookName、Writer、PublishDate等列中的數(shù)據(jù)。SELECTBookID,BookName,Writer,PublishDateFROMbookInfoWHEREPublishDate>='2020-01-01'查詢結(jié)果如圖所示【例5-5】查詢2020年出版的圖書,只需要BookID列、BookName列、Publisher列中的數(shù)據(jù)。SELECTBookID,BookName,Publisher,PublishDateFROMbookInfoWHEREPublishDateBETWEEN'2020-01-01'AND'2020-12-31'查詢結(jié)果如圖所示【例5-6】查詢“張”姓作者或“劉”姓作者編寫的書。SELECT*FROMbookInfoWHEREWriterLIKE'張%'ORWriterLIKE'劉%'查詢結(jié)果如圖所示【例5-7】查詢電子工業(yè)出版社出版的所有圖書,以及不是清華大學出版社出版的但價格高于40元的所有圖書。SELECT*FROMbookInfoWHEREPublisher='電子工業(yè)出版社'ORPublisher<>'清華大學出版社'ANDPrice>40查詢結(jié)果如圖所示【例5-8】在bookInfo表中查詢Remark列為NULL的記錄的BookID列、BookName列、Price列、Remark列中的內(nèi)容。SELECTBookID,BookName,Price,RemarkFROMbookInfoWHERERemarkISNULL查詢結(jié)果如圖所示【例5-9】在bookInfo表中記錄了每本書的價格(Price)和購買的數(shù)量(BuyCount),查詢所有圖書的書名(BookName)、價格(Price)、購進數(shù)(BuyCount),并計算每種書的總價值。SELECTBookName,Price,BuyCount,Price*BuyCountFROMbookInfo查詢結(jié)果如圖所示為了保證TOP子句查詢結(jié)果的確定性,SQL語言允許SELECT語句使用ORDERBY子句對查詢結(jié)果進行排序。語法格式如下:SELECT[Top(n)]<列名1[,列名2…]>FROM<表名>WHERE<條件表達式>ORDERBY<列名1ASC|DESC[,列名2ASC|DESC…]>說明:(1)當使用ORDERBY子句對SELECT查詢結(jié)果進行排序時,可以選擇升序ASC或降序DESC,升序ASC為默認排序順序,可以省略(2)對于NULL值,SQLServer和MySQL默認它是最小值,ORACLE中默認其為最大值,其他數(shù)據(jù)庫管理系統(tǒng)需要自行測試(3)ORDERBY允許使用SELECT子句中定義的“別名”進行排序?!纠?-10】在bookInfo表查詢BuyCount列中的值大于20的,并且BuyCount列中的值最大的前5種圖書的BookID、BookName、Price、BuyCount、BuyDate等列中的數(shù)據(jù)。SELECTTOP(5)BookID,BookName,Price,BuyCount,BuyDateFROMbookInfoWHEREBuyCount>20ORDERBYBuyCountDESC查詢結(jié)果如圖所示【例5-11】在bookInfo表查詢BuyCount列中的值大于20的,并且BuyCount列中的值最大的前5種圖書的BookID、BookName、Price、BuyCount、BuyDate等列中的數(shù)據(jù)。如果BuyCount列中的值相同,則按照BuyDate列進行升序排序。SELECTTOP(5)BookID,BookName,Price,BuyCount,BuyDateFROMbookInfoWHEREBuyCount>20ORDERBYBuyCountDESC,BuyDate查詢結(jié)果如圖所示3、統(tǒng)計數(shù)據(jù)查詢SQL語言不僅允許SELECT語句進行簡單的計算,還提供聚合函數(shù)用于復(fù)雜的計算。所謂聚合函數(shù)是用于對多條記錄進行記錄統(tǒng)計、數(shù)據(jù)運算的函數(shù),它對多條記錄進行計算,返回一個值。聚合函數(shù)是SQL標準規(guī)定的,大多數(shù)數(shù)據(jù)庫管理系統(tǒng)都支持使用。聚合函數(shù)主要有COUNT(求記錄數(shù))、SUM(求和)、AVG(求平均值)、MAX(求最大值)、MIN(求最小值)這5個。(1)COUNT函數(shù)COUNT函數(shù)的功能是求SELECT語句查詢出來的記錄總數(shù),其格式是COUNT(*)或COUNT(DISTINCT列名)?!纠?-12】查詢bookInfo表中的記錄數(shù)。SELECTCOUNT(*)AS記錄數(shù)FROMbookInfo查詢結(jié)果如圖所示【例5-13】查詢作者“胡振華”編寫的圖書的數(shù)量。SELECTcount(*)AS圖書數(shù)FROMbookInfoWHEREWriter='胡振華'查詢結(jié)果如圖所示【例5-14】查詢bookInfo表中有多少個作者。SELECTCOUNT(DISTINCTWriter)AS作者數(shù)FROMbookInfo查詢結(jié)果如圖所示(2)SUM函數(shù)SUM函數(shù)用于求某個列的總和,其格式是SUM(列名)。SUM函數(shù)要求列的類型只能是數(shù)值型或貨幣型。在統(tǒng)計時,SUM函數(shù)會自動忽略NULL值?!纠?-15】查詢bookInfo表中購買圖書(BuyCount)的總數(shù)。SELECTSUM(BuyCount)AS購進圖書總數(shù)FROMbookInfo查詢結(jié)果如圖所示(3)AVG函數(shù)AVG函數(shù)用于求某個列的平均值,其格式是AVG(列名),其要求與SUM函數(shù)相同,也會自動忽略掉NULL值?!纠?-16】查詢bookInfo表中清華大學出版社出版的圖書的平均價格。SELECTAVG(Price)AS平均價格FROMbookInfoWHEREPublisher='清華大學出版社'查詢結(jié)果如圖所示(4)MAX函數(shù)和MIN函數(shù)MAX函數(shù)和MIN函數(shù)分別用于求某個列的最大值和最小值,其格式分別是MAX(列名)和MIN(列名)。MAX函數(shù)和MIN函數(shù)要求列的類型是可以比較大小的,常見的是數(shù)值型、貨幣型、字符型和日期型。在統(tǒng)計時,MAX函數(shù)和MIN函數(shù)會自動忽略NULL值。【例5-17】查詢bookInfo表中的最大價格和最小價格。SELECTMAX(Price)AS最大價格,MIN(Price)AS最小價格FROMbookInfo查詢結(jié)果如圖所示SQL語言除可以對查詢結(jié)果的全部記錄進行計算以外,還可以根據(jù)指定列進行分組計算,如查詢每個出版社各自出版了幾本書。指定分組依據(jù)的列通過GROUPBY子句完成,完整語法格式如下:SELECT[Top(n)][列名1,列名2…]<聚合函數(shù)1()[,聚合函數(shù)2()…]>FROM<表名>WHERE<條件表達式>GROUPBY<列名1[,列名2…]>ORDERBY<列名1[,列名2…]>說明:(1)SELECT子句中必須有“聚合函數(shù)”。雖然沒有聚合函數(shù)而有GROUPBY子句的語句可以正常執(zhí)行,但此時GROUPBY子句就沒有出現(xiàn)的意義了。(2)SELECT子句中可以有一個或多個“列名”,但這些列名必須在GROUPBY子句中出現(xiàn)過。使用聚合函數(shù)計算的列不受這個限制。(3)SELECT子句中可以為列指定“別名”,但GROUPBY子句中不能使用“別名”來分組。(4)分組計算結(jié)果的返回順序也是隨機的,可以使用ORDERBY子句進行排序,但是ORDERBY子句只能寫在GROUPBY子句的后面,同時ORDERBY子句中的列名也必須在GROUPBY子句中出現(xiàn)過?!纠?-18】查詢bookInfo表中每個出版社出版的圖書的平均價格。SELECTPublisher,AVG(Price)FROMbookInfoGROUPBYPublisher查詢結(jié)果如圖所示如果想查詢平均價格大于45元的圖書,則不能使用WHERE子句,需要使用HAVING子句,HAVING子句必須寫在GROUPBY子句之后、ORDERBY子句之前。格式如下:SELECT[Top(n)][列名1,列名2…]<聚合函數(shù)1()[,聚合函數(shù)2()…]>FROM<表名>WHERE<條件表達式>GROUPBY<列名1[,列名2…]>HAVING聚合函數(shù)表達式ORDERBY<列名1[,列名2…]>【例5-19】查詢bookInfo表中每個出版社出版的圖書的平均價格,返回其中平均價格大于45元的出版社名稱和平均價格。SELECTPublisher,AVG(Price)FROMbookInfoGROUPBYPublisherHAVINGAVG(Price)>45查詢結(jié)果如圖所示三、歸納總結(jié),隨堂練習,布置作業(yè)1、對課堂上講解的知識點進行總結(jié),使用高校教輔平臺中的隨堂練習題鞏固本節(jié)課的知識點。思考題和習題請參照教材5.1.1&5.1.2節(jié)內(nèi)容完成“技能訓練6:單表查詢”教學后記

課題名稱項目5數(shù)據(jù)查詢之任務(wù)2:多表連接查詢計劃課時4課時內(nèi)容分析在查詢數(shù)據(jù)時,如果數(shù)據(jù)的來源是數(shù)據(jù)庫中兩個或兩個以上的表,則系統(tǒng)先按照一定的規(guī)則將這些表中的數(shù)據(jù)組合到一起,構(gòu)成一個虛擬的大表,然后就可以像普通表一樣,在這個虛擬表中查詢數(shù)據(jù)了。在通常情況下,多個表之間有著公共的字段或者通過外鍵約束來建立連接關(guān)系。如果兩個表沒有任何相同的字段,則可以通過比較類型相同的兩個列中的值的大小進行查詢教學目標及基本要求通過教學,讓學生掌握:交叉連接查詢;內(nèi)連接查詢;外連接查詢;自連接查詢。教學重點內(nèi)連接查詢外連接查詢教學難點外連接查詢自連接查詢教學方式講授為主,講練結(jié)合教學過程教案14:多表連接查詢一、課程引入(1)回顧上節(jié)學習知識,引出本節(jié)主題我們已經(jīng)學會了,如從一張表中獲取我們需要的數(shù)據(jù)。但是由于各方面的原因,某些情況下,數(shù)據(jù)不能存放在一個表中。例如,在libsys數(shù)據(jù)庫中,bookinfo表中只存放了圖書名稱、作者等信息,圖書的借閱信息被存放到了borrowinfo表中,讀者的姓名、部門等信息被存放到了readerinfo表中。此時如果想知道某本書被誰借走了,就必須綜合這3個表中的信息才能得到答案。這種情況我們稱為連接查詢(2)提出學習目標1. 交叉連接查詢;2. 內(nèi)連接查詢;3. 外連接查詢;4. 自連接查詢。二、新內(nèi)容的講解在查詢數(shù)據(jù)時,如果數(shù)據(jù)的來源是數(shù)據(jù)庫中兩個或兩個以上的表,則系統(tǒng)先按照一定的規(guī)則將這些表中的數(shù)據(jù)組合到一起,構(gòu)成一個虛擬的大表,然后就可以像普通表一樣,在這個虛擬表中查詢數(shù)據(jù)了。在通常情況下,多個表之間有著公共的字段或者通過外鍵約束來建立連接關(guān)系。如果兩個表沒有任何相同的字段,則可以通過比較類型相同的兩個列中的值的大小進行查詢。1、交叉連接查詢交叉連接又稱笛卡兒積,系統(tǒng)會將一個表中的每條記錄和其他表中的每條記錄分別組合,形成若干條記錄,構(gòu)成一個新的虛擬表。交叉連接查詢的語法格式如下:SELECT列名1[,列名2…]FROM表名1CROSSJOIN表名2[CROSSJOIN表名3…][WHERE查詢條件]查詢結(jié)果類型于如下圖【例5-20】在readerInfo表和borrowInfo表的交叉連接中,查詢讀者姓名(ReaderName字段)為“胡大龍”的記錄,只需返回readerInfo表中的ReaderID列和ReaderName列內(nèi)的數(shù)據(jù),以及borrowInfo表中的ReaderID列和BookID列內(nèi)的數(shù)據(jù)。SELECTreaderInfo.ReaderID,ReaderName,borrowInfo.ReaderID,BookIDFROMreaderInfo,borrowinfoWHEREReaderName='胡大龍'查詢結(jié)果如圖所示說明:(1)從第二條到之后的記錄,可以看到借書人的ReaderID字段與胡大龍的ReaderID字段根本不一樣,但數(shù)據(jù)庫依然機械地按照交叉連接的規(guī)則將它們組合到了一起,這樣的數(shù)據(jù)對了解信息根本沒什么用,甚至會帶來錯誤(2)在交叉連接查詢中,關(guān)鍵字CROSSJOIN可以省略,用逗號代替(3)由于兩個表中都有ReaderID列,因此要以“表名.列名”的形式指定哪個ReaderID列顯示在哪個位置。ReaderName列和BookID列各自只存在于一個表中,就不用通過“表名”進行區(qū)分了。2、內(nèi)連接查詢在交叉連接中,由于是沒有限制的,其中一個表的每條記錄都會和另一個表中的每條記錄連接在一起,因此產(chǎn)生的數(shù)據(jù)絕大部分是無效信息。那么如果給記錄的連接加上一個限制,則得到的數(shù)據(jù)就是有效信息了,這就是內(nèi)連接。內(nèi)連接查詢的語法格式如下:SELECT列名1[,列名2…]FROM表名1INNERJOIN表名2ON連接條件[INNERJOIN表名3ON連接條件…][WHERE查詢條件]在內(nèi)連接中,以兩個表為例,如果查詢語句為以下形式:SELECT*FROM表1INNERJOIN表2ON編號=序號查詢結(jié)果類型于如下圖【例5-21】在readerInfo表和borrowInfo表的內(nèi)連接中,查詢曾經(jīng)借過書的每位讀者的編號、姓名和所借圖書的編號。SELECTreaderInfo.ReaderID,ReaderName,borrowInfo.ReaderID,BookIDFROMreaderInfoINNERJOINborrowInfoONreaderInfo.ReaderID=borrowInfo.ReaderID查詢結(jié)果如圖所示內(nèi)連接是使用最頻繁的連接語句,SQL語言提供了一種簡單寫法:SELECT列名1[,列名2…]FROM表名1,表名2[,表名3…]WHERE查詢條件【例5-23】通過readerInfo、borrowInfo、bookInfo這3個表,查詢每位讀者都曾經(jīng)借過哪些圖書。SELECTR.ReaderID,ReaderName,B1.BookID,BookNameFROMreaderInfoR,borrowInfoB1,bookInfoB2WHERER.ReaderID=B1.ReaderIDANDB1.BookID=B2.BookID查詢結(jié)果如圖所示說明:(1)為了降低書寫表名的難度,F(xiàn)ROM子句中為每個表起了一個“別名”,格式和用法與列的“別名”類似。(2)在這種格式中,如果缺少WHERE子句,就變成了交叉連接語句。(3)SELECT子句中的B1.BookID列也可以使用B2.BookID,查詢結(jié)果不變。這說明borrowInfo表作為連接readerInfo表與bookInfo表的橋梁,可以不返回該表中的任何一個列。3、外連接查詢在SQL中的外連接查詢分為左連接、右連接和全連接,語法格式和內(nèi)連接查詢的語法格式類似,只有一個單詞不同。外連接查詢的語法格式如下:SELECT列名1[,列名2…]FROM表名1LEFT(或RIGHT,或FUll)JOIN表名2ON連接條件[LEFT(或RIGHT,或FUll)JOIN表名3ON連接條件…][WHERE查詢條件]以兩個表為例,如果查詢語句為以下形式:SELECT*FROM表1LEFT(或RIGHT,或FUll)JOIN表2ON編號=序號查詢結(jié)果類型于如下圖這里以左連接為例,分析一下外連接的連接方式。右連接的情況與左連接正好相反。左連接以左表為主,即左表中的所有記錄不論如何都會被返回,右表只返回符合連接條件的記錄,具體分為以下3種情況:(1)如果“表1”中的某條記錄在“表2”中剛好只有一條記錄可以匹配,則在返回的結(jié)果中會生成一個新的行。(2)如果“表1”中的某條記錄在“表2”中有N條記錄可以匹配,則在返回結(jié)果中也會生成N個新的行,這些行所包含的“表1”的字段值是重復(fù)的。(3)如果“表1”中的某條記錄在“表2”中沒有匹配的記錄,則在返回結(jié)果中仍然會生成一個新的行,只是該行所包含的“表2”的字段值都是NULL。全連接是返回兩個表中的全部記錄,符合連接條件的記錄相互匹配,不符合連接條件的記錄與NULL匹配。對于初學者,經(jīng)常分不清楚哪個表是左邊的表,哪個是右邊的表。此時可以觀察表名在語句中的位置,表名在JOIN的左邊或前面的表就是左邊的表,表名在JOIN的右邊或后面的表就是右表。在內(nèi)連接、左連接、右連接和全連接中,兩個表內(nèi)記錄的匹配模式一樣,只是選取的記錄數(shù)量不一樣,如果用數(shù)學集合知識表示,則4種連接選取的記錄數(shù)量下圖所示【例5-22】在readerInfo表和borrowInfo表中查詢,要求返回每位讀者的編號、姓名,曾借過書的讀者就返回圖書的編號,沒借過書的讀者就返回NULL。SELECTreaderInfo.ReaderID,ReaderName,BookIDFROMreaderInfoLEFTJOINborrowInfoONreaderInfo.ReaderID=borrowInfo.ReaderID查詢結(jié)果如圖所示4、自連接查詢在readerInfo表中,如果想查詢哪些讀者的年齡比胡大龍的年齡大,應(yīng)該如何編寫查詢語句?是否可以使用以下語句?SELECTReaderID,ReaderName,ReaderSex,ReaderAge,Department,ReaderType,MobileFROMreaderInfoWHEREReaderAge>39這是不行的,因為在查詢之前,我們并不知道胡大龍的年齡是39歲,WHERE子句中的查詢條件無法編寫。有人說,那先查詢出胡大龍的年齡,把結(jié)果寫在WHERE子句的查詢條件中就可以了。這的確是一條正確的思路,我們將在下一節(jié)“子查詢”中介紹這種思路的實現(xiàn)方法。在本節(jié)中,我們也可以使用連接查詢的方法解決這個問題?!纠?-24】在readerInfo表中,查詢年齡比胡大龍的年齡大的所有讀者的姓名和年齡。思考過程:(1)姓名和年齡都在readerInfo表中,那么如何進行連接查詢呢?可以想象將readerInfo表抄寫兩份,這樣就有兩個表可以連接了。SELECTa.ReaderNamea表中的姓名,a.ReaderAgea表中的年齡,b.ReaderNameb表中的姓名,b.ReaderAgeb表中的年齡FROMreaderInfoa,readerInfob說明:①由于是一個表與自己連接,表名相同,因此為了區(qū)分列的來源,必須為表起別名。②為了便于理解,語句中為每個列也命名了別名。③由于沒有WHERE查詢條件,因此上述語句生成了如圖所示的交叉連接查詢結(jié)果。(2)在上述語句的基礎(chǔ)上,加入WHERE查詢條件:SELECTa.ReaderNamea表中的姓名,a.ReaderAgea表中的年齡,b.ReaderNameb表中的姓名,b.ReaderAgeb表中的年齡FROMreaderInfoa,readerInfobWHEREa.ReaderName='胡大龍'可以得到如圖所示的內(nèi)連接查詢結(jié)果。這里使用a.ReaderName或b.ReaderName作為查詢條件,查詢結(jié)果是一樣的。(3)在上述語句的基礎(chǔ)上,再加入查詢條件“a表中的年齡<b表中的年齡”,并對查詢的列進行修改,就可以得到最終查詢語句:SELECTb.ReaderName,b.ReaderAgeFROMreaderInfoa,readerInfobWHEREa.ReaderName='胡大龍'ANDa.ReaderAge<b.ReaderAge查詢結(jié)果如圖所示。在這個例子中,這種一個表與自身進行連接查詢的方法被稱為自連接查詢。連接查詢語句的編寫比較復(fù)雜,希望通過這個例子的思考過程,能讓大家進一步理解連接查詢。連接查詢大部分可以用下節(jié)將要介紹的“子查詢”替代,但由于連接查詢的速度比子查詢的速度要快,因此在實際工作中應(yīng)盡量使用連接查詢。三、歸納總結(jié),隨堂練習,布置作業(yè)1、對課堂上講解的知識點進行總結(jié),使用高校教輔平臺中的隨堂練習題鞏固本節(jié)課的知識點。思考題和習題請參照教材5.2.1&5.2.2&5.2.3節(jié)內(nèi)容完成“技能訓練7:多表連接查詢”教學后記

課題名稱項目5數(shù)據(jù)查詢之任務(wù)3:子查詢計劃課時2課時內(nèi)容分析當一個SELECT語句被放在其他SQL語句中時,這個SELECT語句就被稱為子查詢。子查詢也被稱為內(nèi)部查詢或內(nèi)部選擇,而包含子查詢的語句也被稱為外部查詢或外部選擇。教學目標及基本要求通過教學,讓學生掌握:子查詢;聯(lián)合查詢。教學重點1. 子查詢圖書館管理系統(tǒng)的組成教學難點1. 聯(lián)合查詢教學方式講授為主,講練結(jié)合教學過程教案15:子查詢一、課程引入(1)回顧上一節(jié)學習知識,引出本節(jié)主題帶領(lǐng)學生回顧“查詢哪些讀者的年齡比胡大龍的年齡大”的問題。提出問題:是否能夠在一個SELECT語句中進行兩次查詢(2)提出學習目標1.子查詢;2.聯(lián)合查詢。二、新內(nèi)容的講解1、子查詢對于任務(wù)5.2中“查詢哪些讀者的年齡比胡大龍的年齡大”的問題,有人提出如果WHERE子句中可以直接使用查詢結(jié)果,就可以寫出以下語句解決問題:SELECTReaderName,ReaderAgeFROMreaderInfoWHEREReaderAge>(查詢胡大龍年齡的SELECT語句)SQL確實支持這種查詢方式,稱為子查詢。上面的查詢語句可以改寫成以下形式:SELECTReaderName,ReaderAgeFROMreaderInfoWHEREReaderAge>(SELECTReaderAgeFROMreaderInfoWHEREReaderName='胡大龍')當一個SELECT語句被放在其他SQL語句中時,這個SELECT語句就被稱為子查詢。子查詢也被稱為內(nèi)部查詢或內(nèi)部選擇,而包含子查詢的語句也被稱為外部查詢或外部選擇。子查詢語句必須放英文圓括號中。子查詢不能包含COMPUTE或FORBROWSE子句,并且ORDERBY子句只能在子查詢包含TOP子句時出現(xiàn)。SQLServer數(shù)據(jù)庫不支持子查詢包含ntext、text和image數(shù)據(jù)類型的結(jié)果。子查詢可以嵌套在SELECT、INSERT、UPDATE或DELETE語句或其他子查詢語句中。當子查詢嵌套在另一個子查詢中時,SQLServer允許最多32層的子查詢嵌套。SQL允許在任何可以使用表達式的

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論