《基于C#的SQL Server應(yīng)用技術(shù)》課件第4章_第1頁
《基于C#的SQL Server應(yīng)用技術(shù)》課件第4章_第2頁
《基于C#的SQL Server應(yīng)用技術(shù)》課件第4章_第3頁
《基于C#的SQL Server應(yīng)用技術(shù)》課件第4章_第4頁
《基于C#的SQL Server應(yīng)用技術(shù)》課件第4章_第5頁
已閱讀5頁,還剩155頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

工作任務(wù)1操作索引工作任務(wù)2操作視圖

工作任務(wù)3操作默認(rèn)值工作任務(wù)4操作規(guī)則工作任務(wù)5操作存儲過程工作任務(wù)6操作觸發(fā)器情境總結(jié)

練習(xí)題

索引是數(shù)據(jù)庫中一種重要而又類型特殊的數(shù)據(jù)庫對象,它保存著數(shù)據(jù)表中一列或幾列組合的排序結(jié)構(gòu)。在數(shù)據(jù)庫中,索引允許數(shù)據(jù)庫應(yīng)用程序迅速找到表中特定的數(shù)據(jù),而不必掃描整個數(shù)據(jù)庫中的數(shù)據(jù)。為數(shù)據(jù)表增加索引,可以大大提高M(jìn)icrosoftSQLServer中數(shù)據(jù)的檢索效率。工作任務(wù)1操作索引

1.索引的結(jié)構(gòu)

SQLServer中的索引與書的目錄很相似,表中的數(shù)據(jù)類似于書的內(nèi)容。

2.索引類型

SQLServer2008索引包括聚集索引、非聚集索引和其他類型(包括唯一索引、包含索引、索引視圖、全文索引和XML索引)三種類型。

3.適合建立索引的列

一般來說,如下情況的列考慮創(chuàng)建索引:

(1)主鍵。

(2)連接中頻繁使用的列(外鍵)。

(3)在某一范圍內(nèi)頻繁搜索的列和按排序順序頻繁檢索的列。

【任務(wù)1】

使用管理平臺創(chuàng)建索引。

操作步驟如下:

①在管理平臺中,展開指定的服務(wù)器和數(shù)據(jù)庫,這里選中服務(wù)器下的“班級管理系統(tǒng)”,如圖4-1所示。

②選擇要進(jìn)行索引的表(如選擇“學(xué)生信息表”),點擊該表,然后從彈出的快捷菜單中選擇【設(shè)計】命令,打開表設(shè)計器,如圖4-2所示。圖4-1打開管理平臺窗口圖4-2打開表設(shè)計器③在表設(shè)計器窗口中單擊鼠標(biāo)右鍵,然后從彈出的快捷菜單中選擇【索引/鍵】命令,如圖4-3所示。

④在彈出的“索引/鍵”窗口中顯示了已存在的對數(shù)據(jù)表的索引,可以單擊窗口中的【添加】按鈕和【刪除】按鈕來增加或刪除一個索引。

⑤單擊【添加】按鈕,系統(tǒng)則自動創(chuàng)建一個“IX_學(xué)生信息表*”的索引,如圖4-4所示,用戶可以在右邊的屬性空格中對索引屬性進(jìn)行編輯。圖4-3選擇【索引/鍵】命令圖4-4創(chuàng)建“IX_學(xué)生信息表*”的索引⑥首先可以修改索引的名稱,將右邊屬性空格中【標(biāo)識】屬性節(jié)下的【名稱】屬性改為要作為索引的名稱,如“XM_學(xué)生信息表”,即以姓名作為索引關(guān)鍵字的索引文件,如圖4-5所示。

⑦名稱修改完畢后,要對索引關(guān)鍵字進(jìn)行修改。在右邊屬性空格中的【常規(guī)】屬性節(jié)下的【列】屬性即為索引關(guān)鍵字。單擊該屬性框右邊的“…”鍵,彈出“索引列”窗口,如圖4-6所示。圖4-5修改索引名稱圖4-6打開“索引列”窗口⑧從【列】下拉列表框中選擇要進(jìn)行索引的關(guān)鍵字,如選“學(xué)號”作為索引關(guān)鍵字。對于所選的索引關(guān)鍵字,都可以指示索引以升序還是降序排列,如圖4-7所示。

⑨然后單擊【確定】按鈕,完成關(guān)鍵字和排序方式設(shè)置,這時索引創(chuàng)建完畢??梢栽凇八饕?鍵”窗口看到已經(jīng)生成的“XM_學(xué)生信息表”索引,如圖4-8所示。圖4-7指定索引列和排序順序圖4-8索引創(chuàng)建完畢

【任務(wù)2】

用管理平臺創(chuàng)建聚集索引。

操作步驟如下:

