數(shù)據(jù)庫課程設(shè)計報刊訂閱管理系統(tǒng)

上傳人:優(yōu)*** 文檔編號:35680169 上傳時間:2021-10-27 格式:DOC 頁數(shù):23 大?。?19.50KB
收藏 版權(quán)申訴 舉報 下載
數(shù)據(jù)庫課程設(shè)計報刊訂閱管理系統(tǒng)_第1頁
第1頁 / 共23頁
數(shù)據(jù)庫課程設(shè)計報刊訂閱管理系統(tǒng)_第2頁
第2頁 / 共23頁
數(shù)據(jù)庫課程設(shè)計報刊訂閱管理系統(tǒng)_第3頁
第3頁 / 共23頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)據(jù)庫課程設(shè)計報刊訂閱管理系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫課程設(shè)計報刊訂閱管理系統(tǒng)(23頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 真誠為您提供優(yōu)質(zhì)參考資料,若有不當(dāng)之處,請指正。數(shù)據(jù)庫課程設(shè)計題 目 報刊訂閱管理系統(tǒng) 專業(yè)班級 計算機(jī)科學(xué)與技術(shù)07級11班 學(xué) 號 3104006476 姓 名 合 作 者 1 / 23隨著時代的發(fā)展,計算系軟件和系統(tǒng)的成熟,報刊如果簡單方面訂閱成為一個影響多數(shù)人生活的問題。而建立報刊訂閱系統(tǒng)是一個很好的解決辦法。經(jīng)過三年的學(xué)習(xí),我們對計算機(jī)方面的知識有了很大的提升,本著理論聯(lián)系實際的宗旨,通過學(xué)校提供的這次課程設(shè)計實踐的機(jī)會,在指導(dǎo)教師的幫助下,歷經(jīng)兩周時間,我自行設(shè)計一套報刊訂閱系統(tǒng),在下面的各章中,我將以這套報刊訂閱系統(tǒng)為例,談?wù)勂溟_發(fā)過程和所涉及到的問題。設(shè)計目的應(yīng)用對數(shù)據(jù)庫系統(tǒng)

2、原理的理論學(xué)習(xí),通過上機(jī)實踐的方式將理論知識與實踐更好的結(jié)合起來,鞏固所學(xué)知識。實踐和鞏固在課堂教學(xué)中學(xué)習(xí)的關(guān)于DB2的有關(guān)知識,熟練掌握對于給定結(jié)構(gòu)的數(shù)據(jù)庫的創(chuàng)建、基本操作、程序系統(tǒng)的建立和調(diào)試以及系統(tǒng)評價。實踐和鞏固在課堂教學(xué)中學(xué)習(xí)的關(guān)于關(guān)系數(shù)據(jù)庫原理的有關(guān)知識和數(shù)據(jù)庫系統(tǒng)的建立方法,熟練掌握對于給定實際問題,為了建立一個關(guān)系數(shù)據(jù)庫信息管理系統(tǒng),必須得經(jīng)過系統(tǒng)調(diào)研、需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計、系統(tǒng)調(diào)試、維護(hù)以及系統(tǒng)評價的一般過程,為畢業(yè)設(shè)計打下基礎(chǔ)。設(shè)計內(nèi)容選擇課題并且對課題的相關(guān)信息有一定的了解,對于我選的課題來說,我必須了解報刊訂閱系統(tǒng)的構(gòu)造以及訂閱人的信息還有報刊的相關(guān)信

3、息。通過這些信息制成表格,輸入到數(shù)據(jù)庫中,使之能夠進(jìn)行查詢、修改、刪除并且與報刊訂閱系統(tǒng)執(zhí)行相同的操作。需求分析階段就是要研究我所作的報刊訂閱系統(tǒng)的具體分類和實施過程流圖。概念設(shè)計階段要完成數(shù)據(jù)抽象與局部視圖設(shè)計還有視圖的集成。邏輯結(jié)構(gòu)設(shè)計階段要把E-R圖轉(zhuǎn)化為關(guān)系模式并且把我輸入的六張表結(jié)合在一起完成一個總關(guān)系表。最后就是要運行和實施數(shù)據(jù)庫。要把查詢結(jié)果與過程抓幾張圖。第二章 需求分析需求分析的任務(wù)調(diào)查報刊訂閱系統(tǒng)應(yīng)用領(lǐng)域涉及的內(nèi)容,對涉及到領(lǐng)域的各個應(yīng)用的信息要求和操作要求進(jìn)行詳細(xì)分析,形成需求分析說明書。最重要的是調(diào)查、收集信息、分析訂閱人信息和報刊訂閱流程。處理要求、數(shù)據(jù)的安全性與完整

