(《大型數(shù)據(jù)庫(kù)管理系統(tǒng)》實(shí)驗(yàn))_第1頁(yè)
(《大型數(shù)據(jù)庫(kù)管理系統(tǒng)》實(shí)驗(yàn))_第2頁(yè)
(《大型數(shù)據(jù)庫(kù)管理系統(tǒng)》實(shí)驗(yàn))_第3頁(yè)
(《大型數(shù)據(jù)庫(kù)管理系統(tǒng)》實(shí)驗(yàn))_第4頁(yè)
(《大型數(shù)據(jù)庫(kù)管理系統(tǒng)》實(shí)驗(yàn))_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第 PAGE 49 頁(yè) 西安財(cái)經(jīng)學(xué)院行知學(xué)院本 科 實(shí) 驗(yàn) 報(bào) 告20132014學(xué)年1學(xué)期指導(dǎo)老師:黃軍倉(cāng)學(xué) 院( 部 ) 信息系 實(shí) 驗(yàn) 室 信息中心 課 程 名 稱 大型數(shù)據(jù)庫(kù)管理系統(tǒng) 學(xué) 生 姓 名 學(xué) 號(hào) 專 業(yè) 信息管理 大型數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)驗(yàn)報(bào)告目錄 HYPERLINK l 【實(shí)驗(yàn)01】 【實(shí)驗(yàn)01】數(shù)據(jù)庫(kù)的創(chuàng)建與管理 HYPERLINK l 【實(shí)驗(yàn)02】 【實(shí)驗(yàn)02】表的創(chuàng)建與管理 HYPERLINK l 【實(shí)驗(yàn)03】 【實(shí)驗(yàn)03】記錄與查詢 HYPERLINK l 【實(shí)驗(yàn)04】 【實(shí)驗(yàn)04】表與視圖 HYPERLINK l 【實(shí)驗(yàn)05】 【實(shí)驗(yàn)05】索引的創(chuàng)建與管理 HYPE

2、RLINK l 【實(shí)驗(yàn)06】 【實(shí)驗(yàn)06】創(chuàng)建與使用存儲(chǔ)過(guò)程 HYPERLINK l 【實(shí)驗(yàn)07】 【實(shí)驗(yàn)07】觸發(fā)器的創(chuàng)建與使用 HYPERLINK l 【實(shí)驗(yàn)09】 【實(shí)驗(yàn)08】SQL SERVER數(shù)據(jù)庫(kù)網(wǎng)站的建立 HYPERLINK l 【實(shí)驗(yàn)00】 【實(shí)驗(yàn)01】大型數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)驗(yàn)報(bào)告 開(kāi)課實(shí)驗(yàn)室: 機(jī)房 20 年 月 日學(xué)院西財(cái)行知年級(jí)、專業(yè)、班信管1101姓名 涂曉倩成績(jī)課程名稱大型數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)驗(yàn)項(xiàng)目名 稱數(shù)據(jù)庫(kù)的創(chuàng)建與管理指導(dǎo)教師黃軍倉(cāng)教師評(píng)語(yǔ) 教師簽名:年 月 日一、實(shí)驗(yàn)?zāi)康?1、掌握數(shù)據(jù)庫(kù)的創(chuàng)建與修改方法。 2、學(xué)會(huì)數(shù)據(jù)庫(kù)的備份和還原方法。 3、了解數(shù)據(jù)庫(kù)的維護(hù)方法。二

3、、實(shí)驗(yàn)原理 1、按照下面的要求創(chuàng)建一個(gè)名為“Test1”的數(shù)據(jù)庫(kù)。 主要數(shù)據(jù)文件:邏輯文件名為T(mén)est1Data1,實(shí)際文件名為T(mén)est1Data1.mdf;初始容量為1MB,最大容量為10MB,遞增量為1MB。 次要數(shù)據(jù)文件:邏輯文件名為T(mén)est1Data2,實(shí)際文件名為T(mén)est1Data2.ndf;初始容量為1MB,最大容量為10MB,遞增量為1MB。 事務(wù)日志文件:邏輯文件名為T(mén)est1log1,實(shí)際文件名為T(mén)est1log1.ldf;初始容量為1MB,最大容量為5MB,遞增量為1MB。 2、按照下面的要求修改數(shù)據(jù)庫(kù)Test1。 主要數(shù)據(jù)文件的容量為2MB,最大容量為20MB,遞增量為2