①展開數(shù)據(jù)庫表,在表設(shè)計器窗口中單擊鼠標(biāo)右鍵,然后從彈出的快捷菜單中選擇【索引/鍵】命令,如圖4-9所示。

②在彈出的“索引/鍵”窗口單擊【添加】按鈕,系統(tǒng)則自動創(chuàng)建一個“IX_學(xué)生信息表*”索引,如圖4-10所示。圖4-9選擇【索引/鍵】命令圖4-10打開“索引/鍵”窗口③修改索引的名稱為“Birth_學(xué)生信息表”,并以“出生日期”作為索引關(guān)鍵字,如圖4-11所示。

④要創(chuàng)建聚集索引,需要在屬性框中進(jìn)行設(shè)置。在屬性窗口中的【表設(shè)計器】屬性節(jié)下的【創(chuàng)建為聚集的】屬性中,選擇【是】,即可創(chuàng)建聚集索引,如圖4-12所示。可以在“索引/鍵”窗口看到已經(jīng)生成的“Birth_學(xué)生”索引。圖4-11修改索引名稱圖4-12創(chuàng)建聚集索引

【任務(wù)3】

使用管理平臺創(chuàng)建唯一索引。

操作步驟如下:

創(chuàng)建唯一索引的方法與上述創(chuàng)建聚集索引的方法相同,但在屬性窗口進(jìn)行設(shè)置時,要注意選擇【常規(guī)】屬性節(jié)下的【是唯一的】屬性為【是】,而不是選擇【表設(shè)計器】屬性節(jié)下的【創(chuàng)建為聚集的】屬性為【是】。如前面講的“Birth_學(xué)生信息表”索引創(chuàng)建為唯一索引時,選擇【是唯一的】屬性為【是】,如圖4-13所示。圖4-13創(chuàng)建唯一索引

【任務(wù)4】使用Transact-SQL語句創(chuàng)建索引:在“班級管理系統(tǒng)”的“學(xué)生信息表”中創(chuàng)建一個唯一性的非聚集索引“XH_學(xué)號”。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

USE班級管理系統(tǒng)

CREATEUNIQUENONCLUSTERED

INDEXXH_學(xué)號ON學(xué)生信息表(學(xué)號)

②執(zhí)行這個語句,在查詢窗口中將顯示“命令已成功完成”,如圖4-14所示。它表明索引“XH_學(xué)號”已被創(chuàng)建。圖4-14創(chuàng)建索引結(jié)果

【任務(wù)5】

在“班級管理系統(tǒng)”的“課程信息表”表中創(chuàng)建一個唯一性的聚集索引“KZM_課程名稱”。

【任務(wù)6】

使用管理平臺查看索引信息。

操作步驟如下:

①打開管理平臺窗口,在管理平臺左邊“對象管理器”窗格中,展開指定的服務(wù)器,打開要查看索引的數(shù)據(jù)庫“班級管理系統(tǒng)”命令,選擇要進(jìn)行索引修改的表(例如,選擇“學(xué)生信息表”),在該表處單擊鼠標(biāo)右鍵,然后從快捷菜單中選擇【設(shè)計】命令,打開表設(shè)計器,如圖4-15所示。圖4-15打開表設(shè)計器②在表設(shè)計器窗口單擊鼠標(biāo)右鍵,然后從彈出的快捷菜單中選擇【索引/鍵】命令,如圖4-16所示。

③在彈出的“索引/鍵”窗口中顯示了已存在的對數(shù)據(jù)表的索引,如圖4-17所示,可以在該窗口中查看到索引的所有信息。圖4-16選擇【索引/鍵】命令圖4-17彈出的“索引/鍵”窗口④此外,在【數(shù)據(jù)表】目錄樹(例如“學(xué)生信息表”)下的【索引】結(jié)點可以查看已建立的索引,如圖4-18所示。

⑤如果要查看索引的輸出數(shù)據(jù),可以雙擊此索引,從彈出的快捷菜單中依次查看該索引的所有相關(guān)信息,如圖4-19所示。圖4-18【索引】結(jié)點可以查看已建立的索引圖4-19查看索引相關(guān)信息

【任務(wù)7】

使用管理平臺刪除索引。

操作步驟如下:

①打開管理平臺窗口,在管理平臺左邊的“樹”選項卡中選擇指定的SQLServer組,展開指定的服務(wù)器,打開要查看索引的數(shù)據(jù)庫“班級管理系統(tǒng)”,選擇要進(jìn)行索引修改的表(例如,選擇“課程信息表”),在該表處單擊鼠標(biāo)右鍵,然后從彈出的快捷菜單中單擊【設(shè)計】命令,打開表設(shè)計器,如圖4-20所示。圖4-20打開表設(shè)計器②在表設(shè)計器中單擊鼠標(biāo)右鍵,然后從彈出的快捷菜單中選擇【索引/鍵】命令,如圖4-21所示。

