




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫課程設(shè)計(jì)班 級(jí) 計(jì)算機(jī)科學(xué)與技術(shù)0802 學(xué) 號(hào) 3080602051 姓 名 指導(dǎo)老師 二零一零年 七 月一、引言1設(shè)計(jì)目的課程設(shè)計(jì)為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦,獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來,鍛煉學(xué)生的分析解決實(shí)際問題的能力。提高學(xué)生適應(yīng)實(shí)際,實(shí)踐編程的能力。課程設(shè)計(jì)的目的:1. 加深對(duì)數(shù)據(jù)庫系統(tǒng)、軟件工程、程序設(shè)計(jì)語言的理論知識(shí)的理解和應(yīng)用水平;2. 在理論和實(shí)驗(yàn)教學(xué)基礎(chǔ)上進(jìn)一步鞏固已學(xué)基本理論及應(yīng)用知識(shí)并加以綜合提高;3. 學(xué)會(huì)將知識(shí)應(yīng)用于實(shí)際的方法,提高分析和解決問題的能力,增強(qiáng)動(dòng)手能力;4. 為畢業(yè)設(shè)計(jì)和以后工作打下必要基礎(chǔ)。2設(shè)計(jì)要求運(yùn)用數(shù)據(jù)庫基本理
2、論與應(yīng)用知識(shí),在微機(jī)rdbms(sql server)的環(huán)境上建立一個(gè)數(shù)據(jù)庫應(yīng)用系統(tǒng)。要求把現(xiàn)實(shí)世界的事物及事物之間的復(fù)雜關(guān)系抽象為信息世界的實(shí)體及實(shí)體之間聯(lián)系的信息模型,再轉(zhuǎn)換為機(jī)器世界的數(shù)據(jù)模型和數(shù)據(jù)文件,并對(duì)數(shù)據(jù)文件實(shí)施檢索、更新和控制等操作。 1. 用e-r圖設(shè)計(jì)選定題目的信息模型;2. 設(shè)計(jì)相應(yīng)的關(guān)系模型,確定數(shù)據(jù)庫結(jié)構(gòu);3. 分析關(guān)系模式各屬于第幾范式,闡明理由;4. 設(shè)計(jì)應(yīng)用系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖,確定系統(tǒng)功能;5. 通過設(shè)計(jì)關(guān)系的主碼約束、外碼約束和使用check實(shí)現(xiàn)完整性控制;6. 為參照關(guān)系設(shè)計(jì)插入、刪除、修改觸發(fā)器;7. 實(shí)現(xiàn)應(yīng)用程序設(shè)計(jì)、編程、優(yōu)化功能;8. 對(duì)系統(tǒng)的各個(gè)應(yīng)用
3、程序進(jìn)行集成和調(diào)試,進(jìn)一步優(yōu)化系統(tǒng)功能、改善系統(tǒng)用戶界面完成實(shí)驗(yàn)內(nèi)容所指定的各項(xiàng)要求;9. 分析遇到的問題,總結(jié)并寫出課程設(shè)計(jì)報(bào)告;10. 自我評(píng)價(jià)3軟件定義:windowsxp系統(tǒng)4開發(fā)環(huán)境:visual studio 2005 c#,sql server 2000二、概要設(shè)計(jì)1系統(tǒng)功能結(jié)構(gòu)2概念模型設(shè)計(jì)e-r圖三、詳細(xì)設(shè)計(jì)1數(shù)據(jù)庫設(shè)計(jì)關(guān)系圖表:1商品表create table shangpin(sno char(5) primary key,sname char(20) unique,sleibie char(10), -食物,衣物,生活用品,家用電器等等sxinghao char(8)
4、unique,sdanwei char(2) not null, -件,個(gè)等等sprice int);2倉庫表create table cangku(cno char(5) primary key,cname char(20);3庫存表create table store(sno char(5),cno char(5),num int,primary key(sno,cno),foreign key(sno)references shangpin(sno),foreign key(cno)references cangku(cno)4管理員表create table manager(mno c
5、har(5) primary key,mname char(10) not null,msex char(2) check(msex in(男,女),mage int check(mage=18 and mage=n_um)beginupdate storeset num=num-n_umwhere sno=s_no and cno=c_noendif (exists(select sno from store where sno=s_no and cno=c_no and numn_um)begindelete from cuku where ckno=ck_noend2完整性設(shè)計(jì) 實(shí)體完整
6、性:在商品表中定義商品號(hào)sno為主碼;在倉庫表中定義倉庫號(hào)cno為主碼;在庫存表中定義商品號(hào)和倉庫號(hào)(sno,cno)為主碼;在管理員表中定義管理員編號(hào)mno為主碼;在客戶表中定義客戶編號(hào)khno為主碼;在入庫表中定義入庫號(hào)rkno為主碼;在出庫表中定義出庫號(hào)ckno為主碼;在密碼表中定義管理員編號(hào)mno為主碼; 實(shí)體完整性檢查和違約處理:1.檢查主碼值是否唯一,如果不唯一則拒絕插入或修改2.檢查主碼的各個(gè)屬性是否為空,只要有一個(gè)為空就拒絕插入或修改; 參照完整性:在庫存表中定義商品號(hào)和倉庫號(hào)為建立在商品表和倉庫表上的外碼;在入庫表中定義商品號(hào)為建立在商品表上的外碼,倉庫號(hào)為建立在倉庫表上的外
7、碼,客戶號(hào)為建立在客戶表上的外碼,管理員編號(hào)為建立在管理員表上的外碼;在出庫表中定義商品號(hào)為建立在商品表上的外碼,倉庫號(hào)為建立在倉庫表上的外碼,客戶號(hào)為建立在客戶表上的外碼,管理員編號(hào)為建立在管理員表上的外碼;在密碼表中定義管理員編號(hào)為建立在管理員表上的外碼。 參照完整性的檢查和違約處理: 1拒絕執(zhí)行:不允許該操作執(zhí)行。該策略一般設(shè)置為默認(rèn)策略; 2. 級(jí)聯(lián)操作:當(dāng)刪除或修改被參照表的一個(gè)元組造成了與參照表的不一致,則刪除或修改參照表中的所有造成不一致的元組; 3. 設(shè)置為空值:當(dāng)刪除或修改被參照表的一個(gè)元組時(shí)造成了不一致,則將參照表中的所有造成不一致的元組的對(duì)應(yīng)屬性設(shè)置為空值; 用戶自定義完
8、整性:在管理員表中,添加完整性約束條件,年齡在1860之間;性別只能在男女兩個(gè)選項(xiàng)中取值;姓名不能為空;否則,無法插入;2 主要功能模塊設(shè)計(jì)a登錄模塊設(shè)計(jì):private void button1_click(object sender, eventargs e) try string mycon = data source = pc-200902091503 ;integrated security = sspi; initial catalog = mysql; sqlconnection conn = new sqlconnection(mycon); conn.open(); sqlc
9、ommand cmd = new sqlcommand(); cmd.connection = conn; cmd.commandtext = select mno from passwords where mno= + textbox1.text + and passwords= + textbox2.text + ; cmd.commandtype = commandtype.text; sqldatareader str = cmd.executereader(); if (str.read() this.visible = false; form2 f1 = new form2();
10、f1.owner = this; f1.showdialog(); this.close(); else messagebox.show(用戶名和密碼錯(cuò)誤); catch (exception e1) messagebox.show(數(shù)據(jù)庫連接錯(cuò)誤); b主菜單設(shè)計(jì):private void button1_click(object sender, eventargs e) this.visible = false; form3 f1 = new form3(); f1.owner = this; f1.showdialog(); this.close(); private void butt
11、on2_click(object sender, eventargs e) this.visible = false; form4 f1 = new form4(); f1.owner = this; f1.showdialog(); this.close(); 此模塊設(shè)計(jì)主要是添加兩個(gè)連接其他窗口的按鈕。以后出現(xiàn)類似模塊設(shè)計(jì)將不再列出有關(guān)設(shè)計(jì)代碼。c查詢功能主菜單設(shè)計(jì)e查詢信息顯示模塊設(shè)計(jì)該模塊設(shè)計(jì)主要是在窗體內(nèi)添加report viewer控件,并添加相關(guān)設(shè)計(jì)的報(bào)表。相關(guān)代碼不再列出。其他查詢信息模塊完全相同,不再贅述。f倉庫管理菜單設(shè)計(jì)g商品信息管理菜單設(shè)計(jì)h添加商品信息模塊設(shè)計(jì)有關(guān)代碼
12、:private void button1_click(object sender, eventargs e) string snof = textbox1.text; string snamef = textbox2.text; string sleibief = textbox3.text; string sxinhaof = textbox4.text; string sdanweif = textbox5.text; int sprice = convert.toint16(textbox6.text); sqlconnection connection = new sqlconnec
13、tion(data source = pc-200902091503 ;integrated security = sspi; initial catalog = mysql); try connection.open(); sqlcommand command = new sqlcommand(insert into shangpin values ( + snof + , + snamef + , + sleibief + , + sxinhaof + , + sdanweif + , + sprice + ), connection); command.executenonquery()
14、; messagebox.show(添加成功); catch (exception ex) messagebox.show(ex.message); i刪除商品信息模塊設(shè)計(jì)有關(guān)代碼:private void button1_click(object sender, eventargs e) string snof = textbox1.text; sqlconnection connection = new sqlconnection(data source = pc-200902091503 ;integrated security = sspi; initial catalog = mys
15、ql); try connection.open(); sqlcommand command = new sqlcommand(delete from shangpin where sno= + snof + , connection); command.executenonquery(); messagebox.show(請(qǐng)通過查詢商品信息判斷是否成功刪除所需刪除記錄); catch (exception ex) messagebox.show(ex.message); 其他管理模塊與上述商品信息管理模塊類似,在此不再贅述。四、調(diào)試與運(yùn)行1登錄如果登陸賬號(hào)與密碼無效,將彈出提示窗口2查詢正確
16、登錄后,依次點(diǎn)擊查詢,查詢商品信息彈出報(bào)表窗口,點(diǎn)擊返回上級(jí)可返回上級(jí)成功登陸后出現(xiàn)主菜單查詢菜單商品信息報(bào)表窗口其他信息查詢調(diào)試過程類似,不在贅述。3 管理入庫調(diào)試:成功登陸后,依次點(diǎn)擊管理,入庫管理,彈出入庫信息填寫窗口。管理菜單入庫信息填寫如果填寫信息有違反數(shù)據(jù)庫有關(guān)約束時(shí),再點(diǎn)擊添加后會(huì)彈出有關(guān)系統(tǒng)處理錯(cuò)誤提示。如果添加成功彈出提示通過查詢?nèi)霂煨畔ⅲ芍霂焯砑映晒?。入庫信息?bào)表通過比較庫存信息可知入庫記錄添加對(duì)庫存信息修改有效入庫前入庫后出庫調(diào)試:成功登陸后,依次點(diǎn)擊管理,出庫管理,彈出出庫信息填寫窗口。出庫信息填寫如果填寫信息有違反數(shù)據(jù)庫有關(guān)約束時(shí),再點(diǎn)擊添加后會(huì)彈出有關(guān)系統(tǒng)處理錯(cuò)
17、誤提示。通過查詢出庫信息,可知出庫添加成功。出庫信息報(bào)表通過比較庫存信息可知出庫記錄添加對(duì)庫存信息修改有效出庫后庫存信息管理員信息管理調(diào)試:添加管理員成功登錄后,依次點(diǎn)擊管理管理員信息管理添加管理員彈出添加管理員窗口填寫管理員信息如果填寫信息有違反數(shù)據(jù)庫有關(guān)約束時(shí),再點(diǎn)擊添加后會(huì)彈出有關(guān)系統(tǒng)處理錯(cuò)誤提示。通過比較查詢管理員信息,可知添加成功。添加前添加后可調(diào)試新管理員登錄有效。刪除管理員成功登錄后,依次點(diǎn)擊管理管理員信息管理刪除管理員彈出刪除管理員窗口刪除管理員窗口通過比較刪除前后管理員信息報(bào)表可知?jiǎng)h除成功刪除后該模塊調(diào)試成功。其他模塊調(diào)試過程與上述模塊調(diào)試過程類似,在此不在贅述。五、課程設(shè)計(jì)
18、小結(jié)通過本次課程設(shè)計(jì),我學(xué)習(xí)到了很多實(shí)用的知識(shí),由于之前對(duì)c#知識(shí)的不足,在課程設(shè)計(jì)中遇到很多困難,尤其是在數(shù)據(jù)庫的連接上,最后在老師的幫助下才解決問題,隨著一個(gè)個(gè)問題的解決,我學(xué)到了很多知識(shí),熟練了對(duì)軟件的使用,每做完一個(gè)模塊時(shí),都有一種成功的喜悅,體會(huì)到了學(xué)習(xí)的快樂,這次設(shè)計(jì)的軟件非常不完善,我將繼續(xù)努力學(xué)習(xí)c#.net,將數(shù)據(jù)庫與編程語言結(jié)合,爭(zhēng)取在接下來的這個(gè)暑假能開發(fā)出一個(gè)完善的系統(tǒng),掌握更多實(shí)用的東西。本次課程設(shè)計(jì)讓我有機(jī)會(huì)能把之前學(xué)的數(shù)據(jù)庫知識(shí)系統(tǒng)的串聯(lián)起來,尤其是對(duì)數(shù)據(jù)庫的建立與操作都上了一個(gè)臺(tái)階,包括怎么建立更簡(jiǎn)潔,沒有冗余而又很完備的數(shù)據(jù)庫系統(tǒng),怎么對(duì)數(shù)據(jù)庫結(jié)構(gòu)模型進(jìn)行設(shè)計(jì),主鍵外鍵的定義,更重要的是對(duì)前期概念模型,也就是e-r圖的規(guī)劃
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 19973.2-2025醫(yī)療產(chǎn)品滅菌微生物學(xué)方法第2部分:用于滅菌過程的定義、確認(rèn)和維護(hù)的無菌試驗(yàn)
- 二手車交易按揭擔(dān)保合同樣本
- 畢業(yè)生創(chuàng)業(yè)合作合同模板
- 20《青山不老》(教學(xué)設(shè)計(jì))2024-2025學(xué)年統(tǒng)編版語文六年級(jí)上冊(cè)
- 1 有余數(shù)的除法-第二課時(shí)(教學(xué)設(shè)計(jì))-2023-2024學(xué)年二年級(jí)下冊(cè)數(shù)學(xué)蘇教版
- 國際咖啡豆購銷合同全文
- Module 3 單元整體(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(三起)英語六年級(jí)上冊(cè)
- 聯(lián)合市場(chǎng)開發(fā)合同綱要
- 度全國總經(jīng)銷合同書
- Module 6 Unit 1 You can play football well(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(一起)英語五年級(jí)上冊(cè)
- 2025年中國遠(yuǎn)洋海運(yùn)集團(tuán)限公司中石化中海船舶燃料供應(yīng)限公司招聘26人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 2025年春季學(xué)期各周國旗下講話安排表+2024-2025學(xué)年度第二學(xué)期主題班會(huì)安排表
- 實(shí)驗(yàn)室生物安全培訓(xùn)
- 藥品專業(yè)知識(shí)培訓(xùn)考試試題5
- 五年級(jí)下冊(cè)勞動(dòng)《日常收納》課件
- 第28課改革開放和社會(huì)主義現(xiàn)代化建設(shè)的巨大成就 課件-高一統(tǒng)編版(2019)必修中外歷史綱要上冊(cè)
- 2024年中國游戲產(chǎn)業(yè)報(bào)告
- 寧波北侖區(qū)教育局招聘事業(yè)編制教師筆試真題2023
- 心靈的幻象(宗教意向的視覺化)課件-【知識(shí)精研】高中美術(shù)湘美版(2019)美術(shù)鑒賞
- 2024年度超詳細(xì)!上海新能源汽車充電樁合作協(xié)議3篇
- 2024年井下支護(hù)工技能鑒定考試題庫-中(多選題)
評(píng)論
0/150
提交評(píng)論