數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)指導(dǎo)_第1頁(yè)
數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)指導(dǎo)_第2頁(yè)
數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)指導(dǎo)_第3頁(yè)
數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)指導(dǎo)_第4頁(yè)
數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)指導(dǎo)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)指導(dǎo)計(jì)算機(jī)學(xué)院2016/09修訂履歷版數(shù)改版日期改版者內(nèi)容第一版2015.9李寧、湯小春根據(jù)數(shù)據(jù)庫(kù)原理教學(xué)大綱,整體重新修訂實(shí)驗(yàn)內(nèi)容第二版2016.9李寧根據(jù)數(shù)據(jù)庫(kù)系統(tǒng)概論第五版教材修改了對(duì)應(yīng)的實(shí)驗(yàn)題目編號(hào) 目錄目錄31. 實(shí)驗(yàn)概要51.1. 實(shí)驗(yàn)內(nèi)容一覽51.2. 實(shí)驗(yàn)評(píng)分說(shuō)明61.3. 實(shí)驗(yàn)要求61.4. 實(shí)驗(yàn)環(huán)境和配置62. 實(shí)驗(yàn)一:數(shù)據(jù)庫(kù)和表的創(chuàng)建與管理72.1. 實(shí)驗(yàn)?zāi)康?2.2. 實(shí)驗(yàn)內(nèi)容73. 實(shí)驗(yàn)二:基本表的數(shù)據(jù)操作103.1. 實(shí)驗(yàn)?zāi)康?03.2. 實(shí)驗(yàn)內(nèi)容104. 實(shí)驗(yàn)三:數(shù)據(jù)完整性與安全性控制114.1. 實(shí)驗(yàn)?zāi)康?14.2. 實(shí)驗(yàn)內(nèi)容115. 實(shí)驗(yàn)四:視圖

2、與索引135.1. 實(shí)驗(yàn)?zāi)康?35.2. 實(shí)驗(yàn)內(nèi)容136. 實(shí)驗(yàn)五:觸發(fā)器、存儲(chǔ)過(guò)程和函數(shù)146.1. 實(shí)驗(yàn)?zāi)康?46.2. 實(shí)驗(yàn)內(nèi)容147. 實(shí)驗(yàn)六:ODBC/JDBC數(shù)據(jù)庫(kù)編程167.1. 實(shí)驗(yàn)?zāi)康?67.2. 實(shí)驗(yàn)內(nèi)容168. 實(shí)驗(yàn)七:事務(wù)與并發(fā)控制178.1. 實(shí)驗(yàn)?zāi)康?78.2. 實(shí)驗(yàn)內(nèi)容179. 實(shí)驗(yàn)八:數(shù)據(jù)庫(kù)綜合實(shí)驗(yàn)199.1. 實(shí)驗(yàn)?zāi)康?99.2. 實(shí)驗(yàn)要求199.3. 實(shí)驗(yàn)內(nèi)容205.3.1. 題目一:零件交易管理系統(tǒng)205.3.2. 題目二:圖書(shū)管理系統(tǒng)205.3.3. 題目三:民航訂票管理系統(tǒng)205.3.4. 題目四:學(xué)生學(xué)籍管理系統(tǒng)215.3.5. 題目五:車(chē)站售票管理

3、系統(tǒng)215.3.6. 題目六:企業(yè)人事管理系統(tǒng)215.3.7. 題目七:電話(huà)交費(fèi)管理系統(tǒng)215.3.8. 題目八:醫(yī)藥銷(xiāo)售管理系統(tǒng)2210. 附錄:實(shí)驗(yàn)報(bào)告格式231. 實(shí)驗(yàn)概要1.1. 實(shí)驗(yàn)內(nèi)容一覽表1 實(shí)驗(yàn)內(nèi)容一覽表序號(hào)實(shí)驗(yàn)內(nèi)容具體內(nèi)容實(shí)驗(yàn)類(lèi)型(權(quán)重占比)實(shí)驗(yàn)學(xué)時(shí)1數(shù)據(jù)庫(kù)和表的創(chuàng)建與管理數(shù)據(jù)庫(kù)備份還原;數(shù)據(jù)庫(kù)、基本表定義、修改、刪除驗(yàn)證(5%)22基本表的數(shù)據(jù)操作基本表數(shù)據(jù)查詢(xún)、增刪改設(shè)計(jì)與驗(yàn)證(10%)23數(shù)據(jù)完整性與安全性控制數(shù)據(jù)的完整性約束、安全性控制,其中規(guī)則與默認(rèn)對(duì)象為選做實(shí)驗(yàn)內(nèi)容設(shè)計(jì)與驗(yàn)證(5%)24視圖與索引視圖、索引的創(chuàng)建與應(yīng)用設(shè)計(jì)與驗(yàn)證(10%)25觸發(fā)器、存儲(chǔ)過(guò)程和函數(shù)

