數(shù)據(jù)庫原理與應用教案_第1頁
數(shù)據(jù)庫原理與應用教案_第2頁
數(shù)據(jù)庫原理與應用教案_第3頁
數(shù)據(jù)庫原理與應用教案_第4頁
數(shù)據(jù)庫原理與應用教案_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE2NO:1授課章節(jié)SQLSERVER2005的基礎(chǔ)知識課時安排教學目的要求主要講述的是SQLServer2005的基礎(chǔ)知識,主要從二個方面著手講:一是網(wǎng)絡,二是數(shù)據(jù)庫。對于第一部分,主要是以復習的形式進行學習,除此以外,還講了SQLServer2005的安裝過程。通過本堂課的學習,學生應該對于SQL的二個基礎(chǔ)知識有所了解,為以后的學習打下基礎(chǔ)。教學重點難點網(wǎng)絡知識數(shù)據(jù)庫知識數(shù)據(jù)庫的安裝過程教學內(nèi)容及時間安排方法及手段一、網(wǎng)絡知識1、定義講題思路:在現(xiàn)在,沒有沒上過網(wǎng)學生,所以在講這個知識點的時候,可以通過提問的方式來引出此概念授課內(nèi)容:計算機網(wǎng)絡是通信技術(shù)和計算機技術(shù)相結(jié)合的產(chǎn)物,是通過通信網(wǎng)絡,將地理上分散的具有自治功能的多個計算機系統(tǒng)互邊起來,進行信息交換,實現(xiàn)資源共享、互操作和協(xié)作處理的系統(tǒng)。分類:講題思路:以提問的方式進行教學授課內(nèi)容:從用戶的角度看:計算機網(wǎng)絡是眾多計算機和用戶連接在一起的系統(tǒng)從資源的角度看:計算機網(wǎng)絡是共享外部設備和公共信息的系統(tǒng)從管理角度看:計算機網(wǎng)絡是進行信息和設備集中管理系統(tǒng)3、計算機網(wǎng)絡的分類講課思路:主要以講授和提問方式為主講課內(nèi)容:對于大部分的同學來說,對于網(wǎng)絡的分類只能從網(wǎng)絡分頁地域來分,所以,可以把這點作為本小節(jié)重點來講4、計算機網(wǎng)絡的拓撲結(jié)構(gòu)講課思路:先講出這些拓撲結(jié)構(gòu),再根據(jù)各自的字面意思,畫出具體的結(jié)構(gòu)圖示授課內(nèi)容:計算機網(wǎng)絡中的各種網(wǎng)絡設備的連接形式,稱為網(wǎng)絡拓撲結(jié)構(gòu)。常見的網(wǎng)絡拓撲結(jié)構(gòu)包括總線型、星型、環(huán)型和網(wǎng)狀型。一些復雜的網(wǎng)絡往往是這幾種拜年的混合體。5、網(wǎng)絡中的計算機通信的原理6、TCP/IP協(xié)議8、端口9、設置計算機的IP地址10、數(shù)據(jù)庫基礎(chǔ)知識a)、數(shù)據(jù)庫系統(tǒng)b)、數(shù)據(jù)庫c)、數(shù)據(jù)庫管理系統(tǒng)d)數(shù)據(jù)庫應用系統(tǒng)e)、數(shù)據(jù)庫系統(tǒng)相關(guān)人員f)、關(guān)系模型g)、關(guān)系型數(shù)據(jù)庫h)、關(guān)系型數(shù)據(jù)表的關(guān)聯(lián)關(guān)系i)、關(guān)系型數(shù)據(jù)的完整性11、SQLServer2005的安裝10分鐘在此部分,可以采取提問的方法來引導學生進行學習講授法10分鐘講授法舉例法15分鐘圖示法2分鐘3分鐘2分鐘3分鐘20分鐘演示法15分鐘作業(yè)布置:預習SQL2005的基礎(chǔ)知識備注:

