圖書管理系統(tǒng)--數(shù)據(jù)庫系統(tǒng)概論課程設計_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  數(shù)據(jù)庫系統(tǒng)概論</b></p><p><b>  課程設計說明書</b></p><p>  題目: 圖書管理系統(tǒng) </p><p>  院 系: 計算機科學與工程學院 </p><p>  專業(yè)班

2、級: 電子信息技術及儀器 </p><p>  學 號: </p><p>  學生姓名: </p><p>  指導教師: </p><p>  2013年 06月 10日</p><p>

3、;  課程設計(論文)任務書</p><p>  計算機科學與工程 學院</p><p><b>  目 錄</b></p><p><b>  1 需求分析3</b></p><p><b>  2 總體設計4</b></p><p>  2.1

4、圖書管理軟件結構設計4</p><p>  2.2 核心功能設計5</p><p>  2.3系統(tǒng)界面設計6</p><p><b>  3 詳細設計7</b></p><p>  3.1圖書管理數(shù)據(jù)庫部分的設計7</p><p>  3.2圖書管理系統(tǒng)功能及界面設計15</p&

5、gt;<p><b>  4、總結20</b></p><p><b>  參考文獻21</b></p><p><b>  1 需求分析</b></p><p>  隨著圖書館規(guī)模的不斷擴大,圖書數(shù)量也相應的增加,有關圖書的各種信息量也成倍增加,面對著龐大的信息量,傳統(tǒng)的人工方式管

6、理會導致圖書館管理上的混亂,人力與物力過多浪費,圖書管理費用的增加,從而使圖書館的負擔過重,影響整個圖書館的運作和控制管理,因此,必須制定一套合理、有效,規(guī)范和實用的圖書管理系統(tǒng),對圖書資料進行集中統(tǒng)一的管理。同時,伴著信息化技術的發(fā)展,可以運用數(shù)據(jù)庫管理技術,實現(xiàn)對圖書的管理,提升圖書管理工作的效率。</p><p>  在以上的大背景需求下,設計了該圖書管理系統(tǒng),方便管理人員對圖書進行相應的管理。通過此圖書管

7、理系統(tǒng),可以查看在庫圖書(書號、書名、出版社、作者、是否在庫),可以查看讀者信息(讀者號、讀者名、性別、年齡、家庭地址、罰款、借書數(shù)目),可以查看借閱信息(書號、書名、讀者號、讀者名、借書日期、還書日期),圖書入庫(修改)功能,新增(刪除,修改)讀者功能。同時,為了使此圖書管理系統(tǒng)更人性化,采用了簡單直觀的對話框模式來展現(xiàn)相應的功能。每個對話框為單獨的界面,分別有登錄界面、菜單界面、讀者信息界面、圖書信息界面、借閱信息界面、還書信息界面

8、、借書信息界面、查詢界面、讀者信息添加界面、書籍信息添加界面,在各個不同的界面中可以執(zhí)行相應的操作。</p><p><b>  2 總體設計</b></p><p>  2.1圖書管理軟件結構設計</p><p>  1. 讀者基本信息的輸入,包括借書證編號、讀者姓名、讀者性別。</p><p>  2.讀者基本信息的

9、查詢、修改,包括讀者借書證編號、讀者姓名、讀者性別等。</p><p>  3.書籍類別標準的制定、類別信息的輸入,包括類別編號、類別名稱。</p><p>  4.書籍類別信息的查詢、修改,包括類別編號、類別名稱。</p><p>  5.書籍庫存信息的輸入,包括書籍編號、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、登記日期。</p><

10、;p>  6.書籍庫存信息的查詢,修改,包括書籍編號、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期登記日期等。</p><p>  7.借書信息的輸入,包括讀者借書證編號、書籍編號、借書日期。</p><p>  8.借書信息的查詢、修改,包括借書證編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期等。</p><p>  9.還書信息的輸入,包括借