4、觸發(fā)器、存儲(chǔ)過(guò)程以及用戶(hù)自定義函數(shù)的編程編程(10%)26ODBC/JDBC數(shù)據(jù)庫(kù)編程O(píng)DBC數(shù)據(jù)庫(kù)調(diào)試與編程JDBC為選做實(shí)驗(yàn)內(nèi)容編程(10%)27事務(wù)與并發(fā)控制事務(wù)提交、回滾;數(shù)據(jù)不一致現(xiàn)象;隔離級(jí)別與鎖;事務(wù)日志驗(yàn)證(10%)28數(shù)據(jù)庫(kù)大作業(yè)設(shè)計(jì)實(shí)現(xiàn)一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)綜合(40%)216說(shuō)明:第8次實(shí)驗(yàn),即數(shù)據(jù)庫(kù)大作業(yè),實(shí)驗(yàn)課內(nèi)2小時(shí)主要是用于數(shù)據(jù)庫(kù)的設(shè)計(jì)等、其余大量的編程等工作均需要自己安排課余充足的時(shí)間完成。1.2. 實(shí)驗(yàn)評(píng)分說(shuō)明每次實(shí)驗(yàn)滿(mǎn)分100分,最后取所有實(shí)驗(yàn)的加權(quán)平均分作為實(shí)驗(yàn)的總成績(jī)。其中大作業(yè)占比40%,其余各次實(shí)驗(yàn)占比參考1.2小結(jié)中的表1。每次實(shí)驗(yàn)中各個(gè)環(huán)節(jié)的評(píng)分標(biāo)準(zhǔn)

5、如下:項(xiàng)目具體要求百分比考勤正常出勤 (請(qǐng)假或無(wú)故缺席者0分)10%預(yù)習(xí)報(bào)告(無(wú)固定格式,紙版或電子版均可)10%實(shí)驗(yàn)實(shí)驗(yàn)過(guò)程結(jié)果的正確性()60%報(bào)告實(shí)驗(yàn)相關(guān)文檔的正確性,整潔性20%總計(jì)100% 上述每一項(xiàng)按照百分制得分,最后按照比率計(jì)算每次實(shí)驗(yàn)的最終成績(jī)。1.3. 實(shí)驗(yàn)要求1. 實(shí)驗(yàn)報(bào)告要求每次實(shí)驗(yàn)需提交電子版的實(shí)驗(yàn)報(bào)告(最后一次大作業(yè)需提交設(shè)計(jì)文檔,源程序等相關(guān)資料)。每次實(shí)驗(yàn)結(jié)束時(shí),將寫(xiě)好的實(shí)驗(yàn)報(bào)告,提交給各班輔導(dǎo)老師。如果確有困難沒(méi)有完成的情況下,課后自己完成之后提交到輔導(dǎo)老師的郵箱里。由輔導(dǎo)老師根據(jù)課堂上機(jī)實(shí)驗(yàn)檢查狀況和實(shí)驗(yàn)報(bào)告的內(nèi)容給出每次實(shí)驗(yàn)的成績(jī)。每次實(shí)驗(yàn)需要提交實(shí)驗(yàn)源碼和

6、實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)報(bào)告的內(nèi)容包括:實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)設(shè)計(jì)、實(shí)驗(yàn)步驟、運(yùn)行結(jié)果(可以是程序的輸出,也可以是運(yùn)行畫(huà)面的抓屏,抓屏圖片要盡可能的小,否則文件太大)。每份實(shí)驗(yàn)報(bào)告是一個(gè)WORD文檔,具體模板見(jiàn)本指南的附錄部分。實(shí)驗(yàn)報(bào)告命名規(guī)則:DBx(實(shí)驗(yàn)次數(shù))_XXXXXX(學(xué)號(hào))_姓名 例如:的學(xué)生的第一次實(shí)驗(yàn)報(bào)告文件名: DB1_李寧 注意:請(qǐng)每個(gè)人保存好自己的實(shí)驗(yàn)報(bào)告的電子版,直到該門(mén)課考試成績(jī)公布之后。2. 實(shí)驗(yàn)上機(jī)要求l 上機(jī)之前做好預(yù)習(xí),需要寫(xiě)一個(gè)簡(jiǎn)單的預(yù)習(xí)報(bào)告,電子版或紙版均可,格式不限。l 嚴(yán)格遵守實(shí)驗(yàn)室的各項(xiàng)規(guī)定。1.4. 實(shí)驗(yàn)環(huán)境和配置SQL Server 2008 R2(Microso

7、ft SQL Server 2008 Express With Advance Service)2. 實(shí)驗(yàn)一:數(shù)據(jù)庫(kù)和表的創(chuàng)建與管理2.1. 實(shí)驗(yàn)?zāi)康?. 掌握SQL Server中數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu),基本數(shù)據(jù)類(lèi)型等。2. 熟練掌握使用圖形用戶(hù)界面以及SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)和表。3. 掌握使用不同方法備份和還原數(shù)據(jù)庫(kù)。4. 掌握數(shù)據(jù)庫(kù)和基本表的修改和刪除方法。2.2. 實(shí)驗(yàn)內(nèi)容1. 利用圖形用戶(hù)界面創(chuàng)建,備份,刪除和還原數(shù)據(jù)庫(kù)和數(shù)據(jù)表 (50分,每小題5分)l 數(shù)據(jù)庫(kù)和表的要求(第五版教材第二章習(xí)題6要求的數(shù)據(jù)庫(kù))數(shù)據(jù)庫(kù)名:SPJ,其中包含四張表:S表, P表, J表, SPJ表 圖2.

