數(shù)據(jù)庫原理課程設計報告-(附代碼)_第1頁
數(shù)據(jù)庫原理課程設計報告-(附代碼)_第2頁
數(shù)據(jù)庫原理課程設計報告-(附代碼)_第3頁
數(shù)據(jù)庫原理課程設計報告-(附代碼)_第4頁
數(shù)據(jù)庫原理課程設計報告-(附代碼)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上課程設計報告( 2014-2015年度第2學期)名 稱:數(shù)據(jù)庫原理課程設計 題 目: 超市管理系統(tǒng) 院 系: 計算機系 班 級: 軟件1201 學 號: 學生姓名: 指導教師: 閻蕾,王曉輝 設計周數(shù): 一 成 績: 日期:2015年 7月 17日專心-專注-專業(yè)數(shù)據(jù)庫原理課程設計課程設計任 務 書一、 目的與要求1. 本實驗是為軟件工程、網(wǎng)絡工程、信息安全等專業(yè)的學生在學習數(shù)據(jù)庫原理后,為培養(yǎng)更好的解決問題和實際動手能力而設置的實踐環(huán)節(jié)。通過這個環(huán)節(jié),使學生具備應用數(shù)據(jù)庫原理對數(shù)據(jù)庫系統(tǒng)進行設計的能力。為后繼課程和畢業(yè)設計打下良好基礎。2. 通過該實驗,培養(yǎng)學生在建

2、立數(shù)據(jù)庫系統(tǒng)過程中使用關系數(shù)據(jù)理論的能力。3. 通過對一個數(shù)據(jù)庫系統(tǒng)的設計,培養(yǎng)學生對數(shù)據(jù)庫需求分析、數(shù)據(jù)庫方案設計、系統(tǒng)編碼、界面設計和軟件調(diào)試等各方面的能力。是一門考查學生數(shù)據(jù)庫原理、面向?qū)ο笤O計方法、軟件工程和信息系統(tǒng)分析與設計等課程的綜合實驗。二、 主要內(nèi)容針對一個具有實際應用場景的中小型系統(tǒng)(見題目附錄)進行數(shù)據(jù)庫設計,重點分析系統(tǒng)涉及的實體、實體之間的聯(lián)系,實現(xiàn)增加、刪除、更新、查詢數(shù)據(jù)記錄等基本操作。大致分為如下步驟:1. 理解系統(tǒng)的數(shù)據(jù)庫需求,分析實體及實體間聯(lián)系,畫出E-R圖:1 分析確定實體的屬性和碼,完成對該實體的實體完整性、用戶自定義完整性的定義。2 設計實體之間的聯(lián)系

3、,包括聯(lián)系類型和聯(lián)系的屬性。最后畫出完整的E-R圖。2根據(jù)設計好的E-R圖及關系數(shù)據(jù)庫理論知識設計數(shù)據(jù)庫模式:1) 把E-R圖轉(zhuǎn)換為邏輯模式;2) 規(guī)范化設計。使用關系范式理論證明所設計的關系至少屬于3NF并寫出證明過程;如果不屬于3NF則進行模式分解,直到該關系滿足3NF為止,要求寫出分解過程。3) 設計關系模式間的參照完整性,要求實現(xiàn)級聯(lián)刪除和級聯(lián)更新。4) 用SQL語言完成數(shù)據(jù)庫內(nèi)模式的設計。3數(shù)據(jù)庫權(quán)限的設計:1) 根據(jù)系統(tǒng)分析,完成授權(quán)操作;2) 了解學習收回權(quán)限的操作。4完成用戶界面的設計,對重要數(shù)據(jù)進行加密。5連接數(shù)據(jù)庫,用宿主語言實現(xiàn)系統(tǒng)所需的各種操作:1) 實現(xiàn)數(shù)據(jù)記錄的錄入