11、書證編號、書籍編號、還書日期。 </p><p>  10.還書信息的查詢和修改,包括還書讀者借書證編號、讀者姓名、書籍編號、書籍名稱、借書日期、還書日期等。</p><p>  11.超期還書罰款輸入,還書超出期限包括超出期限還書的讀者借書證號,書籍編號,罰款金額。</p><p>  12.超期還書罰款查詢,刪除,包括讀者借書證編號、讀者姓名、書籍編號、書

12、籍名稱,罰款金額等</p><p>  2.2 核心功能設計</p><p>  1.在讀者信息管理部分,要求:</p><p> ?。?)可以查詢讀者信息。</p><p> ?。?)可以對讀者信息進行添加及刪除的操作。</p><p>  2.在書籍信息管理部分,要求:</p><p>  

13、(1)可以瀏覽書籍信息,要求:</p><p>  (2)可以對書籍信息進行維護,包括添加及刪除的操作。</p><p>  3.在借閱信息管理部分,要求:。</p><p>  (1)可以瀏覽借閱信息。</p><p> ?。?)可以對借閱信息進行維護操作。</p><p>  4.在歸還信息管理部分,要求:<

14、/p><p> ?。?)可以瀏覽歸還信息</p><p> ?。?)對歸還信息可修改維護操作</p><p>  5.在管理者信息管理部分,要求:</p><p>  (1)顯示當前數(shù)據(jù)庫中管理者情況。</p><p> ?。?)對管理者信息維護操作。</p><p>  6.在罰款信息管理部分,要

15、求:</p><p> ?。?)可以瀏覽罰款信息</p><p> ?。?)對罰款信息可以更新</p><p><b>  2.3系統(tǒng)界面設計</b></p><p>  1.利用VC++ 6.0軟件,用MFC實現(xiàn)圖書管理系統(tǒng)界面設計</p><p>  2.利用ODBC實現(xiàn)數(shù)據(jù)庫的連接及相應的操

16、作</p><p>  3.總共設計了10個對話框?qū)崿F(xiàn)圖書管理系統(tǒng)</p><p>  4.每個對話框為單獨的界面,分別是:登錄界面、菜單界面、讀者信息界面、圖書信息界面、借閱信息界面、還書信息界面、借書信息界面、查詢界面、讀者信息添加界面、書籍信息添加界面</p><p><b>  3 詳細設計</b></p><p&g

17、t;  3.1圖書管理數(shù)據(jù)庫部分的設計</p><p><b>  關系模式:</b></p><p>  1.書籍類別(種類編號,種類名稱)</p><p>  2.讀者(借書證編號,讀者姓名,讀者性別,讀者種類,登記時期)</p><p>  3.書籍(書籍編號,書籍名稱,書籍類別,書記作者,出版社名稱,出版日期,登

18、記日期)</p><p>  4.借閱(借書證編號,書籍編號,讀者借書時間)</p><p>  5.還書(借書證編號,書籍編號,讀者還書時間)</p><p>  6.罰款(借書證編號,讀者姓名,借書證編號,書籍編號,讀者借書時間)</p><p>  以上通過關系代數(shù)方法的進行運算得到所需要的結果,在實驗結果中可以看到。</p>

19、;<p><b>  E-R圖:</b></p><p>  根據(jù)所要實現(xiàn)的功能設計,可能建立它們之間的關系,進而實現(xiàn)邏輯結構功能。</p><p>  圖書管理信息系統(tǒng)可以劃分的實體有:書籍類別信息實體、讀者信息實體、書籍信息實體、借閱記錄信息實體,歸還記錄信息實體。用E-R圖一一描述這些實體。</p><p>  1.類別實體

20、E-R圖:</p><p>  圖2-1類別實體E-R圖</p><p>  2.讀者信息實體E-R圖</p><p>  圖2-2 讀者信息實體E-R圖</p><p>  3.信息實體E-R圖:</p><p>  圖2-3信息實體E-R圖</p><p>  4.記錄信息實體E-R圖:&l

21、t;/p><p>  圖2-4 記錄信息實體E-R圖</p><p>  5.記錄信息實體E-R圖:</p><p>  圖2-5記錄信息實體E-R圖</p><p>  6.罰款信息實體E-R圖:</p><p>  圖2-6罰款信息實體E-R圖</p><p>  7.總的信息實體E-R圖:&l