8、1 S表(供貨商表) 圖2.2 P表(零件表) 圖2.4 SPJ表(供應(yīng)情況表) 圖2.3 J表(工程項(xiàng)目表)l 完成以下具體操作:(1) 創(chuàng)建SPJ數(shù)據(jù)庫(kù),初始大小為 10MB,最大為50MB,數(shù)據(jù)庫(kù)自動(dòng)增長(zhǎng),增長(zhǎng)方式是按5比例增長(zhǎng);日志文件初始為2MB,最大可增長(zhǎng)到5MB,按1MB增長(zhǎng)。數(shù)據(jù)庫(kù)的邏輯文件名和物理文件名均采用默認(rèn)值。(2) 在SPJ數(shù)據(jù)庫(kù)中創(chuàng)建如圖2.1-圖2.4的四張表(只輸入一部分?jǐn)?shù)據(jù)示意即可)。(3) 備份數(shù)據(jù)庫(kù)SPJ(第一種方法):備份成一個(gè)擴(kuò)展名為bak的文件。(提示:最好先刪除系統(tǒng)默認(rèn)的備份文件名,然后添加自己指定的備份文件名)(4) 備份數(shù)據(jù)庫(kù)SPJ(第二種方法

9、):將SPJ數(shù)據(jù)庫(kù)定義時(shí)使用的文件(擴(kuò)展名為mdf,ldf的數(shù)據(jù)文件、日志文件等)復(fù)制到其他文件夾進(jìn)行備份。(5) 刪除已經(jīng)創(chuàng)建的工程項(xiàng)目表(J表)。(6) 刪除SPJ數(shù)據(jù)庫(kù)。(可以在系統(tǒng)默認(rèn)的數(shù)據(jù)存儲(chǔ)文件夾下查看此時(shí)SPJ數(shù)據(jù)庫(kù)對(duì)應(yīng)的mdf,ldf文件是否存在)(7) 利用備份過(guò)的bak備份文件還原剛才刪除的SPJ數(shù)據(jù)庫(kù)。(還原數(shù)據(jù)庫(kù))(8) 利用備份過(guò)的mdf,ldf的備份文件還原剛才刪除的SPJ數(shù)據(jù)庫(kù)。(附加)(9) 將SPJ數(shù)據(jù)庫(kù)的文件大小修改為100MB。(10) 修改S表,增加一個(gè)聯(lián)系電話(huà)的字段sPhoneNo,數(shù)據(jù)類(lèi)型為字符串類(lèi)型。2. 利用SQL語(yǔ)言創(chuàng)建和刪除數(shù)據(jù)庫(kù)和數(shù)據(jù)表(5

10、0分,每小題5分)l 數(shù)據(jù)庫(kù)和表的要求數(shù)據(jù)庫(kù)名:Student, 其中包含三個(gè)表:S:學(xué)生基本信息表;C:課程基本信息表;SC:學(xué)生選課信息表。各表的結(jié)構(gòu)以及數(shù)據(jù)如下所示: 圖2.5 S表(學(xué)生表) 圖2.7 SC表(選課表) 圖2.6 C表(課程表)l 完成以下具體操作:(1) 用SQL語(yǔ)句創(chuàng)建如圖2.5-圖2.7要求的數(shù)據(jù)庫(kù)Student, 初始大小為20MB,最大為100MB,數(shù)據(jù)庫(kù)自動(dòng)增長(zhǎng),增長(zhǎng)方式是按10M兆字節(jié)增長(zhǎng);日志文件初始為2MB,最大可增長(zhǎng)到5MB,按1MB增長(zhǎng)。數(shù)據(jù)庫(kù)的邏輯文件名和物理文件名,日志文件名請(qǐng)自定義。(2) 用SQL語(yǔ)句創(chuàng)建上述的三張表,各個(gè)字段的數(shù)據(jù)類(lèi)型請(qǐng)自

11、己確定,每張表只要有主鍵約束即可,不要其他約束。不用輸入數(shù)據(jù)。(3) 用SQL中的backup 語(yǔ)句將數(shù)據(jù)庫(kù)Student備份到一個(gè)bak文件。(提示:backup database student to disk)(4) 用SQL語(yǔ)句刪除創(chuàng)建的表。(5) 將Student數(shù)據(jù)庫(kù)定義時(shí)使用的文件(擴(kuò)展名為mdf,ldf的數(shù)據(jù)文件、日志文件等)復(fù)制到其他文件夾進(jìn)行備份(復(fù)制)后,用SQL語(yǔ)句刪除創(chuàng)建的數(shù)據(jù)庫(kù)。(6) 用SQL中的sp_attache_db語(yǔ)句完成對(duì)數(shù)據(jù)庫(kù)Student的附加。(通過(guò)該方式完成數(shù)據(jù)庫(kù)的恢復(fù)時(shí),使用的備份文件是第5)小題中備份好的數(shù)據(jù)文件、日志文件等 ,具體用法:ex