NO:2授課章節(jié)創(chuàng)建與操作數(shù)據(jù)庫課時安排教學目的要求主要描述了如何創(chuàng)建數(shù)據(jù)庫、數(shù)據(jù)表、設置數(shù)據(jù)庫選項、管理數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)類型和生成T-SQL腳本的方法,同時還描述了SQLServer2005存儲數(shù)據(jù)的方法教學重點難點創(chuàng)建數(shù)據(jù)庫管理數(shù)據(jù)庫3、創(chuàng)建和刪除用戶表的方法教學內(nèi)容及時間安排方法及手段一、與數(shù)據(jù)庫相關(guān)的基本概念主要內(nèi)容:本節(jié)所講的都是數(shù)據(jù)庫的一些基本知識點,在這里,要求學生了解頁、區(qū)域、事務日志、數(shù)據(jù)庫文件和事務日志文件的相關(guān)概念在這節(jié),主要是通過講授和PPT的演示來講解這些概念性內(nèi)容。二、創(chuàng)建數(shù)據(jù)庫教學思路:這節(jié)的操作性比較強,在講課時,可以邊講解邊操作,可以列舉出類似的例子來對學生進行測試。特別是對于用語句來創(chuàng)建數(shù)據(jù)庫,應該是本堂課的重點主要內(nèi)容:使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫利用T-SQL語句創(chuàng)建數(shù)據(jù)庫重點:把T-SQL語句的語法格式要好好的進行分析,幫助學生好好的理解三、修改數(shù)據(jù)庫設置教學思路:邊演示邊講解,設置各種各樣的陷阱,通過提問而引出本節(jié)的內(nèi)容,從而進行解決主要內(nèi)容:使用企業(yè)管理器修改數(shù)據(jù)庫利用T-SQL語句修改數(shù)據(jù)庫四、刪除數(shù)據(jù)庫15分鐘25分鐘演示法舉例法25分鐘15分鐘作業(yè)布置:預習與數(shù)據(jù)表操作關(guān)的知識點備注:NO:3授課章節(jié)數(shù)據(jù)類型和表課時安排教學目的要求主要講述的是SQLServer支持的數(shù)據(jù)類型,學習如何創(chuàng)建數(shù)據(jù)表和維護表的結(jié)構(gòu)。教學重點難點1、系統(tǒng)數(shù)據(jù)庫和用戶數(shù)據(jù)庫2、T-SQL語言概述3、SQL數(shù)據(jù)類型4、變量5、注釋符、運算符和通配符6、流程控制命令教學內(nèi)容及時間安排方法及手段一、數(shù)據(jù)類型所謂數(shù)據(jù)類型就是以數(shù)據(jù)的表現(xiàn)方式和存儲方式來劃分的數(shù)據(jù)的種類。在SQLServer中每個變量、參數(shù)、表達式等都有數(shù)據(jù)類型。1)二進制數(shù)據(jù)類型2)邏輯數(shù)據(jù)類型BIT3)字符數(shù)據(jù)類型4)文本和圖形數(shù)據(jù)類型5)日期和時間數(shù)據(jù)類型6)貨幣數(shù)據(jù)類型7)特定數(shù)據(jù)類型1.TIMESTAMP2.UNIQUEIDENTIFIER8)用戶自定義數(shù)據(jù)類型二、創(chuàng)建表6.1表的創(chuàng)建表定義為列的集合,數(shù)據(jù)在表中是按行和列的組織形式排列的。每行代表惟一的一條記錄,每列代表記錄中的一個數(shù)據(jù)項,一個表最多個創(chuàng)建1024列,一個行最多可容納8060字節(jié)的用戶數(shù)據(jù)。6.1.1設計表的結(jié)構(gòu)1.表的設計思路表的各列及每一列的數(shù)據(jù)類型,列是否允許為空值;是否需要索引,哪些列是主鍵,哪些列是外鍵;是否使用約束、默認設置或規(guī)則等。2.幾個與表結(jié)構(gòu)設計相關(guān)的概念NULL或NOTNULLNULL:空值,其不等于0、空白或零長度的字符串,而是表示沒有輸入,NULL的存在通常表明值未知或未定義。若表的某一列被指定具有NULL屬性,則允許在插入數(shù)據(jù)時省略該列的值IDENTITY(標識列)含義:IDENTITY惟一地標識表中的一行,其值由上一行的IDENTITY列值和為該列定義的步長自動生成。定義說明:定義列時需給出一個初始值和一個步長值(增量),若未定義則默認初始值為1,步長值為1。每張表只允許有一個IDENTITY列;IDENTITY列值不能被更新、不允許有空值,其值只允許是INT、SMALLINT、TINYINT、NUMERIC(小數(shù)部分為0)、DECIMAL(小數(shù)部分為0);通過函數(shù)ident_seed('表名')可獲得初始值,通過函數(shù)ident_incr('表名')可獲得步長值,使用全局變量@@identity可返回標識列的數(shù)據(jù)。生成值說明:插入數(shù)據(jù)到含有IDENTITY列的表中時,初始值在插入第一行數(shù)據(jù)時使用,以后由SQL根據(jù)上一行使用的IDENTITY值加上增量得到。三、使用T-SQL語創(chuàng)建表格式:Createtabletable_name(column_namedata_type[null|notnull|identity(初始值,步長值)]四、使用企業(yè)管理器創(chuàng)建表進入企業(yè)管理器,分別點擊"數(shù)據(jù)庫"、用戶數(shù)據(jù)庫、'表',再點擊菜單中的"操作"/"新建表"(或右鍵單擊表,并選擇"新建表";在彈出的窗口中,依次輸入各字段名及其所對應的數(shù)據(jù)類型、字段長度等設置值;演示法講授法講授法講授法10分鐘作業(yè)布置:練習:創(chuàng)建表備注:NO:4授課章節(jié)SQLServer約束完整性課時安排教學目的要求主要介紹了數(shù)據(jù)完整性的概念,包括可用于強制數(shù)據(jù)完整性的方法,還介紹了確保數(shù)據(jù)完整性的主要方法約束,并介紹了各種約束類型。本章還詳細討論如何創(chuàng)建和實現(xiàn)約束以及在必要時禁用約束的方法。本章還討論了強制數(shù)據(jù)完整性的其他可選的方法—默認值和規(guī)則。教學重點難點了解數(shù)據(jù)完整性的類型掌握強制數(shù)據(jù)完整性的方法掌握如何確定使用哪種約束并創(chuàng)建該約束掌握禁用約束檢查掌握確定使用哪種數(shù)據(jù)完整性強制方法教學內(nèi)容及時間安排方法及手段一、數(shù)據(jù)完整性的類型本節(jié)主要達到以下目的:掌握數(shù)據(jù)完整性的相關(guān)概念熟悉數(shù)據(jù)完整性的類型了解各種數(shù)據(jù)完整性類型的特點二、使用企業(yè)管理器管理約束本節(jié)主要達到以下目的:了解約束分類掌握各種約束的創(chuàng)建方法簡單講解思路:首先要講約束的相關(guān)概念,再根據(jù)概念將約束進行分類,后講解各種約束的創(chuàng)建方法主要內(nèi)容約束概念、約束的分類默認約束、主鍵約束、檢查約束惟一約束、外鍵約束參照約束利用企業(yè)管理器和查詢分析器分別創(chuàng)建這幾種約束三、設置默認方法四、規(guī)則15分鐘講授40分鐘15分鐘10分鐘作業(yè)布置:預習書本第四章的內(nèi)容備注:NO:5授課章節(jié)使用SQLServer語句操作數(shù)據(jù)庫課時安排教學目的要求主要介紹了利用T-SQL語句對數(shù)據(jù)庫進行操作,即對數(shù)據(jù)庫中的數(shù)據(jù)進行操作,要求學生掌握查詢語句、插入語句、刪除數(shù)據(jù)和更新數(shù)據(jù)的語法格式和方法,并能加以靈活操作。教學重點難點1、查詢語句2、插入語句3、刪除數(shù)據(jù)4、更新數(shù)據(jù)教學內(nèi)容及時間安排方法及手段一、查詢語句講授思路:先學習SELECT語法格式,再針對具體問題舉例說明主要內(nèi)容:1、熟悉SELECT的語法2、掌握簡單查詢的方法重點:簡單查詢各種SELECT謂語的變化二、插入語句講授思路:先學習INSERT語法格式,再進行舉例說明,后說明操作應試注意的小細節(jié)重點:INSERT的語法格式三、刪除數(shù)據(jù)講授思路:先學習DELETE的語法格式,再舉例說明,加以鞏固講授內(nèi)容:1、DELETE語法格式2、刪除一條記錄3、刪除多條記錄4、帶子查詢的刪除語句四、更新數(shù)據(jù)講授內(nèi)容:UPDATE語法格式、更新一條記錄的值更新多個記錄的值、帶子查詢的更新語句35分鐘15分鐘15分鐘15分鐘作業(yè)布置:預習本章中的連接查詢備注:NO:6授課章節(jié)使用Transact-SQL的查詢工具課時安排教學目的要求主要介紹了利用T-SQL語句查詢分析器執(zhí)行SQL預計,完成數(shù)據(jù)庫操作。教學重點難點1、SQL查詢分析器的功能2、使用對象瀏覽器3、使用SQL查詢分析器中的模板4、使用osql5、執(zhí)行Transact-SQL語句教學內(nèi)容及時間安排方法及手段SQL查詢分析器介紹和演示查詢分析器:一個使用方便的文本編輯器代碼顏色轉(zhuǎn)換帶有網(wǎng)格或文本輸出的多重查詢窗口執(zhí)行腳本的一部分查詢執(zhí)行信息二、使用SQL查詢分析器中的對象瀏覽器工具使用對象瀏覽器,能夠瀏覽數(shù)據(jù)庫中的所有對象使用對象瀏覽器,可以:為對象生成腳本執(zhí)行存儲過程打開表改變數(shù)據(jù)庫中的對象使用Transact-SQL模板三、使用SQL查詢分析器中的模板模板是在數(shù)據(jù)庫中創(chuàng)建對象的起始點,包含有幫助定制腳本的參數(shù)。模板參數(shù)定義的格式:<參數(shù)名,數(shù)據(jù)類型,值>四、使用osql實用工具運行osql命令行工具可以直接從操作系統(tǒng)運行osql命令行工具,也可以從批處理文件或命令行運行使用交互模式把Transact-SQL語句交互地傳輸給SQLServer,返回結(jié)果被格式化后顯示在顯示器屏幕上使用腳本運行模式輸入單行SQL語句并執(zhí)行,或者給osql指定一個包含SQL語句的腳本文件。輸出結(jié)果保存在文本文件中,也可以顯示在屏幕上。語法為:五、執(zhí)行Transact-SQL語句演示DECLARE@dbnamevarchar(30),@tblnamevarchar(30)SET@dbname='northwind'

SET@tblname='products'

EXECUTE('USE'+@dbname+'SELECT*FROM'+@tblname)20分鐘演示法10分鐘10分鐘20分鐘20分鐘作業(yè)布置:預習本章中的連接查詢備注:NO:7授課章節(jié)檢索數(shù)據(jù)課時安排教學目的要求主要介紹了使用SELECT語句檢索數(shù)據(jù),過濾數(shù)據(jù),設置結(jié)果集格式,描述查詢是如何被處理的,描述影響查詢性能的因素。教學重點難點1、使用SELECT語句檢索數(shù)據(jù)3、過濾數(shù)據(jù)3、詢處理4、自動地緩存查詢5、需要考慮的性能問題教學內(nèi)容及時間安排方法及手段一、查詢語句講授思路:先學習SELECT語法格式,再針對具體問題舉例說明主要內(nèi)容:1、熟悉SELECT的語法2、掌握簡單查詢的方法重點:簡單查詢各種SELECT謂語的變化二、過濾數(shù)據(jù)使用比較運算符使用字符串比較符使用邏輯運算符檢索一定范圍內(nèi)的值使用值列表作為搜索條件檢索未知值三、設置結(jié)果集格式對數(shù)據(jù)進行排序消除重復行改變列名使用字面值四、自動地緩存查詢特定的批處理SQLServer會為特定的批處理保存查詢計劃,如果接下來的批處理與上一個批處理類似,SQLServer將使用緩存的查詢計劃自動參數(shù)化SQLServer試圖探測實際上是參數(shù)的常量,并將它轉(zhuǎn)化為相應的參數(shù)。如果轉(zhuǎn)化成功,以后類似的查詢就可以使用同一個查詢計劃五、需要考慮的性能問題非邏輯操作會降低查詢速度LIKE搜索條件會降低查詢速度使用精確查詢或在一定范圍的查詢可能會提高數(shù)據(jù)查詢速度ORDERBY子句可能降低數(shù)據(jù)查詢速度35分鐘15分鐘15分鐘15分鐘作業(yè)布置:練習檢索數(shù)據(jù)備注:NO:8授課章節(jié)數(shù)據(jù)分組和匯總課時安排教學目的要求主要介紹了利用T-SQL語句中的分組和匯總語句。教學重點難點1、使用TOPn列出前n個記錄2、使用聚合函數(shù)3、GROUPBY的基礎(chǔ)知識4、在結(jié)果集中生成匯總值5、使用COMPUTE和COMPUTEBY子句教學內(nèi)容及時間安排方法及手段一、使用TOPn列出前n個記錄使用TOPn或TOPnPERCENT時,應注意在ORDERBY子句中指定值的范圍關(guān)鍵字TOP后使用無符號的整數(shù)如果TOPnPERCENT生成小數(shù),則SQLServer將把這個數(shù)取整可以在結(jié)果集中用WITHTIES子句包含那些值相等的記錄,這時結(jié)果集中可以包含任意數(shù)目的行二、使用聚合函數(shù)計算諸如平均值和總和的函數(shù)稱為聚合函數(shù)SQLServer對整個表或表里某個組中的字段進行匯總、計算,然后生成單個的值可以在SELECT語句中單獨使用聚合函數(shù),也可以與語句GROUPBY聯(lián)合使用除了COUNT(*)函數(shù),如果記錄集中沒有滿足WHERE子句的記錄,則所有函數(shù)返回空值,COUNT(*)返回0字段的數(shù)據(jù)類型決定了可以用在該字段上的聚合函數(shù)類型如:SUM和AVG只能用在數(shù)據(jù)類型代表數(shù)字的字段上三、GROUPBY的基礎(chǔ)知識聯(lián)合使用聚合函數(shù)和GROUPBY子句,能夠把表中的記錄分組,并對組中數(shù)據(jù)進行匯總。使用GROUPBY子句時,應注意:SQLServer將為每一組計算一個匯總值,并把匯總值保存在一個字段中對于指定的一組,SQLServer只生成一條記錄,不返回詳細信息SQLServer只對滿足WHERE子句的記錄進行分組和匯總GROUPBY子句的字段列表至多包含8060個字節(jié)不要對可包含空值的字段使用GROUPBY子句,因為空值也將被當作一組聯(lián)合使用關(guān)鍵字ALL和GROUPBY子句時,組合字段中含有空值的行都將被列出,而不管記錄是否滿足WHERE子句的條件SELECTproductid,SUM(quantity)AStotal_quantityFROMorderhistGROUPBYproductidSELECTproductid,SUM(quantity)AStotal_quantityFROMorderhistGROUPBYproductidHAVINGSUM(quantity)>=30四、在結(jié)果集中生成匯總值使用帶有ROLLUP運算符的GROUPBY子句使用帶有CUBE運算符的GROUPBY子句使用GROUPING函數(shù)五、使用COMPUTE和COMPUTEBY子句15分鐘15分鐘15分鐘15分鐘10分鐘10分鐘作業(yè)布置:練習分組和匯總查詢備注:NO:9授課章節(jié)多表查詢課時安排教學目的要求主要是對SQL語句的綜合應用,通過本節(jié)課的學習,讓學生除了對以前學過的知識有更深一步的掌握外,還得掌握對二個表進行查詢方法。教學重點難點多表查詢教學內(nèi)容及時間安排方法及手段一、基礎(chǔ)知識本節(jié)內(nèi)容的目的:了解多表查詢概念和分類,并要求掌握各種不同類別的語法格式,要求能加以靈活運用授課內(nèi)容:1、概念多表連接查詢:一個查詢需要在多個表之間進行操作,也可以簡稱為連接查詢連接條件:連接查詢中用來連接兩個表的條件,也可以簡稱為連接謂語2、分類按是否使用“=”運算符:等值連接查詢、非等值連接查詢按結(jié)果分類:內(nèi)連接、外連接3、連接條件的語法形式:[<表1>.]<列名1><連接運算符>[<表2>.]<列名2>連接運算符包括:比較運算符:=、>、<、>=、<=、!=、between和and邏輯運算符:Not、And、Or4、連接查詢的運算過程:在表1中找到第一個記錄,逐行掃描表2的所有記錄,若有滿足連接條件的就組合表1的字段和表2的字段為一個新的記錄,以此類推,在表1中掃描完所有的記錄后就組合成了連接查詢的結(jié)果二、應用講授思路:先講語法格式,再舉例,當講完所有的連接后,試著讓學生總結(jié)出各種連接的特點講授內(nèi)容:1、笛卡爾積連接2、等值連接3、非等值連接4、自連接查詢5、內(nèi)連接查詢6、外連接查詢30分鐘講授50分鐘作業(yè)布置:預習索引知識備注:NO:10授課章節(jié)子查詢課時安排教學目的要求主要是對SQL語句的子查詢,掌握子查詢的關(guān)聯(lián),以前Exists、notexists子句。教學重點難點子查詢介紹把子查詢用作派生表把子查詢用作表達式使用子查詢關(guān)聯(lián)數(shù)據(jù)使用EXISTS和NOTEXISTS子句教學內(nèi)容及時間安排方法及手段一、子查詢介紹子查詢是嵌套在SELECT、INSERT、UPDATE、DELETE語句或另一個子查詢中的SELECT語句使用子查詢的原因:把復雜的查詢分解成一系列的邏輯步驟作為WHERE子句中條件的組成部分使用聯(lián)接而不使用子查詢的原因:SQLServer執(zhí)行聯(lián)接的速度比子查詢要快二、把子查詢用作派生表可以用子查詢產(chǎn)生一個派生的表,用于代替FROM子句中的表。用子查詢產(chǎn)生派生表時,子查詢可以認為是是查詢語句中的一個結(jié)果集,被用作一個表。代替了FROM子句中的表將與查詢的其他部分一起優(yōu)化。例:SELECTT.orderid,T.customeridFROM(SELECTorderid,customeridFROMorders)AST三、把子查詢用作表達式在Transact-SQL中,所有使用表達式的地方,都可以使用子查詢代替。當子查詢被用作表達式時,子查詢可以認為是被當作一個表達式處理并計算。查詢優(yōu)化器總是將表達式等同于聯(lián)接一個只有一行記錄的表,在整個語句中,只計算一次。例:SELECTtitle,price,(SELECTAVG(price)FROMtitles)ASaverage,price-(SELECTAVG(price)FROMtitles)ASdifferenceFROMtitlesWHEREtype=‘popular_comp’四、使用子查詢關(guān)聯(lián)數(shù)據(jù)使用相關(guān)子查詢時,內(nèi)層子查詢被反復執(zhí)行。外層查詢有多少記錄,內(nèi)層查詢就被執(zhí)行多少次SQLServer在外層查詢的每一條記錄執(zhí)行一次內(nèi)層查詢SQLServer將比較內(nèi)層查詢的結(jié)果和外層查詢的結(jié)果例:SELECTorderid,customeridFROMordersASor1WHERE20<(SELECTquantityFROM[orderdetails]ASodWHEREor1.orderid=od.orderidANDductid=23五、使用EXISTS和NOTEXISTS子句和相關(guān)子查詢一起使用,可以限制外層查詢,使其結(jié)果集符合子查詢的條件,判斷某個值是否存在于一系列的值中。SQLServer將測試數(shù)據(jù)是否匹配子查詢結(jié)果集的某一條記錄SQLServer處理過程:外層子查詢測試子查詢返回的記錄是否存在基于查詢所指定的條件,子查詢返回TRUE或FALSE子查詢不產(chǎn)生任何記錄例:SELECTlastname,employeeidFROMemployeesASeWHEREEXISTS(SELECT*FROMordersASoWHEREe.employeeid=o.employeeidANDo.orderdate=‘10/4/0010分鐘15分鐘15分鐘20分鐘20分鐘作業(yè)布置:練習:子查詢備注:NO:11授課章節(jié)修改數(shù)據(jù)課時安排教學目的要求主要講述的是SQLServer支持的數(shù)據(jù)類型,學習如何創(chuàng)建數(shù)據(jù)表和維護表的結(jié)構(gòu)。教學重點難點1、系統(tǒng)數(shù)據(jù)庫和用戶數(shù)據(jù)庫2、T-SQL語言概述3、SQL數(shù)據(jù)類型4、變量5、注釋符、運算符和通配符6、流程控制命令教學內(nèi)容及時間安排方法及手段一、插入數(shù)據(jù)插入單行數(shù)據(jù)1.利用T-SQL語言插入:格式:INSERT[INTO]table_name|view_name[(column_list)]VALUES(values_list)|select_statement2.使用企業(yè)管理器輸入數(shù)據(jù)打開企業(yè)管理器,選擇“選擇庫”/用戶所在數(shù)據(jù)庫/要添加數(shù)據(jù)的表,單擊右鍵,在彈出菜單中選擇“打開表”/“返回所有行”。例:使用SQL語言和企業(yè)管理器兩種方法為附錄B中的所有表添加記錄從其他表或視圖中插入多行記錄格式:INSERTtable_nameSELECTcolumn_listFROMtable_listWHEREsearch_conditions說明:table_name和table_list可以是相同的表,也可以是不同的表,但必須是已存在的表INSERT中指定的表和SELECT子句得到的結(jié)果集一定要兼容,即列的數(shù)量和順序必須相同,列的數(shù)據(jù)類型和長度要相同,或者能進行轉(zhuǎn)換。例:將‘JWGL’數(shù)據(jù)庫中‘teacher’表的teacher_id、teacher_name、sex字段數(shù)據(jù),添加到‘teacher1’表中。UsejwglInsertteacher1Selectteacher_id,teacher_name,sexFromteachergo二、更新數(shù)據(jù)格式:UPDATEtable_name|view_nameSETcolumn_name|variable_list=expression[,……N][WHEREsearch_conditions]說明:table_name|view_name:要更新的表名或視圖名column_name|variable_list=expression[,……N]:要更新數(shù)據(jù)的字段名或變量名,可以為多個;expression:可以為多個;WHEREsearch_conditions:更新數(shù)據(jù)所應滿足的條件,缺省,則向該列所有行插入指定數(shù)據(jù)。例如:為‘JWGL’數(shù)據(jù)庫中的‘student’表添加一個名為‘AGE’的字段,類型為TINYINT,用于計算年齡,使用UPDATE命令,更新未賦值的AGE字段值。注:AGE的值等于當前日期-BIRTH字段中的年份得到。UseJWGLAltertablestudentAddagetinyintGoUpdatestudentSetage=datediff(yy,birth,getdate())三、刪除數(shù)據(jù)格式:DELETE[FROM]table_name[WHEREsearch_conditions]--省略則刪除表中所有數(shù)據(jù)演示:演示法講授法講授法講授法演示法10分鐘作業(yè)布置:練習:數(shù)據(jù)修改命令備注:NO:12授課章節(jié)索引課時安排教學目的要求主要講了索引的相關(guān)概念,并較詳細的介紹了創(chuàng)建索引、編輯和刪除索引的相關(guān)操作。通過本節(jié)課的學習,要求學生能對這些知識點進行熟練掌握。教學重點難點1、創(chuàng)建索引的方法2、對索引的操作教學內(nèi)容及時間安排方法及手段一、索引的基本概念二、對索引的所有操作簡單講解思路:在已講解概念的基礎(chǔ)上,通過演示來進行對索引的各種各樣操作授課內(nèi)容:創(chuàng)建索引1.1、使用企業(yè)管理器創(chuàng)建索引1.2、使用T-SQL命令創(chuàng)建索引2、查看所有索引2.1、使用企業(yè)管理器查看索引2.2、使用T-SQL命令查看索引3、編輯索引5分鐘75分鐘演示法講授法作業(yè)布置:練習:創(chuàng)建索引備注:NO:13授課章節(jié)規(guī)劃索引課時安排教學目的要求主要講了索引的相關(guān)概念,并較詳細的介紹了創(chuàng)建索引、編輯和刪除索引的相關(guān)操作。通過本節(jié)課的學習,要求學生能對這些知識點進行熟練掌握。教學重點難點1、索引介紹2、索引架構(gòu)3、SQLServer檢索存儲的數(shù)據(jù)的方法4、SQLServer維護索引和堆結(jié)構(gòu)的方法教學內(nèi)容及時間安排方法及手段一、SQLServer存儲和訪問數(shù)據(jù)的方法數(shù)據(jù)的存儲方法:數(shù)據(jù)行存儲在數(shù)據(jù)頁中堆是一個表所有數(shù)據(jù)頁的集成每個數(shù)據(jù)頁包括8KB信息,八個鄰近的頁稱為一個擴展盤區(qū)數(shù)據(jù)行的存儲是無序的,數(shù)據(jù)頁也是無序的數(shù)據(jù)頁并不是通過鏈表連接當行插入滿的頁的時候,數(shù)據(jù)頁拆分5分鐘75分鐘演示法講授法作業(yè)布置:預習創(chuàng)建和維護索引備注:NO:14授課章節(jié)視圖課時安排教學目的要求主要講了視圖的相關(guān)概念,并較詳細的介紹了創(chuàng)建視圖、編輯和刪除視圖的相關(guān)操作。通過本節(jié)課的學習,要求學生能對這些知識點進行熟練掌握。教學重點難點1、創(chuàng)建視圖的方法2、對視圖的操作教學內(nèi)容及時間安排方法及手段一、視圖的基本概念二、與視圖有關(guān)的操作簡單講解思路:在已講解概念的基礎(chǔ)上,通過演示來進行對索引的各種各樣操作授課內(nèi)容:1、創(chuàng)建視圖1.1、使用企業(yè)管理器創(chuàng)建視圖1.2、使用T-SQL命令創(chuàng)建視圖2、編輯視圖3、視圖視圖5分鐘75分鐘作業(yè)布置:練習子查詢備注:NO:15授課章節(jié)使用存儲過程和自定義函數(shù)課時安排教學目的要求通過本節(jié)課的學習,學生要了解存儲過程和用戶自定義函數(shù)的概念、優(yōu)點。掌握存儲過程的創(chuàng)建語法和執(zhí)行過程,自定義函數(shù)的創(chuàng)建方法,并且要理解利用企業(yè)管理器和T-SQL語句來如何管理存儲過程。教學重點難點掌握創(chuàng)建存儲過程、自定義函數(shù)掌握刪除存儲過程、自定義函數(shù)掌握更改存儲過程、自定義函數(shù)教學內(nèi)容及時間安排方法及手段存儲過程1、定義存儲過程概念:是存儲在服務器上的Transact-SQL語句的命名集合是封裝重復性任務的方法支持用戶聲明變量、條件執(zhí)行以及其他強有力的編程特性SQLServer支持五種類型的存儲過程系統(tǒng)存儲過程(sp_):存儲在master數(shù)據(jù)庫內(nèi),以“sp_”前綴標識本地存儲過程:本地存儲過程在單獨的用戶數(shù)據(jù)庫內(nèi)創(chuàng)建本地存儲過程:本地存儲過程在單獨的用戶數(shù)據(jù)庫內(nèi)創(chuàng)建臨時存儲過程:臨時存儲過程可能是局部的,名稱以“#”開

頭;也可能是全局的,名稱以“##”開頭遠程存儲過程:遠程存儲過程是SQLServer早期版本的特性,分布式查詢支持這項功能擴展存儲過程(xp_):擴展存儲過程以動態(tài)鏈接庫(DLL)的形式實現(xiàn),在SQLServer環(huán)境外執(zhí)行存儲過程的創(chuàng)建創(chuàng)建存儲過程時,先分析該過程中的語句以檢查語法的準確性。然后SQLServer將存儲過程的名字存入當前數(shù)據(jù)庫的sysobjects系統(tǒng)表中,存儲過程的文本存入當前數(shù)據(jù)庫的syscomments系統(tǒng)表中延遲名稱解析:存儲過程引用的對象不需要在創(chuàng)建該存儲過程時就存在,而只需在執(zhí)行該存儲過程時存在2、存儲過程的優(yōu)點與其他應用程序共享應用邏輯,確保一致的數(shù)據(jù)訪問和修改。存儲過程封裝了商務邏輯。若規(guī)則或策略有變化,則只需要修改服務器上的存儲過程,所有的客戶端就可以直接使用屏蔽數(shù)據(jù)庫模式的詳細資料。用戶不需要訪問底層的數(shù)據(jù)庫和數(shù)據(jù)庫內(nèi)的對象提供了安全性機制。用戶可以被賦予執(zhí)行存儲過程的權(quán)

限,而不必在存儲過程引用的所有對象上都有權(quán)限3、創(chuàng)建、執(zhí)行、修改和刪除存儲過程創(chuàng)建存儲過程USENorthwindGOCREATEPROCdbo.OverdueOrdersASSELECT*FROMdbo.OrdersWHERERequiredDate<GETDATE()ANDShippedDateISNullGO只能在當前數(shù)據(jù)庫內(nèi)創(chuàng)建存儲過程,除了臨時存儲過程。臨時存儲過程總是創(chuàng)建在tempdb數(shù)據(jù)庫中存儲過程可以引用表、視圖、用戶定義函數(shù)、其他存儲過程以及臨時表若存儲過程創(chuàng)建了局部臨時表,則當存儲過程執(zhí)行結(jié)束后臨時表消失執(zhí)行存儲過程可單獨執(zhí)行存儲過程或作為INSERT語句的一部分執(zhí)行存儲過程必須在存儲過程上擁有EXECUTE權(quán)限單獨執(zhí)行存儲過程語法:[[EXEC[UTE]]{[@返回狀態(tài)=]{存儲過程名[;編號]|

@存儲過程名稱變量}[[@參數(shù)=]{值|@變量[OUTPUT]|[DEFAULT]][,...n][WITHRECOMPILE]在INSERT語句內(nèi)執(zhí)行存儲過程語法:INSERTINTO表名EXEC[UTE]……將本地或遠程存儲過程返回的結(jié)果集插入本地表中在INSERT語句內(nèi)執(zhí)行的存儲過程必須返回關(guān)系結(jié)果集修改存儲過程USENorthwindGOALTERPROCdbo.OverdueOrdersASSELECTCONVERT(char(8),RequiredDate,1)RequiredDate,CONVERT(char(8),OrderDate,1)OrderDate,OrderID,CustomerID,EmployeeIDFROMOrdersWHERERequiredDate<GETDATE()ANDShippedDateISNullORDERBYRequiredDateGO刪除存儲過程語法:DROPPROCEDURE{存儲過程名}[,...n]4、在存儲過程中使用參數(shù)輸入?yún)?shù)允許傳遞信息到存儲過程內(nèi)在CREATEPROCEDURE中指定@參數(shù)名數(shù)據(jù)類型[=默認值]使用輸出參數(shù)返回值輸出參數(shù):以OUTPUT關(guān)鍵字指定的變量存儲過程通過輸出參數(shù)向調(diào)用它的存儲過程或客戶端返回信息通過輸出參數(shù),存儲過程的運行結(jié)果可以得到保留,即使存儲過程運行結(jié)束錯誤信息處理RETURN語句從查詢或存儲過程無條件返回,同時可以返回一個整數(shù)狀態(tài)值(返回碼)返回碼為0表示成功。0至-14的返回碼已被系統(tǒng)使用,-15至-99的返回碼被系統(tǒng)保留作將來擴展。若用戶不提供返回碼,則返回SQLServer的返回碼。用戶定義的返回碼優(yōu)先級高于系統(tǒng)提供的返回碼@@error函數(shù)@@error系統(tǒng)函數(shù)包含了最近執(zhí)行的Transact-SQL語句的錯誤號,隨著每一條語句的執(zhí)行而更新使用@@error系統(tǒng)函數(shù)檢測特定的錯誤號或有條件地退出存儲過程RAISERROR語句返回用戶定義的錯誤信息并設系統(tǒng)標志,記錄發(fā)生的錯誤實現(xiàn)用戶定義函數(shù)用戶定義函數(shù)SQLServer2005允許用戶設計自己的函數(shù),以補充和擴展系統(tǒng)提供(內(nèi)置)函數(shù)的功能用戶定義函數(shù)采用零或多個輸入?yún)?shù)并返回標量值或表SQLServer2005支持三種用戶定義函數(shù):標量函數(shù)、多語句表值函數(shù)和內(nèi)嵌表值函數(shù)標量函數(shù)標量函數(shù)返回一個標量(單值)結(jié)果可在與標量函數(shù)返回的數(shù)據(jù)類型相同的值所能使用的任何位置使用該標量函數(shù),包括SELECT語句中列的列表和WHERE子句、表達式、表定義中的約束表達式,甚至作為表中列的數(shù)據(jù)類型2、多語句表值函數(shù)多語句表值函數(shù)返回一個由一條或多條Transact-SQL語句建立的表,類似于存儲過程與存儲過程不同的是,多語句表值函數(shù)可以在SELECT語句的FROM子句中被引用,仿佛視圖一樣內(nèi)嵌表值函數(shù)內(nèi)嵌表值函數(shù)返回一個單條SELECT語句產(chǎn)生的結(jié)果的表,類似于視圖相對于視圖,內(nèi)嵌表值函數(shù)可使用參數(shù),提供了更強的適應性,擴展了索引視圖的功能3、用戶定義函數(shù)的定義創(chuàng)建用戶定義函數(shù)每個完全合法的用戶定義函數(shù)名(數(shù)據(jù)庫名.擁有者名.函

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論