22、t;/p><p>  圖2-7總的信息實體E-R圖</p><p><b>  部分表格截圖:</b></p><p><b>  表:</b></p><p><b>  表2-1:讀者信息</b></p><p><b>  表2-2:書籍信息

23、</b></p><p><b>  表2-3:借書信息</b></p><p><b>  部分代碼實現(xiàn)代碼:</b></p><p><b>  1.創(chuàng)建數(shù)據(jù)庫</b></p><p>  USE master</p><p><b

24、>  GO</b></p><p>  CREATE DATABASE librarysystem</p><p><b>  ON </b></p><p>  ( NAME = librarysystem,</p><p>  FILENAME = 'd:\librarysystem.mdf

25、',</p><p>  SIZE = 10,</p><p>  MAXSIZE = 50,</p><p>  FILEGROWTH = 5 )</p><p><b>  LOG ON</b></p><p>  ( NAME = 'library',</p&g

26、t;<p>  FILENAME = 'd:\librarysystem.ldf',</p><p>  SIZE = 5MB,</p><p>  MAXSIZE = 25MB,</p><p>  FILEGROWTH = 5MB )</p><p><b>  GO</b></p

27、><p><b>  2.書本類別表建立</b></p><p>  create table book_style</p><p><b>  ( </b></p><p>  bookstyleno varchar(30) primary key,</p><p>  boo

28、kstyle varchar(30)</p><p><b>  )</b></p><p><b>  3.創(chuàng)建書庫表</b></p><p>  create table system_books</p><p><b>  ( </b></p><p&

29、gt;  bookid varchar(20) primary key,</p><p>  bookname varchar(30) Not null, </p><p>  bookstyleno varchar(30) Not null,</p><p>  bookauthor varchar(30),</p><p>  bookp

30、ub varchar(30) ,</p><p>  bookpubdate datetime,</p><p>  bookindate datetime ,</p><p>  isborrowed varchar (2) ,</p><p>  foreign key (bookstyleno) references book_styl

31、e (bookstyleno),</p><p><b>  )</b></p><p><b>  4.借書證表建立</b></p><p>  create table system_readers </p><p>  ( readerid varchar(9)primary key,<

32、/p><p>  readername varchar(9)not null ,</p><p>  readersex varchar(2) not null,</p><p>  readertype varchar(10),</p><p>  regdate datetime</p><p><b>  

33、)</b></p><p><b>  5.借書記錄表建立</b></p><p>  create table borrow_record</p><p>  ( bookid varchar(20) primary key,</p><p>  readerid varchar(9),</p>

34、;<p>  borrowdate datetime,</p><p>  foreign key (bookid) references system_books(bookid),</p><p>  foreign key (readerid) references system_readers(readerid),</p><p><b&g

35、t;  )</b></p><p><b>  6.還書記錄表建立</b></p><p>  create table return_record</p><p>  ( bookid varchar(20) primary key,</p><p>  readerid varchar(9),</p

36、><p>  returndate datetime,</p><p>  foreign key (bookid) references system_books(bookid),</p><p>  foreign key (readerid) references system_readers(readerid)</p><p><b

37、>  )</b></p><p><b>  7.罰款單表建立</b></p><p>  create table reader_fee</p><p>  ( readerid varchar(9)not null,</p><p>  readername varchar(9)not null ,

38、</p><p>  bookid varchar(20) primary key,</p><p>  bookname varchar(30) Not null, </p><p>  bookfee varchar(30) ,</p><p>  borrowdate datetime,</p><p>  fo

39、reign key (bookid) references system_books(bookid),</p><p>  foreign key (readerid) references system_readers(readerid)</p><p><b>  )</b></p><p>  備注:初始化工作是通過表格直接添加刪除進行的

40、</p><p>  3.2圖書管理系統(tǒng)功能及界面設計</p><p>  通過VC++ 6.0軟件,用MFC實現(xiàn)圖書管理系統(tǒng)功能及界面設計,總共設計了10個對話框?qū)崿F(xiàn)圖書管理系統(tǒng),每個對話框為單獨的界面,分別是:登錄界面、菜單界面、讀者信息界面、圖書信息界面、借閱信息界面、還書信息界面、借書信息界面、查詢界面、讀者信息添加界面、書籍信息添加界面。以下是部分界面截圖:</p>