③可以在“索引/鍵”窗口看到已經(jīng)存在的索引,如圖4-22所示。圖4-21選擇【索引/鍵】命令圖4-22打開“索引/鍵”窗口④單擊【刪除】按鈕,就可將該索引刪除,索引刪除后的效果如圖4-23所示。圖4-23刪除索引

【任務(wù)8】

使用Transact-SQL語句刪除索引:刪除“學(xué)生信息表”上的“XH_學(xué)號”索引。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

USE班級管理系統(tǒng)

DROPINDEX學(xué)生信息表.XH_學(xué)號

②執(zhí)行這個語句,則在查詢窗口中將顯示“命令已成功完成”,如圖4-24所示。圖4-24刪除索引的應(yīng)用子任務(wù)1創(chuàng)建視圖

1.視圖的基礎(chǔ)

2.創(chuàng)建視圖的注意事項

3.利用CREATEVIEW命令創(chuàng)建視圖

4.利用模板創(chuàng)建視圖

使用視圖模板可以很容易地創(chuàng)建視圖。工作任務(wù)2操作視圖

【任務(wù)1】用SQLServer管理平臺創(chuàng)建視圖:在“班級管理系統(tǒng)”數(shù)據(jù)庫中創(chuàng)建“083102軟件班學(xué)生視圖”,要求有“學(xué)號”、“姓名”、“班級編號”、“課程名稱”、“課程編號”、“成績”字段。

①在SQLSERVER管理平臺中展開要創(chuàng)建視圖的數(shù)據(jù)庫“班級管理系統(tǒng)”,用鼠標(biāo)右鍵單擊【視圖】選項,在彈出的快捷菜單中選擇【新建視圖】命令,如圖4-25所示。

圖4-25創(chuàng)建視圖②接著就出現(xiàn)添加表對話框,如圖4-26所示。該對話框包括四個選項卡,分別顯示了當(dāng)前數(shù)據(jù)庫的用戶“表”、用戶“視圖”、用戶“函數(shù)”和“同義詞”。選定表、視圖、函數(shù)或者同義詞后彈出【添加】按鈕,可以添加創(chuàng)建視圖的基表。重復(fù)執(zhí)行此操作,可以添加多個基表。添加完畢后,單擊“關(guān)閉”按鈕。圖4-26添加、視圖、函數(shù)、同義詞對話框③添加完基表后,可以在圖4-27所示窗口的圖表窗格中看到新添加的基表,以及基表之間的外鍵引用關(guān)系。圖4-27顯示了添加“學(xué)生信息表”、“課程信息表”和“成績信息表”作為基表的情況。

④在圖4-27中,每個基表的每一列左邊都有一個復(fù)選框,選擇該復(fù)選框可以指定該列在視圖中被引用。比如,選擇“學(xué)號”、“姓名”、“班級編號”、“課程名稱”、“課程編號”、“成績”列,如圖4-28所示。圖4-27查看基表情況圖4-28選擇視圖中出現(xiàn)的列⑤圖4-28中的第二個窗格是條件窗格,在這個窗格中可以指定查詢條件。

⑥圖4-28所示窗口的條件窗格中有“篩選器”列,它用于輸入對在視圖中出現(xiàn)的列的限制條件。該條件相當(dāng)于定義視圖的查詢語句中的WHERE子句,比如,在“學(xué)號”的篩選器列中輸入“>2008310202”,即創(chuàng)建的視圖只包括學(xué)號是2008310202以后的記錄信息;在“班級”的篩選器列中輸入“=083102”,如圖4-29所示。圖4-29設(shè)置定義視圖的查詢條件⑦要在視圖的定義中依照某一字段進(jìn)行分組,可以在圖4-29所示窗口的條件窗格中用鼠標(biāo)右鍵單擊該字段,并在彈出的快捷菜單中選擇“選擇分組依據(jù)”,如圖4-30所示。執(zhí)行分組后如圖4-31所示。圖4-30分組情況圖4-31執(zhí)行分組后的情況⑧所有設(shè)置進(jìn)行完畢后,可以在創(chuàng)建視圖的窗口中的第三個窗格中查看視圖查詢條件的T-SQL語句,用戶也可以自己修改該T-SQL語句。

⑨運行并輸出該視圖結(jié)果,可以單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇【運行】,也可以單擊工具欄上的【運行】按鈕。在窗口最下面的輸出窗格中將會顯示按照中間的T-SQL語句生成的視圖內(nèi)容,如圖4-32所示。圖4-32查看視圖內(nèi)容

【任務(wù)2】用SQL語句創(chuàng)建視圖:在“班級管理系統(tǒng)”數(shù)據(jù)庫中創(chuàng)建“083102軟件班學(xué)生視圖2”,要求有“學(xué)號”、“姓名”、“班級編號”、“課程名稱”、“課程編號”、“成績”字段。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