12、ec sp_attache_db )(7) 先刪除Student庫(kù),再用SQL中的restore 語(yǔ)句還原剛才備份的數(shù)據(jù)庫(kù)Student。 (提示:restore database student from disk)(8) 用SQL語(yǔ)言修改數(shù)據(jù)庫(kù)Student,給Student數(shù)據(jù)庫(kù)添加一個(gè)文件組 TestFG1,然后將兩個(gè) 5 MB 的文件添加到該文件組。(提示:alter database)(9) 修改S表,增加一個(gè)表示聯(lián)系電話(huà)的字段sPhoneNo,數(shù)據(jù)類(lèi)型為字符串類(lèi)型。(10) 利用SQL Server Management Studio的生成腳本功能(選中Student庫(kù)-右鍵菜單

13、“任務(wù)”- “生成腳本”),自動(dòng)生成S表的創(chuàng)建腳本,分析自動(dòng)生成的腳本和自己寫(xiě)的SQL語(yǔ)句的異同點(diǎn)。3. 實(shí)驗(yàn)二:基本表的數(shù)據(jù)操作3.1. 實(shí)驗(yàn)?zāi)康?. 掌握使用圖形用戶(hù)界面對(duì)基本表進(jìn)行數(shù)據(jù)插入、修改和刪除。2. 掌握使用SQL語(yǔ)句對(duì)基本表進(jìn)行數(shù)據(jù)插入、修改和刪除。3. 掌握使用SQL語(yǔ)句進(jìn)行各種查詢(xún)。3.2. 實(shí)驗(yàn)內(nèi)容1 在圖形用戶(hù)界面中對(duì)表中的數(shù)據(jù)進(jìn)行更新。(6分,每小題2分)(1) 按照實(shí)驗(yàn)一圖2.1-圖2.4中所示數(shù)據(jù),輸入SPJ數(shù)據(jù)庫(kù)所含四張表中的數(shù)據(jù)。(2) 修改S表的任意一條數(shù)據(jù)(3) 刪除S表的任意一條數(shù)據(jù)。2 針對(duì)SPJ數(shù)據(jù)庫(kù),用SQL語(yǔ)句完成下面的數(shù)據(jù)更新。(12分,每小題

14、3分)(1) 第五版教材第三章 第5題的8-11小題。3 針對(duì)SPJ數(shù)據(jù)庫(kù),用SQL語(yǔ)句完成下面的數(shù)據(jù)查詢(xún)。(52分,每小題4分)(1) 第五版教材第三章 第4題。(5道小題)(2) 第五版教材第三章 第5題的1-7小題。(7道小題)(3) 查詢(xún)這樣的工程:供給該工程的零件P1的平均供應(yīng)量大于供給工程J1的任何一種零件的最大供應(yīng)量。4 針對(duì)Student數(shù)據(jù)庫(kù)用SQL語(yǔ)句完成下面的數(shù)據(jù)查詢(xún)。(12分,每小題4分)(1) 查詢(xún)不選修“C語(yǔ)言”課程的學(xué)生學(xué)號(hào)。(2) 查詢(xún)每個(gè)學(xué)生已經(jīng)獲得的學(xué)分的總分(成績(jī)及格表示獲得該門(mén)課的學(xué)分),并按照所獲學(xué)分由高到低的順序輸出學(xué)號(hào),姓名,所獲學(xué)分。(3) 查詢(xún)

15、這樣的學(xué)生姓名:該學(xué)生選修了全部課程并且其中一門(mén)課在90分以上。5 針對(duì)Student數(shù)據(jù)庫(kù)用至少三種不同的SQL語(yǔ)句進(jìn)行查詢(xún):查詢(xún)選修了課程名為“數(shù)據(jù)庫(kù)原理”的學(xué)生學(xué)號(hào)和姓名,然后自己設(shè)計(jì)實(shí)驗(yàn),用數(shù)據(jù)比較分析三種查詢(xún)的效率。(18分)4. 實(shí)驗(yàn)三:數(shù)據(jù)完整性與安全性控制4.1. 實(shí)驗(yàn)?zāi)康? 掌握使用不同的方法定義和管理數(shù)據(jù)庫(kù)的完整性。2 掌握SQL Server中的登錄名,角色以及用戶(hù)的創(chuàng)建以及使用方法。3 掌握使用SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)和表進(jìn)行安全控制。4 掌握規(guī)則的創(chuàng)建、使用和刪除。(選做實(shí)驗(yàn))5 掌握默認(rèn)對(duì)象的創(chuàng)建、使用和刪除。(選做實(shí)驗(yàn))4.2. 實(shí)驗(yàn)內(nèi)容1 利用圖形用戶(hù)界面對(duì)實(shí)驗(yàn)一中所

16、創(chuàng)建的Student庫(kù)的S表中,增加以下的約束和索引。(18分,每小題3分) (1) 非空約束:為出生日期添加非空約束。(2) 主鍵約束:將學(xué)號(hào)(sno)設(shè)置為主鍵,主鍵名為pk_sno。(3) 唯一約束:為姓名(sname)添加唯一約束(唯一鍵),約束名為uk_sname。(4) 缺省約束:為性別(ssex)添加默認(rèn)值,其值為“男”。(5) CHECK約束:為SC表的成績(jī)(grade)添加CHECK約束,約束名為ck_grade,其檢查條件為:成績(jī)應(yīng)該在0-100之間。(6) 外鍵約束:為SC表添加外鍵約束,將sno,cno設(shè)置為外鍵,其引用表分別是S表和C表,外鍵名稱(chēng)分別為fk_sno,f

17、k_cno。2 在圖形用戶(hù)界面中刪除以上小題中已經(jīng)創(chuàng)建的各種約束,用SQL語(yǔ)言分別重新創(chuàng)建第1題中的(2)-(6)小題.(15分,每小題3分,提示:alter table add constraint)3 利用圖形用戶(hù)界面根據(jù)上述SC表中的外鍵定義畫(huà)出由S,C,SC表構(gòu)成的數(shù)據(jù)庫(kù)關(guān)系圖。(5分,提示:選中student - 數(shù)據(jù)關(guān)系圖)4 用SQL語(yǔ)言刪除S表中所創(chuàng)建的缺省約束和外鍵約束。(6分,每小題3分)5 在圖形用戶(hù)界面中創(chuàng)建新登錄名以及用戶(hù)。(16分)(1) 根據(jù)第五版教材第四章 第7題,創(chuàng)建數(shù)據(jù)庫(kù)company和其中的基本表,并創(chuàng)建該題中所需要用到的各個(gè)用戶(hù)以及相關(guān)的登錄名。(10分

18、)(2) 用圖形用戶(hù)界面完成以下的權(quán)限賦予:(每小題3分)a) 用戶(hù)王明對(duì)兩個(gè)表均有Select和Insert的權(quán)力。b) 用戶(hù)李勇對(duì)職工表具有Select權(quán)力,對(duì)工資字段具有更新權(quán)力。6 用SQL語(yǔ)句授權(quán)和收回權(quán)限并對(duì)權(quán)限加以驗(yàn)證。(40分,每題20分)(1) 根據(jù)第五版教材第四章 第7題。(2) 根據(jù)第五版教材第四章 第8題。(提示:(c)和(g)小題可創(chuàng)建合適的視圖,針對(duì)視圖進(jìn)行授權(quán),(c)小題用CURRENT_USER)l 選做實(shí)驗(yàn)1 利用SQL語(yǔ)言創(chuàng)建,驗(yàn)證和刪除規(guī)則。(1) 創(chuàng)建一個(gè)ssex_rule規(guī)則(create rule),將其綁定(sp_bindrule)到S表的ssex