4、MB。 次要數(shù)據(jù)文件的容量為2MB,最大容量為20MB,遞增量為2MB。 事務(wù)日志文件的容量為1MB,最大容量為10MB,遞增量為1MB。 3、為數(shù)據(jù)庫(kù)Test1建立一個(gè)全庫(kù)備份。 4、刪除數(shù)據(jù)庫(kù)Test1,然后用已建立的備份還原數(shù)據(jù)庫(kù)Test1。 5、將已建立的數(shù)據(jù)庫(kù)Test1更名為“學(xué)生管理”數(shù)據(jù)庫(kù)。三、使用儀器、材料50臺(tái)微機(jī)的機(jī)房局域網(wǎng)絡(luò)SQL SERVER 2000、Word四、實(shí)驗(yàn)步驟1.創(chuàng)建數(shù)據(jù)庫(kù):(1)打開(kāi)企業(yè)管理器,用鼠標(biāo)右鍵單擊“數(shù)據(jù)庫(kù)”節(jié)點(diǎn),在彈出的快捷菜單中選擇執(zhí)行“新建數(shù)據(jù)庫(kù)”命令,打開(kāi)“數(shù)據(jù)庫(kù)屬性”對(duì)話框。(2)打開(kāi)新建數(shù)據(jù)庫(kù)對(duì)話框的“常規(guī)”選項(xiàng)卡,在“名稱”文本框

5、中輸入數(shù)據(jù)庫(kù)的名稱Test1。如圖1-1(3)激活“數(shù)據(jù)文件”,在這個(gè)對(duì)話框中增加相應(yīng)的文件。如圖1-2(4)激活“事務(wù)日志”選項(xiàng)卡,設(shè)置符合題意的事務(wù)日志文件。如圖1-3(5)指定次要數(shù)據(jù)文件,單擊“數(shù)據(jù)文件”并切換到該頁(yè)面,然后單擊數(shù)據(jù)庫(kù)文件表中主要文件的下一行添加文件,并進(jìn)行相應(yīng)的設(shè)置。如圖1-4(6)單擊【確定】按鈕,完成數(shù)據(jù)庫(kù)的創(chuàng)建,該數(shù)據(jù)庫(kù)將會(huì)在數(shù)據(jù)庫(kù)列表中。2.修改數(shù)據(jù)庫(kù):(1)在企業(yè)管理器中,展開(kāi)“數(shù)據(jù)庫(kù)”節(jié)點(diǎn),選中數(shù)據(jù)庫(kù)Test1,右擊選擇“屬性”命令。(2)在“數(shù)據(jù)文件”和“事務(wù)日志”中進(jìn)行相應(yīng)的文件修改。如圖2-1,如圖2-23備份數(shù)據(jù)庫(kù)Test1。(1)在企業(yè)管理器中展

6、開(kāi)“管理”節(jié)點(diǎn),選中“備份”,右擊“備份”,選擇“新備份設(shè)備”,名稱輸入“Test1備份設(shè)備”。單擊“確定”完成創(chuàng)建備份的操作。如圖3-1(2),展開(kāi)“數(shù)據(jù)庫(kù)”節(jié)點(diǎn),從“工具”中選擇“備份數(shù)據(jù)庫(kù)”命令.如圖3-2(3)選擇備份的數(shù)據(jù)庫(kù)Test1,輸入備份的名稱,選擇備份的類(lèi)型。單擊“添加”選擇要備份的設(shè)備。點(diǎn)擊確定,完成數(shù)據(jù)庫(kù)備份。如圖3-34. 刪除數(shù)據(jù)庫(kù)Test1并還原(1) 展開(kāi)“服務(wù)器databases”右擊數(shù)據(jù)庫(kù)Test1,刪除.如圖4-1(2)從“工具”中選擇“還原數(shù)據(jù)庫(kù)”命令,在“還原為數(shù)據(jù)庫(kù)”選中“Test1”,選中從“數(shù)據(jù)庫(kù)”中還原,單擊“確定”完成。如圖4-2.3.45、將

7、數(shù)據(jù)庫(kù)Test1更名為“學(xué)生管理”數(shù)據(jù)庫(kù)。打開(kāi)查詢分析器,輸入sql語(yǔ)句進(jìn)行數(shù)據(jù)庫(kù)的改名。如圖5-1五、實(shí)驗(yàn)過(guò)程原始記錄(數(shù)據(jù)、圖表、計(jì)算等)圖1-1圖1-2圖1-3圖2-1圖2-2圖2-3圖3-1圖3-2圖3-3圖4-1圖4-2圖4-3圖4-4圖5-1六、實(shí)驗(yàn)結(jié)果及分析結(jié)果:通過(guò)該實(shí)驗(yàn)的具體操作,成功的完成了數(shù)據(jù)庫(kù)的創(chuàng)建及其管理,主要運(yùn)用企業(yè)管理器進(jìn)行管理,其中包括數(shù)據(jù)文件和事務(wù)日志文件的設(shè)置及修改,并對(duì)創(chuàng)建的數(shù)據(jù)庫(kù)進(jìn)行備份,刪除和還原,最后運(yùn)用查詢分析器對(duì)數(shù)據(jù)庫(kù)修改名稱。本實(shí)驗(yàn)步驟清晰,各個(gè)圖表準(zhǔn)確反映了相應(yīng)的實(shí)驗(yàn)操作,成功的揭開(kāi)了數(shù)據(jù)庫(kù)神秘的面紗,使我更加透徹的理解了數(shù)據(jù)庫(kù)的原理。為數(shù)據(jù)

