數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)報(bào)告-(附代碼)(共21頁(yè))_第1頁(yè)
數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)報(bào)告-(附代碼)(共21頁(yè))_第2頁(yè)
數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)報(bào)告-(附代碼)(共21頁(yè))_第3頁(yè)
數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)報(bào)告-(附代碼)(共21頁(yè))_第4頁(yè)
數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)報(bào)告-(附代碼)(共21頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)報(bào)告( 2014-2015年度第2學(xué)期)名 稱:數(shù)據(jù)庫(kù)原理課程設(shè)計(jì) 題 目: 超市管理系統(tǒng) 院 系: 計(jì)算機(jī)系 班 級(jí): 軟件1201 學(xué) 號(hào): 學(xué)生姓名: 指導(dǎo)教師: 閻蕾,王曉輝 設(shè)計(jì)周數(shù): 一 成 績(jī): 日期:2015年 7月 17日數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)課程設(shè)計(jì)任 務(wù) 書一、 目的與要求1. 本實(shí)驗(yàn)是為軟件工程、網(wǎng)絡(luò)工程、信息安全等專業(yè)的學(xué)生在學(xué)習(xí)數(shù)據(jù)庫(kù)原理后,為培養(yǎng)更好的解決問(wèn)題和實(shí)際動(dòng)手能力而設(shè)置的實(shí)踐環(huán)節(jié)。通過(guò)這個(gè)環(huán)節(jié),使學(xué)生具備應(yīng)用數(shù)據(jù)庫(kù)原理對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行設(shè)計(jì)的能力。為后繼課程和畢業(yè)設(shè)計(jì)打下良好基礎(chǔ)。2. 通過(guò)該實(shí)驗(yàn),培養(yǎng)學(xué)生在建立數(shù)據(jù)庫(kù)系統(tǒng)過(guò)程中使用關(guān)系數(shù)據(jù)理論的能力。

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

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

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

5、行;3 完成實(shí)驗(yàn)報(bào)告。五、 考核方式1 在微機(jī)上檢查數(shù)據(jù)庫(kù)模式的設(shè)計(jì)、三大完整性的設(shè)計(jì)、關(guān)系屬于幾范式等;2 在微機(jī)上檢查系統(tǒng)的運(yùn)行結(jié)果,要求學(xué)生闡述使用的相關(guān)技術(shù);3 實(shí)驗(yàn)報(bào)告的檢查。六、 題目附錄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)學(xué)生姓名: 指導(dǎo)教師:閻蕾 2015年 7月3日一、設(shè)計(jì)(實(shí)驗(yàn))正文1.系統(tǒng)功能圖 2.系統(tǒng)詳細(xì)描述與E-R設(shè)計(jì)一個(gè)會(huì)員可以購(gòu)買多種商品,每種商品可以被多個(gè)會(huì)員購(gòu)買。每種商品有一個(gè)唯一的編號(hào)作為標(biāo)志。管理員對(duì)商品信息、管理員信息、

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

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

8、archar(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(Typenum)on delete casc

9、ade on update cascade)管理員表:CREATE TABLE Table_Admin(Anum varchar(50) primary key,Aname varchar(50),Apwd varchar(50)購(gòu)買表: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)references Table_VIP(Vnum)on

10、 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.購(gòu)物記錄表 圖5.會(huì)員表4、在數(shù)據(jù)庫(kù)中創(chuàng)建存儲(chǔ)過(guò)程: 全部存儲(chǔ)過(guò)程如上圖,包括管理員登錄、會(huì)員登錄、根據(jù)商品的編號(hào)或名稱查詢商品信息、查

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

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

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

14、計(jì)流程圖、程序、表格、數(shù)據(jù)等)A. 數(shù)據(jù)設(shè)置B. 部分代碼管理員主界面: public partial class AdminManage : Form GoodsBLL bb = new GoodsBLL(); AdminBLL ab = new AdminBLL(); public AdminManage() InitializeComponent(); bt_TopManage.Enabled = false; /按商品編號(hào)查詢購(gòu)物記錄 private void bt_sure_Click(object sender, EventArgs e) string num = tb_num.T

15、ext.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("未找到相應(yīng)編號(hào)的商品", "警告", MessageBoxButtons.OK); private void tb_AddAdmin_Click(object sender, Event

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

17、(); 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_UpdateGoods_Click(object send

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

19、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(); /this.Hide(); adl.Sho

21、w(); 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 (MessageBox.Show(this

22、, "確認(rèn)退出?", "提示信息:", 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.DataSource = null; 會(huì)員主界面: pub

23、lic 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.SelectedIndex = 0; vNu

24、m = num; vPsw = psw; dataGridView1.AllowUserToResizeColumns = false; dataGridView1.AllowUserToResizeRows = false; dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableRe

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

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論