圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告書_第1頁
圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告書_第2頁
圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告書_第3頁
圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告書_第4頁
圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告書_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

18-圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告書河南理工大學(xué)圖書管理系統(tǒng)一、背景資料:圖書館有各種圖書若干萬冊。每種圖書都有書名、圖書編號、作者(譯者)、出版社、定價和內(nèi)容簡介。借書證記錄有借閱者的姓名、工作單位、住址、聯(lián)系電話等。憑借書證借書,每次最多能借5本書,借書期限最長為60天。二、系統(tǒng)功能需求:1)圖書館借閱書籍于歸還書籍的登記。也就是為讀者建立一個臺賬,應(yīng)用該臺賬,工作人員能方便地掌握某位讀者借了哪些書,借了多長時間。2)編著催還圖書通知單。圖書館對所借書籍的最長借閱時間限制為60天,對逾期未還的讀者下達催還圖書通知單,促其盡快還書,以加快圖書的流通。3)提供快速的圖書查詢功能,方便讀者盡快插大所需要的書。4)系統(tǒng)提供的全部功能要簡單、直觀、實用。三、系統(tǒng)數(shù)據(jù)庫關(guān)系的E—R圖:系統(tǒng)所涉及到的實體及關(guān)聯(lián)關(guān)系比較簡單,主要的實體只有讀者和圖書兩個,他們通過讀者的借閱活動而發(fā)生聯(lián)系,其E—R圖如下:讀者姓名聯(lián)系電話工作單位內(nèi)容提要號在庫數(shù)量庫存數(shù)量讀者姓名聯(lián)系電話工作單位內(nèi)容提要號在庫數(shù)量庫存數(shù)量讀者圖書圖書類別作者出版社圖書名稱圖書編號價格借閱住址讀者編號四、系統(tǒng)設(shè)計:1、功能設(shè)計:1)圖書借閱。為有借書證的讀者辦理借閱登記,登記的內(nèi)容包括借書證編號、圖書編號、借閱日期。2)圖書歸還。在適當位置登記,這個適當位置應(yīng)該由借書證編號和圖書編號決定。3)編制催還圖書通知單。對借閱圖書超過60天者打印催還圖書通知單,其內(nèi)容包括借書證編號、讀者姓名、電話號碼、圖書編號、名稱、作者、出版社、借閱日期等信息。4)借書證辦理與退還。本系統(tǒng)只提供對借書證發(fā)放(辦理)和回收(退還)兩個過程的支持。5)圖書入庫預(yù)報廢。新采購書的入庫登記和廢舊圖書的報廢登記。對于新書入庫有兩種不同的情況:其一是新采購的圖書在以前登記過,這次屬于補充庫存;其二是圖書館以前沒有登記過。2、數(shù)據(jù)庫設(shè)計:根據(jù)E—R圖,將其轉(zhuǎn)化為如下數(shù)據(jù)實體,數(shù)據(jù)庫:book.dbc,包括如下的表和視圖:借書證發(fā)放登記表——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)內(nèi)容提要M庫存數(shù)量I在庫數(shù)量I圖書類型表——typer.dbf圖書類別C(8)借書登記表——brower.dbf借書證編號C(8)圖書編號C(8)借閱日期D歸還日期D借書視圖——brower為了打印催還通知書單的需要,設(shè)計了一個借書視圖文件,該視圖從reader.dbf等3個表中提取了7個字段的數(shù)據(jù):reader.借書證編號reader.姓名reader.電話號碼brower.圖書編號brower.借閱日期booker.圖書名稱booker.作者其視圖關(guān)系可由以下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、總體模塊設(shè)計:該系統(tǒng)的全部功能由一個主控界面(兩個表單)、一個報表以及相關(guān)的四個表單組成,其總體模塊框圖如下:圖書館信息管理系統(tǒng)圖書館信息管理系統(tǒng)借書證管理(表單)借書證管理(表單)借書登記(表單)還書登記(表單)圖書庫存管理(表單)催還通知(報表)五、模塊設(shè)計:1、歡迎界面和主控界面表單的設(shè)計:圖書館信息管理系統(tǒng)的主界面由“歡迎表單”和“主控表單”組成,主控表單上安排六個命令按鈕,分別實現(xiàn)總體框圖中的五部分功能和退出系統(tǒng)模塊。每個命令按鈕觸發(fā)的結(jié)果均執(zhí)行一條命令,運行一個表單,或啟動一個報表文件的運行,或者退回到visualfoxpro系統(tǒng)狀態(tài)。歡迎表單標簽的caption屬性為“歡迎使用河南理工大學(xué)圖書管理系統(tǒng)!”,并設(shè)置“進入”和“退出”兩個按鈕,通過“進入”按鈕(設(shè)計代碼為:doform主控表單.scx)進入主控界面,通過“退出”按鈕退出系統(tǒng)。主控表單的設(shè)計代碼如下:“借書證管理”按鈕的click事件代碼:doform借書證管理.scx“借書登記”按鈕的click事件代碼:doform借書登記.scx“還書登記”按鈕的click事件代碼:doform還書登記.scx“圖書入庫與報廢”按鈕的click事件代碼:doform圖書入庫與報廢.scx“催還書通知”按鈕的click事件代碼:reportform催還書通知.frx“退出系統(tǒng)”按鈕的click事件代碼:ReleasethisformCloseallQuit2、其他表單的設(shè)計:1)借書證管理表單設(shè)計:此表單的數(shù)據(jù)源是reader.dbf表,在其支持下完成用戶要進行的圖書證的發(fā)放和退回工作。用戶從“借書證編號”文本框中輸入一個借書證編號,如果該借書證在reader.dbf表中已存在,系統(tǒng)會在下面的表格對象中顯示與之對應(yīng)的讀者情況,否則顯示為空。當單擊“辦理借書證”按鈕后,系統(tǒng)會在表格中添加一行空記錄,等待用戶輸入新讀者的資料,并自動把辦證日期賦值為系統(tǒng)當前日期,用戶退出表單時系統(tǒng)將新數(shù)據(jù)存入與表單對應(yīng)的reader.dbf表中;當用戶單擊“退還借書證”按鈕后,系統(tǒng)把當前日期賦值給換證日期字段,表述該讀者已歸還借書證。與表單對應(yīng)的各種對象的屬性值和事件代碼說明如下:(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)借書證登記表單的設(shè)計:此表單是整個系統(tǒng)的一個主要菜單,共涉及到reader.dbf,booker.dbf,brower.dbf,typer.dbf等四個表。用戶在左上角的組合框?qū)ο笾羞x擇“借書證編號”,文本框中的“讀者姓名”與“電話號碼”是系統(tǒng)自動顯示的。在“選擇圖類型”組合框中選擇要借閱的圖類型,表格中顯示圖書的庫存信息,在單擊“借閱”按鈕后,系統(tǒng)自動進行借閱登記,表單下半部分顯示該讀者現(xiàn)在未歸還的圖書及借閱日期。下面對有關(guān)對象的屬性及代碼進行說明:數(shù)據(jù)環(huán)境。數(shù)據(jù)環(huán)境中包含了四個表,其中的cuosor對象與表的對應(yīng)關(guān)系如下: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表為數(shù)據(jù)源。(7)表單下半部分的表格對象,由表格對象生成器生成即可,該表格對象以brower.dbf表為數(shù)據(jù)源。(8)“借書”按鈕的click事件代碼如下:ifbooker.圖書編號=trim(bo2.value)replacebooker.在庫數(shù)量withbooker.在庫數(shù)量-1endififused("brower")selectbrowergobottomappendblankendififbooker.圖書編號=trim(bo2.value)replacebrower.圖書編號withbooker.圖書編號replacebrower.借閱日期withdata()endififused("reader")selectreaderreplacebrower.借書證編號withreader.借書證編號endifthisform.refreshreturn3)還書登記表單的設(shè)計:該表單共涉及reader.dbf,brower.dbf和booker.dbf等三個數(shù)據(jù)表,當用戶在借書證編號的組合框內(nèi)選擇一個借書證編號后,系統(tǒng)會自動在后面的文本框中現(xiàn)實與該編號對應(yīng)的讀者姓名和聯(lián)系電話,并在表格對象中顯示該讀者尚未歸還的書,然后由用戶在表格中用鼠標選擇其要歸還的書,選中后單擊“還書”按鈕。有關(guān)對象的屬性及代碼說明如下:(1)數(shù)據(jù)環(huán)境。該數(shù)據(jù)環(huán)境包含三個表,數(shù)據(jù)環(huán)境中cursor對象與表的對應(yīng)關(guān)系是: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)讀者姓名文本框?qū)傩?。Control屬性——reader.讀者姓名Enable屬性——.F.

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

(6)“還書”按鈕的click事件代碼:tdbf=alias()select(thisform.dataenvironment.cursor2.alias)replace歸還日期withdata()select(thisform.dataenvironment.cursor3.alias)replace在庫數(shù)量with在庫數(shù)量+1select&tdbfthisform.refreshreturn4)“圖書入庫與報廢”表單的設(shè)計:該表單左上角的“圖書編號”文本框供用戶輸入要登記入庫和要報廢的圖書編號,后面的冊數(shù)文本框輸入對應(yīng)的或報廢的圖書冊數(shù),如果所輸入的圖書編號是一個booker.dbf表中已存在的編號(這表示是進行圖書報廢登記),下面的表格對象中會顯示該圖書的其他信息,反之,表示一種新書要入庫登記,實質(zhì)是要將這種圖書信息添加到booker.dbf數(shù)據(jù)表中。對表單中有關(guān)對象的屬性與代碼說明如下:數(shù)據(jù)環(huán)境。表單中只包含一個booker.dbf表?!皥D書編號”與“冊數(shù)”文本框。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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論