8、庫(kù)以后的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。分析: 1.第一次接觸數(shù)據(jù)庫(kù)學(xué)會(huì)了建立新數(shù)據(jù)庫(kù)。其中包括了設(shè)置數(shù)據(jù)文件還有設(shè)置日志文件,它們?cè)O(shè)置方法類(lèi)似,同樣可以定義文件大小,存放位置以及自動(dòng)增長(zhǎng)的屬性等。2.隨著數(shù)據(jù)庫(kù)的使用用戶對(duì)數(shù)據(jù)庫(kù)容量的大小要求會(huì)發(fā)生變化所以這就有一個(gè)數(shù)據(jù)文件自動(dòng)擴(kuò)充長(zhǎng)度,所以數(shù)據(jù)庫(kù)的大小也會(huì)自動(dòng)增加。3.當(dāng)數(shù)據(jù)庫(kù)及其中的數(shù)據(jù)失去利用價(jià)值以后,可以刪除數(shù)據(jù)庫(kù)以釋放被占用的磁盤(pán)空間。其操作可通過(guò)使用企業(yè)管理器和transact-sqlyu語(yǔ)句來(lái)實(shí)現(xiàn)。4.做好的數(shù)據(jù)庫(kù)一定要進(jìn)行備份,因?yàn)闈撛诘目赡茉斐蓴?shù)據(jù)損失的因素很多,如存儲(chǔ)介質(zhì)故障、用戶的錯(cuò)誤操作、服務(wù)器的徹底崩潰。所以有一個(gè)良好的備份策略

9、,并嚴(yán)格執(zhí)行是非常重要的。5.數(shù)據(jù)的維護(hù)可以使用存儲(chǔ)過(guò)程和觸發(fā)器來(lái)維護(hù)數(shù)據(jù)的完整性,也就是在與外鍵值相對(duì)應(yīng)的主鍵發(fā)生改變以后規(guī)范對(duì)外鍵可能執(zhí)行的操作,約束外鍵值的變化。 HYPERLINK l 【實(shí)驗(yàn)00】 【實(shí)驗(yàn)02】大型數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)驗(yàn)報(bào)告 開(kāi)課實(shí)驗(yàn)室: 機(jī)房 20 年 月 日學(xué)院西財(cái)行知年級(jí)、專業(yè)、班信管1101姓名 涂曉倩成績(jī)課程名稱大型數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)驗(yàn)項(xiàng)目名 稱表的創(chuàng)建與管理指導(dǎo)教師黃軍倉(cāng)教師評(píng)語(yǔ) 教師簽名:年 月 日一、實(shí)驗(yàn)?zāi)康?1、掌握數(shù)據(jù)庫(kù)表的創(chuàng)建方法。2、學(xué)會(huì)用T-SQL語(yǔ)句創(chuàng)建表、修改表和刪除表。3、熟悉常用的幾種約束的創(chuàng)建方法。4、學(xué)會(huì)用insert、update、d

10、elete語(yǔ)句來(lái)插入、修改及刪除記錄的方法。二、實(shí)驗(yàn)原理 1、創(chuàng)建一個(gè)名為“學(xué)生”的數(shù)據(jù)庫(kù),然后在這個(gè)數(shù)據(jù)庫(kù)中創(chuàng)建3個(gè)表對(duì)象。3個(gè)表的結(jié)構(gòu)如下。 學(xué)生表: 字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 允許為空 學(xué)號(hào) char 8 NOT NULL 姓名 char 6 性別 char 2 出生日期 datetime 專業(yè) char 20 成績(jī)表: 字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 小數(shù)位 允許為空 學(xué)號(hào) char 8 NOT NULL 課程編號(hào) char 3 NOT NULL 成績(jī) decimal 4(精度) 1 課程表: 字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 允許為空 課程編號(hào) char 3 NOT NULL 課程名 char 20 學(xué)

11、分 int2、將“學(xué)生表”中的“學(xué)號(hào)”字段設(shè)置為主鍵。3、將“成績(jī)表”中的“學(xué)號(hào)”和“課程編號(hào)”兩個(gè)字段組合起采作為主鍵。4、將“課程表”中的“課程編號(hào)”字段設(shè)置為主鍵。5、將“成績(jī)表”中的“學(xué)號(hào)”字段設(shè)置為表“學(xué)生表”的外鍵。6、將“成績(jī)表”中的“課程編號(hào)”字段設(shè)置為表“課程表”的外鍵。7、將“成績(jī)表”中的“成績(jī)”字段設(shè)置檢查約束,成績(jī)值在0到100之間。8、將“學(xué)生表”中的“專業(yè)”設(shè)置默認(rèn)值約束為“計(jì)算機(jī)網(wǎng)維護(hù)”。9、創(chuàng)建以上3個(gè)表后,輸入一些記錄,驗(yàn)證以上約束。三、使用儀器、材料50臺(tái)微機(jī)的機(jī)房局域網(wǎng)絡(luò)SQL SERVER 2000、Word四、實(shí)驗(yàn)步驟1.打開(kāi)企業(yè)管理器,點(diǎn)擊數(shù)據(jù)庫(kù)謝建