CREATEVIEW083102軟件班學(xué)生視圖2

AS

SELECT學(xué)生信息表.學(xué)號,姓名,班級編號,

課程信息表.課程名稱,課程信息表.課程編號,成績

FROM學(xué)生信息表,課程信息表INNERJOIN

成績信息表ON課程信息表.課程編號=成績信息表.課程編號

where班級編號=‘083102’

②單擊【執(zhí)行】按鈕,得到結(jié)果如圖4-33所示。圖4-33使用SQL語句創(chuàng)建視圖(a)

(b)

【任務(wù)3】用視圖模板創(chuàng)建視圖。

操作步驟如下:

①在SQLServer管理平臺中,選擇【視圖】菜單中的【模板資源管理器】選項,如圖4-34所示。

②在出現(xiàn)的【模板資源管理器】選項中選擇【創(chuàng)建視圖】選項,如圖4-35所示。

③右擊【CreateView】→【打開】→【連接到數(shù)據(jù)庫引擎】對話框中單擊【連接】,打開如圖4-36所示的查詢窗口,按照提示輸入數(shù)據(jù)庫名稱、視圖名稱、select語句后,執(zhí)行此語句,即可創(chuàng)建視圖。圖4-34選擇工具菜單中的向?qū)顖D4-35選擇CreateView模板圖4-36選擇創(chuàng)建視圖模板子任務(wù)2運用視圖

1.操作視圖的條件

2.使用視圖向表中插入數(shù)據(jù)

3.使用視圖修改表的數(shù)據(jù)

4.使用視圖刪除表中的數(shù)據(jù)

【任務(wù)1】創(chuàng)建一個包含限制條件的視圖并測試:首先創(chuàng)建一個視圖“學(xué)生_V”視圖,限制條件為性別=?'女',然后插入了一條不滿足限制條件的記錄,再用SELECT語句檢索視圖和表。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

CREATEVIEW學(xué)生_V(學(xué)號,姓名,性別,班級編號)

AS

SELECT學(xué)號,姓名,性別,班級編號

FROM學(xué)生信息表

WHERE性別=‘女’

WITHCHECKOPTION

②單擊【執(zhí)行】按鈕,得到結(jié)果如圖4-37所示。圖4-37在視圖中正確插入一條記錄③執(zhí)行下面的語句,得到結(jié)果如圖4-38所示。

INSERTINTO學(xué)生_V

VALUES('2008310209','李文','男','083102')圖4-38在視圖中不能插入一條記錄

【任務(wù)2】

更新視圖:更新視圖“學(xué)生_V”,然后通過該視圖修改“學(xué)生信息表”中的記錄。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

UPDATE學(xué)生_V

SET姓名=‘何小倩’

WHERE學(xué)號=‘2009420101’

②單擊【執(zhí)行】按鈕,得到結(jié)果如圖4-39所示。圖4-39更新視圖

【任務(wù)3】

用視圖刪除表中的數(shù)據(jù):利用視圖“學(xué)生_V”刪除“學(xué)生信息表”中姓名為李小文的記錄。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

delete學(xué)生_V

where學(xué)號=‘2009420101’

②單擊【執(zhí)行】按鈕,得到結(jié)果如圖4-40所示。圖4-40能刪除表中的數(shù)據(jù)子任務(wù)3修改視圖

1.使用SQLServer管理平臺修改視圖

2.使用T-SQL語句修改視圖

3.重命名視圖

【任務(wù)1】

用管理平臺修改視圖:用SQLServer管理平臺修改“軟件班學(xué)生視圖”。

操作步驟如下:

①在SQLServer管理平臺中展開要創(chuàng)建視圖的“班級管理”數(shù)據(jù)庫,展開“視圖”文件夾,用鼠標(biāo)右鍵單擊“軟件班學(xué)生視圖”,在彈出的快捷菜單中選擇【設(shè)計】命令,如圖4-41所示。圖4-41修改視圖的窗格②在圖表窗格的基表中添加或者去掉相應(yīng)的字段。

③在條件窗格中添加或者去掉相應(yīng)的條件。

④所有修改進(jìn)行完畢后,可以在創(chuàng)建視圖的窗口中的第三個窗格(SQL窗格)中查看視圖查詢條件的T-SQL語句,用戶也可以自己修改該T-SQL語句。修改完成后可以單擊工具欄上的【驗證SQL】按鈕,檢查該T-SQL語句的語法是否正確。

⑤要運行并輸出該視圖結(jié)果,可以單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇【執(zhí)行SQL】命令,也可以單擊工具欄上的【運行】按鈕。在窗口最下面的輸出窗格中將會顯示按照中間的T-SQL語句生成的視圖內(nèi)容,如圖4-42所示。圖4-42視圖修改的內(nèi)容