19、性別字段上(請(qǐng)驗(yàn)證該規(guī)則生效,保證了輸入的性別只能是“男”或者“女”)。(2) 刪除ssex_rule規(guī)則(注意:規(guī)則已綁定到ssex表的性別字段上,需要先解除原有的綁定sp_unbindrule, drop rule)。2 利用SQL語(yǔ)言創(chuàng)建,驗(yàn)證和刪除默認(rèn)值。(1) 創(chuàng)建一個(gè)ssex_def默認(rèn)對(duì)象(create default),將其綁定(sp_bindefault)到S表的ssex性別字段上,使其默認(rèn)值為“男”(請(qǐng)驗(yàn)證該默認(rèn)值生效)。(2) 刪除ssex_def(注意:默認(rèn)對(duì)象已綁定到S表的ssex性別字段上,需要先解除原有的綁定sp_unbindefault, drop defaul

20、t)。5. 實(shí)驗(yàn)四:視圖與索引5.1. 實(shí)驗(yàn)?zāi)康? 掌握使用圖形用戶(hù)界面和SQL語(yǔ)言創(chuàng)建、操作和刪除視圖。2 掌握使用圖形用戶(hù)界面和SQL語(yǔ)言創(chuàng)建和刪除索引。3 理解索引的作用。5.2. 實(shí)驗(yàn)內(nèi)容1 在Student數(shù)據(jù)庫(kù)中,利用圖形用戶(hù)界面,創(chuàng)建一個(gè)選修了“數(shù)據(jù)庫(kù)原理”課程并且是1996年出生的學(xué)生的視圖,視圖中包括學(xué)號(hào),性別,成績(jī)?nèi)齻€(gè)信息。(5分)2 用兩種不同的SQL語(yǔ)句創(chuàng)建第五版教材第三章 第9題中要求的視圖(視圖名:V_SPJ)(10分,每種方法5分)。3 用SQL語(yǔ)句完成第五版教材第三章 第11題中的視圖查詢(xún)(10分,每小題5分)。4 用SQL語(yǔ)句完成視圖的數(shù)據(jù)更新。(15分,每題

21、5分)(1) 給視圖V_SPJ中增加一條數(shù)據(jù)。提示:- SPJ表中JNO允許為空時(shí),數(shù)據(jù)可以插入基本表,此時(shí)JNO為NULL,由于JNO為NULL,所以視圖中沒(méi)有該條數(shù)據(jù)。- SPJ表中JNO不能為空時(shí),可以使用instead of觸發(fā)器實(shí)現(xiàn)。(2) 修改視圖V_SPJ中的任意一條數(shù)據(jù)的供應(yīng)數(shù)量。(3) 刪除視圖V_SPJ中的任意一條數(shù)據(jù)(注意所創(chuàng)建視圖可以視圖消解時(shí),才能正常刪除,否則會(huì)刪除失?。灰部梢钥紤]用instead of觸發(fā)器實(shí)現(xiàn))。5 用圖形用戶(hù)界面對(duì)Student數(shù)據(jù)庫(kù)中C表的Cno字段創(chuàng)建一個(gè)降序排列的唯一索引,索引名稱(chēng)IX_CNo。(5分)6 使用SQL語(yǔ)句對(duì)Student數(shù)

22、據(jù)庫(kù)完成以下的索引操作。(15分,每題5分)(1) 在C表的CName屬性上創(chuàng)建一個(gè)非唯一性的聚簇索引,索引名IX_CName。(提示:創(chuàng)建這個(gè)聚簇索引之前,需要首先刪除C表的主鍵約束。SQL Server中,給某張表指定主鍵時(shí),會(huì)自動(dòng)創(chuàng)建為主屬性一個(gè)聚簇索引。)(2) 在SC表上創(chuàng)建一個(gè)名為IX_Cnosno的非聚簇復(fù)合索引,該索引是針對(duì)sno,cno屬性集建立的升序索引。(3) 刪除C表的索引IX_CName。7 自己設(shè)計(jì)一個(gè)實(shí)驗(yàn)驗(yàn)證索引對(duì)數(shù)據(jù)庫(kù)查詢(xún)效率的提升作用。(40分) (提示:需要數(shù)據(jù)量比較大的情況下才容易進(jìn)行對(duì)比)6. 實(shí)驗(yàn)五:觸發(fā)器、存儲(chǔ)過(guò)程和函數(shù)6.1. 實(shí)驗(yàn)?zāi)康?. 掌握系