12、一個(gè)數(shù)據(jù)庫(kù)。命名為“學(xué)生庫(kù)”。2.打開(kāi)學(xué)生庫(kù),點(diǎn)擊表,新建表,按照如下列表輸入 字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 允許為空 學(xué)號(hào) char 8 NOT NULL 姓名 char 6 性別 char 2 出生日期 datetime 專業(yè) char 20并將“學(xué)號(hào)”所在列選中,點(diǎn)擊工具欄的黃色小鑰匙將“學(xué)號(hào)”設(shè)為主鍵即可。然后將表名改為“學(xué)生表”,然后點(diǎn)擊確定。如圖1-13.繼續(xù)新建一張表,點(diǎn)擊表,新建表,按照如下列表輸入字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 小數(shù)位 允許為空 學(xué)號(hào) char 8 NOT NULL 課程編號(hào) char 3 NOT NULL 成績(jī) decimal 4(精度) 1并將“學(xué)號(hào)”和“課程編號(hào)”同時(shí)

13、選中,點(diǎn)擊工具欄的黃色小鑰匙將“學(xué)號(hào)”和“課程編號(hào)”同時(shí)設(shè)為主鍵即可。然后將表名改為“成績(jī)表”,然后點(diǎn)擊確定。如圖1-24. 繼續(xù)新建一張表,點(diǎn)擊表,新建表,按照如下列表輸入字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 允許為空 課程編號(hào) char 3 NOT NULL 課程名 char 20 學(xué)分 int并將課程編號(hào)選中,點(diǎn)擊工具欄的黃色小鑰匙將“課程編號(hào)”設(shè)為主鍵。然后將表名改為“課程表”,然后點(diǎn)擊確定。如圖1-35.選中“成績(jī)表”點(diǎn)擊設(shè)計(jì)表,光標(biāo)放在“學(xué)號(hào)”處右擊鼠標(biāo),出現(xiàn)下拉菜單點(diǎn)擊關(guān)系然后出現(xiàn)新界面點(diǎn)擊新建。然后將“主鍵表”選為“學(xué)生表”,并在下方點(diǎn)擊選擇“學(xué)號(hào)”。“外鍵表”選為“成績(jī)表”并在下方點(diǎn)擊選擇