4、性要求。要求系統(tǒng)能有效、快速、安全、可靠和無誤的完成上述操作。并要求客戶機(jī)的界面要簡單明了,易于操作,服務(wù)器程序利于維護(hù)。需求分析的過程現(xiàn)在隨著網(wǎng)絡(luò)、計算機(jī)以及數(shù)據(jù)庫的快速發(fā)展,報刊的訂閱也不再是傳統(tǒng)低效的紙筆記錄了,已經(jīng)轉(zhuǎn)向網(wǎng)絡(luò)。本系統(tǒng)就是面向一個企業(yè)的報刊訂閱管理系統(tǒng)。此系統(tǒng)是一種比較智能化的管理系統(tǒng),它面向所有企業(yè)部門的職工用戶,但具有比較高的安全性能。它能夠?qū)崿F(xiàn)報刊訂閱的基本功能,包括新報刊信息的錄入、訂閱、查詢等操作以及后臺數(shù)據(jù)庫的備份和恢復(fù)。用戶合法注冊后必須輸入有效密碼才能成功進(jìn)入此系統(tǒng),可以進(jìn)行訂閱報刊,查詢信息,統(tǒng)計信息等操作。對于非法操作,系統(tǒng)有識別和防護(hù)措施本系統(tǒng)主要有以

5、下功能模塊:l (1)登陸功能:登陸系統(tǒng)為身份驗證登錄。分為管理員登錄和一般用戶登錄。分別通過不同的用戶名和密碼進(jìn)入報刊訂閱管理界面。l (2)錄入新信息功能:對于管理員,包括新用戶信息和新報刊信息的錄入功能,信息一旦提交就存入到后臺數(shù)據(jù)庫中;普通用戶自行注冊進(jìn)行錄入個人信息。l (3)訂閱功能:用戶可以訂閱報刊,系統(tǒng)自動計算所需金額,并顯示在界面上;管理員不可訂閱報刊,必須以用戶身份訂閱報刊。l (4)查詢功能:用戶可以查詢并顯示自己所訂閱的信息;管理員可以按人員、報刊、部門分類查詢。查詢出的信息顯示在界面上。l (5)統(tǒng)計功能:管理員可以按用戶、部門、報刊統(tǒng)計報刊的銷售情況,并對一些重要的

6、訂閱信息進(jìn)行統(tǒng)計;普通用戶可以統(tǒng)計出自己的訂閱情況。l (6)系統(tǒng)維護(hù)功能:管理員可以對用戶、報刊、部門、訂閱等信息進(jìn)行添加、刪除、更改等維護(hù)工作;管理員還要經(jīng)常備份數(shù)據(jù)庫,以備出現(xiàn)故障后恢復(fù)。用戶可以更改自己的注冊信息,但用戶名不能更改。系統(tǒng)框架報刊訂閱管理系統(tǒng)主要是由登錄、錄入、訂閱、信息查詢、統(tǒng)計、系統(tǒng)維護(hù)等主要模塊構(gòu)成。本系統(tǒng)的結(jié)構(gòu)功能圖:概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計的方法與步驟概念結(jié)構(gòu)獨立于數(shù)據(jù)庫邏輯結(jié)構(gòu)和支持?jǐn)?shù)據(jù)庫的DBMS。概念結(jié)構(gòu)即概念模型,其主要特點是:(1)概念模型是反映現(xiàn)實世界的一個真實模型。概念模型應(yīng)能真實,充分反映現(xiàn)實世界,能滿足用戶對數(shù)據(jù)的處理要求。(2)概念模型應(yīng)能易

