版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 電子商務(wù)數(shù)據(jù)庫技術(shù)課程設(shè)計報告</p><p> 題目: 圖書管理系統(tǒng) </p><p> 院 系: </p><p> 專業(yè)班級: </p><p> 學(xué) 號:
2、 </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: </p><p><b> 說 明</b></p><p><b> 內(nèi)容要求:</b></p><p> 整個課程
3、設(shè)計分為五部分,分別為需求分析,數(shù)據(jù)庫系統(tǒng)設(shè)計,數(shù)據(jù)庫詳細(xì)設(shè)計,數(shù)據(jù)庫實現(xiàn)和應(yīng)用程序的設(shè)計與實現(xiàn)。每部分按要求完成設(shè)計任務(wù),并將結(jié)果體現(xiàn)在報告中。</p><p><b> 2、排版: </b></p><p> 一級標(biāo)題四號字,宋體,加粗,段前段后0.5行;二級標(biāo)題小四號字,宋體,加粗,行距20磅;正文小四號字,宋體,行距20磅;參考文獻(xiàn)五號字,宋體,行距20磅
4、;。</p><p> 采用A4紙打印,頁面設(shè)置:上、下2.54厘米,左、右3.17厘米,左側(cè)兩釘裝訂。頁碼從第一部分設(shè)計內(nèi)容開始,居中標(biāo)注。參考文獻(xiàn)等以附錄形式出現(xiàn)。</p><p><b> 成績評定:</b></p><p> 每部分的完成情況分別為15分,報告說明的清晰度和排版等15分,創(chuàng)新性10分。</p><
5、;p><b> 一、系統(tǒng)功能需求:</b></p><p> 1)圖書館借閱書籍于歸還書籍的登記。也就是為讀者建立一個臺賬,應(yīng)用該臺賬,工作人員能方便地掌握某位讀者借了哪些書,借了多長時間。</p><p> 2)編著催還圖書通知單。圖書館對所借書籍的最長借閱時間限制為60天,對逾期未還的讀者下達(dá)催還圖書通知單,促其盡快還書,以加快圖書的流通。</p
6、><p> 3)提供快速的圖書查詢功能,方便讀者盡快插大所需要的書。</p><p> 4)系統(tǒng)提供的全部功能要簡單、直觀、實用。</p><p> 二、系統(tǒng)數(shù)據(jù)庫關(guān)系的E—R圖:</p><p> 系統(tǒng)所涉及到的實體及關(guān)聯(lián)關(guān)系比較簡單,主要的實體只有讀者和圖書兩個,他們通過讀者的借閱活動而發(fā)生聯(lián)系,其E—R圖如下:</p>
7、<p><b> 三、系統(tǒng)設(shè)計:</b></p><p><b> 1、功能設(shè)計:</b></p><p> 1) 圖書借閱。為有借書證的讀者辦理借閱登記,登記的內(nèi)容包括借書證編號、圖書編號、借閱日期。</p><p> 2)圖書歸還。在適當(dāng)位置登記,這個適當(dāng)位置應(yīng)該由借書證編號和圖書編號決定。<
8、/p><p> 3)編制催還圖書通知單。對借閱圖書超過60天者打印催還圖書通知單,其內(nèi)容包括借書證編號、讀者姓名、電話號碼、圖書編號、名稱、作者、出版社、借閱日期等信息。</p><p> 4)借書證辦理與退還。本系統(tǒng)只提供對借書證發(fā)放(辦理)和回收(退還)兩個過程的支持。</p><p> 5)圖書入庫預(yù)報廢。新采購書的入庫登記和廢舊圖書的報廢登記。對于新書入庫
9、有兩種不同的情況:其一是新采購的圖書在以前登記過,這次屬于補充庫存;</p><p> 其二是圖書館以前沒有登記過。</p><p><b> 2、數(shù)據(jù)庫設(shè)計:</b></p><p> 根據(jù)E—R圖,將其轉(zhuǎn)化為如下數(shù)據(jù)實體,數(shù)據(jù)庫:book.dbc,包括如下的表和視圖:</p><p> 借書證發(fā)放登記表——r
10、eader.dbf。</p><p> 借書證編號 C(8)</p><p> 讀者姓名 C(8)</p><p> 工作單位 C(30)</p><p> 電話號碼 C(11)</p><p> 家庭住址 C(20)</p><p> 辦證日期
11、 D</p><p> 退證日期 D</p><p> 圖書登記表——booker.dbf。</p><p> 圖書編號 C(8)</p><p> 圖書名稱 C(30)</p><p> 作者 C(8)</p><p> 出版社
12、 C(30)</p><p> 圖書類別 C(8)</p><p> 圖書價格 N(5,1)</p><p> 內(nèi)容提要 M</p><p> 庫存數(shù)量 I</p><p> 在庫數(shù)量 I</p><p> 圖書類型表——typer.dbf
13、</p><p> 圖書類別 C(8)</p><p> 借書登記表——brower.dbf</p><p> 借書證編號 C(8)</p><p> 圖書編號 C(8)</p><p> 借閱日期 D</p><p> 歸還日期 D</p&
14、gt;<p> 借書視圖——brower</p><p> 為了打印催還通知書單的需要,設(shè)計了一個借書視圖文件,該視圖從 </p><p> reader.dbf等3個表中提取了7個字段的數(shù)據(jù):</p><p> reader.借書證編號</p><p><b> reader.姓名</b>&l
15、t;/p><p> reader.電話號碼</p><p> brower.圖書編號</p><p> brower.借閱日期</p><p> booker.圖書名稱</p><p><b> booker.作者</b></p><p> 其視圖關(guān)系可由以下SQL
16、語句定義:</p><p> Select reader.借書證編號, reader.姓名, reader.電話號碼, brower.圖書編號,;</p><p> brower.借閱日期,booker.圖書名稱,booker.作者;</p><p> from book!reader inner join book!brower;</p>&l
17、t;p> inner join book!booker;</p><p> on brower.圖書編號=booker.圖書編號</p><p> on reader. 借書證編號= brower. 借書證編號;</p><p> where brower.借閱日期<data()-60;</p><p> and dat
18、a()-brower.歸還日期=0;</p><p> order by reader.借書證編號</p><p><b> 3、總體模塊設(shè)計:</b></p><p> 該系統(tǒng)的全部功能由一個主控界面(兩個表單)、一個報表以及相關(guān)的四個表單組成,其總體模塊框圖如下:</p><p><b> 四、模塊
19、設(shè)計:</b></p><p> 1、歡迎界面和主控界面表單的設(shè)計:</p><p> 圖書館信息管理系統(tǒng)的主界面由“歡迎表單”和“主控表單”組成,主控表單上安排六個命令按鈕,分別實現(xiàn)總體框圖中的五部分功能和退出系統(tǒng)模塊。每個命令按鈕觸發(fā)的結(jié)果均執(zhí)行一條命令,運行一個表單,或啟動一個報表文件的運行,或者退回到visual foxpro系統(tǒng)狀態(tài)。</p><
20、;p> 歡迎表單標(biāo)簽的caption屬性為“歡迎使用河南理工大學(xué)圖書管理系統(tǒng)!”,并設(shè)置“進(jìn)入”和“退出”兩個按鈕,通過“進(jìn)入”按鈕(設(shè)計代碼為:do form 主控表單.scx)進(jìn)入主控界面,通過“退出”按鈕退出系統(tǒng)。</p><p> 主控表單的設(shè)計代碼如下:</p><p> “借書證管理”按鈕的click事件代碼:do form 借書證管理.scx</p>
21、<p> “借書登記”按鈕的click事件代碼:do form借書登記.scx</p><p> “還書登記” 按鈕的click事件代碼:do form還書登記.scx</p><p> “圖書入庫與報廢” 按鈕的click事件代碼:do form圖書入庫與報廢.scx</p><p> “催還書通知” 按鈕的click事件代碼:report f
22、orm催還書通知.frx</p><p> “退出系統(tǒng)”按鈕的click事件代碼:</p><p> Release thisform</p><p><b> Close all</b></p><p><b> Quit</b></p><p> 2、其他表單的
23、設(shè)計: </p><p> 1)借書證管理表單設(shè)計:</p><p> 此表單的數(shù)據(jù)源是reader.dbf表,在其支持下完成用戶要進(jìn)行的圖書證的發(fā)放和退回工作。用戶從“借書證編號”文本框中輸入一個借書證編號,如果該借書證在reader.dbf表中已存在,系統(tǒng)會在下面的表格對象中顯示與之對應(yīng)的讀者情況,否則顯示為空。當(dāng)單擊“辦理借書證”按鈕后,系統(tǒng)會在表格中添加一行空記錄,等待用戶輸入
24、新讀者的資料,并自動把辦證日期賦值為系統(tǒng)當(dāng)前日期,用戶退出表單時系統(tǒng)將新數(shù)據(jù)存入與表單對應(yīng)的reader.dbf表中;當(dāng)用戶單擊“退還借書證”按鈕后,系統(tǒng)把當(dāng)前日期賦值給換證日期字段,表述該讀者已歸還借書證。</p><p> 與表單對應(yīng)的各種對象的屬性值和事件代碼說明如下:</p><p> (1)“借書證編號”文本框的屬性值和事件代碼:</p><p>
25、Name屬性——text1</p><p> Format屬性——‘XXXXXXXXXX’</p><p> Interactivechange事件代碼:</p><p> thisform.dataenvironment.cursor1.filter='借書證編號='+""+trim(this.value)+"&
26、quot;</p><p> thisform.refresh</p><p><b> return</b></p><p> Lostfocus事件代碼:</p><p> thisform.dataenvironment.cursor1.filter='借書證編號='+""
27、;+trim(this.value)+""</p><p> thisform.refresh</p><p><b> return</b></p><p> (2)“辦理借書證”按鈕的click事件代碼:</p><p> append blank</p><p>
28、 replace 借書證編號 with thisform.text1.value,辦證日期 with date()</p><p> thisform.dataenvironment.cursor1.filter=’借書證編號=’+""+trim(thisform.text1.value)+""</p><p> thisform.refres
29、h</p><p><b> return</b></p><p> (3)“退還借書證”按鈕的click事件代碼: </p><p> thisform.gird1.column6.text1.value=data()</p><p><b> return</b></p>
30、;<p> (4)“退出”按鈕的click事件代碼:</p><p><b> CLOSE ALL</b></p><p> Thisform.release</p><p> 其他表單的“退出”按鈕的代碼完全相同,以后不再進(jìn)行說明。</p><p> 2) 借書證登記表單的設(shè)計:</p&g
31、t;<p> 此表單是整個系統(tǒng)的一個主要菜單,共涉及到reader.dbf,booker.dbf,brower.dbf,typer.dbf等四個表。用戶在左上角的組合框?qū)ο笾羞x擇“借書證編號”,文本框中的“讀者姓名”與“電話號碼”是系統(tǒng)自動顯示的。在“選擇圖類型”組合框中選擇要借閱的圖類型,表格中顯示圖書的庫存信息,在單擊“借閱”按鈕后,系統(tǒng)自動進(jìn)行借閱登記,表單下半部分顯示該讀者現(xiàn)在未歸還的圖書及借閱日期。</p
32、><p> 下面對有關(guān)對象的屬性及代碼進(jìn)行說明:</p><p> 數(shù)據(jù)環(huán)境。數(shù)據(jù)環(huán)境中包含了四個表,其中的cuosor對象與表的對應(yīng)關(guān)系如下:</p><p> Cuosor1—typer.dbf 圖書類型表</p><p> Cuosor2—booker.dbf 圖書登記表</p>
33、<p> Cuosor3—reader.dbf 借書證登記表</p><p> Cuosor4—brower.dbf 借書登記表</p><p> (2)“借書證編號”組合框的屬性和事件代碼:</p><p> Constrolsource屬性——reader.借書證編號</p><p
34、> Interactivechange代碼:</p><p> thisform.dataenvironment.cursor3.filter='借書證編號='+""+this.value+""</p><p> thisform.dataenvironment.cursor4.filter='借書證編號='
35、;+""+;</p><p> this.value+""+'and data()-brower.歸還日期=0'</p><p> thisform.refresh </p><p> lostfocus代碼:</p><p> thisform.dataenvironment.
36、cursor3.filter='借書證編號='+""+this.value+""</p><p> thisform.dataenvironment.cursor4.filter='借書證編號='+""+;</p><p> this.value+""+'and da
37、ta()-brower.歸還日期=0'</p><p> thisform.refresh</p><p> (3)“圖書類型選擇”組合的屬性:</p><p> Rowsource屬性——typer.圖書類別</p><p> (4)顯示姓名的文本框:</p><p> Controlsource—
38、—reader.讀者姓名</p><p> (5)顯示電話號碼的文本:</p><p> Controlsource——reader.電話號碼</p><p> (6)表單上半部分的表格對象,由表格對象生成器生成即可,該表格對象以booker.dbf表為數(shù)據(jù)源。</p><p> (7) 表單下半部分的表格對象,由表格對象生成器生成即
39、可,該表格對象以brower.dbf表為數(shù)據(jù)源。</p><p> (8)“借書”按鈕的click事件代碼如下:</p><p> if booker.圖書編號=trim(thisform.combo2.value)</p><p> replace booker.在庫數(shù)量 with booker.在庫數(shù)量-1</p><p><
40、b> endif</b></p><p> if used("brower")</p><p> select brower</p><p><b> go bottom</b></p><p> append blank</p><p><b
41、> endif</b></p><p> if booker.圖書編號=trim(thisform.combo2.value)</p><p> replace brower.圖書編號 with booker.圖書編號</p><p> replace brower.借閱日期 with data()</p><p>
42、<b> endif</b></p><p> if used("reader")</p><p> select reader</p><p> replace brower.借書證編號 with reader.借書證編號</p><p><b> endif</b>
43、</p><p> thisform.refresh</p><p><b> return</b></p><p> 3) 還書登記表單的設(shè)計:</p><p> 該表單共涉及reader.dbf,brower.dbf和booker.dbf等三個數(shù)據(jù)表,當(dāng)用戶在借書證編號的組合框內(nèi)選擇一個借書證編號后,系統(tǒng)會自
44、動在后面的文本框中現(xiàn)實與該編號對應(yīng)的讀者姓名和聯(lián)系電話,并在表格對象中顯示該讀者尚未歸還的書,然后由用戶在表格中用鼠標(biāo)選擇其要歸還的書,選中后單擊“還書”按鈕。</p><p> 有關(guān)對象的屬性及代碼說明如下:</p><p> (1)數(shù)據(jù)環(huán)境。該數(shù)據(jù)環(huán)境包含三個表,數(shù)據(jù)環(huán)境中cursor對象與表的對應(yīng)關(guān)系是:</p><p> Cursor1——reader
45、.dbf</p><p> Cursor2——brower.dbf</p><p> Cursor3——booker.dbf</p><p> (2)“借書證編號”組合框的屬性和事件代碼:</p><p> Rowsource屬性——reader.借書證編號</p><p> Gotfocus事件代碼:<
46、;/p><p> Thisform.dataenvironment.cursor1.filter=""</p><p> thisform.refresh</p><p> Interactivechange代碼:</p><p> thisform.dataenvironment.cursor1.filter=
47、9;借書證編號='+""+this.value+""</p><p> thisform.dataenvironment.cursor2.filter='借書證編號='+""+this.value+""+'and data()-歸還日期=0'</p><p> thi
48、sform.refresh</p><p> (3)讀者姓名文本框?qū)傩浴?lt;/p><p> Control屬性——reader.讀者姓名</p><p> Enable屬性——.F.4)讀者電話文本框?qū)傩浴?lt;/p><p> Control屬性——reader.電話號碼</p><p> Enable屬性—
49、—.F.</p><p> (5)表格對象。表格對象由表格生成器生成,數(shù)據(jù)源為brower. Dbf表,并在生成后表格的列對象的enabled屬性設(shè)為.F. (6)“還書”按鈕的click事件代碼:</p><p> tdbf=alias()</p><p> select(thisform.dataenvironment.cursor2.alias)
50、</p><p> replace 歸還日期 with data()</p><p> select(thisform.dataenvironment.cursor3.alias)</p><p> replace 在庫數(shù)量 with 在庫數(shù)量+1</p><p> select &tdbf</p><p&
51、gt; thisform.refresh</p><p><b> return</b></p><p> 4)“圖書入庫與報廢”表單的設(shè)計:</p><p> 該表單左上角的“圖書編號”文本框供用戶輸入要登記入庫和要報廢的圖書編號,后面的冊數(shù)文本框輸入對應(yīng)的或報廢的圖書冊數(shù),如果所輸入的圖書編號是一個booker.dbf表中已存在的編
52、號(這表示是進(jìn)行圖書報廢登記),下面的表格對象中會顯示該圖書的其他信息,反之,表示一種新書要入庫登記,實質(zhì)是要將這種圖書信息添加到booker.dbf數(shù)據(jù)表中。</p><p> 對表單中有關(guān)對象的屬性與代碼說明如下:</p><p> 數(shù)據(jù)環(huán)境。表單中只包含一個booker.dbf表。</p><p> “圖書編號”與“冊數(shù)”文本框。Name屬性分別為tex
53、t1和text2。</p><p> 表格對象,由表格生成器生成。</p><p> (4)“新書入庫登記”按鈕click事件代碼:</p><p> thisform.dataenvironment.cursor1.filter='圖書編號='+""+trim(thisform.text1.value)+"&qu
54、ot;</p><p><b> if eof()</b></p><p> append blank</p><p> replace 圖書編號 with thisform.text.value</p><p> thisform.refresh</p><p> thisform.g
55、rid1.column1.enable=.t.</p><p> thisform.grid1.column2.enable=.t.</p><p> thisform.grid1.column3.enable=.t.</p><p> thisform.grid1.column4.enable=.t.</p><p> thisfo
56、rm.grid1.column5.enable=.t.</p><p><b> endif</b></p><p> thisform.grid1.column8.text1.value=thisform.grid1.column8.text1.value+val(thisform.text2.value)</p><p> thisf
57、orm.grid1.column9.text1.value=thisform.grid1.column9.text1.value+val(thisform.text2.value)</p><p> thisform.refresh</p><p><b> return</b></p><p> (5)“圖書報廢登記”按鈕的click事
58、件代碼:</p><p> thisform.grid1.column8.text1.value=thisform.grid1.column8.text1.value-val(thisform.text2.value)</p><p> thisform.grid1.column9.text1.value=thisform.grid1.column9.text1.value-val(t
59、hisform.text2.value)</p><p> thisform.refresh</p><p><b> return</b></p><p> 3、“催還圖書通知”報表設(shè)計:</p><p> “催還圖書通知”報表的設(shè)計過程說明如下:</p><p> 報表數(shù)據(jù)源 br
60、ower.vue視圖,該視圖已在前面做了說明。</p><p> 報表分組條件 reader.讀者姓名</p><p> 報表排序條件 reader.借書證編號</p><p> 該報表由向?qū)С绦蛏?,其后進(jìn)行了一些格式美化的調(diào)整修改工作,關(guān)鍵問題是要先定義好作為數(shù)據(jù)源的試圖文件。</p><p><b> 五、總結(jié):<
61、;/b></p><p> 任何一個社會組織和企業(yè)公司在發(fā)展過程中都會產(chǎn)生大量的數(shù)據(jù),這些數(shù)據(jù)的組織存儲、分析統(tǒng)計有利于提高企業(yè)的發(fā)展,有利于提高企業(yè)的效率。這些數(shù)據(jù)的組織和存儲就是數(shù)據(jù)模型,就是數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的任務(wù)。</p><p> 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的過程一般包括可行性研究、需求分析、系統(tǒng)設(shè)計、程序編碼、程序調(diào)試和系統(tǒng)維護(hù)六個階段。根據(jù)數(shù)據(jù)庫應(yīng)用系統(tǒng)的復(fù)雜程度,不一定完
62、全刻板地遵守上述步驟,但是,可行性研究、需求分析、系統(tǒng)設(shè)計、程序編碼、程序調(diào)試是不可缺少的。</p><p> 本次課程設(shè)計制作了一個簡單的圖書館管理系統(tǒng),實現(xiàn)了一些圖書管理和借閱功能,但與實際系統(tǒng)還是有很大差別的。首先是對應(yīng)用情況做了簡單的理想化處理,因而難以反映實際工作中可能遇到的實際問題;其次,未考慮用戶操作中可能出現(xiàn)的錯誤的處理,而實際上這種錯誤的處理程序可能占應(yīng)用系統(tǒng)的很大一部分。如本系統(tǒng)在需求分析和
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計報告---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告----圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告--圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告-圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告-------圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告--圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--- 圖書管理系統(tǒng)
- 圖書管理系統(tǒng)—數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計-圖書管理系統(tǒng)
- 圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---圖書管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計----圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計——圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---圖書管理系統(tǒng)
評論
0/150
提交評論