【任務(wù)2】用SQL語句修改視圖。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

ALTERVIEW軟件班學(xué)生視圖

AS

SELECT學(xué)生信息表.學(xué)號,姓名,班級編號,系別

課程信息表.課程名稱,課程信息表.課程編號,成績

FROM學(xué)生信息表,課程信息表INNERJOIN

成績信息表ON課程信息表.課程編號=成績信息表.課程編號

where班級編號=‘083102’

②單擊【執(zhí)行】按鈕,得到結(jié)果如圖4-43所示。圖4-43使用SQL語句修改視圖

【任務(wù)3】

用管理平臺重命名視圖:把視圖“軟件班學(xué)生視圖2”重命名為“學(xué)生視圖”。

操作步驟如下:

在SQLServer管理平臺中,選擇要修改名稱的視圖,即“軟件班學(xué)生視圖2”,并用鼠標(biāo)右鍵單擊該視圖,從彈出的快捷菜單中選擇【重命名】選項,或者在視圖上再次單擊,該視圖的名稱變成可輸入狀態(tài),直接輸入新的視圖名稱即可對視圖重新命名。如圖4-44所示。圖4-44用管理平臺重命名視圖

【任務(wù)4】用SQL語句重命名視圖:把視圖“學(xué)生視圖”重命名為“學(xué)生視圖_V”。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

sp_rename學(xué)生視圖,學(xué)生視圖_V

②單擊【執(zhí)行】按鈕,得到結(jié)果如圖4-45所示。圖4-45使用SQL語句修改視圖子任務(wù)4刪除視圖

1.用SQLServer管理平臺刪除視圖

對于不再使用的視圖,可以使用SQLServer管理平臺或者Transact-SQL語句中的DROPVIEW命令進(jìn)行刪除。

2.用DROPVIEW刪除視圖

【任務(wù)1】

用SQLServer管理平臺刪除視圖:用SQLServer管理平臺刪除“班級管理系統(tǒng)”數(shù)據(jù)庫中的“學(xué)生視圖_V”視圖。

操作步驟如下:

①在SQLServer管理平臺中展開視圖所在的數(shù)據(jù)庫。

②展開“視圖”文件夾,用鼠標(biāo)右鍵單擊視圖列表中要刪除的視圖,在彈出的快捷菜單中選擇【刪除】命令,如圖4-46所示。圖4-46刪除視圖對話框③如果確認(rèn)要刪除視圖,則單擊圖4-47所示對話框中的【確定】按鈕,也可以單擊【顯示相關(guān)性】按鈕查看數(shù)據(jù)庫中與該視圖有依賴關(guān)系的其他數(shù)據(jù)庫對象。 圖4-47刪除視圖對象對話框

【任務(wù)2】

用SQL語句刪除視圖:同時刪除視圖“學(xué)生視圖_V”和“軟件班學(xué)生視圖”。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

dropview學(xué)生視圖_V,083102軟件班學(xué)生視圖

②單擊【執(zhí)行】按鈕,得到結(jié)果如圖4-48所示。圖4-48使用SQL語句刪除視圖在數(shù)據(jù)庫中保證數(shù)據(jù)的完整性是很重要的,實現(xiàn)數(shù)據(jù)庫完整性提供了3種途徑:約束、規(guī)則和默認(rèn),其中約束是用來對用戶輸入到表或字段中的值進(jìn)行限制。工作任務(wù)3操?作?默?認(rèn)?值

1.創(chuàng)建默認(rèn)對象

(1)?default_name:默認(rèn)值的名稱。

(2)?default_description:是任意數(shù)據(jù)類型的常量、內(nèi)置函數(shù)或數(shù)學(xué)表達(dá)式。字符和日期常量用單引號(‘)引起來;貨幣、整數(shù)和浮點常量不需要使用引號。二進(jìn)制數(shù)據(jù)必須以“0x”開頭,貨幣數(shù)據(jù)必須以美元符號“$”開頭。默認(rèn)值必須與列數(shù)據(jù)類型兼容。

2.綁定默認(rèn)對象

3.解除綁定

【任務(wù)1】使用管理平臺創(chuàng)建DEFAULT約束:在“學(xué)生信息表”表中將字段“系別”設(shè)置默認(rèn)值為“不知屬哪個系”。

操作步驟如下:

①啟動管理平臺,在“樹”窗格中點擊數(shù)據(jù)庫“班級管理系統(tǒng)”前面的“+”號展開數(shù)據(jù)庫,單擊“表”選項則右側(cè)窗格將出現(xiàn)數(shù)據(jù)庫中所包含的表。用鼠標(biāo)右鍵單擊“學(xué)生信息表”,在出現(xiàn)的快捷菜單中選擇【設(shè)計】命令。