7、于理解。概念模型只有被用戶理解后,才可以與設(shè)計者交換意見,參與數(shù)據(jù)庫的設(shè)計。(3)概念模型應(yīng)當(dāng)易于更改。由于現(xiàn)實世界會發(fā)生變化,這就需要改變概念模型,易于更改的概念模型有利于修改和擴(kuò)充。(4)概念模型應(yīng)易于向數(shù)據(jù)模型轉(zhuǎn)換。概念模型最終要轉(zhuǎn)換為數(shù)據(jù)模型。設(shè)計概念模型時應(yīng)當(dāng)注意,使其有利于向特定的數(shù)據(jù)模型轉(zhuǎn)換。概念結(jié)構(gòu)設(shè)計的方法設(shè)計概念結(jié)構(gòu)通常有四類方法:(1)自頂向下:即首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化。(2)自底向上:即首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來得到全局概念模式。(3)逐漸擴(kuò)張:首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方式逐步生成其他的概念結(jié)構(gòu),直至

8、總體概念結(jié)構(gòu)。(4)混合策略:即將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)。其中最經(jīng)常采用的策略是自底向上的方法。即自頂向下地進(jìn)行需求分析,然后再自底向上地設(shè)計概念結(jié)構(gòu)。這個報刊訂閱系統(tǒng)就用這種方法。概念結(jié)構(gòu)設(shè)計的步驟第一步是進(jìn)行局部視圖的設(shè)計:由于高層的數(shù)據(jù)流圖只能反映系統(tǒng)的概貌,而中層流圖能較好的反映系統(tǒng)中各局部應(yīng)用的子系統(tǒng)組成。因此我們先逐一的設(shè)計分E-R圖。第二步是進(jìn)行視圖的集成:各子系統(tǒng)的E-R圖設(shè)計好之后,下一步就是要將所有的分E-R圖合成一個系統(tǒng)的總E-R圖,一般有兩個方式,多個分E-R圖一次集成,另一

9、種是一次集成兩個分E-R圖。我想采用一次集成兩個分E-R圖的方式。3.2 數(shù)據(jù)抽象與局部視圖設(shè)計本系統(tǒng)采用E-R圖(實體-關(guān)系圖)的方法進(jìn)行數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計。系統(tǒng)E-R圖如下所示:圖3.1總體聯(lián)系各實體屬圖:部門:圖3.2部門實體屬性圖用戶:圖3.3用戶實體屬性圖管理員:圖3.4管理員實體屬性圖報刊:圖3.5報刊實體屬性圖關(guān)系表E-R圖:訂閱:圖3.6訂閱關(guān)系管理:圖3.7管理關(guān)系視圖的集成經(jīng)過逐步細(xì)化再進(jìn)行每兩個一集成初步形成一個E-R圖,最后得到圖3.8總體概念結(jié)構(gòu)E-R圖: 圖3.8整體E-R圖第四章 邏輯結(jié)構(gòu)設(shè)計E-R圖向關(guān)系模型的轉(zhuǎn)換部門(部門號,部門名)用戶(用戶名,密碼,真實姓

10、名,性別,)管理員(管理員名,密碼)報刊(報刊代號,報刊名,類型,出版報社價)訂閱(用戶名,報刊代號,訂閱年限,訂閱數(shù)量,所需金額)此段核心程序用于實現(xiàn)Book表與數(shù)據(jù)的連接及其用戶訂閱報刊的功能。void CBookDlg:FillList()CString sCmdText=Select * From paper;_RecordsetPtr m_pRecordSet;trym_pRecordSet.CreateInstance(ADODB.Recordset);m_pRecordSet-Open(_variant_t)sCmdText,(_variant_t)sConn,adOpenSta

11、tic,adLockOptimistic,adCmdText);while (!m_pRecordSet-adoEOF)InsertDataToList(LPCTSTR)(_bstr_t)m_pRecordSet-GetCollect(Pname),(LPCTSTR)(_bstr_t)m_pRecordSet-GetCollect(Ptype),(LPCTSTR)(_bstr_t)m_pRecordSet-GetCollect(Ppublish),(LPCTSTR)(_bstr_t)m_pRecordSet-GetCollect(Pprice);m_pRecordSet-MoveNext();