23、統(tǒng)存儲(chǔ)過(guò)程的使用用法。2. 掌握用戶(hù)自定義的存儲(chǔ)過(guò)程的創(chuàng)建和執(zhí)行方法。3. 掌握觸發(fā)器的創(chuàng)建和執(zhí)行方法。4. 掌握用戶(hù)自定義函數(shù)的創(chuàng)建和執(zhí)行方法。6.2. 實(shí)驗(yàn)內(nèi)容1. 使用系統(tǒng)存儲(chǔ)過(guò)程(sp_rename)將視圖“V_SPJ”更名為“V_SPJ_三建”。(5分)2. 針對(duì)SPJ數(shù)據(jù)庫(kù),創(chuàng)建并執(zhí)行如下的存儲(chǔ)過(guò)程:(共計(jì)35分)(1) 創(chuàng)建一個(gè)帶參數(shù)的存儲(chǔ)過(guò)程jsearch。該存儲(chǔ)過(guò)程的作用是:當(dāng)任意輸入一個(gè)工程代號(hào)時(shí),將返回供應(yīng)該工程零件的供應(yīng)商的名稱(chēng)(SNAME)和零件的名稱(chēng)(PNAME)以及工程的名稱(chēng)(JNAME)。執(zhí)行jsearch存儲(chǔ)過(guò)程,查詢(xún)“J1”對(duì)應(yīng)的信息。(10分)(2) 使用

24、S表,為其創(chuàng)建一個(gè)加密的存儲(chǔ)過(guò)程jmsearch。該存儲(chǔ)過(guò)程的作用是:當(dāng)執(zhí)行該存儲(chǔ)過(guò)程時(shí),將返回北京供應(yīng)商的所有信息。(10分)(3) 使用系統(tǒng)存儲(chǔ)過(guò)程sp_helptext查看jsearch, jmsearch的文本信息。(5分)(4) 執(zhí)行jmsearch存儲(chǔ)過(guò)程,查看北京供應(yīng)商的情況。(5分)(5) 刪除jmsearch存儲(chǔ)過(guò)程。(5分)3. 針對(duì)Student數(shù)據(jù)庫(kù),創(chuàng)建和執(zhí)行如下的觸發(fā)器:(共計(jì)40分)(1) 刪除SC表上的外鍵約束,針對(duì)SC表創(chuàng)建一個(gè)名為insert_s的INSERT觸發(fā)器。該觸發(fā)器的功能:當(dāng)用戶(hù)向SC表中插入記錄時(shí),如果插入的cno值不是C表中Cno的已有值,則提

25、示用戶(hù)“不能插入記錄這樣的紀(jì)錄”,否則提示“記錄插入成功”。觸發(fā)器創(chuàng)建成功之后,向SC表插入記錄,驗(yàn)證觸發(fā)器是否正常工作。(5分)(2) 為S表創(chuàng)建一個(gè)名為dele_s1的DELETE觸發(fā)器,該觸發(fā)器的作用是禁止刪除S表中的記錄。觸發(fā)器創(chuàng)建成功之后,刪除S表中的記錄,驗(yàn)證觸發(fā)器是否正常工作。(5分)(3) 為S表創(chuàng)建一個(gè)名為dele_s2的DELETE觸發(fā)器,該觸發(fā)器的作用是刪除S表中的記錄時(shí)刪除SC表中該學(xué)生的選課紀(jì)錄。觸發(fā)器創(chuàng)建成功之后,刪除S表中的記錄刪除S表中的記錄,驗(yàn)證觸發(fā)器是否正常工作(SC表中的數(shù)據(jù)被正常刪除)。(5分)(4) 為S表創(chuàng)建一個(gè)名為update_s的UPDATE觸發(fā)

26、器,該觸發(fā)器的作用是禁止更新S表中“sdept”字段的內(nèi)容。觸發(fā)器創(chuàng)建成功之后,更新S表中“sdept”字段的內(nèi)容,驗(yàn)證觸發(fā)器是否正常工作。(5分)(5) 禁用update_s觸發(fā)器。禁用之后,更新S表中的“sdept”字段的內(nèi)容,驗(yàn)證觸發(fā)器是否還繼續(xù)正常工作。(5分)(6) 刪除update_s觸發(fā)器。(5分)(7) 創(chuàng)建一個(gè)新的課程成績(jī)統(tǒng)計(jì)表 CAvgGrade(Cno, Snum, examSNum, avgGrade),分別表示課號(hào),選該課程的學(xué)生人數(shù),參加考試人數(shù),該門(mén)課程的平均成績(jī)。利用觸發(fā)器實(shí)現(xiàn)如下的功能:當(dāng)SC表中有記錄插入、刪除或者某個(gè)人的成績(jī)更新時(shí),自動(dòng)更新表CAvgGra

27、de。注意SC表中的grade為NULL時(shí)表明該學(xué)生還未參加考試,計(jì)算平均成績(jī)時(shí)不需要計(jì)算該成績(jī),但是grade為0即考試成績(jī)?yōu)?時(shí),需要計(jì)算該成績(jī)。(10分)4. 創(chuàng)建一個(gè)works數(shù)據(jù)庫(kù),其中包含員工表empoyee(eID, eName, salary),假設(shè)該表中有1000條員工數(shù)據(jù),完成下列要求(總計(jì)20分,每題10分)。(1) 為了協(xié)助本題自動(dòng)生成1000條員工數(shù)據(jù),創(chuàng)建一個(gè)自動(dòng)生成員工ID的用戶(hù)自定義函數(shù)generateEID。其中員工ID要求是一個(gè)8位的數(shù)字,前四位表示插入員工數(shù)據(jù)的當(dāng)前年份,后四位按照從0001到9999的順序增長(zhǎng)。例如2015年插入的第一條數(shù)據(jù)是,所有100