②在“學(xué)生信息設(shè)計表”對話框中將光標(biāo)定位于“系別”字段,在下面的屬性框的“默認(rèn)值”欄中輸入:“不知屬哪個系”,結(jié)果如圖4-49所示。圖4-49“默認(rèn)值”設(shè)置

【任務(wù)2】

使用CREATEDEFAULT創(chuàng)建默認(rèn)值對象。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

USE班級管理系統(tǒng)

Go

CREATEDEFAULT性別As‘男’

②單擊【執(zhí)行】按鈕,在“班級管理系統(tǒng)”數(shù)據(jù)庫中創(chuàng)建了一個“性別”默認(rèn)值。

【任務(wù)3】

將默認(rèn)值捆綁到數(shù)據(jù)庫表中的列上:將前面創(chuàng)建的默認(rèn)值捆綁到“班級管理系統(tǒng)”的“學(xué)生信息表”的“性別”列上。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

USE班級管理系統(tǒng)

EXECsp_bindefault‘性別’,‘學(xué)生信息表.性別’

②在SQLServer管理平臺執(zhí)行上述語句,結(jié)果如下:

已將默認(rèn)值綁定到列該結(jié)果表示默認(rèn)值成功地捆綁到列上。

【任務(wù)4】

當(dāng)向“學(xué)生信息表”中插入一條記錄,不提供“性別”列的值。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

USE班級管理系統(tǒng)

INSERTINTO學(xué)生信息表(學(xué)號,姓名,系別)

VALUES(‘00007’,‘程偉’,‘計算機(jī)’)

②單擊【執(zhí)行】按鈕,結(jié)果如下:

(1行受影響)

打開“學(xué)生信息表”,會看到“性別”一列被自動添加了當(dāng)前系統(tǒng)的時間,如圖4-50所示。圖4-50向“學(xué)生信息表”中插入“程偉”這條記錄

【任務(wù)5】

解除默認(rèn)值對象“性別”與“班級管理系統(tǒng)”中用戶“學(xué)生信息表”之間的綁定關(guān)系,然后刪除名為“性別”的默認(rèn)值對象。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

USE班級管理系統(tǒng)

EXECsp_unbindefault‘學(xué)生信息表.性別’

DROPDEFAULT性別‘

②單擊【執(zhí)行】按鈕,結(jié)果如下,表示默認(rèn)值已從列上解除:

(所影響的行數(shù)為1行)

已從表的列上解除了默認(rèn)值的綁定。

1.規(guī)則的語法

規(guī)則語法為:

CREATERULErule_name

Ascondition_expression

2.捆綁規(guī)則

3.查看規(guī)則

4.解除綁定規(guī)則

5.使用DROPRULE命令刪除規(guī)則工作任務(wù)4操作規(guī)則

【任務(wù)1】在“班級管理系統(tǒng)”數(shù)據(jù)庫中創(chuàng)建只允許錄入數(shù)字“0~100”名為“course_rule”的規(guī)則。

在SQLQuery標(biāo)簽頁中執(zhí)行如下的命令:

USE班級管理系統(tǒng)

GO

CREATERULEcourse_rule

AS@x>=0AND@x<=100

GO

運行結(jié)果如圖4-51所示。圖4-51使用CREATERULE創(chuàng)建規(guī)則course_rule

【任務(wù)2】

在“班級管理系統(tǒng)”數(shù)據(jù)庫中創(chuàng)建輸入只是“男”或“女”,名為“sex_rule”的規(guī)則。

在SQLQuery標(biāo)簽頁中執(zhí)行如下的命令:

USE班級管理系統(tǒng)

GO

CREATERULEsex_ruleAS@sexin(‘男’,‘女’)

GO

運行結(jié)果如圖4-52所示。圖4-52使用CREATERULE創(chuàng)建規(guī)則sex_rule

【任務(wù)3】將course_rule規(guī)則綁定到“成績信息表”中“成績”列上。

在SQLQuery標(biāo)簽頁中執(zhí)行如下的命令:

USE班級管理系統(tǒng)

GO

EXECsp_bindrulecourse_rule,‘成績信息表.成績’

GO

運行結(jié)果如圖4-53所示。圖4-53使用sp_bindrule綁定規(guī)則course_rule

【任務(wù)4】將sex_rule規(guī)則綁定到“學(xué)生信息表”中“性別”列上。

在SQLQuery標(biāo)簽頁中執(zhí)行如下的命令:

USE班級管理系統(tǒng)

GO

EXECsp_bindrulesex_rule,‘學(xué)生信息表.性別’

GO

運行結(jié)果如圖4-54所示。圖4-54使用sp_bindrule綁定規(guī)則sex_rule

【任務(wù)5】利用sp_helptext存儲過程查看規(guī)則:利用sp_helptext存儲過程查看數(shù)據(jù)庫“班級管理系統(tǒng)”中的規(guī)則對象course_rule。