12、m_pRecordSet-Close();catch (_com_error e)CString sTemp;sTemp.Format(%s,e.ErrorMessage(); MessageBox(sTemp);void CBookDlg:InsertDataToList(CString Pname, CString Ptype,CString Ppublish, CString Pprice)int index=m_list.GetItemCount();LV_ITEM IvItem;IvItem.mask=LVIF_TEXT;IvItem.iItem=index;IvItem.iSubI

13、tem=0;IvItem.pszText=(char*)(LPCTSTR)Pname;m_list.InsertItem(&IvItem);m_list.SetItemText(index,1,Ptype);m_list.SetItemText(index,2,Ppublish);m_list.SetItemText(index,3,Pprice);int CBookDlg:OnCreate(LPCREATESTRUCT lpCreateStruct) if (CDialog:OnCreate(lpCreateStruct) = -1)return -1;/*/ TODO: Add your

14、specialized creation code hereCRect parentRect;CRect selfRect; this-GetParent()-GetClientRect(parentRect);this-GetClientRect(selfRect);parentRect.right=parentRect.left+selfRect.right-selfRect.left;parentRect.bottom=parentRect.top+selfRect.bottom-selfRect.top; this-MoveWindow(parentRect);*/ TODO: Add

15、 your specialized creation code herereturn 0;void CBookDlg:OnClickList(NMHDR* pNMHDR, LRESULT* pResult) / TODO: Add your control notification handler code herem_SelectedIndexOfList=-1;LPNMITEMACTIVATE lpNMItemActivate = (LPNMITEMACTIVATE)pNMHDR;if(lpNMItemActivate != NULL)m_SelectedIndexOfList = lpN

16、MItemActivate-iItem;/若存在被選中的行if (m_SelectedIndexOfList!=-1)m_name=m_list.GetItemText(m_SelectedIndexOfList,0);m_type =m_list.GetItemText(m_SelectedIndexOfList,1);m_publish=m_list.GetItemText(m_SelectedIndexOfList,2);m_price=m_list.GetItemText(m_SelectedIndexOfList,3);UpdateData(false);*pResult = 0;/

17、不如人意void CBookDlg:OnButtonBook() UpdateData(true);if (m_name= |m_publish=|m_num=)MessageBox(數(shù)據(jù)填寫不完整,無法訂閱刊物!,提醒!);return;try/int num=atoi(LPCTSTR)m_num);/ _bstr_t sCmdText=Insert book (Aname,Pname,Bint) Values (+ ConvertCsToCs(hostname)+,+ConvertCsToCs(m_name)+,+ConvertCsToCs(m_num)+); _variant_t Rec

18、ordAffected;m_oConn-Execute(sCmdText,&RecordAffected,adCmdText);MessageBox(您的訂閱成功,歡迎下次再來訂閱!,提醒!);return;catch (_com_error e)CString sTip;sTip.Format(%s,e.ErrorMessage();/CString CBookDlg:ConvertIntToCString(int ID)CString sDes;sDes.Format(%d,ID);return sDes;CString CBookDlg:ConvertCsToCs(CString ch)

19、ch+=;CString ch2=;ch2+=ch;return ch2;此段程序主要用于數(shù)據(jù)庫中的Uuser表連接,并實現(xiàn)用戶登錄及訂閱報刊的信息。void CUserDlg:OnOK() / TODO: Add extra validation hereint i=0;/ TODO: Add extra validation hereUpdateData();OpenConn();/CString sCmdText=select * From Uuser;_RecordsetPtr m_pRecordSet;trym_pRecordSet.CreateInstance(ADODB.Reco

20、rdset);m_pRecordSet-Open(_variant_t)sCmdText,(_variant_t)sConn,adOpenStatic,adLockOptimistic,adCmdText);while (!m_pRecordSet-adoEOF)bool status=InsertDataToRoomList(LPCTSTR)(_bstr_t)m_pRecordSet-GetCollect(Uname),(LPCTSTR)(_bstr_t)m_pRecordSet-GetCollect(Upass);if(status!=0) i=1;CDialog:OnOK(); CBoo

