圖書管理系統數據庫課程設計報告書_第1頁
圖書管理系統數據庫課程設計報告書_第2頁
圖書管理系統數據庫課程設計報告書_第3頁
圖書管理系統數據庫課程設計報告書_第4頁
圖書管理系統數據庫課程設計報告書_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

18-圖書管理系統數據庫課程設計報告書河南理工大學圖書管理系統一、背景資料:圖書館有各種圖書若干萬冊。每種圖書都有書名、圖書編號、作者(譯者)、出版社、定價和內容簡介。借書證記錄有借閱者的姓名、工作單位、住址、聯系電話等。憑借書證借書,每次最多能借5本書,借書期限最長為60天。二、系統功能需求:1)圖書館借閱書籍于歸還書籍的登記。也就是為讀者建立一個臺賬,應用該臺賬,工作人員能方便地掌握某位讀者借了哪些書,借了多長時間。2)編著催還圖書通知單。圖書館對所借書籍的最長借閱時間限制為60天,對逾期未還的讀者下達催還圖書通知單,促其盡快還書,以加快圖書的流通。3)提供快速的圖書查詢功能,方便讀者盡快插大所需要的書。4)系統提供的全部功能要簡單、直觀、實用。三、系統數據庫關系的E—R圖:系統所涉及到的實體及關聯關系比較簡單,主要的實體只有讀者和圖書兩個,他們通過讀者的借閱活動而發生聯系,其E—R圖如下:讀者姓名聯系電話工作單位內容提要號在庫數量庫存數量讀者姓名聯系電話工作單位內容提要號在庫數量庫存數量讀者圖書圖書類別作者出版社圖書名稱圖書編號價格借閱住址讀者編號四、系統設計:1、功能設計:1)圖書借閱。為有借書證的讀者辦理借閱登記,登記的內容包括借書證編號、圖書編號、借閱日期。2)圖書歸還。在適當位置登記,這個適當位置應該由借書證編號和圖書編號決定。3)編制催還圖書通知單。對借閱圖書超過60天者打印催還圖書通知單,其內容包括借書證編號、讀者姓名、電話號碼、圖書編號、名稱、作者、出版社、借閱日期等信息。4)借書證辦理與退還。本系統只提供對借書證發放(辦理)和回收(退還)兩個過程的支持。5)圖書入庫預報廢。新采購書的入庫登記和廢舊圖書的報廢登記。對于新書入庫有兩種不同的情況:其一是新采購的圖書在以前登記過,這次屬于補充庫存;其二是圖書館以前沒有登記過。2、數據庫設計:根據E—R圖,將其轉化為如下數據實體,數據庫:book.dbc,包括如下的表和視圖:借書證發放登記表——reader.dbf。借書證編號C(8)讀者姓名C(8)工作單位C(30)電話號碼C(11)家庭住址C(20)辦證日期D退證日期D圖書登記表——booker.dbf。圖書編號C(8)圖書名稱C(30)作者C(8)出版社C(30)圖書類別C(8)圖書價格N(5,1)內容提要M庫存數量I在庫數量I圖書類型表——typer.dbf圖書類別C(8)借書登記表——brower.dbf借書證編號C(8)圖書編號C(8)借閱日期D歸還日期D借書視圖——brower為了打印催還通知書單的需要,設計了一個借書視圖文件,該視圖從reader.dbf等3個表中提取了7個字段的數據:reader.借書證編號reader.姓名reader.電話號碼brower.圖書編號brower.借閱日期booker.圖書名稱booker.作者其視圖關系可由以下SQL語句定義:Selectreader.借書證編號,reader.姓名,reader.電話號碼,brower.圖書編號,;brower.借閱日期,booker.圖書名稱,booker.作者;frombook!readerinnerjoinbook!brower;innerjoinbook!booker;onbrower.圖書編號=booker.圖書編號onreader.借書證編號=brower.借書證編號;wherebrower.借閱日期<data()-60;anddata()-brower.歸還日期=0;orderbyreader.借書證編號3、總體模塊設計:該系統的全部功能由一個主控界面(兩個表單)、一個報表以及相關的四個表單組成,其總體模塊框圖如下:圖書館信息管理系統圖書館信息管理系統借書證管理(表單)借書證管理(表單)借書登記(表單)還書登記(表單)圖書庫存管理(表單)催還通知(報表)五、模塊設計:1、歡迎界面和主控界面表單的設計:圖書館信息管理系統的主界面由“歡迎表單”和“主控表單”組成,主控表單上安排六個命令按鈕,分別實現總體框圖中的五部分功能和退出系統模塊。每個命令按鈕觸發的結果均執行一條命令,運行一個表單,或啟動一個報表文件的運行,或者退回到visualfoxpro系統狀態。歡迎表單標簽的caption屬性為“歡迎使用河南理工大學圖書管理系統!”,并設置“進入”和“退出”兩個按鈕,通過“進入”按鈕(設計代碼為:doform主控表單.scx)進入主控界面,通過“退出”按鈕退出系統。主控表單的設計代碼如下:“借書證管理”按鈕的click事件代碼:doform借書證管理.scx“借書登記”按鈕的click事件代碼:doform借書登記.scx“還書登記”按鈕的click事件代碼:doform還書登記.scx“圖書入庫與報廢”按鈕的click事件代碼:doform圖書入庫與報廢.scx“催還書通知”按鈕的click事件代碼:reportform催還書通知.frx“退出系統”按鈕的click事件代碼:ReleasethisformCloseallQuit2、其他表單的設計:1)借書證管理表單設計:此表單的數據源是reader.dbf表,在其支持下完成用戶要進行的圖書證的發放和退回工作。用戶從“借書證編號”文本框中輸入一個借書證編號,如果該借書證在reader.dbf表中已存在,系統會在下面的表格對象中顯示與之對應的讀者情況,否則顯示為空。當單擊“辦理借書證”按鈕后,系統會在表格中添加一行空記錄,等待用戶輸入新讀者的資料,并自動把辦證日期賦值為系統當前日期,用戶退出表單時系統將新數據存入與表單對應的reader.dbf表中;當用戶單擊“退還借書證”按鈕后,系統把當前日期賦值給換證日期字段,表述該讀者已歸還借書證。與表單對應的各種對象的屬性值和事件代碼說明如下:(1)“借書證編號”文本框的屬性值和事件代碼:Name屬性——text1Format屬性——‘XXXXXXXXXX’Interactivechange事件代碼:thisform.dataenvironment.cursor1.filter='借書證編號='+""+trim(this.value)+""thisform.refreshreturnLostfocus事件代碼:thisform.dataenvironment.cursor1.filter='借書證編號='+""+trim(this.value)+""thisform.refreshreturn(2)“辦理借書證”按鈕的click事件代碼:appendblankreplace借書證編號withthisform.text1.value,辦證日期withdate()thisform.dataenvironment.cursor1.filter=’借書證編號=’+""+trim(thisform.text1.value)+""thisform.refreshreturn(3)“退還借書證”按鈕的click事件代碼:thisform.gird1.column6.text1.value=data()return(4)“退出”按鈕的click事件代碼:CLOSEALLThisform.release其他表單的“退出”按鈕的代碼完全相同,以后不再進行說明。2)借書證登記表單的設計:此表單是整個系統的一個主要菜單,共涉及到reader.dbf,booker.dbf,brower.dbf,typer.dbf等四個表。用戶在左上角的組合框對象中選擇“借書證編號”,文本框中的“讀者姓名”與“電話號碼”是系統自動顯示的。在“選擇圖類型”組合框中選擇要借閱的圖類型,表格中顯示圖書的庫存信息,在單擊“借閱”按鈕后,系統自動進行借閱登記,表單下半部分顯示該讀者現在未歸還的圖書及借閱日期。下面對有關對象的屬性及代碼進行說明:數據環境。數據環境中包含了四個表,其中的cuosor對象與表的對應關系如下:Cuosor1—typer.dbf圖書類型表Cuosor2—booker.dbf圖書登記表Cuosor3—reader.dbf借書證登記表Cuosor4—brower.dbf借書登記表(2)“借書證編號”組合框的屬性和事件代碼:Constrolsource屬性——reader.借書證編號Interactivechange代碼:thisform.dataenvironment.cursor3.filter='借書證編號='+""+this.value+""thisform.dataenvironment.cursor4.filter='借書證編號='+""+;this.value+""+'anddata()-brower.歸還日期=0'thisform.refreshlostfocus代碼:thisform.dataenvironment.cursor3.filter='借書證編號='+""+this.value+""thisform.dataenvironment.cursor4.filter='借書證編號='+""+;this.value+""+'anddata()-brower.歸還日期=0'thisform.refresh(3)“圖書類型選擇”組合的屬性:Rowsource屬性——typer.圖書類別(4)顯示姓名的文本框:Controlsource——reader.讀者姓名(5)顯示電話號碼的文本:Controlsource——reader.電話號碼(6)表單上半部分的表格對象,由表格對象生成器生成即可,該表格對象以booker.dbf表為數據源。(7)表單下半部分的表格對象,由表格對象生成器生成即可,該表格對象以brower.dbf表為數據源。(8)“借書”按鈕的click事件代碼如下:ifbooker.圖書編號=trim(bo2.value)replacebooker.在庫數量withbooker.在庫數量-1endififused("brower")selectbrowergobottomappendblankendififbooker.圖書編號=trim(bo2.value)replacebrower.圖書編號withbooker.圖書編號replacebrower.借閱日期withdata()endififused("reader")selectreaderreplacebrower.借書證編號withreader.借書證編號endifthisform.refreshreturn3)還書登記表單的設計:該表單共涉及reader.dbf,brower.dbf和booker.dbf等三個數據表,當用戶在借書證編號的組合框內選擇一個借書證編號后,系統會自動在后面的文本框中現實與該編號對應的讀者姓名和聯系電話,并在表格對象中顯示該讀者尚未歸還的書,然后由用戶在表格中用鼠標選擇其要歸還的書,選中后單擊“還書”按鈕。有關對象的屬性及代碼說明如下:(1)數據環境。該數據環境包含三個表,數據環境中cursor對象與表的對應關系是:Cursor1——reader.dbfCursor2——brower.dbfCursor3——booker.dbf(2)“借書證編號”組合框的屬性和事件代碼:Rowsource屬性——reader.借書證編號Gotfocus事件代碼:Thisform.dataenvironment.cursor1.filter=""thisform.refreshInteractivechange代碼:thisform.dataenvironment.cursor1.filter='借書證編號='+""+this.value+""thisform.dataenvironment.cursor2.filter='借書證編號='+""+this.value+""+'anddata()-歸還日期=0'thisform.refresh(3)讀者姓名文本框屬性。Control屬性——reader.讀者姓名Enable屬性——.F.