28、0條員工ID分別是-。調(diào)用該函數(shù)實(shí)現(xiàn)自動(dòng)插入1000條數(shù)據(jù)。(注意插入數(shù)據(jù)的時(shí)候員工姓名可以為任意值,工資是2000-5000之間的數(shù)字)(2) 該公司計(jì)劃為員工按照一定的規(guī)則漲工資,請(qǐng)使用游標(biāo)創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,執(zhí)行該存儲(chǔ)過(guò)程完成本次工資調(diào)整:工資增長(zhǎng)規(guī)則如下:l 工資在3000元以下,每月漲300元;l 工資在3000-4000元之間,每月漲200元;l 工資大于或者等于4000元,每月漲50元;7. 實(shí)驗(yàn)六:ODBC/JDBC數(shù)據(jù)庫(kù)編程7.1. 實(shí)驗(yàn)?zāi)康?. 熟練掌握ODBC數(shù)據(jù)源的配置方法。2. 掌握ODBC編程技術(shù)。3. 掌握J(rèn)DBC編程技術(shù)。(選做實(shí)驗(yàn))7.2. 實(shí)驗(yàn)內(nèi)容1. ODB

29、C配置以及程序調(diào)試:(50分)(1) 配置一個(gè)ODBC數(shù)據(jù)源,要求數(shù)據(jù)源名稱(chēng):student,其中包含s(學(xué)生信息)表。(2) 閱讀并運(yùn)行實(shí)驗(yàn)給出的例子程序,理解ODBC編程,要求簡(jiǎn)單寫(xiě)出自己對(duì)這段程序的理解或者流程圖,并且請(qǐng)給出程序運(yùn)行結(jié)果示例圖。2. 參考給出的ODBC編程示例,使用ODBC技術(shù),編寫(xiě)一個(gè)簡(jiǎn)單的程序,包含對(duì)數(shù)據(jù)庫(kù)SPJ的連接,查詢(xún),插入,修改和刪除。(50分)3. 用JDBC實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)student的連接,查詢(xún),插入,修改和刪除。(選做實(shí)驗(yàn))8. 實(shí)驗(yàn)七:事務(wù)與并發(fā)控制8.1. 實(shí)驗(yàn)?zāi)康?. 掌握事務(wù)機(jī)制,學(xué)會(huì)創(chuàng)建事務(wù)。2. 理解事務(wù)并發(fā)操作所可能導(dǎo)致的數(shù)據(jù)不一致性問(wèn)題,

30、用實(shí)驗(yàn)展現(xiàn)四種數(shù)據(jù)不一致性問(wèn)題:丟失修改、讀臟數(shù)據(jù)、不可重復(fù)讀以及幻讀現(xiàn)象。3. 理解鎖機(jī)制,學(xué)會(huì)采用鎖與事務(wù)隔離級(jí)別解決數(shù)據(jù)不一致的問(wèn)題。4. 了解數(shù)據(jù)庫(kù)的事務(wù)日志。8.2. 實(shí)驗(yàn)內(nèi)容 假設(shè)學(xué)校允許學(xué)生將銀行卡和校園卡進(jìn)行綁定,在student數(shù)據(jù)庫(kù)中有如下的基本表,其中校園卡編號(hào)cardid即為學(xué)生的學(xué)號(hào): icbc_card(studcardid,icbcid,balance) /校園卡ID,工行卡ID,銀行卡余額 campus_card(studcardid,balance) /校園卡ID,校園卡余額針對(duì)以上數(shù)據(jù)庫(kù)按照要求完成下列實(shí)驗(yàn):1. 編寫(xiě)一個(gè)事務(wù)處理(begin tran)實(shí)現(xiàn)

31、如下的操作:某學(xué)號(hào)為的學(xué)生要從銀行卡中轉(zhuǎn)賬200元到校園卡中,若中間出現(xiàn)故障則進(jìn)行rollback。(15分)2. 針對(duì)本題的數(shù)據(jù)庫(kù)和表,分別用具體的例子展現(xiàn)四種數(shù)據(jù)不一致問(wèn)題:丟失修改、讀臟數(shù)據(jù)、不可重復(fù)讀和幻讀(刪除和插入)。(40分,每種數(shù)據(jù)不一致10分)3. 利用鎖機(jī)制、數(shù)據(jù)庫(kù)的隔離級(jí)別等,設(shè)計(jì)方案分別解決上述丟失修改、讀臟數(shù)據(jù)和不可重復(fù)讀(或者幻讀)的數(shù)據(jù)不一致問(wèn)題。(30分,每種數(shù)據(jù)不一致10分,提示可以用sp_lock系統(tǒng)存儲(chǔ)過(guò)程查看當(dāng)前鎖狀況)4. 構(gòu)造一個(gè)出現(xiàn)死鎖的情形。(10分)5. 利用dbcc log命令查看student數(shù)據(jù)庫(kù)的事務(wù)日志。(5分) 附數(shù)據(jù)創(chuàng)建的代碼:

32、use studentcreate table campus_card( studcardid Char(8) , balance Decimal(10,2)create table icbc_card( studcardid Char(8), icbcid Char(10), balance Decimal(10,2) ) 示例數(shù)據(jù)如下:insert into campus_card values(, 30)insert into campus_card values(, 50)insert into campus_card values(, 70)insert into icbc_card

33、 values(, , 1000)insert into icbc_card values(, , 1000)insert into icbc_card values(, , 1000) 9. 實(shí)驗(yàn)八:數(shù)據(jù)庫(kù)綜合實(shí)驗(yàn)9.1. 實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)完成從用戶(hù)需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)等一系列的數(shù)據(jù)庫(kù)設(shè)計(jì)到編程、調(diào)試和應(yīng)用等全過(guò)程,進(jìn)一步理解和掌握教材中的相關(guān)內(nèi)容。9.2. 實(shí)驗(yàn)要求1. 實(shí)驗(yàn)步驟(1) 先對(duì)選定的實(shí)驗(yàn)做簡(jiǎn)單的需求分析。(2) 做出數(shù)據(jù)流圖和數(shù)據(jù)字典。(3) 在數(shù)據(jù)流圖和字典的基礎(chǔ)上做出E-R圖(概念結(jié)構(gòu)設(shè)計(jì))。(4) 在E-R圖基礎(chǔ)上進(jìn)行關(guān)系模式設(shè)計(jì)(至少滿(mǎn)足3NF)(邏輯結(jié)構(gòu)

34、設(shè)計(jì))。(5) 根據(jù)需求分析中的各種數(shù)據(jù)請(qǐng)求得出各種視圖以及各種約束、規(guī)則、觸發(fā)器腳本描述。(6) 根據(jù)第(5)的內(nèi)容在SQL-SERVER中設(shè)計(jì)中實(shí)例的數(shù)據(jù)庫(kù)。(7) 用自己熟悉的一門(mén)語(yǔ)言進(jìn)行設(shè)計(jì)的功能的實(shí)現(xiàn),必須包括對(duì)數(shù)據(jù)的查詢(xún)、增加、修改和刪除。(8) 整理前面幾步的文檔和程序源碼,可執(zhí)行程序。(9) 實(shí)驗(yàn)報(bào)告的最后寫(xiě)出本次實(shí)驗(yàn)完成中遇到的問(wèn)題及解決方法。2. 提交成果物:(1) 完整的實(shí)驗(yàn)報(bào)告(報(bào)告中包括上述要求中的1)-5)和9),注意不需要將客戶(hù)端程序源代碼貼入實(shí)驗(yàn)報(bào)告中,但可以將觸發(fā)器、存儲(chǔ)過(guò)程等數(shù)據(jù)庫(kù)端的代碼加以說(shuō)明寫(xiě)入實(shí)驗(yàn)報(bào)告中,另外請(qǐng)將開(kāi)發(fā)環(huán)境(包括語(yǔ)言、平臺(tái)、所使用數(shù)據(jù)庫(kù)

35、的名稱(chēng)以及版本號(hào))寫(xiě)入實(shí)驗(yàn)報(bào)告中。(2) 備份好的數(shù)據(jù)庫(kù)備份文件,以及相關(guān)的SQL語(yǔ)句。(3) 源代碼以及可執(zhí)行程序。(4) 配置運(yùn)行說(shuō)明文檔:說(shuō)明程序該如何配置使之能正常運(yùn)行。(5) 其他:安裝包、幫助文件、演示視頻等(可選)。3. 評(píng)分標(biāo)準(zhǔn):需求分析:5分(數(shù)據(jù)流圖與數(shù)據(jù)字典)概念設(shè)計(jì):10分(E-R圖)邏輯設(shè)計(jì):10分(關(guān)系模式,包括函數(shù)依賴(lài),碼等優(yōu)化、表設(shè)計(jì))物理設(shè)計(jì):5分(表中的索引設(shè)計(jì)等)程序源代碼:60分其他:10分(文檔完整性,環(huán)境配置等)9.3. 實(shí)驗(yàn)內(nèi)容從下列內(nèi)容中選取一個(gè)或者自己選題進(jìn)行實(shí)驗(yàn),并書(shū)寫(xiě)實(shí)驗(yàn)報(bào)告。以下每個(gè)題目列出的功能僅供參考,實(shí)驗(yàn)中可以自行對(duì)功能進(jìn)行設(shè)計(jì)。5

36、.3.1. 題目一:零件交易管理系統(tǒng)零件交易管理系統(tǒng)主要提供顧客和供應(yīng)商之間完成零件交易的功能,其中包括供應(yīng)商信息、顧客信息以及零件信息。供應(yīng)商信息包括供應(yīng)商號(hào)、供應(yīng)商名、地址、電話(huà)、簡(jiǎn)介;顧客信息包括顧客號(hào)、顧客名、地址、電話(huà);零件信息包括零件號(hào)、零件名、重量、顏色、簡(jiǎn)介等。此系統(tǒng)可以讓供應(yīng)商增加、刪除和修改所提供的零件產(chǎn)品,還可以讓顧客增加、刪除和修改所需求的零件。交易員可以利用顧客提出的需求信息和供應(yīng)商提出的供應(yīng)信息來(lái)提出交易的建議,由供應(yīng)商和顧客進(jìn)行確認(rèn)后即完成交易。5.3.2. 題目二:圖書(shū)管理系統(tǒng)一個(gè)簡(jiǎn)單的圖書(shū)管理系統(tǒng)包括圖書(shū)館內(nèi)書(shū)籍的信息、學(xué)校在校學(xué)生的信息以及學(xué)生的借閱信息。此系統(tǒng)功能分為面向?qū)W生和面向管理員兩部分,其中面向?qū)W生部分可以進(jìn)行借閱、續(xù)借、歸還和查詢(xún)書(shū)籍等操作;面向管理員部分可以完成書(shū)籍和學(xué)生的增加、刪除和修改以及對(duì)學(xué)生借閱、續(xù)借、歸還的確認(rèn)。 5.3.3. 題目三:民航訂票管理系統(tǒng)民航訂票系統(tǒng)主要分為機(jī)場(chǎng)、航空公司和客戶(hù)三方的服務(wù)。航空公司提供航線(xiàn)和飛機(jī)的資料,機(jī)場(chǎng)則對(duì)在本機(jī)場(chǎng)起飛和降落的航班和機(jī)票進(jìn)行管理,而客戶(hù)能得到的服務(wù)應(yīng)該有查詢(xún)航班路線(xiàn)和剩余票數(shù),以及網(wǎng)上訂票等功能。客戶(hù)又可以分為兩類(lèi):一類(lèi)是普通客戶(hù),對(duì)于普通客戶(hù)只有普通的查

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論