21、kDlg* BDlg=new CBookDlg(this);BDlg-hostname=m_user; BDlg-DoInter();m_pRecordSet-MoveNext();m_pRecordSet-Close();catch (_com_error e)CString sTemp;sTemp.Format(%s,e.ErrorMessage();MessageBox(sTemp); if(i=0) MessageBox(輸入的用戶名和密碼錯誤!請重新輸入!);void CUserDlg:OnCancel() / TODO: Add extra cleanup hereCDialog:

22、OnCancel();bool CUserDlg:OpenConn()/ 連接到MS SQL Server/_ConnectionPtr m_oConn;HRESULT m_hr;bool IsOpen=false;try m_hr=m_oConn.CreateInstance(_uuidof(Connection); m_oConn-CursorLocation=adUseClient;if (!SUCCEEDED(m_hr)MessageBox(連接數(shù)據(jù)庫失敗);return false;m_hr=m_oConn-Open(_bstr_t(sConn),-1);return true; c

23、atch(_com_error e)/捕捉異常 CString errormessage; errormessage.Format(連接數(shù)據(jù)庫失敗!rn錯誤信息:%s,e.ErrorMessage(); AfxMessageBox(errormessage);/顯示錯誤信息 return false; bool CUserDlg:InsertDataToRoomList(CString Uname, CString Upass)if(m_user=)return 0;CString a = Uname.Left(strlen(m_user);CString b = Upass.Left(str

24、len(m_upass); int i=strcmp(m_user,a);int j=strcmp(m_upass,b);if(i=0)if(j=0) return 1;elsereturn 0;此段程序用于實現(xiàn)主界面的位圖效果顯示,首先創(chuàng)建內(nèi)存設(shè)備環(huán)境,裝入了位圖資源后, 將位圖對象選入設(shè)備環(huán)境, 讀取位圖信息將內(nèi)存中的位圖復(fù)制到屏幕上,就顯示出主界面的位圖效果。void CPubView:OnDraw(CDC* pDC)CPubDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data

25、 hereCDC MemDC; MemDC.CreateCompatibleDC(pDC); Bitmap Bitmap; Bitmap.LoadBitmap(IDB_MYBITMAP); CBitmap *pOldBitmap=MemDC.SelectObject(&Bitmap);BITMAP bm; Bitmap.GetObject(sizeof(BITMAP), &bm); pDC-BitBlt(0, 0, bm.bmWidth, bm.bmHeight, &MemDC,0, 0, SRCCOPY); MemDC.SelectObject(pOldBitmap);4、運行結(jié)果: 登錄管

26、理員界面 注冊新用戶“xuesheng” 管理員增加報刊“西南周報”“xuesheng”登錄用戶界面 用戶訂閱西南周末20份 管理員界面顯示用戶“xuesheng“成功訂閱”西南周報20份總結(jié)通過這次的數(shù)據(jù)庫課程設(shè)計我學(xué)習(xí)并掌握了很多知識與操作。歷時兩個星期的設(shè)計令我受益匪淺,也對數(shù)據(jù)庫這門學(xué)科有了更進(jìn)一步的認(rèn)識與熟悉。 一個好的軟件的設(shè)計必須有一個好的需求分析。我結(jié)合自己的設(shè)計理念,設(shè)計出了六個表,分別是:部門表(department),用戶表(CONSUMER),管理員表(ADMINISTRATOR),管理關(guān)系表(manage),報刊表(MAGAZINE),訂閱表(SUBSCRIBE)。在

27、各個表中我添加了若干個屬性,而這些屬性恰恰是我們最想知道的信息。當(dāng)創(chuàng)建完這些表和屬性后,我開始按照老師給的模板和要求寫論文,寫論文的過程中溫習(xí)了用DB2運行截圖,相較于我這是比較難的步驟。我花了很長的時間才弄懂如何使用。我根據(jù)老師以前給的實驗指導(dǎo)書一步一步的從頭到尾開始學(xué)習(xí)操作應(yīng)用DB2。弄懂了DB2后,我就開始根據(jù)老師的要求進(jìn)行報刊訂閱各個操作。另外,我還自學(xué)了用visio畫E-R圖和模式圖,也有所收獲。完成之后,很有成就感,學(xué)到了很多,希望以后還可以有這樣的課程設(shè)計讓我進(jìn)步。由于本人能力不足,難免會使系統(tǒng)出現(xiàn)一些不足之處,但由于限于時間,本系統(tǒng)只能做出其中的一部分功能。希望老師評點批評 溫馨提示:最好仔細(xì)閱讀后才下載使用,萬分感謝!

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!