4、、刪除、查詢和修改。2) 以視圖的形式完成復雜查詢,比如多表、多條件等。三、 進度計劃序號設計(實驗)內(nèi)容完成時間備注1根據(jù)任務書完成信息模型(概念模型、邏輯模型、完整性、規(guī)范化)的設計,并基于選用的DBMS實現(xiàn)該信息模型,然后錄入初始數(shù)據(jù)1天2根據(jù)任務書完成各種數(shù)據(jù)定義和數(shù)據(jù)操作,并保留所有SQL語句。0.5天3數(shù)據(jù)庫權(quán)限設計,用戶界面設計0.5天4用可視化開發(fā)工具環(huán)境開發(fā)學生選定的信息系統(tǒng)(C/S或者B/S模式)2天5系統(tǒng)的完善與驗收1天四、 設計(實驗)成果要求1 在DBMS(如oracle,SQL Server 2005/2008/2010,DB2等)上完成完整的數(shù)據(jù)庫的設計;2 使用

5、可視化開發(fā)平臺完成信息系統(tǒng),要求可以正確運行;3 完成實驗報告。五、 考核方式1 在微機上檢查數(shù)據(jù)庫模式的設計、三大完整性的設計、關系屬于幾范式等;2 在微機上檢查系統(tǒng)的運行結(jié)果,要求學生闡述使用的相關技術(shù);3 實驗報告的檢查。六、 題目附錄1 圖書管理信息系統(tǒng)2 物資管理信息系統(tǒng)3 汽車銷售管理信息系統(tǒng)4 超市管理信息系統(tǒng)5 通訊錄管理信息系統(tǒng)6 工資管理信息系統(tǒng)7 酒店管理信息系統(tǒng)8 小區(qū)物業(yè)管理信息系統(tǒng)學生姓名: 指導教師:閻蕾 2015年 7月3日一、設計(實驗)正文1.系統(tǒng)功能圖 2.系統(tǒng)詳細描述與E-R設計一個會員可以購買多種商品,每種商品可以被多個會員購買。每種商品有一個唯一的編

6、號作為標志。管理員對商品信息、管理員信息、會員信息和商品類別具有增、刪、改、查的權(quán)限。根據(jù)以上描述得到的實體及屬性如下:A.實體:會員:會員編號,密碼,性別,出生日期商品:商品編號,商品名稱,商品類型,數(shù)量,生產(chǎn)公司,產(chǎn)地,描述管理員:管理員編號,姓名,密碼商品類型:類型編號,名稱B.實體之間的聯(lián)系如下: 會員與商品之間的關系:購買(會員編號,商品編號,購買日期,退貨日期)管理員與管理員間的聯(lián)系:管理 管理員與商品間的聯(lián)系:管理管理員與會員間的聯(lián)系:管理 管理員與商品類型間的聯(lián)系:管理C.說明: 下劃線文字為主碼;為了避免沖突發(fā)生,所有屬性(除退貨日期及商品描述外)均非空。D.根據(jù)以上分析設計