14、“學(xué)號(hào)”。最后在界面下方點(diǎn)擊關(guān)閉并保存對(duì)表的修改。如圖1-46. 選中“成績(jī)表”點(diǎn)擊設(shè)計(jì)表,光標(biāo)放在“課程編號(hào)”處右擊鼠標(biāo),出現(xiàn)下拉菜單點(diǎn)擊關(guān)系然后出現(xiàn)新界面點(diǎn)擊新建。然后將“主鍵表”選為“課程表”,并在下方點(diǎn)擊選擇“課程編號(hào)”?!巴怄I表”選為“成績(jī)表”并在下方點(diǎn)擊選擇“課程編號(hào)”。最后在界面下方點(diǎn)擊關(guān)閉并保存對(duì)表的修改。如圖1-57. 選中“成績(jī)表”點(diǎn)擊設(shè)計(jì)表,光標(biāo)放在“成績(jī)”處右擊鼠標(biāo),出現(xiàn)下拉菜單點(diǎn)擊“check約束”然后出現(xiàn)新界面點(diǎn)擊新建。然后將“(成績(jī)=0and成績(jī)=0 and成績(jī)(select avg(成績(jī)) from 成績(jī)表 where 成績(jī)表.課程編號(hào)=001) and 學(xué)生表

15、.學(xué)號(hào)=成績(jī)表.學(xué)號(hào)4. use 學(xué)生庫(kù)select 學(xué)生表.姓名,學(xué)生表.學(xué)號(hào), 學(xué)生表.性別, 學(xué)生表.出生日期from 課程表 ,成績(jī)表 , 學(xué)生表where 課程表.課程編號(hào)=成績(jī)表.課程編號(hào) and 成績(jī)表.課程編號(hào)=001 and 成績(jī)表.成績(jī)(select avg(成績(jī)) from 成績(jī)表 where 成績(jī)表.課程編號(hào)=001) and 學(xué)生表.學(xué)號(hào)=成績(jī)表.學(xué)號(hào)五、實(shí)驗(yàn)過(guò)程原始記錄(數(shù)據(jù)、圖表、計(jì)算等) 圖1圖1-1圖1-2圖1-3如圖1-4 1-5 1-6 1-7 1-8 六、實(shí)驗(yàn)結(jié)果及分析 結(jié)果:通過(guò)以上的實(shí)驗(yàn)操作基本上完成了查詢功能和所建視圖。首先在使用查詢語(yǔ)句的時(shí)候,應(yīng)

16、保證語(yǔ)句的使用正確性,然后再考慮SQL語(yǔ)句的效率。如果一個(gè)語(yǔ)句本身都不正確,那么效率問(wèn)題就免談了。分析:where字句可以限制查詢的范圍,提高查詢的效率。使用compuete子句允許用戶同時(shí)觀察查詢所得的各列數(shù)據(jù)的細(xì)節(jié)及綜合各列數(shù)據(jù)所產(chǎn)生的總和。通過(guò)使用compuetez子句既可以計(jì)算數(shù)據(jù)分類(lèi)后的和,也可以計(jì)算所有數(shù)據(jù)的總和。如圖一。在sql中允許對(duì)表使用別名,所以可以使用簡(jiǎn)單的方法來(lái)書(shū)寫(xiě)上面的查詢語(yǔ)句??梢园凑誂NSI92的規(guī)則使用as關(guān)鍵字來(lái)實(shí)現(xiàn)別名的使用。如果在多表連接查詢時(shí)使用到“*”的時(shí)候,如果不對(duì)“*”加以限制,那么“*”就意味著表示“所有表中所有的列”如:selecte*from

17、 titeles,authors但是如果對(duì)“*”加以限制則只會(huì)從單一表中獲取所有的列。如:selecte titeles.* from title,authors還有一種符合ANSI92標(biāo)準(zhǔn)的進(jìn)行多表連接查詢的編寫(xiě)方式。在這種方式中使用到了jion和on關(guān)鍵字。Jion用于與連接兩個(gè)不同的表。On用于給出這兩個(gè)表之間的連接條件。根據(jù)實(shí)驗(yàn)可以看出在使用嵌套查詢簡(jiǎn)潔特點(diǎn)的使用方式是把嵌套查詢放在select語(yǔ)句的列表清單中,以直接獲得查詢結(jié)果而無(wú)須使用多次連接查詢。視圖同表一樣,都是由數(shù)據(jù)庫(kù)用戶定義的,存儲(chǔ)在數(shù)據(jù)庫(kù)中數(shù)據(jù)對(duì)象。視圖是一個(gè)虛擬的表,它不在數(shù)據(jù)庫(kù)中存儲(chǔ)實(shí)際的數(shù)據(jù)。視圖有以下優(yōu)點(diǎn)可以按需

18、求從新劃分?jǐn)?shù)據(jù)可以簡(jiǎn)化用戶的操作,可以屏蔽掉查詢的復(fù)雜性。它還提供了自動(dòng)的安全保護(hù)功能。降低了應(yīng)用程序?qū)Φ讓颖淼囊蕾囆裕瑸閿?shù)據(jù)庫(kù)重構(gòu)提供一定的邏輯獨(dú)立性。 HYPERLINK l 【實(shí)驗(yàn)00】 【實(shí)驗(yàn)05】大型數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)驗(yàn)報(bào)告 開(kāi)課實(shí)驗(yàn)室: 機(jī)房 20 年 月 日學(xué)院西財(cái)行知學(xué)院年級(jí)、專業(yè)、班信管1101姓名 涂曉倩成績(jī)課程名稱大型數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)驗(yàn)項(xiàng)目名 稱索引的創(chuàng)建與管理指導(dǎo)教師黃軍倉(cāng)教師評(píng)語(yǔ) 教師簽名:年 月 日一、實(shí)驗(yàn)?zāi)康?、掌握創(chuàng)建索引的方法。2、掌握索引管理與使用的方法。二、實(shí)驗(yàn)原理1、使用Transact-SQL語(yǔ)句在“學(xué)生”庫(kù)中的“學(xué)籍表”上,基于“姓名”創(chuàng)建索引,要求索

19、引名為“IDX_Name”,索引類(lèi)型為非聚集索引。2、使用Transact-SQL語(yǔ)句在“學(xué)生”庫(kù)中的“成績(jī)表”上,分別基于“學(xué)號(hào)”、“課程編號(hào)”創(chuàng)建索引,索引類(lèi)型為非聚集索引,名稱自擬。三、使用儀器、材料50臺(tái)微機(jī)的機(jī)房局域網(wǎng)絡(luò)SQL SERVER 2000、Word四、實(shí)驗(yàn)步驟 1.打開(kāi)“查詢分析器”,選擇“學(xué)生庫(kù)”,輸入如下代碼: USE 學(xué)生庫(kù) CREATE NONCLUSTERED INDEX IDX_Name ON 學(xué)生表(姓名) Go 2. 打開(kāi)“查詢分析器”,選擇“學(xué)生庫(kù)”,輸入如下代碼: USE 學(xué)生庫(kù) CREATE NONCLUSTERED INDEX 成績(jī) ON 成績(jī)表(

20、學(xué)號(hào),課程編號(hào)) GO 五、實(shí)驗(yàn)過(guò)程原始記錄(數(shù)據(jù)、圖表、計(jì)算等) 1、使用Transact-SQL語(yǔ)句在“學(xué)生”庫(kù)中的“學(xué)籍表”上,基于“姓名”創(chuàng)建索引,要求索引名為“IDX_Name”,索引類(lèi)型為非聚集索引。2. 使用Transact-SQL語(yǔ)句在“學(xué)生”庫(kù)中的“成績(jī)表”上,分別基于“學(xué)號(hào)”、“課程編號(hào)”創(chuàng)建索引,索引類(lèi)型為非聚集索引。六、實(shí)驗(yàn)結(jié)果及分析 (舉例說(shuō)明索引在數(shù)據(jù)管理中的作用)首先索引是sql 在列上建立的一種數(shù)據(jù)庫(kù)對(duì)象。索引對(duì)表中的數(shù)據(jù)提供了邏輯排序,可以提高數(shù)據(jù)的訪問(wèn)速度。Sql提供了兩種形式的索引,簇集索引和非簇集索引。簇集索引是根據(jù)建的值對(duì)行進(jìn)行排序,所以每個(gè)表只能有一