41、<p><b>  圖3-1 登錄界面</b></p><p>  圖3-2圖書管理系統(tǒng)主菜單界面</p><p>  圖3-3讀者信息界面</p><p>  圖3-4讀者信息添加窗口界面</p><p>  圖3-5刪除操作界面</p><p>  圖3-6還書信息界面</p

42、><p><b>  部分功能實現(xiàn)代碼:</b></p><p><b>  下一條記錄</b></p><p>  void Cts::OnButton4() </p><p>  {CString s1,s2;</p><p>  p1->MoveNext();<

43、;/p><p>  m_11=p1->m_bookid;</p><p>  m_12=p1->m_bookname;</p><p>  m_13=p1->m_bookstyleno;</p><p>  m_14=p1->m_bookauthor;</p><p>  s1.Format(&qu

44、ot;%d年%d月%d日 %d時:%d分:%d秒",p1->m_bookindate.GetYear(),p1->m_bookindate.GetMonth(),p1->m_bookindate.GetDay(),p1->m_bookindate.GetHour(),</p><p>  p1->m_bookindate.GetMinute(),p1->m_booki

45、ndate.GetSecond());</p><p>  s2.Format("%d年%d月%d日 %d時:%d分:%d秒",p1->m_bookpubdate.GetYear(),p1->m_bookpubdate.GetMonth(),p1->m_bookpubdate.GetDay(),p1->m_bookpubdate.GetHour(),</p>

46、<p>  p1->m_bookpubdate.GetMinute(),p1->m_bookpubdate.GetSecond());</p><p><b>  m_15=s1;</b></p><p><b>  m_16=s2;</b></p><p>  m_17=p1->m_boo

47、kpub;</p><p>  UpdateData(FALSE);}</p><p><b>  2.刪除操作</b></p><p>  void Cts::OnButton5() </p><p>  {if(AfxMessageBox("真的要刪除嗎?",MB_OKCANCEL)==IDCAN

48、CEL)</p><p><b>  return; </b></p><p><b>  else</b></p><p>  {if(p1->IsEOF()) </p><p>  { AfxMessageBox("沒有相關數(shù)據(jù)!"); } </p&

49、gt;<p><b>  else</b></p><p>  { p1->Delete();</p><p>  if(p1->IsEOF()) </p><p>  p1->MoveLast(); </p><p>  else p1->MoveNext(); &

50、lt;/p><p>  p1->Requery(); </p><p>  UpdateData(false); </p><p>  AfxMessageBox("刪除成功!"); } }</p><p><b>  3.修改操作</b></p><p>  v

51、oid Cts::OnButton6() </p><p>  { Cadd f; </p><p>  f.m_21=p1->m_bookid;</p><p>  f.m_22=p1->m_bookname;</p><p>  f.m_23=p1->m_bookstyleno;</p><p

52、>  f.m_24=p1->m_bookauthor;</p><p>  f.m_27=p1->m_bookpub;</p><p>  if(f.DoModal()==IDOK) </p><p>  { p1->Edit(); </p><p>  p1->m_bookid=f.m_21;<

53、/p><p>  p1->m_bookname=f.m_22;</p><p>  p1->m_bookstyleno=f.m_23;</p><p>  p1->m_bookauthor=f.m_24;</p><p>  p1->m_bookpub=f.m_27;</p><p>  p1-&g

54、t;Update(); </p><p>  p1->Requery(); </p><p>  AfxMessageBox("已經(jīng)修改數(shù)據(jù)成功!"); </p><p>  UpdateData(FALSE); }} </p><p><b>  4.查詢操作</b><

55、/p><p>  void Cts::OnButton3() </p><p>  {MessageBox(_T("請輸入您需要查詢的書籍號,謝謝!"), _T("提示"));</p><p><b>  Cgx e;</b></p><p>  CString value;</

56、p><p>  if(e.DoModal()==IDOK)</p><p>  { CString s1,s2;</p><p>  value.Format("select * from system_books where bookid='%s'",e.m_sj);</p><p>  p11->O

57、pen(AFX_DB_USE_DEFAULT_TYPE,value);</p><p>  m_11=p11->m_bookid;</p><p>  m_12=p11->m_bookname;</p><p>  m_13=p11->m_bookstyleno;</p><p>  m_14=p11->m_booka

58、uthor;</p><p>  s1.Format("%d年¨º%d月?%d日¨? %d時º¡À:%d分¤?:%d秒?",p11->m_bookindate.GetYear(),p11->m_bookindate.GetMonth(),p11->m_bookindate.GetDay(),p11->

59、m_bookindate.GetHour(),</p><p>  p11->m_bookindate.GetMinute(),p11->m_bookindate.GetSecond());</p><p>  s2.Format("%d年¨º%d月?%d日¨? %d時º¡À:%d分¤?:%d秒?&

60、quot;,p11->m_bookpubdate.GetYear(),p11->m_bookpubdate.GetMonth(),p11->m_bookpubdate.GetDay(),p11->m_bookpubdate.GetHour(),</p><p>  p11->m_bookpubdate.GetMinute(),p11->m_bookpubdate.GetSeco

61、nd());</p><p><b>  m_15=s1;</b></p><p><b>  m_16=s2;</b></p><p>  m_17=p11->m_bookpub;</p><p>  UpdateData(FALSE);}</p><p><b

62、>  5.返回主菜單</b></p><p>  void Cts::OnButton7() {</p><p>  Ccaidan w;</p><p>  CDialog::OnOK();</p><p>  w.DoModal();</p><p>  w.OnTsButton1();</

63、p><p><b>  }</b></p><p><b>  4、總結</b></p><p>  通過此次圖書管理系統(tǒng)的課程設計,真正達到了學與用的結合,增強了對數(shù)據(jù)庫方面應用的理解,以及對C++、MFC知識的回顧,學會了通過ODBC對數(shù)據(jù)庫進行連接和操作,對自己今后參與開發(fā)數(shù)據(jù)庫系統(tǒng)積累了不少經(jīng)驗,在實驗過程中,從建立數(shù)

64、據(jù)開始,對靈據(jù)庫設計理念及思想上有更高的認識,從需求分析,到概念設計和邏輯設計,E-R圖的表示,數(shù)據(jù)字典的創(chuàng)建,懂得了不少有關數(shù)據(jù)庫開發(fā)過程中的知識,在實驗中建表,及其關系模式,關系代數(shù)的建立及理解,將SQL語的查詢語句用得淋漓盡致,增強了自己在數(shù)據(jù)庫中應用SQL語言的靈活性,其中包括,插入、刪除、修改、查詢,牽涉表和表之間的聯(lián)系,主建與外主鍵的定義,約束項的設置,使邏輯更嚴密,在學習過程中,我也能過上網(wǎng)查了不少資料,也看了一些別人設計

65、的圖書館管理信息系統(tǒng)的設計報告,學以致用,自我創(chuàng)新,獨立完成了這份自己的報告,從中在學到用,從用又到學,不斷修改,系統(tǒng)更新。雖然不能達到完善系統(tǒng),但也做到了盡善盡美,加強理論學習對完善系統(tǒng)會有很多幫助,不管怎么說,對這次做的課程設計自己覺得還算滿意。</p><p><b>  參考文獻</b></p><p>  [1]Inmon W H.數(shù)據(jù)庫.王志海等譯[M].

66、北京:機械工業(yè)出版社,2000</p><p>  [2]Imhoff C等.數(shù)據(jù)庫設計.于戈等譯[M].北京:機械工業(yè)出版社,2003</p><p>  [3]溫秀梅,丁學鈞.C++語言程序設計教程與實驗[M].北京:清華大學出版社,2004</p><p>  [4]嚴華峰等.Visual C++課程設計案例精編[M].北京:中國水利水電出版社,2004<

溫馨提示

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

評論

0/150

提交評論