在SQLQuery標(biāo)簽頁中執(zhí)行如下的命令:

USE班級管理系統(tǒng)

GO

EXECsp_helptextcourse_rule

GO

運行結(jié)果如圖4-55所示。圖4-55利用sp_helptext存儲過程查看規(guī)則

【任務(wù)6】

使用SQLServerManagementStudio查看規(guī)則:使用SQLServerManagementStudio查看數(shù)據(jù)庫“班級管理系統(tǒng)”中的規(guī)則對象course_rule。

操作步驟如下:

①在對象資源管理器樹中展開“班級管理系統(tǒng)”數(shù)據(jù)庫。

②繼續(xù)展開結(jié)點“可編程性”及其子結(jié)點“規(guī)則”。

③在“規(guī)則”結(jié)點下用鼠標(biāo)右鍵單擊“dbo.course_rule”,在彈出的菜單中選擇【查看依賴關(guān)系】命令。

④在彈出的“對象依賴關(guān)系”對話框中可以看到依賴于“course_rule”對象和“course_rule”依賴的對象。如圖4-56所示。圖4-56使用SQLServerManagementStudio查看規(guī)則

【任務(wù)7】

將sex_rule規(guī)則在“學(xué)生信息表”的“性別”列上的綁定解除。

在SQLQuery標(biāo)簽頁中執(zhí)行如下的命令:

USE班級管理系統(tǒng)

GO

EXECsp_unbindrule‘學(xué)生信息表.性別’

GO

運行結(jié)果如圖4-57所示,已將綁定的規(guī)則解除。圖4-57用sp_unbindrule解除綁定規(guī)則

【任務(wù)8】

使用DROPRULE命令刪除規(guī)則sex_rule。

在SQLQuery標(biāo)簽頁中執(zhí)行如下的命令:

USE班級管理系統(tǒng)

GO

DROPRULEsex_rule

GO

運行結(jié)果如圖4-58所示。圖4-58用DROPRULE命令刪除規(guī)則若在沒有解除綁定的情況下直接刪除該規(guī)則,執(zhí)行如下命令:

USE班級管理系統(tǒng)

GO

DROPRULEcourse_Rule

GO

則會出現(xiàn)如圖4-59所示錯誤信息。圖4-59沒有解除綁定直接刪除規(guī)則

【任務(wù)9】

使用SQLServerManagementStudio將數(shù)據(jù)庫“班級管理系統(tǒng)”中的規(guī)則對象sex_rule刪除。

操作步驟如下:

①在對象資源管理器樹中展開“班級管理系統(tǒng)”數(shù)據(jù)庫。

②繼續(xù)展開結(jié)點“可編程性”及其子結(jié)點“規(guī)則”。

③在“規(guī)則”結(jié)點下用鼠標(biāo)右鍵單擊“dbo.sex_rule”,在彈出的菜單中選擇【刪除】命令。

④在彈出的“刪除對象”對話框中單擊【確定】按鈕確認(rèn)刪除,如圖4-60所示。圖4-60使用SQLServerManagementStudio刪除默認(rèn)值如果在沒有解除綁定的情況下直接刪除規(guī)則,則會出現(xiàn)錯誤提示如圖4-61所示。圖4-61使用管理平臺刪除沒有解除綁定的規(guī)則本工作任務(wù)是對存儲過程的應(yīng)用與管理。

1.存儲過程基礎(chǔ)

2.創(chuàng)建存儲過程

3.執(zhí)行存儲過程

4.修改存儲過程

5.重命名存儲過程

6.刪除存儲過程工作任務(wù)5操作存儲過程

【任務(wù)1?】

創(chuàng)建存儲過程:創(chuàng)建一個帶有SELECT語句的簡單存儲過程,該存儲過程返回所有男生的姓名、學(xué)號、班級號等。該存儲過程不使用任何參數(shù)。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

CREATEPROCEDUREstud_prAS

SELECT*FROM學(xué)生信息表WHERE性別=‘男’

②單擊【執(zhí)行】按鈕,該存儲過程的執(zhí)行結(jié)果如圖4-62所示。圖4-62任務(wù)1運行結(jié)果

【任務(wù)2】

創(chuàng)建存儲過程:創(chuàng)建一個存儲過程,以簡化對“成績信息表”的數(shù)據(jù)添加工作,使得在執(zhí)行該存儲過程時,其參數(shù)值作為數(shù)據(jù)添加到表中。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

CREATEPROCEDUREpr1_sc

@Param1char(9),@Param2char(4),@Param3real

AS

BEGIN

insertinto成績信息表(學(xué)號,課程編號,成績)values(@Param1,@Param2,@Param3)

END

GO