21、個(gè)簇集索引。非簇集索引不根據(jù)鍵值排序。例如,當(dāng)一個(gè)用戶要查找30000行記錄的學(xué)生表中所有來(lái)自“上?!钡膶W(xué)生的名字時(shí),如果沒(méi)在這張表上對(duì)學(xué)生的地址建立索引,則dbms在執(zhí)行操作時(shí)必須遍歷表中每一行,再顯示那些來(lái)自“上海”的行中的姓名字段。這種遍歷每一行記錄并完成查詢的過(guò)程叫作表掃描。Sql 執(zhí)行一次表掃描,將順序讀取所有數(shù)據(jù)頁(yè)。對(duì)只有30000行的小數(shù)據(jù)表來(lái)說(shuō)執(zhí)行一次表掃描看起來(lái)并不麻煩。但是如果學(xué)生表的數(shù)據(jù)是現(xiàn)在數(shù)據(jù)的10倍,100倍甚至1000倍10000倍,記錄總量相當(dāng)之高行又該怎樣呢?這樣就算只有一條符合要求的記錄,而且這個(gè)記錄就在第一頁(yè)上,sql 還是不得不在所有頁(yè)中查找所有所有城市

22、為“上?!钡挠涗?。如果在地址欄上加一個(gè)索引,在索引中包括有一個(gè)指向數(shù)據(jù)的指針,那么使用索引來(lái)完成相同的查詢其方式就與表掃描不同了。DBMS只沿著索引排列的順序?qū)H有一列數(shù)據(jù)的索引表進(jìn)行讀取,直到找到“上?!?。然后DBMS沿著索引指針的方向上轉(zhuǎn)移到數(shù)據(jù)表上,在查到相應(yīng)的數(shù)據(jù)。由于索引總是按照一定的順序進(jìn)行排列的,所以對(duì)索引進(jìn)行掃描的速度要大大快于對(duì)表進(jìn)行掃描的速度。 HYPERLINK l 【實(shí)驗(yàn)00】 【實(shí)驗(yàn)06】大型數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)驗(yàn)報(bào)告 開(kāi)課實(shí)驗(yàn)室: 機(jī)房 20 年 月 日學(xué)院西財(cái)行知學(xué)院年級(jí)、專業(yè)、班信管1101班姓名 涂曉倩成績(jī)課程名稱大型數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)驗(yàn)項(xiàng)目名 稱創(chuàng)建與使用存儲(chǔ)過(guò)程

23、指導(dǎo)教師黃軍倉(cāng)教師評(píng)語(yǔ) 教師簽名:年 月 日一、實(shí)驗(yàn)?zāi)康?、了解存儲(chǔ)過(guò)程的概念和作用。2、掌握創(chuàng)建存儲(chǔ)過(guò)程的方法。3、掌握存儲(chǔ)過(guò)程調(diào)用的方法。二、實(shí)驗(yàn)原理1、創(chuàng)建存儲(chǔ)過(guò)程,要求在“學(xué)生庫(kù)”中,給定某個(gè)同學(xué)的學(xué)號(hào),返回此同學(xué)的最高成績(jī)、最低成績(jī)和平均成績(jī)。2、使用按位置傳遞參數(shù)和按參數(shù)名傳遞參數(shù)兩種方法調(diào)用此存儲(chǔ)過(guò)程,并記錄執(zhí)行結(jié)果。三、使用儀器、材料50臺(tái)微機(jī)的機(jī)房局域網(wǎng)絡(luò)SQL SERVER 2000、Word四、實(shí)驗(yàn)步驟 1、創(chuàng)建存儲(chǔ)過(guò)程,要求在“學(xué)生庫(kù)”中,給定某個(gè)同學(xué)的學(xué)號(hào)110509,返回此同學(xué)的最高成績(jī)、最低成績(jī)和平均成績(jī)。打開(kāi)“查詢分析器”,輸入如下代碼:USE 學(xué)生庫(kù)GOCRE

