版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、數(shù)據(jù)庫課程設計班 級 計算機科學與技術(shù)0802 學 號 3080602051 姓 名 指導老師 二零一零年 七 月一、引言1設計目的課程設計為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結(jié)合起來,鍛煉學生的分析解決實際問題的能力。提高學生適應實際,實踐編程的能力。課程設計的目的:1. 加深對數(shù)據(jù)庫系統(tǒng)、軟件工程、程序設計語言的理論知識的理解和應用水平;2. 在理論和實驗教學基礎上進一步鞏固已學基本理論及應用知識并加以綜合提高;3. 學會將知識應用于實際的方法,提高分析和解決問題的能力,增強動手能力;4. 為畢業(yè)設計和以后工作打下必要基礎。2設計要求運用數(shù)據(jù)庫基本理
2、論與應用知識,在微機rdbms(sql server)的環(huán)境上建立一個數(shù)據(jù)庫應用系統(tǒng)。要求把現(xiàn)實世界的事物及事物之間的復雜關(guān)系抽象為信息世界的實體及實體之間聯(lián)系的信息模型,再轉(zhuǎn)換為機器世界的數(shù)據(jù)模型和數(shù)據(jù)文件,并對數(shù)據(jù)文件實施檢索、更新和控制等操作。 1. 用e-r圖設計選定題目的信息模型;2. 設計相應的關(guān)系模型,確定數(shù)據(jù)庫結(jié)構(gòu);3. 分析關(guān)系模式各屬于第幾范式,闡明理由;4. 設計應用系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖,確定系統(tǒng)功能;5. 通過設計關(guān)系的主碼約束、外碼約束和使用check實現(xiàn)完整性控制;6. 為參照關(guān)系設計插入、刪除、修改觸發(fā)器;7. 實現(xiàn)應用程序設計、編程、優(yōu)化功能;8. 對系統(tǒng)的各個應用
3、程序進行集成和調(diào)試,進一步優(yōu)化系統(tǒng)功能、改善系統(tǒng)用戶界面完成實驗內(nèi)容所指定的各項要求;9. 分析遇到的問題,總結(jié)并寫出課程設計報告;10. 自我評價3軟件定義:windowsxp系統(tǒng)4開發(fā)環(huán)境:visual studio 2005 c#,sql server 2000二、概要設計1系統(tǒng)功能結(jié)構(gòu)2概念模型設計e-r圖三、詳細設計1數(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, -件,個等等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完整性設計 實體完整
6、性:在商品表中定義商品號sno為主碼;在倉庫表中定義倉庫號cno為主碼;在庫存表中定義商品號和倉庫號(sno,cno)為主碼;在管理員表中定義管理員編號mno為主碼;在客戶表中定義客戶編號khno為主碼;在入庫表中定義入庫號rkno為主碼;在出庫表中定義出庫號ckno為主碼;在密碼表中定義管理員編號mno為主碼; 實體完整性檢查和違約處理:1.檢查主碼值是否唯一,如果不唯一則拒絕插入或修改2.檢查主碼的各個屬性是否為空,只要有一個為空就拒絕插入或修改; 參照完整性:在庫存表中定義商品號和倉庫號為建立在商品表和倉庫表上的外碼;在入庫表中定義商品號為建立在商品表上的外碼,倉庫號為建立在倉庫表上的外
7、碼,客戶號為建立在客戶表上的外碼,管理員編號為建立在管理員表上的外碼;在出庫表中定義商品號為建立在商品表上的外碼,倉庫號為建立在倉庫表上的外碼,客戶號為建立在客戶表上的外碼,管理員編號為建立在管理員表上的外碼;在密碼表中定義管理員編號為建立在管理員表上的外碼。 參照完整性的檢查和違約處理: 1拒絕執(zhí)行:不允許該操作執(zhí)行。該策略一般設置為默認策略; 2. 級聯(lián)操作:當刪除或修改被參照表的一個元組造成了與參照表的不一致,則刪除或修改參照表中的所有造成不一致的元組; 3. 設置為空值:當刪除或修改被參照表的一個元組時造成了不一致,則將參照表中的所有造成不一致的元組的對應屬性設置為空值; 用戶自定義完
8、整性:在管理員表中,添加完整性約束條件,年齡在1860之間;性別只能在男女兩個選項中取值;姓名不能為空;否則,無法插入;2 主要功能模塊設計a登錄模塊設計: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(用戶名和密碼錯誤); catch (exception e1) messagebox.show(數(shù)據(jù)庫連接錯誤); b主菜單設計: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(); 此模塊設計主要是添加兩個連接其他窗口的按鈕。以后出現(xiàn)類似模塊設計將不再列出有關(guān)設計代碼。c查詢功能主菜單設計e查詢信息顯示模塊設計該模塊設計主要是在窗體內(nèi)添加report viewer控件,并添加相關(guān)設計的報表。相關(guān)代碼不再列出。其他查詢信息模塊完全相同,不再贅述。f倉庫管理菜單設計g商品信息管理菜單設計h添加商品信息模塊設計有關(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刪除商品信息模塊設計有關(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(請通過查詢商品信息判斷是否成功刪除所需刪除記錄); catch (exception ex) messagebox.show(ex.message); 其他管理模塊與上述商品信息管理模塊類似,在此不再贅述。四、調(diào)試與運行1登錄如果登陸賬號與密碼無效,將彈出提示窗口2查詢正確
16、登錄后,依次點擊查詢,查詢商品信息彈出報表窗口,點擊返回上級可返回上級成功登陸后出現(xiàn)主菜單.查詢菜單商品信息報表窗口其他信息查詢調(diào)試過程類似,不在贅述。3 管理入庫調(diào)試:成功登陸后,依次點擊管理,入庫管理,彈出入庫信息填寫窗口。管理菜單入庫信息填寫如果填寫信息有違反數(shù)據(jù)庫有關(guān)約束時,再點擊添加后會彈出有關(guān)系統(tǒng)處理錯誤提示。如果添加成功彈出提示通過查詢?nèi)霂煨畔?,可知入庫添加成功。入庫信息報表通過比較庫存信息可知入庫記錄添加對庫存信息修改有效入庫前入庫后出庫調(diào)試:成功登陸后,依次點擊管理,出庫管理,彈出出庫信息填寫窗口。出庫信息填寫如果填寫信息有違反數(shù)據(jù)庫有關(guān)約束時,再點擊添加后會彈出有關(guān)系統(tǒng)處理
17、錯誤提示。通過查詢出庫信息,可知出庫添加成功。出庫信息報表通過比較庫存信息可知出庫記錄添加對庫存信息修改有效出庫后庫存信息管理員信息管理調(diào)試:添加管理員成功登錄后,依次點擊管理管理員信息管理添加管理員彈出添加管理員窗口填寫管理員信息如果填寫信息有違反數(shù)據(jù)庫有關(guān)約束時,再點擊添加后會彈出有關(guān)系統(tǒng)處理錯誤提示。通過比較查詢管理員信息,可知添加成功。添加前添加后可調(diào)試新管理員登錄有效。刪除管理員成功登錄后,依次點擊管理管理員信息管理刪除管理員彈出刪除管理員窗口刪除管理員窗口通過比較刪除前后管理員信息報表可知刪除成功刪除后該模塊調(diào)試成功。其他模塊調(diào)試過程與上述模塊調(diào)試過程類似,在此不在贅述。五、課程設
18、計小結(jié)通過本次課程設計,我學習到了很多實用的知識,由于之前對c#知識的不足,在課程設計中遇到很多困難,尤其是在數(shù)據(jù)庫的連接上,最后在老師的幫助下才解決問題,隨著一個個問題的解決,我學到了很多知識,熟練了對軟件的使用,每做完一個模塊時,都有一種成功的喜悅,體會到了學習的快樂,這次設計的軟件非常不完善,我將繼續(xù)努力學習c#.net,將數(shù)據(jù)庫與編程語言結(jié)合,爭取在接下來的這個暑假能開發(fā)出一個完善的系統(tǒng),掌握更多實用的東西。本次課程設計讓我有機會能把之前學的數(shù)據(jù)庫知識系統(tǒng)的串聯(lián)起來,尤其是對數(shù)據(jù)庫的建立與操作都上了一個臺階,包括怎么建立更簡潔,沒有冗余而又很完備的數(shù)據(jù)庫系統(tǒng),怎么對數(shù)據(jù)庫結(jié)構(gòu)模型進行設計,主鍵外鍵的定義,更重要的是對前期概念模型,也就是e-r圖的規(guī)劃
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼制門招標文件的簡明和易懂性
- 清潔合同物業(yè)保潔
- 池河鎮(zhèn)七年級歷史下冊 第三單元 明清時期:統(tǒng)一多民族國家的鞏固與發(fā)展 第20課 清朝君主專制的強化教案 新人教版
- 2024年九年級語文上冊 第四單元 詩詞誦讀《水調(diào)歌頭》教案 鄂教版
- 八年級英語上冊 Unit 5 My Future Lesson 26 What Will I Be教案 (新版)冀教版
- 2024年學年八年級道德與法治下冊 第二單元 理解權(quán)利義務教案 新人教版
- 江蘇省江陰市高中生物 第三章 細胞的基本結(jié)構(gòu) 3.1 細胞膜-系統(tǒng)的邊界教案 新人教版必修1
- 鉆孔機租賃合同(2篇)
- 租車退車合同(2篇)
- 蘇教版音樂課件
- 勞務施工組織方案 勞務施工組織設計(八篇)
- 理論催化劑體積計算
- 鐵路運輸調(diào)度指揮
- YS/T 950-2014散裝紅土鎳礦取制樣方法
- GB/T 324-2008焊縫符號表示法
- GB/T 2980-2018工程機械輪胎規(guī)格、尺寸、氣壓與負荷
- GB/T 16491-1996電子式萬能試驗機
- 運輸公司系統(tǒng)平臺建設、維護及管理制度
- 第七章 歐拉方程
- 五大領域教學法(課堂PPT)
- 數(shù)控車床編程基本學習培訓課件
評論
0/150
提交評論