②單擊【執(zhí)行】按鈕,該存儲過程的執(zhí)行結(jié)果如圖4-63所示。圖4-63任務(wù)2運行結(jié)果

【任務(wù)3】

創(chuàng)建存儲過程:存儲過程中的第一個參數(shù)“@sname”將接收由調(diào)用程序指定的輸入值(學(xué)生姓名),第二個參數(shù)“@sscore”(成績)將用于將該值返回調(diào)用程序。SELECT語句使用“@sname”參數(shù)獲取正確的@sscore值,并將該值分配給輸出參數(shù)。操作步驟如下:

①在查詢窗口中輸入以下命令文本:

CREATEPROCEDUREstu_score

@snamechar(8),@sscorerealoutput

AS

SELECT@sscore=成績from成績信息表join學(xué)生信息表on學(xué)生信息表.學(xué)號=成績信息表.學(xué)號

where姓名=@sname

GO

②單擊【執(zhí)行】按鈕,該存儲過程的執(zhí)行結(jié)果如圖4-64所示。圖4-64任務(wù)3運行結(jié)果

【任務(wù)4】

創(chuàng)建存儲過程:創(chuàng)建一個參數(shù)的缺省值中使用通配符的存儲過程。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

CREATEPROCEDUREpr_fn

@fnavarchar(10)=‘李%’

AS

SELECT*FROM學(xué)生信息表WHERE姓名like@fna

GO

②使用“execpr_fn”執(zhí)行存儲過程,其結(jié)果如圖4-65所示;若使用“execpr_fn'王%'”執(zhí)行存儲過程,其結(jié)果如圖4-66所示。圖4-65任務(wù)4運行結(jié)果(1)圖4-66任務(wù)4運行結(jié)果(2)

【任務(wù)5】

修改存儲過程:修改子任務(wù)1的存儲過程stud_pr,使之只包含姓名、班級名信息,并使用ENCRYPTION關(guān)鍵字使之無法通過查看syscomments表來查看存儲過程的內(nèi)容。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

ALTERPROCEDURE[dbo].[stud_pr]AS

WITHENCRYPTION

SELECT姓名,班級名FROM學(xué)生信息表WHERE性別=‘男’

②單擊【執(zhí)行】按鈕即完成操作。觸發(fā)器是一種特殊的存儲過程,它在執(zhí)行語言事件時自動生效。使用觸發(fā)器可以實施更為復(fù)雜的數(shù)據(jù)完整性約束。觸發(fā)器可以使用T-SQL語句進(jìn)行復(fù)雜的邏輯處理,因此常常用于復(fù)雜的業(yè)務(wù)規(guī)則。本工作任務(wù)是對觸發(fā)器的應(yīng)用與管理。工作任務(wù)6操?作?觸?發(fā)?器1.觸發(fā)器概述

2.觸發(fā)器功能及特點

3.DML觸發(fā)器的創(chuàng)建

4.DDL觸發(fā)器創(chuàng)建

5.修改觸發(fā)器圖4-67新建觸發(fā)器進(jìn)入圖4-68新建觸發(fā)器窗口使用SQLServer管理平臺修改觸發(fā)器正文。在管理平臺中,展開指定的表,用鼠標(biāo)右鍵單擊要修改的觸發(fā)器,從彈出的快捷菜單中選擇【修改】選項,如圖4-69所示,則會出現(xiàn)觸發(fā)器修改窗口,如圖4-70所示。圖4-69修改觸發(fā)器進(jìn)入圖4-70修改觸發(fā)器窗口

6.將觸發(fā)器設(shè)置為禁用或啟用

在管理平臺中,展開指定的表,用鼠標(biāo)右鍵單擊要禁用或啟用的觸發(fā)器,從彈出的快捷菜單中選擇【禁用/啟用】選項即可。

7.刪除觸發(fā)器

【任務(wù)1】

創(chuàng)建觸發(fā)器:在觸發(fā)器中使用邏輯表INSERTED和DELETED。

操作步驟如下:

①在查詢窗口中輸入以下命令文本:

USE班級管理系統(tǒng)

GO

CREATETRIGGERtrt

ON成績信息表

FORINSERT,UPDATE,DELETEAS

PRINT'inserted表:'

SELECT*FROMINSERTED

PRINT'deleted表:'

SELECT*FROMDELETED

GO②創(chuàng)建上述觸發(fā)器并執(zhí)行,就可在該表的觸發(fā)器上看到所定義的觸發(fā)器trt,然后執(zhí)行以下查詢程序,可看到如圖4-71所示結(jié)果:

USE班級管理系統(tǒng)

GO

INSERTINTO成績信息表

VALUES('2007110101','105',88)圖4-71任務(wù)1運行結(jié)果

【任務(wù)2】

創(chuàng)建觸發(fā)器:

溫馨提示

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

評論

0/150

提交評論