4)讀者電話文本框屬性。Control屬性——reader.電話號碼Enable屬性——.F.(5)表格對象。表格對象由表格生成器生成,數據源為brower.Dbf表,并在生成后表格的列對象的enabled屬性設為.F.

(6)“還書”按鈕的click事件代碼:tdbf=alias()select(thisform.dataenvironment.cursor2.alias)replace歸還日期withdata()select(thisform.dataenvironment.cursor3.alias)replace在庫數量with在庫數量+1select&tdbfthisform.refreshreturn4)“圖書入庫與報廢”表單的設計:該表單左上角的“圖書編號”文本框供用戶輸入要登記入庫和要報廢的圖書編號,后面的冊數文本框輸入對應的或報廢的圖書冊數,如果所輸入的圖書編號是一個booker.dbf表中已存在的編號(這表示是進行圖書報廢登記),下面的表格對象中會顯示該圖書的其他信息,反之,表示一種新書要入庫登記,實質是要將這種圖書信息添加到booker.dbf數據表中。對表單中有關對象的屬性與代碼說明如下:數據環境。表單中只包含一個booker.dbf表。“圖書編號”與“冊數”文本框。Name屬性分別為text1和text2。表格對象,由表格生成器生成。(4)“新書入庫登記”按鈕click事件代碼:thisform.dataenvironment.cursor1.filter='圖書編號='+""+trim(thisform.text1.value)+""ifeof()appendblankreplace圖書編號withthisform.text.valuethisform.refreshthisform.grid1.column1.enable=.t.thisform.grid1.column2.enable=.t.thisform.grid1.column3.enable=.t.thisform.grid1.column4.enable=.t.thisform.grid1.column5.enable=.t.endifthisform.grid1.column8.text1.value=thisform.grid1.column8.text1.value+val(thisform.text2.value)thisform.grid1.column9.text1.value=thisform.grid1.column9.text1.value+val(thisform.text2.value)thisform.refreshreturn(5)“圖書報廢登記”按鈕的click事件代碼:thisform.grid1.column8.text1.value=thisform.grid1.column8.text1.valu

溫馨提示

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

評論

0/150

提交評論