第一篇:(2018版)數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)2指導(dǎo)書
一 實(shí)驗(yàn)題目: SQL SERVER2008查詢分析器的使用
二 實(shí)驗(yàn)?zāi)康模菏煜QL SERVER2008 環(huán)境,熟悉查詢分析器的使用,能夠熟練運(yùn)用sql命令完成數(shù)據(jù)庫(kù),基本表、主碼、外碼和其它必要的約束條件的定義。
三 實(shí)驗(yàn)內(nèi)容及要求:(從下面10個(gè)題目中選擇一個(gè))題目一: 利用sql建立學(xué)生信息數(shù)據(jù)庫(kù),并定義以下基本表: 學(xué)生(學(xué)號(hào),年齡,性別,系號(hào))課程(課號(hào),課名,學(xué)分,學(xué)時(shí))選課(學(xué)號(hào),課號(hào),成績(jī))
定義主碼、外碼、和年齡、學(xué)分、學(xué)分的取值范圍。在三個(gè)表中輸入若干記錄,注意如果輸入違反完整性約束條件的記錄系統(tǒng)有何反應(yīng)。
題目二: 利用sql建立圖書管理數(shù)據(jù)庫(kù),并定義以下基本表: 圖書(書號(hào),書名,價(jià)格,出版社)讀者(卡號(hào),姓名,年齡,所屬單位)借閱(書號(hào),卡號(hào),借閱日期)
定義主碼、外碼、和年齡、價(jià)格的取值范圍。在三個(gè)表中輸入若干記錄,注意如果輸入違反完整性約束條件的記錄系統(tǒng)有何反應(yīng)。
題目三: 利用sql建立商品信息數(shù)據(jù)庫(kù),并定義以下基本表: 商品(編號(hào),品名,進(jìn)價(jià),庫(kù)存,售價(jià),廠商編號(hào))顧客(卡號(hào),姓名,電話,積分)
廠商(編號(hào),廠址,名稱、電話、經(jīng)理)銷售(卡號(hào),商品編號(hào),數(shù)量,日期)
定義主碼、外碼、和價(jià)格、積分的取值范圍。在表中輸入若干記錄,注意如果輸入違反完整性約束條件的記錄系統(tǒng)有何反應(yīng)。
題目四: 利用sql建立圖書信息數(shù)據(jù)庫(kù),并定義以下基本表: 圖書(書號(hào),書名,作者編號(hào),價(jià)格,出版社編號(hào))作者(編號(hào),姓名,電話)
出版社(編號(hào),出版社名稱,地址)定義主碼、外碼、和價(jià)格的取值范圍。在三個(gè)表中輸入若干記錄,注意如果輸入違反完整性約束條件的記錄系統(tǒng)有何反應(yīng)。
題目五: 利用sql建立零件信息數(shù)據(jù)庫(kù),并定義以下基本表: 零件(編號(hào),名稱,顏色,生產(chǎn)車間號(hào))車間(編號(hào),名稱,人數(shù),主任)產(chǎn)品(編號(hào),名稱,車間編號(hào))
使用(產(chǎn)品編號(hào),使用零件編號(hào),個(gè)數(shù))
定義主碼、外碼、和人數(shù)、個(gè)數(shù)的取值范圍。在三個(gè)表中輸入若干記錄,注意如果輸入違反完整性約束條件的記錄系統(tǒng)有何反應(yīng)。
題目六: 利用sql建立藥品信息數(shù)據(jù)庫(kù),并定義以下基本表: 藥品(編號(hào),名稱,價(jià)格,廠商編號(hào))處方(藥品號(hào),數(shù)量,醫(yī)生編號(hào))醫(yī)生(編號(hào),姓名,科室,職稱)
定義主碼、外碼、和數(shù)量、價(jià)格的取值范圍。在三個(gè)表中輸入若干記錄,注意如果輸入違反完整性約束條件的記錄系統(tǒng)有何反應(yīng)。
題目七: 利用sql建立教材數(shù)據(jù)庫(kù),并定義以下基本表: 學(xué)生(學(xué)號(hào),年齡,性別,系名)教材(編號(hào),書名,出版社編號(hào),價(jià)格)訂購(gòu)(學(xué)號(hào),書號(hào),數(shù)量)出版社(編號(hào),名稱,地址)
定義主碼、外碼、和價(jià)格、數(shù)量的取值范圍。在三個(gè)表中輸入若干記錄,注意如果輸入違反完整性約束條件的記錄系統(tǒng)有何反應(yīng)。
題目八: 利用sql建立雇員信息數(shù)據(jù)庫(kù),并定義以下基本表: 員工(編號(hào),姓名,性別,年齡,部門編號(hào),年薪)部門(編號(hào),名稱,人數(shù),負(fù)責(zé)人)項(xiàng)目(編號(hào),名稱,負(fù)責(zé)部門)
定義主碼、外碼、和年齡、學(xué)分、學(xué)分的取值范圍。在三個(gè)表中輸入若干記錄,注意如果輸入違反完整性約束條件的記錄系統(tǒng)有何反應(yīng)。
題目九: 利用sql建立帳戶信息數(shù)據(jù)庫(kù),并定義以下基本表: 帳戶(編號(hào),姓名,余額,建立日期,儲(chǔ)蓄所編號(hào))儲(chǔ)蓄所(編號(hào),名稱,地址,人數(shù),所屬城市)借貸(帳戶,借貸類型,金額,日期)
定義主碼、外碼、和人數(shù)、余額的取值范圍。在三個(gè)表中輸入若干記錄,注意如果輸入違反完整性約束條件的記錄系統(tǒng)有何反應(yīng)。
題目十: 利用sql建立倉(cāng)庫(kù)信息數(shù)據(jù)庫(kù),并定義以下基本表: 倉(cāng)庫(kù)(編號(hào),保管員編號(hào),面積)
保管員(編號(hào),姓名,年齡,電話、月薪)商品(編號(hào),品名,倉(cāng)庫(kù)編號(hào)、數(shù)量,單價(jià))定義主碼、外碼、和年齡、面積的取值范圍。在三個(gè)表中輸入若干記錄,注意如果輸入違反完整性約束條件的記錄系統(tǒng)有何反應(yīng)。
五 實(shí)驗(yàn)報(bào)告要求: 給出使用查詢分析器的步驟 2 給出建庫(kù)、建表的SQL 命令腳本 3 實(shí)驗(yàn)中出現(xiàn)的問題和解決方法
第二篇:數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)指導(dǎo)書
《數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)指導(dǎo)書》
河南科技大學(xué)電子信息工程學(xué)院目錄
實(shí)驗(yàn)規(guī)則..................................................................................................................................0 實(shí)驗(yàn)報(bào)告要求..........................................................................................................................2 基本實(shí)驗(yàn)方法..........................................................................................................................2 實(shí)驗(yàn)環(huán)境..................................................................................................................................2 實(shí)驗(yàn)一:數(shù)據(jù)定義及更新語(yǔ)句練習(xí)......................................................................................3 實(shí)驗(yàn)二:簡(jiǎn)單查詢和連接查詢..............................................................................................5 實(shí)驗(yàn)三:分組查詢和嵌套查詢..............................................................................................7 實(shí)驗(yàn)四:視圖操作和數(shù)據(jù)控制..............................................................................................9 實(shí)驗(yàn)五:觸發(fā)器和存儲(chǔ)過程................................................................................................11 選作題目................................................................................................................................13
實(shí)驗(yàn)規(guī)則
為了順利完成實(shí)驗(yàn)教學(xué)任務(wù),確保人身設(shè)備安全,培養(yǎng)嚴(yán)謹(jǐn)、踏實(shí)、實(shí)事求是的科學(xué)作風(fēng)和愛護(hù)國(guó)家財(cái)產(chǎn)的優(yōu)良品質(zhì),特制定以下實(shí)驗(yàn)規(guī)則:
1、實(shí)驗(yàn)紀(jì)律
(1)在實(shí)驗(yàn)室不得做和實(shí)驗(yàn)無(wú)關(guān)的事情。(2)遵守紀(jì)律,不遲到,不曠課。
(3)不能拆卸硬件,更不能拿走實(shí)驗(yàn)設(shè)備或儀器。(4)保持實(shí)驗(yàn)室安靜、整潔,愛護(hù)公物。
2、實(shí)驗(yàn)過程
(1)預(yù)習(xí)實(shí)驗(yàn)內(nèi)容。自行設(shè)計(jì)SQL語(yǔ)句。
(2)上機(jī)操作。每執(zhí)行一句記錄執(zhí)行情況,主要是錯(cuò)誤信息和錯(cuò)誤原因。(3)檢查操作結(jié)果是否正確。
(4)根據(jù)實(shí)驗(yàn)過程的記錄書寫實(shí)驗(yàn)報(bào)告。
實(shí)驗(yàn)報(bào)告要求
1、報(bào)告用紙 采用統(tǒng)一的河南科技大學(xué)實(shí)驗(yàn)報(bào)告用紙,不得用別的紙張代替。
2、實(shí)驗(yàn)報(bào)告封面內(nèi)容
實(shí)驗(yàn)名稱:(如實(shí)驗(yàn)一 數(shù)據(jù)庫(kù)創(chuàng)建)班級(jí)名稱:(如計(jì)科101班)學(xué)生學(xué)號(hào): 學(xué)生姓名: 實(shí)驗(yàn)時(shí)間:
3、實(shí)驗(yàn)報(bào)告內(nèi)容
見各具體實(shí)驗(yàn)項(xiàng)目的要求。
基本實(shí)驗(yàn)方法
本實(shí)驗(yàn)要求熟悉SQL Server環(huán)境和數(shù)據(jù)庫(kù)的相關(guān)知識(shí)。
實(shí)驗(yàn)環(huán)境
Microsoft SQL Server2012 2 實(shí)驗(yàn)一:數(shù)據(jù)定義及更新語(yǔ)句練習(xí)一、二、實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)庫(kù)和基本表的創(chuàng)建、數(shù)據(jù)的更新。預(yù)習(xí)要求:實(shí)驗(yàn)前復(fù)習(xí)講授過的有關(guān)創(chuàng)建數(shù)據(jù)庫(kù)、基本表的SQL語(yǔ)句,預(yù)習(xí)SQL Server2000環(huán)境,特別是資源管理器和查詢分析器的相關(guān)用法。
三、實(shí)驗(yàn)內(nèi)容:
(一)用SQL語(yǔ)句建立如下mySPJ數(shù)據(jù)庫(kù),包括S,P,J,和SPJ四個(gè)基本表(教材第二章習(xí)題5中的四個(gè)表),要求實(shí)現(xiàn)關(guān)系的三類完整性。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY)供應(yīng)商表S由供應(yīng)商代碼(SNO)、供應(yīng)商姓名(SNAME)、供應(yīng)商狀態(tài)(STATUS)、供應(yīng)商所在城市(CITY)組成。
零件表P由零件代碼(PNO)、零件名(PNAME)、顏色(COLOR)、重量(WEIGHT)組成。
工程項(xiàng)目表J由工程項(xiàng)目代碼(JNO)、工程項(xiàng)目名(JNAME)、工程項(xiàng)目所在城市(CITY)組成。
供應(yīng)情況表SPJ由供應(yīng)商代碼(SNO)、零件代碼(PNO)、工程項(xiàng)目代碼(JNO)、供應(yīng)數(shù)量(QTY)組成,表示某供應(yīng)商 供應(yīng)某種零件 給某工程項(xiàng)目的數(shù)量為QTY。
(二)分別使用插入、刪除、修改的方式更新基本表中的數(shù)據(jù)。
四、實(shí)驗(yàn)方法和步驟:
(一)使用Microsoft SQL Server企業(yè)管理器和查詢分析器建立數(shù)據(jù)庫(kù)mySPJ: 1.打開“開始->程序->Microsoft SQL Server->企業(yè)管理器”;
2.在企業(yè)管理器左邊的樹標(biāo)簽中依次打開“Microsoft SQL Server-> SQL Server組->(local)(Windows NT)->數(shù)據(jù)庫(kù)”,(local)(Windows NT)前的紅色標(biāo)記轉(zhuǎn)化為綠色標(biāo)記表明NT服務(wù)已啟動(dòng);
3.從企業(yè)管理器的“工具”菜單中選擇“SQL 查詢分析器”,打開查詢分析器后,在其窗口書寫創(chuàng)建數(shù)據(jù)庫(kù)mySPJ的SQL語(yǔ)句,點(diǎn)擊執(zhí)行按鈕(或F5鍵)執(zhí)行該SQL 3 語(yǔ)句;
4.在企業(yè)管理器左邊的樹標(biāo)簽中查看數(shù)據(jù)庫(kù)是否建立成功。
(二)在數(shù)據(jù)庫(kù)mySPJ中建立S,P,J,和SPJ四個(gè)基本表:
按照實(shí)驗(yàn)內(nèi)容給出的基本表結(jié)構(gòu)在查詢分析器窗口中書寫SQL語(yǔ)句分別建立各表,并設(shè)置主鍵和外鍵約束;
(三)更新表數(shù)據(jù):
1.利用Insert 語(yǔ)句將習(xí)題中給出的示例記錄插入各表。2.利用Update更新表中的記錄:
①將p表中的所有紅色零件的重量增加5。
②將spj表中所有天津供應(yīng)商的QTY屬性值減少10。用子查詢。
3.利用Delete語(yǔ)句刪除p表中的所有紅色零件的記錄。
4.SQL語(yǔ)句執(zhí)行后返回基本表查看更新后的結(jié)果,如果與期望不符,分析原因并記錄在實(shí)驗(yàn)報(bào)告中。
五、思考題:
(一)在為各表設(shè)定關(guān)鍵字時(shí)彈出的頁(yè)面中有關(guān)鍵字和索引選項(xiàng),試通過給基本表設(shè)定這兩個(gè)項(xiàng)目并說明二者的區(qū)別。
(二)在基本表中輸入數(shù)據(jù)時(shí),注意數(shù)據(jù)與字段的數(shù)據(jù)類型和長(zhǎng)度以及能否為空的屬性是否一致,保存時(shí)如有錯(cuò)誤分析錯(cuò)誤原因,及時(shí)改正并將錯(cuò)誤報(bào)告寫在實(shí)驗(yàn)報(bào)告中。
六、實(shí)驗(yàn)報(bào)告要求:
(一)實(shí)驗(yàn)?zāi)康模?二)實(shí)驗(yàn)內(nèi)容:
(三)完成情況(附上設(shè)計(jì)的SQL語(yǔ)句)。
(四)實(shí)驗(yàn)結(jié)果:如果是查詢語(yǔ)句,將查詢結(jié)果記錄列出來,其它可以不寫。(五)問題及解決:首先寫出執(zhí)行語(yǔ)句不成功的時(shí)候系統(tǒng)報(bào)告的錯(cuò)誤信息。然后分析錯(cuò)誤原因,并給出解決辦法。(六)回答思考題提出的問題,(七)實(shí)驗(yàn)總結(jié):心得體會(huì),建議等。
實(shí)驗(yàn)二:簡(jiǎn)單查詢和連接查詢
一、實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)的簡(jiǎn)單查詢和多個(gè)數(shù)據(jù)表連接查詢。
二、預(yù)習(xí)要求:實(shí)驗(yàn)前復(fù)習(xí)講授過的有關(guān)簡(jiǎn)單查詢與多表查詢的知識(shí),編寫相應(yīng)的SQL語(yǔ)句。
三、實(shí)驗(yàn)內(nèi)容:
(一)完成下面的簡(jiǎn)單查詢:
①查詢所有“天津”的供應(yīng)商明細(xì); ②查詢所有“紅色”的14公斤以上的零件。③查詢工程名稱中含有“廠”字的工程明細(xì)。(二)完成下面的連接查詢:
①等值連接:求s表和j表的相同城市的等值連接。
②自然連接:查詢所有的供應(yīng)明細(xì),要求顯示供應(yīng)商、零件和工程的名稱,并按照供應(yīng)、工程、零件排序。
③笛卡爾積:求s和p表的笛卡爾積 ④左連接:求j表和spj表的左連接。⑤右連接:求spj表和j表的右連接。
四、實(shí)驗(yàn)方法和步驟:
參照實(shí)驗(yàn)一中給出的使用Microsoft SQL Server企業(yè)管理器和SQL查詢分析器的方法,將實(shí)驗(yàn)內(nèi)容中所要求的查詢項(xiàng)目依次用SQL語(yǔ)句實(shí)現(xiàn),并記錄下執(zhí)行結(jié)果。
五、思考題:
查看實(shí)驗(yàn)內(nèi)容2中左連接和右連接的執(zhí)行結(jié)果是否一致,為什么?
六、實(shí)驗(yàn)報(bào)告要求:(一)實(shí)驗(yàn)?zāi)康模?二)實(shí)驗(yàn)內(nèi)容:
5(三)完成情況(附上設(shè)計(jì)的SQL語(yǔ)句)。
(四)實(shí)驗(yàn)結(jié)果:如果是查詢語(yǔ)句,將查詢結(jié)果記錄列出來,其它可以不寫。(五)問題及解決:首先寫出執(zhí)行語(yǔ)句不成功的時(shí)候系統(tǒng)報(bào)告的錯(cuò)誤信息。然后分析錯(cuò)誤原因,并給出解決辦法。(六)回答思考題提出的問題,(七)實(shí)驗(yàn)總結(jié):心得體會(huì),建議等。實(shí)驗(yàn)三:分組查詢和嵌套查詢
一、實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)多個(gè)數(shù)據(jù)表的分組查詢和嵌套查詢。
二、預(yù)習(xí)要求:實(shí)驗(yàn)前復(fù)習(xí)講授過的有關(guān)分組查詢和嵌套查詢的知識(shí),編寫相應(yīng)的SQL語(yǔ)句。
三、實(shí)驗(yàn)內(nèi)容:(一)分組查詢:
1.求各種顏色零件的平均重量。2.求北京供應(yīng)商和天津供應(yīng)商的總個(gè)數(shù)。3.求各供應(yīng)商供應(yīng)的零件總數(shù)。4.求各供應(yīng)商供應(yīng)給各工程的零件總數(shù)。5.求使用了100個(gè)以上P1零件的工程名稱。6.求各工程使用的各城市供應(yīng)的零件總數(shù)。
(二)嵌套查詢:
1.in連接謂詞查詢:
① 查詢沒有使用天津供應(yīng)商供應(yīng)的紅色零件的工程名稱。② 查詢供應(yīng)了1000個(gè)以上零件的供應(yīng)商名稱。(having)2.比較運(yùn)算符:求重量大于所有零件平均重量的零件名稱。3.Exists連接謂詞:
① 查詢供應(yīng)J1的所有的零件都是紅色的供應(yīng)商名稱。② 至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號(hào)JNO。
四、實(shí)驗(yàn)方法和步驟:
參照實(shí)驗(yàn)一中給出的使用Microsoft SQL Server企業(yè)管理器和SQL查詢分析器的方法,將實(shí)驗(yàn)內(nèi)容中所要求的查詢項(xiàng)目依次用SQL語(yǔ)句實(shí)現(xiàn),并記錄下執(zhí)行結(jié)果。
五、思考題:
(一)嵌套查詢中的in連接謂詞查詢,關(guān)鍵字in可以直接用any代替么?什么情況下in和any可以互相代替?
(二)嵌套查詢中的內(nèi)查詢?yōu)橥獠樵兎祷氐膬?nèi)容是什么?是表達(dá)式?視圖?還是物理數(shù)據(jù)集合?
六、實(shí)驗(yàn)報(bào)告要求:(一)實(shí)驗(yàn)?zāi)康模?二)實(shí)驗(yàn)內(nèi)容:
(三)完成情況(附上設(shè)計(jì)的SQL語(yǔ)句)。
(四)實(shí)驗(yàn)結(jié)果:如果是查詢語(yǔ)句,將查詢結(jié)果記錄列出來,其它可以不寫。(五)問題及解決:首先寫出執(zhí)行語(yǔ)句不成功的時(shí)候系統(tǒng)報(bào)告的錯(cuò)誤信息。然后分析錯(cuò)誤原因,并給出解決辦法。(六)回答思考題提出的問題,(七)實(shí)驗(yàn)總結(jié):心得體會(huì),建議等。
實(shí)驗(yàn)四:視圖操作和數(shù)據(jù)控制
一、實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)視圖操作和數(shù)據(jù)控制。
二、預(yù)習(xí)要求:實(shí)驗(yàn)前復(fù)習(xí)講授過的有關(guān)視圖操作和數(shù)據(jù)控制的知識(shí),編寫相應(yīng)的SQL語(yǔ)句。
三、實(shí)驗(yàn)內(nèi)容:
(一)定義如下視圖:
①查詢北京的供應(yīng)商的編號(hào)、名稱和城市。②查詢S1供應(yīng)商的所有供應(yīng)明細(xì)。
③查詢各工程名稱使用的各種顏色零件的個(gè)數(shù)。查詢上面定義的視圖。
(二)數(shù)據(jù)控制:
①使用GRANT把對(duì)S表查詢的權(quán)利授予WangLi。
②使用GRANT把對(duì)P表查詢、插入、修改、刪除的權(quán)利授予LiMing。
③使用REVOKE把LiMing對(duì)P表插入、刪除的權(quán)利回收。
四、實(shí)驗(yàn)方法和步驟:
參照實(shí)驗(yàn)一中給出的使用Microsoft SQL Server企業(yè)管理器和SQL查詢分析器的方法,將實(shí)驗(yàn)內(nèi)容中所要求的查詢項(xiàng)目依次用SQL語(yǔ)句實(shí)現(xiàn),并記錄下執(zhí)行結(jié)果。
五、思考題:
實(shí)驗(yàn)內(nèi)容中的哪些視圖可以用來更新記錄?
六、實(shí)驗(yàn)報(bào)告要求:(一)實(shí)驗(yàn)?zāi)康模?二)實(shí)驗(yàn)內(nèi)容:
(三)完成情況(附上設(shè)計(jì)的SQL語(yǔ)句)。
(四)實(shí)驗(yàn)結(jié)果:如果是查詢語(yǔ)句,將查詢結(jié)果記錄列出來,其它可以不寫。(五)問題及解決:首先寫出執(zhí)行語(yǔ)句不成功的時(shí)候系統(tǒng)報(bào)告的錯(cuò)誤信息。然后 9 分析錯(cuò)誤原因,并給出解決辦法。(六)回答思考題提出的問題,(七)實(shí)驗(yàn)總結(jié):心得體會(huì),建議等。
實(shí)驗(yàn)五:觸發(fā)器和存儲(chǔ)過程
一、實(shí)驗(yàn)?zāi)康模豪斫庥|發(fā)器和存儲(chǔ)過程的含義,掌握用SQL語(yǔ)句實(shí)現(xiàn)觸發(fā)器和存儲(chǔ)過程的編寫,并初步掌握什么情況下使用事務(wù)。
二、預(yù)習(xí)要求:存儲(chǔ)過程和觸發(fā)器的相關(guān)概念,事務(wù)的相關(guān)概念,編寫相應(yīng)的SQL語(yǔ)句。
三、實(shí)驗(yàn)內(nèi)容:
有一個(gè)小型的圖書管理數(shù)據(jù)庫(kù),包含的表為:
bookstore(bookid,bookname,bookauthor,purchasedate,state);--圖書庫(kù)存表
borrowcard(cardid,ownername);--借書證表
borrowlog(cardid,bookid,borrowdate,returndate);--借書記錄表 寫一個(gè)存儲(chǔ)過程,實(shí)現(xiàn)借書操作,要求有事務(wù)處理。(1)讀者借書,要先設(shè)置書籍不在庫(kù)標(biāo)志state(借出),然后增加借書記錄,在同一事務(wù)中完成。(2)要求在事務(wù)執(zhí)行過程中引入錯(cuò)誤觸發(fā)事件,以此體會(huì)事務(wù)的錯(cuò)誤保護(hù)機(jī)制和事務(wù)編程的作用。(3)要求用觸發(fā)器實(shí)現(xiàn)表的完整性控制。
四、實(shí)驗(yàn)方法和步驟:
(一)在查詢分析器中創(chuàng)建包含以上三張表的數(shù)據(jù)庫(kù)。
(二)參考CREATE PROCEDURE語(yǔ)句和Create Trigger語(yǔ)句。在事務(wù)執(zhí)行過程中引入錯(cuò)誤觸發(fā)事件,可以考慮在增加借書記錄時(shí)違反實(shí)體完整性或參照完整性,以此體會(huì)事務(wù)的錯(cuò)誤保護(hù)機(jī)制,并用觸發(fā)器實(shí)現(xiàn)表的完整性控制。
五、思考題:
如何通過系統(tǒng)的設(shè)置實(shí)現(xiàn)類似的功能,而不需觸發(fā)器?
六、實(shí)驗(yàn)報(bào)告要求:(一)實(shí)驗(yàn)?zāi)康模?二)實(shí)驗(yàn)內(nèi)容:
(三)完成情況(附上設(shè)計(jì)的SQL語(yǔ)句)。
11(四)實(shí)驗(yàn)結(jié)果:如果是查詢語(yǔ)句,將查詢結(jié)果記錄列出來,其它可以不寫。(五)問題及解決:首先寫出執(zhí)行語(yǔ)句不成功的時(shí)候系統(tǒng)報(bào)告的錯(cuò)誤信息。然后分析錯(cuò)誤原因,并給出解決辦法。(六)回答思考題提出的問題,實(shí)驗(yàn)總結(jié):心得體會(huì),建議等。
選作題目
選作題目1:用vb,delphi或者c++builder設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù)應(yīng)用程序,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的成績(jī)管理,建立三個(gè)表:學(xué)生表S,課程表C和成績(jī)表SC。要求實(shí)現(xiàn)的功能:(1)維護(hù)學(xué)生信息;(2)維護(hù)課程信息;(3)錄入成績(jī);(4)查詢一個(gè)學(xué)生的所有課程成績(jī);(5)查詢每門課程的平均成績(jī)。(6)打印學(xué)生成績(jī)報(bào)表;(7)打印每門課程的平均成績(jī)報(bào)表。
選作題目2:自由結(jié)合以(5-6)人為小組完成一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的小課題。要求用ERWIN工具對(duì)數(shù)據(jù)庫(kù)進(jìn)行建模。
第三篇:(2008版)數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)5指導(dǎo)書
一 實(shí)驗(yàn)題目:視圖的定義和使用
二 實(shí)驗(yàn)?zāi)康模杭由顚?duì)視圖的理解,熟練視圖的定義、查看、修改等操作 三 實(shí)驗(yàn)內(nèi)容及要求:(從下面10個(gè)題目中選一個(gè))題目一:
學(xué)生(學(xué)號(hào),年齡,性別,系名)課程(課號(hào),課名,學(xué)分,學(xué)時(shí))選課(學(xué)號(hào),課號(hào),成績(jī))根據(jù)上面基本表的信息定義視圖顯示每門課的課名、選課人數(shù)、平均成績(jī) 2 觀察基本表數(shù)據(jù)變化時(shí),視圖中數(shù)據(jù)的變化。3 利用視圖,查詢平均成績(jī)最高的學(xué)生。
題目二:
圖書(書號(hào),書名,價(jià)格,出版社)讀者(卡號(hào),姓名,年齡,所屬單位)借閱(書號(hào),卡號(hào),借閱日期)根據(jù)上面基本表的信息定義視圖顯示每本書的書名、借閱次數(shù) 2 觀察基本表數(shù)據(jù)變化時(shí),視圖中數(shù)據(jù)的變化。3利用視圖,查詢借閱次數(shù)最多的書。
題目三:
商品(編號(hào),品名,進(jìn)價(jià),庫(kù)存,售價(jià),廠商編號(hào))顧客(卡號(hào),姓名,電話,積分)廠商(編號(hào),廠址,名稱、電話)
銷售(顧客卡號(hào),商品編號(hào),數(shù)量,日期)根據(jù)上面基本表的信息定義視圖顯示每種商品的品名、銷售數(shù)量 2 觀察基本表數(shù)據(jù)變化時(shí),視圖中數(shù)據(jù)的變化。3利用視圖,查詢銷售數(shù)量最高的商品。
題目四:
圖書(書號(hào),書名,作者編號(hào),價(jià)格,出版社編號(hào))作者(編號(hào),姓名,電話)
出版社(編號(hào),出版社名稱,地址)根據(jù)上面基本表的信息定義視圖顯示每個(gè)出版社的名稱、出版書的數(shù)量 2 觀察基本表數(shù)據(jù)變化時(shí),視圖中數(shù)據(jù)的變化。3利用視圖,查詢出版書最多的出版社
題目五:
零件(編號(hào),名稱,顏色,生產(chǎn)車間號(hào))車間(編號(hào),名稱,人數(shù),主任)產(chǎn)品(編號(hào),名稱,車間編號(hào))
使用(產(chǎn)品編號(hào),使用零件編號(hào),個(gè)數(shù))根據(jù)上面基本表的信息定義視圖顯示每個(gè)產(chǎn)品的編號(hào),使用零件的編號(hào),生產(chǎn)零件的車間號(hào),車間主任 觀察基本表數(shù)據(jù)變化時(shí),視圖中數(shù)據(jù)的變化。3利用視圖,查詢使用零件最多的產(chǎn)品。
題目六:
藥品(編號(hào),名稱,價(jià)格,廠商)處方(藥品編號(hào),數(shù)量,醫(yī)生編號(hào))醫(yī)生(編號(hào),姓名,科室,職稱)根據(jù)上面基本表的信息定義視圖顯示每種藥品的品名、銷售金額 2 觀察基本表數(shù)據(jù)變化時(shí),視圖中數(shù)據(jù)的變化。3利用視圖,查詢最暢銷的藥品。
題目七:
學(xué)生(學(xué)號(hào),年齡,性別,系名)
教材(編號(hào),書名,出版社編號(hào),價(jià)格)訂購(gòu)(學(xué)號(hào),書號(hào),數(shù)量)出版社(編號(hào),名稱,地址)根據(jù)上面基本表的信息定義視圖顯示每個(gè)學(xué)生姓名、應(yīng)繳書費(fèi) 2 觀察基本表數(shù)據(jù)變化時(shí),視圖中數(shù)據(jù)的變化。3利用視圖,查詢交費(fèi)最高的學(xué)生。
題目八:
員工(編號(hào),姓名,性別,年齡,部門編號(hào),年薪)部門(編號(hào),名稱,人數(shù),負(fù)責(zé)人)項(xiàng)目(編號(hào),名稱,負(fù)責(zé)部門編號(hào))根據(jù)上面基本表的信息定義視圖顯示每個(gè)部門名稱、年工資總額 2 觀察基本表數(shù)據(jù)變化時(shí),視圖中數(shù)據(jù)的變化。3利用視圖,查詢工資額最高的部門
題目九:
帳戶(編號(hào),姓名,余額,建立日期,儲(chǔ)蓄所編號(hào))儲(chǔ)蓄所(編號(hào),名稱,地址,人數(shù),所屬城市)借貸(帳戶,借貸類型,金額,日期)根據(jù)上面基本表的信息定義視圖顯示每個(gè)儲(chǔ)蓄所名稱、儲(chǔ)蓄總金額 2 觀察基本表數(shù)據(jù)變化時(shí),視圖中數(shù)據(jù)的變化。3利用視圖,查詢儲(chǔ)蓄金額最高的儲(chǔ)蓄所。
題目十:
倉(cāng)庫(kù)(編號(hào),保管員編號(hào),面積)
保管員(編號(hào),姓名,年齡,電話、月薪)商品(編號(hào),品名,倉(cāng)庫(kù)編號(hào)、數(shù)量,單價(jià))
1根據(jù)上面基本表的信息定義視圖顯示每個(gè)倉(cāng)庫(kù)保管員姓名、保管商品價(jià)值總額 2 觀察基本表數(shù)據(jù)變化時(shí),視圖中數(shù)據(jù)的變化。3利用視圖,查詢保管商品價(jià)值金額最高的保管員。
五 實(shí)驗(yàn)報(bào)告要求: 給出建立視圖的步驟。給出基本表數(shù)據(jù)和視圖的內(nèi)容。給出查詢命令和測(cè)試數(shù)據(jù)、執(zhí)行結(jié)果。
第四篇:數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)指導(dǎo)書
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
第一節(jié)
序
言
數(shù)據(jù)庫(kù)是信息系統(tǒng)的核心和基礎(chǔ),它把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來,提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫(kù)中獲得所需的信息。
數(shù)據(jù)庫(kù)設(shè)計(jì)是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分。
數(shù)據(jù)庫(kù)設(shè)計(jì)的基本任務(wù)是:對(duì)于一個(gè)給定的應(yīng)用領(lǐng)域,設(shè)計(jì)優(yōu)化的數(shù)據(jù)庫(kù)邏輯和物理結(jié)構(gòu),使之滿足用戶的信息管理要求和數(shù)據(jù)操作要求,有效地支持各種應(yīng)用系統(tǒng)的開發(fā)和運(yùn)行。也就是說,數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)該和應(yīng)用系統(tǒng)設(shè)計(jì)相結(jié)合,即整個(gè)設(shè)計(jì)過程中要把結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì)和行為(處理)設(shè)計(jì)密切結(jié)合起來。因此,數(shù)據(jù)庫(kù)設(shè)計(jì)的成果有二:一是數(shù)據(jù)模式,二是以數(shù)據(jù)庫(kù)為基礎(chǔ)的典型應(yīng)用程序。
數(shù)據(jù)庫(kù)設(shè)計(jì)和開發(fā)是一項(xiàng)復(fù)雜的工程,是涉及多學(xué)科的綜合性技術(shù)。
課程設(shè)計(jì)是課堂教學(xué)的實(shí)踐延伸,是重要的一環(huán)。學(xué)生按所選設(shè)計(jì)任務(wù)分組,在兩周的課程設(shè)計(jì)時(shí)間里,學(xué)生應(yīng)圍繞自己的題目?jī)?nèi)容,結(jié)合軟件工程的原理和方法,體驗(yàn)數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)開發(fā)全過程,尤其要突出數(shù)據(jù)庫(kù)設(shè)計(jì)的六個(gè)階段;同時(shí)體驗(yàn)并發(fā)揮團(tuán)隊(duì)合作精神。完成設(shè)計(jì)任務(wù)后,交付課程設(shè)計(jì)說明書。
第1頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
第二節(jié)
課程設(shè)計(jì)步驟
選定設(shè)計(jì)任務(wù)后,分小組討論,初步劃分小組各成員的子任務(wù),選出小組負(fù)責(zé)人,同時(shí)按照軟件工程的原理和數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟盡快安排小組的工作進(jìn)度,指導(dǎo)教師在第二天檢查各小組的進(jìn)度安排。
整個(gè)設(shè)計(jì)過程,小組各成員之間要有充分的交流,并作活動(dòng)記錄,其關(guān)鍵部分要求載入課程設(shè)計(jì)說明書。
一般地,在設(shè)計(jì)的各階段,小組與指導(dǎo)教師之間至少要有一次交流、匯報(bào),讓教師掌握其設(shè)計(jì)動(dòng)態(tài)。
小組負(fù)責(zé)人要協(xié)調(diào)并控制小組各成員及整個(gè)項(xiàng)目(設(shè)計(jì)任務(wù))的開發(fā)進(jìn)度。
第2頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
第三節(jié)
設(shè)計(jì)說明書要求與格式參考
按軟件工程的要求編寫課程設(shè)計(jì)說明書,要求不少于3000字。說明書中除了在封面應(yīng)有題目、班級(jí)、姓名、學(xué)號(hào)和課程設(shè)計(jì)日期、地點(diǎn)以外,其正文一般有如下幾個(gè)方面的內(nèi)容:
(1)系統(tǒng)分析報(bào)告,包括系統(tǒng)的功能分析、系統(tǒng)的功能模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)的數(shù)據(jù)字典,數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)(E-R圖),數(shù)據(jù)庫(kù)中的表、視圖(如果使用)、存儲(chǔ)過程(如果使用)的結(jié)構(gòu)和定義(可以用SQL腳本提供);
(2)程序設(shè)計(jì)的報(bào)告:包括程序的運(yùn)行環(huán)境、開發(fā)環(huán)境、程序的詳細(xì)設(shè)計(jì)(包括模塊之間的關(guān)系,模塊的功能、主要功能實(shí)現(xiàn)的程序段)
(3)系統(tǒng)的源程序,包括數(shù)據(jù)庫(kù)腳本程序。
其中數(shù)據(jù)庫(kù)設(shè)計(jì)部分應(yīng)盡量詳盡,該部分說明書的參考格式如下。
數(shù)據(jù)庫(kù)設(shè)計(jì)部分
1. 引言
1.1 項(xiàng)目名稱
1.2項(xiàng)目背景和內(nèi)容概要 1.3相關(guān)資料、縮略語(yǔ)、定義
(相關(guān)項(xiàng)目計(jì)劃、引用的文件、采用的標(biāo)準(zhǔn)等)(縮寫詞和名詞定義)2. 約定
數(shù)據(jù)庫(kù)中各種元素的命名約定。例如表名,字段名的命名約定。
3. 需求分析
數(shù)據(jù)流圖及相應(yīng)數(shù)據(jù)字典 4. 數(shù)據(jù)庫(kù)概念模型設(shè)計(jì)
4.1數(shù)據(jù)實(shí)體-關(guān)系圖
第3頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
4.2數(shù)據(jù)實(shí)體描述
數(shù)據(jù)實(shí)體中文名,數(shù)據(jù)庫(kù)表名,數(shù)據(jù)實(shí)體描述 4.3實(shí)體關(guān)系描述
(描述每個(gè)實(shí)體間的關(guān)系)
實(shí)體1:實(shí)體2(1:1,1:n, m:n)
5.?dāng)?shù)據(jù)庫(kù)邏輯模型設(shè)計(jì)
5.1關(guān)系模型描述
(E-R圖向關(guān)系模型轉(zhuǎn)換)
數(shù)據(jù)庫(kù)表名: 同義詞(別名): 主鍵: 外鍵: 索引:
約束: 中文名稱 數(shù)據(jù)屬性名 數(shù)據(jù)類型 數(shù)據(jù)長(zhǎng)度
約束范圍 是否空 注解
5.2數(shù)據(jù)視圖描述
(如用標(biāo)準(zhǔn)SQL語(yǔ)言中創(chuàng)建數(shù)據(jù)視圖的語(yǔ)句描述)5.3數(shù)據(jù)庫(kù)一致性設(shè)計(jì)
(如用標(biāo)準(zhǔn)SQL語(yǔ)言中創(chuàng)建表的語(yǔ)句描述)
6.物理實(shí)現(xiàn)
6.1數(shù)據(jù)庫(kù)的安排
。說明是否采用分布式數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)表如何分布。每個(gè)數(shù)據(jù)庫(kù)服務(wù)器上建立幾個(gè)數(shù)據(jù)庫(kù),其存儲(chǔ)空間等安排
。數(shù)據(jù)庫(kù)表的的分配方法,例如:如何創(chuàng)建段,或表空間 6.2安全保密設(shè)計(jì)
用戶角色劃分方法,每個(gè)角色的權(quán)限
第4頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
第四節(jié) 設(shè)計(jì)任務(wù) 題一:酒店管理系統(tǒng)
1、問題描述
某三星級(jí)酒店經(jīng)營(yíng)住宿、餐飲、桑拿、會(huì)議業(yè)務(wù),其中住宿和餐飲服務(wù)收入占該酒店整個(gè)營(yíng)業(yè)收入的80%??腿巳胱【频昕梢酝ㄟ^前臺(tái)登記、前臺(tái)預(yù)定;客房分為多個(gè)檔次以供不同消費(fèi)者選擇;餐飲部既對(duì)內(nèi)部入住客人服務(wù),也對(duì)外營(yíng)業(yè),入住客人可以通過電話訂購(gòu)各種食品,在餐飲大廳就餐的客人必須先購(gòu)餐券,然后憑餐券讓服務(wù)生領(lǐng)取食品。
該酒店為加強(qiáng)管理,提高整個(gè)酒店的運(yùn)行效率,打算建設(shè)信息化管理系統(tǒng),其中客房部、餐飲部是整個(gè)系統(tǒng)的重要模塊。
試實(shí)現(xiàn)其中客房管理模塊
2、系統(tǒng)功能的基本要求:
? 前臺(tái)客人入住登記; ? 客人退房登記; ? 前臺(tái)收銀; ? 客房預(yù)訂登記;
? 換房(客人要求換房間)記錄; ? 住宿價(jià)格調(diào)整; ? 訪客登記; ? 綜合查詢
第5頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
⑴ 房況查詢:某間或某類客房當(dāng)前入住情況查詢;預(yù)定房查詢;某段日期某客房入住記錄查詢;
⑵ 入住客人信息查詢:根據(jù)房間號(hào)查詢?nèi)胱】腿说男畔?;根?jù)客人證件或姓名查詢客人信息;根據(jù)來訪客人信息查詢被訪客人信息。
3、建議與提示: ? 采用B/S架構(gòu);
? 本選題建議最多4人選做;
題二:高校學(xué)生宿舍管理系統(tǒng)
1、問題描述:
某高校有學(xué)生3萬(wàn)多人,學(xué)生統(tǒng)一住在學(xué)生宿舍。每間學(xué)生宿舍都配備有網(wǎng)絡(luò)接口、電表、水表;學(xué)校后勤集團(tuán)可以根據(jù)情況設(shè)置網(wǎng)絡(luò)費(fèi)、電費(fèi)、水費(fèi)標(biāo)準(zhǔn),例如:每個(gè)學(xué)生每年交網(wǎng)絡(luò)費(fèi)30元;每個(gè)學(xué)生每個(gè)月有5度免費(fèi)電、3噸免費(fèi)水,超過免費(fèi)量就按市場(chǎng)價(jià)格收取該寢室水電費(fèi)。
根據(jù)情況,專科生、本科生、碩士研究生和博士研究生住房標(biāo)準(zhǔn)不同。一般,??粕?-6人一間寢室;碩士生3人一間寢室;博士生兩人一室;除博士生外,所有學(xué)生每年都要按某個(gè)設(shè)定的價(jià)格繳納一定的住宿費(fèi)。
對(duì)部分空置宿舍可以對(duì)外出租,租金由宿舍管理中心設(shè)定。該高校后勤集團(tuán)學(xué)生宿舍管理中心擬開發(fā)一套管理軟件,以加強(qiáng)學(xué)生宿舍管理。2系統(tǒng)基本功能要求:
第6頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
? 新生入住登記(包括宿舍住房分配、登記); ? 畢業(yè)生退房登記; ? 學(xué)生換宿舍記錄; ? 寢室衛(wèi)生檢查記錄; ? 寢室設(shè)備損壞保修登記; ? 水電表讀數(shù)記錄;
? 水電收費(fèi)(可以每月一收,也可以每年一收); ? 空置宿舍外租管理; ? 外來客人登記記錄; ? 綜合查詢
⑴ 根據(jù)寢室號(hào)查學(xué)生信息; ⑵ 根據(jù)學(xué)號(hào)或姓名查寢室;
⑶ 查水電費(fèi)帳目(根據(jù)寢室號(hào)、學(xué)號(hào)查某寢室某段時(shí)期內(nèi)的水電費(fèi));
發(fā)揮你的想象,可能還有哪些功能是需要的,實(shí)現(xiàn)它。
3、數(shù)據(jù)庫(kù)要求:在數(shù)據(jù)庫(kù)中至少應(yīng)該包含下列數(shù)據(jù)表:
? 寢室信息表(包括樓號(hào)、寢室號(hào)、類型、價(jià)格等); ? 學(xué)生信息表; ? 寢室衛(wèi)生檢查記錄; ? 水表度數(shù)記錄; ? 電表度數(shù)記錄; ? 外租客信息。
4、建議與提示: ? 采用B/S架構(gòu);
? 本選題建議最多4人選做;
第7頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
題三:倉(cāng)庫(kù)管理系統(tǒng)
1、問題描述:
某大型國(guó)有生產(chǎn)型企業(yè)擁有4個(gè)倉(cāng)庫(kù):原材料倉(cāng)庫(kù)、成品倉(cāng)庫(kù)、半成品倉(cāng)庫(kù)和一個(gè)綜合倉(cāng)庫(kù)。每個(gè)倉(cāng)庫(kù)配有主管一名和保管員若干名。該企業(yè)為精簡(jiǎn)冗員、減少倉(cāng)庫(kù)管理成本、提高管理效率,擬開發(fā)一倉(cāng)庫(kù)管理系統(tǒng)。
2、基本功能要求:
? 產(chǎn)品入庫(kù)管理,可以填寫入庫(kù)單,確認(rèn)產(chǎn)品入庫(kù); ? 產(chǎn)品出庫(kù)管理,可以填寫出庫(kù)單,確認(rèn)出庫(kù); ? 借出管理,憑借條借出,然后能夠還庫(kù);
? 初始庫(kù)存設(shè)置,設(shè)置庫(kù)存的初始值,庫(kù)存的上下警戒線; ? 可以進(jìn)行盤庫(kù),反映每月、年的庫(kù)存情況;
? 可以查詢產(chǎn)品入庫(kù)情況、出庫(kù)情況、當(dāng)前庫(kù)存情況,可以按出庫(kù)單、入庫(kù)單,產(chǎn)品、時(shí)間進(jìn)行查詢;
3、建議與提示: ? 采用B/S架構(gòu);
? 本選題建議最多4人選做;
題四:儲(chǔ)蓄系統(tǒng)
1、問題描述: 為方便儲(chǔ)戶,某銀行擬開發(fā)計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)。儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并印出存款單給儲(chǔ)戶;如果是取款,系統(tǒng)計(jì)算利息并印出利息清單給儲(chǔ)戶。
第8頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
2、系統(tǒng)功能基本要求:
? 儲(chǔ)戶開設(shè)帳戶(根據(jù)用戶類型分個(gè)人帳戶、企業(yè)帳戶); ? 存款(定期、活期);
? 取款(定期到期取款、活期取款)? 消戶
? 轉(zhuǎn)帳(注意事務(wù)處理)
3、建議與提示:
? 采用B(Browser)/S(Server)架構(gòu); ? 本選題建議最多3人選做;
題
五、簡(jiǎn)單POS系統(tǒng)
1、問題描述:
某小型商店打算開發(fā)一簡(jiǎn)單POS系統(tǒng)。系統(tǒng)要求記錄每一筆訂貨信息、每一筆銷售交易的詳情,并能查詢某種商品銷售情況,庫(kù)存情況;當(dāng)某種商品的庫(kù)存不足時(shí),系統(tǒng)自動(dòng)提醒訂貨。
2、系統(tǒng)功能基本要求:
? 訂貨信息(商品名稱、訂貨價(jià)、數(shù)量、供貨商等)錄入; ? 供貨商信息錄入;
? 銷售詳細(xì)信息(包括商品名稱、價(jià)格、數(shù)量等)錄入、查詢、打印;
? 銷售情況綜合查詢
⑴ 按照商品名稱、編號(hào)查詢某一段時(shí)間內(nèi)的銷售量和銷售額;
⑵ 查詢某種商品的銷售利潤(rùn)((銷售價(jià)-訂貨價(jià))×銷量); ? 庫(kù)存情況查詢:查詢某種商品的當(dāng)前庫(kù)存量
第9頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
? 安全庫(kù)存量設(shè)置:為某種商品設(shè)定安全庫(kù)存量,如果當(dāng)前庫(kù)存量小于安全庫(kù)存量,系統(tǒng)自動(dòng)提示訂貨;
3、建議與提示: ? 采用B/S架構(gòu);
? 本選題建議最多4人選做;
題
六、房產(chǎn)管理系統(tǒng)
1、問題描述:
在我國(guó)住房管理是一個(gè)關(guān)系到每個(gè)人切身利益的大問題?,F(xiàn)擬開發(fā)一個(gè)用計(jì)算機(jī)進(jìn)行房產(chǎn)管理的系統(tǒng),要求系統(tǒng)具有分房、調(diào)房、退房和咨詢統(tǒng)計(jì)等功能。房產(chǎn)科把用戶申請(qǐng)表輸入系統(tǒng)以后,系統(tǒng)首先檢查申請(qǐng)表的合法性,對(duì)不合法的申請(qǐng)表系統(tǒng)拒絕接受;對(duì)合法的申請(qǐng)表根據(jù)類型分別進(jìn)行處理。
如果是分房申請(qǐng),則根據(jù)申請(qǐng)者的情況(年齡、工齡、職稱、職務(wù)、家庭人口等)計(jì)算其分?jǐn)?shù),當(dāng)分?jǐn)?shù)高于閾值分?jǐn)?shù)時(shí),按分?jǐn)?shù)高低將申請(qǐng)單插到分房隊(duì)列的適當(dāng)位置。每月最后一天進(jìn)行一次分房活動(dòng),從空房文件中讀出空房信息,如房號(hào)、面積、等級(jí)、單位面積房租等,把好房?jī)?yōu)先分配給排在分房隊(duì)列前面的符合該等級(jí)條件的申請(qǐng)者,從空房文件中刪除這個(gè)房號(hào)的信息,從分房隊(duì)列中刪掉該申請(qǐng)單,并把此房號(hào)的信息和住戶信息一起寫到住房文件中,輸出住房分配單給住戶,同時(shí)計(jì)算房租并將算出的房租寫到房租文件中。
如果是退房申請(qǐng),則從住房文件和房租文件中刪掉有關(guān)信息,再把此房號(hào)的信息寫到空房文件中。
如果是調(diào)房申請(qǐng),則根據(jù)申請(qǐng)者的情況確定其住房等級(jí),然后在第10頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
空房文件中查找屬于該等級(jí)的空房,退掉原住房,再進(jìn)行與分房類似的處理。
住戶可向系統(tǒng)詢問目前分房的閾值分?jǐn)?shù),居住某類房屋的條件,某房號(hào)的單位面積房租等信息。房產(chǎn)科可以要求系統(tǒng)印出住房情況統(tǒng)計(jì)表,或更改某類房屋的居住條件、單位面積房租等。
2、基本功能要求: ? 住房申請(qǐng)信息錄入;
? 房產(chǎn)信息(包括位置、房型、面積、建造日期、房租等)錄入、修改、查詢;
? 分房閥值的設(shè)定、查詢; ? 非空房的住戶情況查詢; ? 住房分配單輸出; ? 評(píng)分標(biāo)準(zhǔn)的設(shè)定;
? 申請(qǐng)人申請(qǐng)信息公示(注意權(quán)限控制); ? 分房結(jié)果公示與查詢。
3、建議與提示: ? 采用B/S架構(gòu);
? 本選題建議最多4人選做;
題七:汽車客運(yùn)中心票務(wù)管理系統(tǒng)
1、問題描述:
在長(zhǎng)途汽車客運(yùn)中心,旅客可以查看當(dāng)前班次信息(通過電子布告牌或普通布告牌),根據(jù)班次信息到售票窗口購(gòu)票,然后憑票上車;旅客在開車前某段時(shí)間可以退票;車站管理人員可以發(fā)布車次信
第11頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
息(如新開或增加某線路班次),可以根據(jù)市場(chǎng)行情來調(diào)整車票價(jià)格;售票窗口可以查詢某班次的售票情況,可以預(yù)售車票。
2、基本功能要求: ? 多個(gè)售票窗口售票; ? 退票受理; ? 發(fā)布車次情況; ? 調(diào)整車票價(jià)格;
? 記錄、調(diào)整某車次的司機(jī)、服務(wù)人員配備情況;
3、建議與提示: ? 采用B/S架構(gòu);
? 本選題建議最多3人選做;
題八:校友通信錄
1、問題描述:
校友通信錄是用來聯(lián)系往日校友的重要手段,它應(yīng)該具有新校友加入、校友查詢以及修改個(gè)人資料等功能。其中修改個(gè)人資料時(shí)需要有口令驗(yàn)證。
2、基本功能要求: ? 有權(quán)限設(shè)置功能;
? 新校友加入時(shí)應(yīng)通過管理員的審核;
3、建議與提示: ? 采用B/S架構(gòu);
? 本選題建議最多2人選做;
第12頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
題九:班主任助手
1、問題描述:
中學(xué)班主任不但承擔(dān)著繁重的教學(xué)任務(wù),還負(fù)責(zé)管理班上學(xué)生的學(xué)習(xí)、生活和思想,因而工作量相當(dāng)大。試設(shè)計(jì)并完成一個(gè)軟件,幫助班主任管理學(xué)生。
2、基本功能要求:
? 學(xué)生信息(包括個(gè)人信息、家庭情況、愛好等)的錄入、修改; ? 學(xué)生學(xué)習(xí)管理:每位學(xué)生每次考試成績(jī)的錄入、分析 ? 綜合查詢:
⑴ 按姓名或?qū)W號(hào)查某個(gè)學(xué)生的信息或家庭情況; ⑵ 按姓名或?qū)W號(hào)查某個(gè)學(xué)生某次考試的成績(jī); ⑶ 統(tǒng)計(jì)某次考試的平均分;
⑷ 統(tǒng)計(jì)某個(gè)同學(xué)所有考試的平均分,描繪其成績(jī)走勢(shì)曲線圖。
3、建議與提示:
? 本選題建議最多2人選做;
題十:學(xué)籍管理系統(tǒng)
1、問題描述
某高校擬開發(fā)一學(xué)生學(xué)籍管理系統(tǒng),以幫助管理學(xué)生的基本信息、學(xué)習(xí)成績(jī)、獎(jiǎng)懲情況等。要求學(xué)生從入學(xué)起,即在系統(tǒng)中記錄其基本信息,以后系統(tǒng)全程跟蹤學(xué)生的學(xué)習(xí)成績(jī)、獎(jiǎng)懲情況等。
2、系統(tǒng)基本功能要求: ? 學(xué)生基本信息編輯
第13頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
以班級(jí)為單位,在新生入學(xué)時(shí)錄入新生的基本信息,并能對(duì)學(xué)生基本信息進(jìn)行隨時(shí)的修改(包括: 學(xué)生個(gè)人基本信息;入學(xué)成績(jī);家庭信息;學(xué)生簡(jiǎn)歷;學(xué)生軍訓(xùn);學(xué)生體檢)
? 學(xué)生成績(jī)管理
⑴ 在每學(xué)期考試結(jié)束后錄入學(xué)生考試成績(jī),并能進(jìn)行成績(jī)修改
⑵ 在錄入學(xué)生成績(jī)時(shí)應(yīng)先選擇分制:等級(jí)制;分?jǐn)?shù)制
⑶ 如是分?jǐn)?shù)制應(yīng)先設(shè)置平時(shí)分和考試分?jǐn)?shù)在最后成績(jī)中的百分制
⑷ 如是等級(jí)制在寫入數(shù)據(jù)表中時(shí)應(yīng)先將等級(jí)轉(zhuǎn)化為分?jǐn)?shù) ⑸ 在錄入學(xué)生成績(jī)表時(shí)先應(yīng)該選取操作班級(jí),再以每門課程為單位進(jìn)行成績(jī)的錄入,緩考學(xué)生的成績(jī)不需錄入,學(xué)生最后成績(jī)由程序根據(jù)用戶設(shè)置進(jìn)行自動(dòng)計(jì)算生成 ⑹ 能根據(jù)學(xué)生成績(jī)信息自動(dòng)生成補(bǔ)考成績(jī)信息 ⑺ 在錄入緩考/補(bǔ)考信息時(shí)以班級(jí)為單位進(jìn)行錄入 ⑻ 緩考/補(bǔ)考后應(yīng)相應(yīng)的更新成績(jī)表和緩考/補(bǔ)考信息表 ? 學(xué)生懲處/獎(jiǎng)勵(lì)管理
⑴ 可隨時(shí)錄入學(xué)生獎(jiǎng)勵(lì)/懲處信息,并能進(jìn)行修改;
⑵ 在撤消懲處時(shí)應(yīng)相應(yīng)的更新學(xué)生懲處信息表。? 學(xué)生其他信息管理
(操作對(duì)象: 貸款管理信息;學(xué)生異動(dòng)表;學(xué)生注冊(cè)表); ⑴ 可隨時(shí)錄入學(xué)生貸款管理/注冊(cè)信息,并能進(jìn)行修改; ⑵ 在處理(執(zhí)行/恢復(fù))學(xué)生異動(dòng)信息時(shí),應(yīng)更新相應(yīng)的本學(xué)生信息(學(xué)生的學(xué)號(hào),學(xué)生所屬班級(jí)編號(hào));
⑶ 異動(dòng)情況:留級(jí)(轉(zhuǎn)班相似),休學(xué)(同退學(xué)),退學(xué)(作一標(biāo)志,并添加此學(xué)生信息到異動(dòng)表),轉(zhuǎn)班級(jí)(作一標(biāo)志,并添加此學(xué)生信息到異動(dòng)表,更新此學(xué)生所有信息,學(xué)號(hào)關(guān)聯(lián)的更新)。? 綜合查詢: a.查詢學(xué)生基本信息
(操作對(duì)象: 學(xué)生信息表;入學(xué)成績(jī)表;家庭信息表;學(xué)生簡(jiǎn)歷表;學(xué)生軍訓(xùn);學(xué)生體檢)⑴ 根據(jù)學(xué)生姓名,班級(jí)查詢(轉(zhuǎn)化為學(xué)號(hào)進(jìn)行查詢)
第14頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
⑵ 根據(jù)學(xué)號(hào)查詢 ⑶ 按班級(jí)查詢
b.查詢學(xué)生成績(jī)
⑴ 按學(xué)生學(xué)號(hào)查詢本學(xué)期成績(jī)
⑵ 按學(xué)生姓名,班級(jí)查詢本學(xué)期成績(jī)(轉(zhuǎn)化為學(xué)號(hào)進(jìn)行查詢)⑶ 查詢某學(xué)生所有學(xué)期成績(jī)(按學(xué)號(hào)/按姓名,班級(jí))⑷ 按專業(yè)班級(jí)查詢此班本學(xué)期需補(bǔ)考人次 ⑸ 查詢?nèi)K芯徔紝W(xué)生信息 ⑹ 全校還需補(bǔ)考的學(xué)生信息
⑺ 全校補(bǔ)考門次大于某一定數(shù)的學(xué)生信息
⑻ 全校范圍內(nèi)總學(xué)分小于某一定數(shù)的學(xué)生信息查詢 ⑼ 全校范圍內(nèi)學(xué)生總成績(jī)小于某一定數(shù)的學(xué)生信息查詢
c.獎(jiǎng)勵(lì)/懲處查詢
⑴ 按學(xué)號(hào)查詢某學(xué)生獎(jiǎng)勵(lì)/懲處信息 ⑵ 按姓名、班級(jí)查詢某學(xué)生獎(jiǎng)勵(lì)/懲處信息 d.其它信息查詢 ⑴ 按學(xué)號(hào)查詢
⑵ 按學(xué)生姓名,班級(jí)查詢 ⑶ 按班級(jí)查詢
3、數(shù)據(jù)庫(kù)要求:在數(shù)據(jù)庫(kù)中至少應(yīng)該包含下列數(shù)據(jù): ⑴ 學(xué)生個(gè)人基本信息;⑵ 學(xué)生簡(jiǎn)歷表;⑶ 入學(xué)成績(jī)表;⑷ 家庭信息表;⑸ 學(xué)生獎(jiǎng)勵(lì)表;⑹ 學(xué)生處分表;⑺ 學(xué)生異動(dòng)表;⑻ 學(xué)生成績(jī)表;⑼ 學(xué)生注冊(cè)表;⑽ 貸款管理表;
第15頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
⑾ 學(xué)生體檢表;⑿ 學(xué)生軍訓(xùn)表;⒀ 班級(jí)信息;⒁ 緩考信息表;⒂ 補(bǔ)考信息表
4、建議與提示: ? 采用B/S架構(gòu); ? 本選題建議5人選做;
第五節(jié)
考勤與考核
全體同學(xué)在課程設(shè)計(jì)期間,必須在上課時(shí)間到專業(yè)機(jī)房進(jìn)行考勤,一天四次(早上8:10及11:30,下午2:10及4:30)。
每個(gè)小組在課題完成之后,必須通過指導(dǎo)老師的考核,基本完成課題要求的起點(diǎn)為合格,另根據(jù)每個(gè)同學(xué)的具體完成模塊情況進(jìn)行考核評(píng)分。
第16頁(yè)
第五篇:數(shù)據(jù)庫(kù)實(shí)驗(yàn)指導(dǎo)書
實(shí)驗(yàn)一:數(shù)據(jù)定義及更新語(yǔ)句練習(xí)
一、實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)庫(kù)和基本表的創(chuàng)建、數(shù)據(jù)的更新。
二、預(yù)習(xí)要求:實(shí)驗(yàn)前復(fù)習(xí)講授過的有關(guān)創(chuàng)建數(shù)據(jù)庫(kù)、基本表的SQL語(yǔ)句,預(yù)習(xí)SQL Server2000環(huán)境,特別是資源管理器和查詢分析器的相關(guān)用法。
三、實(shí)驗(yàn)內(nèi)容:
(一)用SQL語(yǔ)句建立如下mySPJ數(shù)據(jù)庫(kù),包括S,P,J,和SPJ四個(gè)基本表(教材第二章習(xí)題5中的四個(gè)表),要求實(shí)現(xiàn)關(guān)系的三類完整性。
S(SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY)
供應(yīng)商表S由供應(yīng)商代碼(SNO)、供應(yīng)商姓名(SNAME)、供應(yīng)商狀態(tài)(STATUS)、供應(yīng)商所在城市(CITY)組成。
零件表P由零件代碼(PNO)、零件名(PNAME)、顏色(COLOR)、重量(WEIGHT)組成。
工程項(xiàng)目表J由工程項(xiàng)目代碼(JNO)、工程項(xiàng)目名(JNAME)、工程項(xiàng)目所在城市(CITY)組成。
供應(yīng)情況表SPJ由供應(yīng)商代碼(SNO)、零件代碼(PNO)、工程項(xiàng)目代碼(JNO)、供應(yīng)數(shù)量(QTY)組成,表示某供應(yīng)商 供應(yīng)某種零件 給某工程項(xiàng)目的數(shù)量為QTY。
(二)分別使用插入、刪除、修改的方式更新基本表中的數(shù)據(jù)。
四、實(shí)驗(yàn)方法和步驟:
(一)使用Microsoft SQL Server企業(yè)管理器和查詢分析器建立數(shù)據(jù)庫(kù)mySPJ:
1.打開“開始->程序->Microsoft SQL Server->企業(yè)管理器”;
2.在企業(yè)管理器左邊的樹標(biāo)簽中依次打開“Microsoft SQL Server-> SQL Server組->(local)(Windows NT)->數(shù)據(jù)庫(kù)”,(local)(Windows NT)前的紅色標(biāo)記轉(zhuǎn)化為綠色標(biāo)記表明NT服務(wù)已啟動(dòng);
3.從企業(yè)管理器的“工具”菜單中選擇“SQL 查詢分析器”,打開查詢分析器后,在其窗口書寫創(chuàng)建數(shù)據(jù)庫(kù)mySPJ的SQL語(yǔ)句,點(diǎn)擊執(zhí)行按鈕(或F5鍵)執(zhí)行該SQL語(yǔ)句;
4.在企業(yè)管理器左邊的樹標(biāo)簽中查看數(shù)據(jù)庫(kù)是否建立成功。
(二)在數(shù)據(jù)庫(kù)mySPJ中建立S,P,J,和SPJ四個(gè)基本表:
按照實(shí)驗(yàn)內(nèi)容給出的基本表結(jié)構(gòu)在查詢分析器窗口中書寫SQL語(yǔ)句分別建立各表,并設(shè)置主鍵和外鍵約束;
(三)更新表數(shù)據(jù):
1.利用Insert 語(yǔ)句將習(xí)題中給出的示例記錄插入各表。
2.利用Update更新表中的記錄:
①將p表中的所有紅色零件的重量增加5。
②將spj表中所有天津供應(yīng)商的QTY屬性值減少10。用子查詢。
3.利用Delete語(yǔ)句刪除p表中的所有紅色零件的記錄。
4.SQL語(yǔ)句執(zhí)行后返回基本表查看更新后的結(jié)果,如果與期望不符,分析原因并記錄在實(shí)驗(yàn)報(bào)告中。
五、思考題:
(一)在為各表設(shè)定關(guān)鍵字時(shí)彈出的頁(yè)面中有關(guān)鍵字和索引選項(xiàng),試通過給基本表設(shè)定這兩個(gè)項(xiàng)目并說明二者的區(qū)別。
(二)在基本表中輸入數(shù)據(jù)時(shí),注意數(shù)據(jù)與字段的數(shù)據(jù)類型和長(zhǎng)度以及能否為空的屬性是否一致,保存時(shí)如有錯(cuò)誤分析錯(cuò)誤原因,及時(shí)改正并將錯(cuò)誤報(bào)告寫在實(shí)驗(yàn)報(bào)告中。
六、實(shí)驗(yàn)報(bào)告要求:
(一)實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)庫(kù)和基本表的創(chuàng)建、數(shù)據(jù)的更新。
(二)實(shí)驗(yàn)內(nèi)容:需要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)及其四個(gè)基本表:零件表、供應(yīng)商表、工程表、供應(yīng)關(guān)系表的表結(jié)構(gòu)、創(chuàng)建過程。
(三)完成情況(附上設(shè)計(jì)的SQL語(yǔ)句)。
(四)實(shí)驗(yàn)結(jié)果:如果是查詢語(yǔ)句,將查詢結(jié)果記錄列出來,其它可以不寫。
(五)問題及解決:首先寫出執(zhí)行語(yǔ)句不成功的時(shí)候系統(tǒng)報(bào)告的錯(cuò)誤信息。然后分析錯(cuò)誤原因,并給出解決辦法。
(六)回答思考題提出的問題,(七)實(shí)驗(yàn)總結(jié):心得體會(huì),建議等。
實(shí)驗(yàn)二:簡(jiǎn)單查詢和連接查詢
一、實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)的簡(jiǎn)單查詢和多個(gè)數(shù)據(jù)表連接查詢。
二、預(yù)習(xí)要求:實(shí)驗(yàn)前復(fù)習(xí)講授過的有關(guān)簡(jiǎn)單查詢與多表查詢的知識(shí),編寫相應(yīng)的SQL語(yǔ)句。
三、實(shí)驗(yàn)內(nèi)容:
(一)完成下面的簡(jiǎn)單查詢:
①查詢所有“天津”的供應(yīng)商明細(xì);
②查詢所有“紅色”的14公斤以上的零件。
③查詢工程名稱中含有“廠”字的工程明細(xì)。
(二)完成下面的連接查詢:
①等值連接:求s表和j表的相同城市的等值連接。
②自然連接:查詢所有的供應(yīng)明細(xì),要求顯示供應(yīng)商、零件和工程的名稱,并按照供應(yīng)、工程、零件排序。
③笛卡爾積:求s和p表的笛卡爾積
④左連接:求j表和spj表的左連接。
⑤右連接:求spj表和j表的右連接。
四、實(shí)驗(yàn)方法和步驟:
參照實(shí)驗(yàn)一中給出的使用Microsoft SQL Server企業(yè)管理器和SQL查詢分析器的方法,將實(shí)驗(yàn)內(nèi)容中所要求的查詢項(xiàng)目依次用SQL語(yǔ)句實(shí)現(xiàn),并記錄下執(zhí)行結(jié)果。
五、思考題:
查看實(shí)驗(yàn)內(nèi)容2中左連接和右連接的執(zhí)行結(jié)果是否一致,為什么?
六、實(shí)驗(yàn)報(bào)告要求:
(一)實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)庫(kù)和基本表的創(chuàng)建、數(shù)據(jù)的更新。
(二)實(shí)驗(yàn)內(nèi)容:需要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)及其四個(gè)基本表:零件表、供應(yīng)商表、工程表、供應(yīng)關(guān)系表的表結(jié)構(gòu)、創(chuàng)建過程。
(三)完成情況(附上設(shè)計(jì)的SQL語(yǔ)句)。
(四)實(shí)驗(yàn)結(jié)果:如果是查詢語(yǔ)句,將查詢結(jié)果記錄列出來,其它可以不寫。
(五)問題及解決:首先寫出執(zhí)行語(yǔ)句不成功的時(shí)候系統(tǒng)報(bào)告的錯(cuò)誤信息。然后分析錯(cuò)誤原因,并給出解決辦法。
(六)回答思考題提出的問題,實(shí)驗(yàn)總結(jié):心得體會(huì),建議等。實(shí)驗(yàn)三:分組查詢和嵌套查詢
一、實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)多個(gè)數(shù)據(jù)表的分組查詢和嵌套查詢。
二、預(yù)習(xí)要求:實(shí)驗(yàn)前復(fù)習(xí)講授過的有關(guān)分組查詢和嵌套查詢的知識(shí),編寫相應(yīng)的SQL語(yǔ)句。
三、實(shí)驗(yàn)內(nèi)容:
(一)分組查詢:
1.求各種顏色零件的平均重量。
2.求北京供應(yīng)商和天津供應(yīng)商的總個(gè)數(shù)。
3.求各供應(yīng)商供應(yīng)的零件總數(shù)。
4.求各供應(yīng)商供應(yīng)給各工程的零件總數(shù)。
5.求使用了100個(gè)以上P1零件的工程名稱。
6.求各工程使用的各城市供應(yīng)的零件總數(shù)。
(二)嵌套查詢:
1.in連接謂詞查詢:
① 查詢沒有使用天津供應(yīng)商供應(yīng)的紅色零件的工程名稱。
② 查詢供應(yīng)了1000個(gè)以上零件的供應(yīng)商名稱。(having)
2.比較運(yùn)算符:求重量大于所有零件平均重量的零件名稱。
3.Exists連接謂詞:
① 查詢供應(yīng)J1的所有的零件都是紅色的供應(yīng)商名稱。
② 至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號(hào)JNO。
四、實(shí)驗(yàn)方法和步驟:
參照實(shí)驗(yàn)一中給出的使用Microsoft SQL Server企業(yè)管理器和SQL查詢分析器的方法,將實(shí)驗(yàn)內(nèi)容中所要求的查詢項(xiàng)目依次用SQL語(yǔ)句實(shí)現(xiàn),并記錄下執(zhí)行結(jié)果。
五、思考題:
(一)嵌套查詢中的in連接謂詞查詢,關(guān)鍵字in可以直接用any代替么?什么情況下in和any可以互相代替?
(二)嵌套查詢中的內(nèi)查詢?yōu)橥獠樵兎祷氐膬?nèi)容是什么?是表達(dá)式?視圖?還是物理數(shù)據(jù)集合?
六、實(shí)驗(yàn)報(bào)告要求:
(一)實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)庫(kù)和基本表的創(chuàng)建、數(shù)據(jù)的更新。
(二)實(shí)驗(yàn)內(nèi)容:需要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)及其四個(gè)基本表:零件表、供應(yīng)商表、工程表、供應(yīng)關(guān)系表的表結(jié)構(gòu)、創(chuàng)建過程。
(三)完成情況(附上設(shè)計(jì)的SQL語(yǔ)句)。
(四)實(shí)驗(yàn)結(jié)果:如果是查詢語(yǔ)句,將查詢結(jié)果記錄列出來,其它可以不寫。
(五)問題及解決:首先寫出執(zhí)行語(yǔ)句不成功的時(shí)候系統(tǒng)報(bào)告的錯(cuò)誤信息。然后分析錯(cuò)誤原因,并給出解決辦法。
(六)回答思考題提出的問題,(七)實(shí)驗(yàn)總結(jié):心得體會(huì),建議等。
實(shí)驗(yàn)四:視圖操作和數(shù)據(jù)控制
一、實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)視圖操作和數(shù)據(jù)控制。
二、預(yù)習(xí)要求:實(shí)驗(yàn)前復(fù)習(xí)講授過的有關(guān)視圖操作和數(shù)據(jù)控制的知識(shí),編寫相應(yīng)的SQL語(yǔ)句。
三、實(shí)驗(yàn)內(nèi)容:
(一)定義如下視圖:
①查詢北京的供應(yīng)商的編號(hào)、名稱和城市。
②查詢S1供應(yīng)商的所有供應(yīng)明細(xì)。
③查詢各工程名稱使用的各種顏色零件的個(gè)數(shù)。
查詢上面定義的視圖。
(二)數(shù)據(jù)控制:
①使用GRANT把對(duì)S表查詢的權(quán)利授予WangLi。
②使用GRANT把對(duì)P表查詢、插入、修改、刪除的權(quán)利授予LiMing。
③使用REVOKE把LiMing對(duì)P表插入、刪除的權(quán)利回收。
四、實(shí)驗(yàn)方法和步驟:
參照實(shí)驗(yàn)一中給出的使用Microsoft SQL Server企業(yè)管理器和SQL查詢分析器的方法,將實(shí)驗(yàn)內(nèi)容中所要求的查詢項(xiàng)目依次用SQL語(yǔ)句實(shí)現(xiàn),并記錄下執(zhí)行結(jié)果。
五、思考題:
實(shí)驗(yàn)內(nèi)容中的哪些視圖可以用來更新記錄?
六、實(shí)驗(yàn)報(bào)告要求:
(一)實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)庫(kù)和基本表的創(chuàng)建、數(shù)據(jù)的更新。
(二)實(shí)驗(yàn)內(nèi)容:需要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)及其四個(gè)基本表:零件表、供應(yīng)商表、工程表、供應(yīng)關(guān)系表的表結(jié)構(gòu)、創(chuàng)建過程。
(三)完成情況(附上設(shè)計(jì)的SQL語(yǔ)句)。
(四)實(shí)驗(yàn)結(jié)果:如果是查詢語(yǔ)句,將查詢結(jié)果記錄列出來,其它可以不寫。
(五)問題及解決:首先寫出執(zhí)行語(yǔ)句不成功的時(shí)候系統(tǒng)報(bào)告的錯(cuò)誤信息。然后分析錯(cuò)誤原因,并給出解決辦法。
(六)回答思考題提出的問題。
(七)實(shí)驗(yàn)總結(jié):心得體會(huì),建議等。
實(shí)驗(yàn)五:觸發(fā)器和存儲(chǔ)過程
一、實(shí)驗(yàn)?zāi)康模豪斫庥|發(fā)器和存儲(chǔ)過程的含義,掌握用SQL語(yǔ)句實(shí)現(xiàn)觸發(fā)器和存儲(chǔ)過程的編寫,并初步掌握什么情況下使用事務(wù)。
二、預(yù)習(xí)要求:存儲(chǔ)過程和觸發(fā)器的相關(guān)概念,事務(wù)的相關(guān)概念,編寫相應(yīng)的SQL語(yǔ)句。
三、實(shí)驗(yàn)內(nèi)容:
(一)為S表的刪除操作定義一個(gè)觸發(fā)器,在刪除一個(gè)供應(yīng)商記錄時(shí),將這個(gè)供應(yīng)商的所有供應(yīng)情況從spj表中刪除。
(二)有一個(gè)小型的圖書管理數(shù)據(jù)庫(kù),包含的表為:
bookstore(bookid,bookname,bookauthor,purchasedate,state);--圖書庫(kù)存表
borrowcard(cardid,ownername);--借書證表
borrowlog(cardid,bookid,borrowdate,returndate);--借書記錄表
寫一個(gè)存儲(chǔ)過程,實(shí)現(xiàn)借書操作,要求有事務(wù)處理。(1)讀者借書,要先設(shè)置書籍不在庫(kù)標(biāo)志state(借出),然后增加借書記錄,在同一事務(wù)中完成。(2)要求在事務(wù)執(zhí)行過程中引入錯(cuò)誤觸發(fā)事件,以此體會(huì)事務(wù)的錯(cuò)誤保護(hù)機(jī)制和事務(wù)編程的作用。
四、實(shí)驗(yàn)方法和步驟:
(一)在查詢分析器中編寫實(shí)現(xiàn)上述功能的觸發(fā)器,參考Create Trigger語(yǔ)法。
(二)參考CREATE PROCEDURE語(yǔ)句。在事務(wù)執(zhí)行過程中引入錯(cuò)誤觸發(fā)事件,可以考慮在增加借書記錄時(shí)違反實(shí)體完整性或參照完整性,以此體會(huì)事務(wù)的錯(cuò)誤保護(hù)機(jī)制。
五、思考題:
如何通過系統(tǒng)的設(shè)置實(shí)現(xiàn)類似的功能,而不需觸發(fā)器?
六、實(shí)驗(yàn)報(bào)告要求:
(一)實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)庫(kù)和基本表的創(chuàng)建、數(shù)據(jù)的更新。
(二)實(shí)驗(yàn)內(nèi)容:需要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)及其四個(gè)基本表:零件表、供應(yīng)商表、工程表、供應(yīng)關(guān)系表的表結(jié)構(gòu)、創(chuàng)建過程。
(三)完成情況(附上設(shè)計(jì)的SQL語(yǔ)句)。
(四)實(shí)驗(yàn)結(jié)果:如果是查詢語(yǔ)句,將查詢結(jié)果記錄列出來,其它可以不寫。
(五)問題及解決:首先寫出執(zhí)行語(yǔ)句不成功的時(shí)候系統(tǒng)報(bào)告的錯(cuò)誤信息。然后分析錯(cuò)誤原因,并給出解決辦法。
(六)回答思考題提出的問題,實(shí)驗(yàn)總結(jié):心得體會(huì),建議等。