24、ATE PROC 成績(jī)查詢 學(xué)號(hào) Char(8)=110509AS SELECT 學(xué)號(hào),課程編號(hào),成績(jī) FROM 成績(jī)表WHERE 學(xué)號(hào)=1101COMPUTE MAX(成績(jī)),MIN(成績(jī)),AVG(成績(jī)) GO如圖12. 使用按位置傳遞參數(shù)調(diào)用此存儲(chǔ)過(guò)程: EXEC 成績(jī)查詢 110509語(yǔ)句如下:USE 學(xué)生庫(kù)GOCREATE PROC 成績(jī)查詢 學(xué)號(hào) Char(8)=110509AS SELECT 學(xué)號(hào),課程編號(hào),成績(jī) FROM 成績(jī)表WHERE 學(xué)號(hào)=110509COMPUTE MAX(成績(jī)),MIN(成績(jī)),AVG(成績(jī)) GOEXEC 成績(jī)查詢 110509如圖2使用按參數(shù)名傳遞

25、參數(shù)調(diào)用此存儲(chǔ)過(guò)程: EXEC 成績(jī)查詢 學(xué)號(hào)=110509USE 學(xué)生庫(kù)GOCREATE PROC 成績(jī)查詢 學(xué)號(hào) Char(8)=110509AS SELECT 學(xué)號(hào),課程編號(hào),成績(jī) FROM 成績(jī)表WHERE 學(xué)號(hào)=110509COMPUTE MAX(成績(jī)),MIN(成績(jī)),AVG(成績(jī)) GOEXEC 成績(jī)查詢 學(xué)號(hào)=110509圖3五、實(shí)驗(yàn)過(guò)程原始記錄(數(shù)據(jù)、圖表、計(jì)算等) 圖1 圖2 圖3圖4圖5六、實(shí)驗(yàn)結(jié)果及分析 (論述存儲(chǔ)過(guò)程的優(yōu)勢(shì)以及自己對(duì)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)編程的理解(500字以上)存儲(chǔ)過(guò)程作為一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)對(duì)象,可以作為一個(gè)單元被用戶的應(yīng)用程序調(diào)用。由于是已經(jīng)編譯好的代碼,所以執(zhí)

26、行的時(shí)候不必再次編譯,從而提高了程序的運(yùn)行效率。它有以下幾個(gè)優(yōu)勢(shì):執(zhí)行速度快,它在創(chuàng)建是就經(jīng)過(guò)了語(yǔ)法檢查和性能優(yōu)化,因此在執(zhí)行時(shí)不必再重復(fù)這些步驟。存儲(chǔ)過(guò)程在經(jīng)過(guò)第一次調(diào)用以后,就駐留在內(nèi)存中,不必在經(jīng)過(guò)編譯和優(yōu)化,所以執(zhí)行速度很快。模塊化的程序設(shè)計(jì)。存儲(chǔ)過(guò)程經(jīng)過(guò)一次創(chuàng)建以后,可以被無(wú)數(shù)次調(diào)用。用戶可以獨(dú)立于應(yīng)用程序而對(duì)存儲(chǔ)過(guò)程進(jìn)行修改??梢园凑摘?dú)特的功能模塊,設(shè)計(jì)不同的存儲(chǔ)過(guò)程以供使用。減少網(wǎng)絡(luò)通信量。在存儲(chǔ)過(guò)程中包含大量的transact-sql語(yǔ)句,但是存儲(chǔ)過(guò)程是作為一個(gè)獨(dú)立的單元來(lái)使用的。在進(jìn)行調(diào)用時(shí),只需要使用一個(gè)語(yǔ)句就可以實(shí)現(xiàn),所以大大減少了網(wǎng)絡(luò)上的數(shù)據(jù)傳輸。保證了系統(tǒng)的安全性???/p>

27、以設(shè)置用戶通過(guò)存儲(chǔ)過(guò)程來(lái)對(duì)某些關(guān)鍵數(shù)據(jù)進(jìn)行訪問(wèn)而不允許用戶直接使用transact-sql或企業(yè)管理器來(lái)對(duì)數(shù)據(jù)進(jìn)行訪問(wèn)。 我對(duì)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)編程的理解:1.網(wǎng)絡(luò)數(shù)據(jù)庫(kù)是網(wǎng)絡(luò)上運(yùn)行的數(shù)據(jù)庫(kù)。2.網(wǎng)絡(luò)上包含了其他用戶的數(shù)據(jù)庫(kù)。3.信息管理中,數(shù)據(jù)記錄可以多種方式相互關(guān)聯(lián)。網(wǎng)絡(luò)數(shù)據(jù)庫(kù)和分層數(shù)據(jù)庫(kù)相似,因?yàn)槠浒瑥囊粋€(gè)記錄到另一個(gè)記錄的前進(jìn)。與后者的區(qū)別在于其更不嚴(yán)格的結(jié)構(gòu),所以說(shuō)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)是跨越電腦在網(wǎng)絡(luò)上創(chuàng)建,運(yùn)行的數(shù)據(jù)庫(kù)。在我們的技術(shù)應(yīng)用當(dāng)中想要實(shí)現(xiàn)數(shù)據(jù)庫(kù)的網(wǎng)上共享,傳輸,交換等功能。這時(shí)就需要網(wǎng)絡(luò)數(shù)據(jù)庫(kù)編程來(lái)實(shí)現(xiàn)這個(gè)功能。它是一種很強(qiáng)大的語(yǔ)言工具,可以通過(guò)相應(yīng)的命令去實(shí)現(xiàn)數(shù)據(jù)庫(kù)在網(wǎng)絡(luò)中的應(yīng)用。 H