7、出實體及其屬性圖如下: E.實體及其聯(lián)系圖 3.系統(tǒng)邏輯結(jié)構(gòu)設計 A、根據(jù)以上E-R圖得到系統(tǒng)關系模型如下:會員(會員編號,密碼,性別,出生日期)商品(商品編號,商品名稱,商品類型,數(shù)量,生產(chǎn)公司,產(chǎn)地,描述)管理員(管理員編號,姓名,密碼)商品類型(類型編號,名稱)購買(會員編號,商品編號,購買日期,退貨日期)說明:以上關系中,下劃線部分為對應關系的主碼,加黑部分為外碼,且所有屬性(除退貨日期及商品描述外)均非空。 B、使用SQL語言創(chuàng)建各表會員表:CREATE TABLE Table_VIP(Vnum varchar(50) primary key,Vname varchar(50),Vp

8、wd varchar(50),Vsex varchar(4) check (Vsex in ('男','女'),Vbirth datetime)商品表:CREATE TABLE Table_Goods(Gnum varchar(50) primary key,Gname varchar(50),Gcount varchar(50),Gcompany varchar(50),Gplace varchar(50),Gdate datetime,Gdescrib varchar(50),foreign key(Gtype)references Table_Type(T

9、ypenum)on delete cascade on update cascade)管理員表:CREATE TABLE Table_Admin(Anum varchar(50) primary key,Aname varchar(50),Apwd varchar(50)購買表:CREATE TABLE Table_Shopping(id int identity(1,1),Vnum varchar(50),Gnum varchar(50),Stime datetime,Rtime datetime,primary key(Vnum,Gnum),foreign key(Vnum)referen

10、ces Table_VIP(Vnum)on delete cascade on update cascade,foreign key(Gnum)references Table_Goods(Gnum)on delete cascade on update cascade)商品類型表:CREATE TABLE Table_Type(Typenum varchar(50) primary key,Typename varchar(50)C、各表的截圖 圖1.管理員表 圖2.商品類型表 圖3.商品表 圖4.購物記錄表 圖5.會員表4、在數(shù)據(jù)庫中創(chuàng)建存儲過程: 全部存儲過程如上圖,包括管理員登錄、會員

11、登錄、根據(jù)商品的編號或名稱查詢商品信息、查詢購物記錄、退貨、購物等過程。選擇幾個存儲過程代碼如下:A. 管理員登錄: B.通過商品名稱查找商品信息(模糊查詢)C.根據(jù)商品編號退貨 D.會員根據(jù)會員編號和商品編號購買商品 5、在ASP.NET頁面中連接并操作數(shù)據(jù)庫,連接字符串如下: public ConDB() conStr = "Server = USER-PC赟赟; Database = Library; Integrated Security = True;" 6、界面設計與運行結(jié)果 根據(jù)系統(tǒng)所需實現(xiàn)的功能及系統(tǒng)的用戶類型不同,將界面設計如下:A. 登錄界面 B. 會員

12、主界面 C. 會員商品查詢、購買D. 管理員主界面該模塊實現(xiàn)管理員信息、商品信息、會員信息、商品類型等基本管理和退貨等操作。E.管理員管理 注:會員管理、商品管理、商品類型管理界面都和管理員管理的界面相同,都實現(xiàn)了增、刪、改、查的功能。由于管理員類的主鍵是Anum,所以當更新的管理員信息編號與已存在的編號相同,會提示錯誤信息,如下圖所示:F.管理員退貨界面 三、課程設計(綜合實驗)總結(jié)或結(jié)論本次實驗是我們學習數(shù)據(jù)庫原理后,為了培養(yǎng)我們更好的解決問題和實際動手能力而設置的實踐環(huán)節(jié)。在本次實驗中,把上課所學知識與實際應用聯(lián)系起來,加深了對課本知識的理解,提高了自己的動手能力和編程能力,對數(shù)據(jù)庫的設

13、計也有了更好地理解和把握。本次課程設計我們所做的系統(tǒng)是超市管理系統(tǒng),是用winsows窗體編寫的,數(shù)據(jù)庫開發(fā)環(huán)境是SQL Server2008,使用的語言是C#。超市管理系統(tǒng)操作簡單,使用方便,條理清晰,界面友好。本次實驗注重的是數(shù)據(jù)庫的設計,所以在設計ER圖、創(chuàng)建各表花費了更多的時間,確定了系統(tǒng)的需求之后再設計,系統(tǒng)比較簡單,雖然在實現(xiàn)的過程中也遇到了很多問題,但是通過和同組成員及同學、老師的及時交流,問題都得到了很好地解決,總之,我對這次實驗的表現(xiàn)和成果還是很滿意的。同時,本次實驗也提高了自己的團隊合作能力,提高了自己與他人的交流合作能力。最后,感謝老師的指導。四、參考文獻 1王珊,薩師煊

14、.數(shù)據(jù)庫系統(tǒng)概論.高等教育出版社.附錄(設計流程圖、程序、表格、數(shù)據(jù)等)A. 數(shù)據(jù)設置B. 部分代碼管理員主界面: public partial class AdminManage : Form GoodsBLL bb = new GoodsBLL(); AdminBLL ab = new AdminBLL(); public AdminManage() InitializeComponent(); bt_TopManage.Enabled = false; /按商品編號查詢購物記錄 private void bt_sure_Click(object sender, EventArgs e)

15、string num = tb_num.Text.Trim(); DataTable dt = bb.SearchShoppingByGnum(num); if (dt.Rows.Count>0) dataGridView1.DataSource = dt; bt_TopManage.Enabled = true; tb_num.Enabled = false; else MessageBox.Show("未找到相應編號的商品", "警告", MessageBoxButtons.OK); private void tb_AddAdmin_Click

16、(object sender, EventArgs e) /添加管理員頁面 Form adl = new AddAdmin(); /this.Hide(); adl.Show(); private void bt_delAdmin_Click(object sender, EventArgs e) /刪除管理員頁面 Form adl = new DelAdmin(); this.Hide(); adl.Show(); private void bt_updateAdmin_Click(object sender, EventArgs e) /修改管理員頁面 Form adl = new Upd

17、ateAdmin(); this.Hide(); adl.Show(); private void bt_AddGoods_Click(object sender, EventArgs e) /添加商品信息 Form adl = new AddGoods(); /this.Hide(); adl.Show(); private void bt_DelGoods_Click(object sender, EventArgs e) /刪除商品信息 Form adl = new DelGoods(); this.Hide(); adl.Show(); private void bt_UpdateGo

18、ods_Click(object sender, EventArgs e) /修改商品信息 Form adl = new UpdateGoods(); this.Hide(); adl.Show(); private void bt_AddVIP_Click(object sender, EventArgs e) /添加會員信息 Form adl = new AddVIP(); / this.Hide(); adl.Show(); private void bt_DelVIP_Click(object sender, EventArgs e) /刪除會員信息 Form adl = new De

19、lVIP(); this.Hide(); adl.Show(); private void bt_type_Click(object sender, EventArgs e) Form adl = new TypeManage(); /this.Hide(); adl.Show(); private void bt_TopManage_Click(object sender, EventArgs e) /退貨管理 string num= tb_num.Text.Trim(); bool b = ab.DeleteByGnum(num); if (b) MessageBox.Show("

20、;退貨成功!", "提示", MessageBoxButtons.OK); dataGridView1.DataSource = null; tb_num.Enabled = true; tb_num.Text = "" else MessageBox.Show("退貨未成功!", "提示", MessageBoxButtons.OK); private void bt_AddVIP_Click_1(object sender, EventArgs e) Form adl = new AddVIP();

21、/this.Hide(); adl.Show(); private void bt_exit_Click(object sender, EventArgs e) Application.Exit(); private void llb_login_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) Form adl = new AdminLogin(); this.Hide(); adl.Show(); protected override void OnClosing(CancelEventArgs e) /退出提示 if

22、(MessageBox.Show(this, "確認退出?", "提示信息:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) e.Cancel = false; else e.Cancel = true; private void bt_return_Click(object sender, EventArgs e) tb_num.Enabled = true; tb_num.Text = "" dataGridView1.DataSour

23、ce = null; 會員主界面: public partial class VIPManage : Form GoodsBLL gb = new GoodsBLL(); VIPBLL vb = new VIPBLL(); private string vNum; private string vPsw; public VIPManage() InitializeComponent(); comboBox1.SelectedIndex = 0; public VIPManage(string num, string psw) InitializeComponent(); comboBox1.S

24、electedIndex = 0; vNum = num; vPsw = psw; dataGridView1.AllowUserToResizeColumns = false; dataGridView1.AllowUserToResizeRows = false; dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWi

25、dthSizeMode.DisableResizing; private void bt_sure_Click(object sender, EventArgs e) int i = comboBox1.SelectedIndex; string s = tb_insert.Text.Trim(); if (i = 0)/商品編號 dataGridView1.DataSource = vb.SearchGoodsByGnum(s); if (i = 1)/商品名稱 dataGridView1.DataSource = vb.SearchGoodsByGname(s); private void

26、 bt_Shopping_Click(object sender, EventArgs e) string gnum = tb_num.Text.Trim(); bool b = vb.ShoppingGoods(gnum, vNum); if (b) MessageBox.Show("商品購買成功!", "提示", MessageBoxButtons.OK); dataGridView1.DataSource = vb.SearchGoodsByGnum(gnum); else MessageBox.Show("商品已售完或已下架!", "提示", MessageBoxButtons.OK); tb_num.Focus();

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論