28、YPERLINK l 【實(shí)驗(yàn)00】 【實(shí)驗(yàn)07】大型數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)驗(yàn)報(bào)告 開(kāi)課實(shí)驗(yàn)室: 機(jī)房 20 年 月 日學(xué)院西財(cái)行知學(xué)院年級(jí)、專業(yè)、班信管1101姓名 涂曉倩成績(jī)課程名稱大型數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)驗(yàn)項(xiàng)目名 稱觸發(fā)器的創(chuàng)建與使用指導(dǎo)教師黃軍倉(cāng)教師評(píng)語(yǔ) 教師簽名:年 月 日一、實(shí)驗(yàn)?zāi)康?、理解觸發(fā)器的觸發(fā)過(guò)程和類(lèi)型。2、掌握創(chuàng)建與使用觸發(fā)器的方法。二、實(shí)驗(yàn)原理1、在“學(xué)生”數(shù)據(jù)庫(kù)的“學(xué)籍表”上建立AFTER觸發(fā)器,當(dāng)刪除紀(jì)錄時(shí),統(tǒng)計(jì)顯示“成績(jī)表”中的紀(jì)錄數(shù)。三、使用儀器、材料50臺(tái)微機(jī)的機(jī)房局域網(wǎng)絡(luò)SQL SERVER 2000、Word四、實(shí)驗(yàn)步驟 在“學(xué)生”數(shù)據(jù)庫(kù)的“學(xué)籍表”上建立AFTER

29、觸發(fā)器,當(dāng)刪除紀(jì)錄時(shí),統(tǒng)計(jì)顯示“成績(jī)表”中的紀(jì)錄數(shù)。打開(kāi)“查詢分析器”, 選擇“學(xué)生庫(kù)”,輸入如下代碼:CREATE TRIGGER 刪除ON 學(xué)生表 AFTER DELETEASDELETE 學(xué)生表 FROM DELETED JOIN 成績(jī)表ON 成績(jī)表.學(xué)號(hào)= DELETED. 學(xué)號(hào) BEGIN PRINT 成績(jī)表中的記錄ROLLBACK TRANSACTIONEND 過(guò)程圖如下(圖1、圖2)五、實(shí)驗(yàn)過(guò)程原始記錄(數(shù)據(jù)、圖表、計(jì)算等)圖1圖2六、實(shí)驗(yàn)結(jié)果及分析(論述自己對(duì)觸發(fā)器的認(rèn)識(shí)) 1. 觸發(fā)器是一種特殊的存儲(chǔ)過(guò)程,它和表格緊密相連,可以看作是表格定義的一部分。當(dāng)用戶修改指定表或視圖中

30、的數(shù)據(jù)時(shí),觸發(fā)器將會(huì)自動(dòng)執(zhí)行。觸發(fā)器是建立在一個(gè)表上的創(chuàng)建的但是可以針對(duì)多個(gè)表進(jìn)行操作。所以觸發(fā)器常被用來(lái)實(shí)現(xiàn)大多數(shù)的復(fù)雜商業(yè)規(guī)則。在SQL中一張表可以有多個(gè)觸發(fā)器。用戶可以針對(duì)insert,update或delete語(yǔ)句分別設(shè)置觸發(fā)器,也可以針對(duì)一張表上的特定操作設(shè)置多個(gè)觸發(fā)器。2.觸發(fā)器是將服務(wù)器將特定的操作(insert,update或delete)執(zhí)行結(jié)束之后才執(zhí)行的。如果在執(zhí)行特定的數(shù)據(jù)庫(kù)操作過(guò)程中發(fā)生了系統(tǒng)錯(cuò)誤,則觸發(fā)器不會(huì)被觸發(fā)。3.使用最終的目的是為了更好的維護(hù)企業(yè)的業(yè)務(wù)規(guī)則。實(shí)際中觸發(fā)器主要有以下功能a.級(jí)聯(lián)修改數(shù)據(jù)庫(kù)中的所有相關(guān)表。b.撤消或回滾違反應(yīng)用完整性的操作,防止非法修改數(shù)據(jù)。c.執(zhí)行并核查約束更復(fù)雜的約束操作。d.查找在數(shù)據(jù)修改前后的表狀態(tài)之間的差別,并根據(jù)差別分別采取相應(yīng)的措施。e.在一張表的同一類(lèi)型的操作上設(shè)置多個(gè)觸發(fā)器,從而可以針對(duì)同樣的修改語(yǔ)句執(zhí)行不同的多種操作。 還有在操作時(shí)要注意的事項(xiàng):只有表的擁有者才可以在表上創(chuàng)建或刪除觸發(fā)器,這種權(quán)限不許轉(zhuǎn)授??梢栽谟|發(fā)器中引用視圖或臨時(shí)表,但不能在

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論