摘要:隨著信息時代的不斷發展,陳舊的圖書管理方式已經不能適應當今人們的需要,新的圖書館管理系統信息量比較大,操作快捷方便,可靠性強等特點。據此,該小組成員設計出簡易且實用性強的圖書館管理系統。該圖書管理系統實現圖書管理、圖書借還管理、用戶管理和系統查詢等基本功能,及各個大塊記錄的錄入和記錄查詢,從而達到了方便圖書館管理人員對圖書從進入圖書館到讀者手中,全過程進行有條不紊的管理,該文作者在此設計中負責圖書管理模塊的設計,其包括圖書統計、書籍類別設置、圖書基本設置、添加圖書以及圖書查詢系統五大部分。該圖書管理系統采用Micosoft公司的Visual Basic6.0程序編譯工具和Access數據庫設計工具實現該系統的界面與數據庫設計。
關鍵詞:圖書管理;Access;VB;SQL語言
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)14-3713-03
The Design and Realization of Book Management System: the Design of the Book Administration Module
SHAN Tian-yu
(Bengbu Naval Petty Officers School of PLA, Bengbu 233012, China)
Abstract: With the increasing development of the information age, the obsolete books management way yet cannot adapt nowadays people's demand. The new library management system has many characteristics :the various information , the quickly and convenient operation, and the strong reliability and so on. According to the above, our panel members design a simple and strong usability library management system. This books management system realizes some basic functions as follows: the management of books, the books management of lend-borrow , the user management and the inquiry system and so on.And the input and recording inquiry of the various bulks.So that it is convenient for the library manager to manage the whole process that the books are from to enter the library to the books to the reader hand in. I am responsible for the books administration module in this design, including five major parts which are books statistics, books category installment , books basic establishment, and adding books as well as books inquiry system. This system adopts Micosoft Corporation Visual the Basic6.0 procedure translation tool and the Access database design tool to realize this system contact surface and the database design.
Key words: library management database; Access; VB; SQL language
1 引言
在當今知識大爆炸的時代,圖書作為信息的一種載體,仍是人們獲得知識的一種重要途徑,因而作為圖書管理與借閱的圖書館,它的運行情況則關系到知識的傳播速度問題。以往舊的圖書館管理模式完全是手工操作,從新書的購買、編號、入庫,到借閱、續借、歸還、查詢,無一不是人工處理,需要大量的勞動力與工作量,而且由于人為的原因造成一些錯誤,也是再所難免的。當讀者想要借閱一本書時,首先要查詢大量的卡片,而且要有一定的圖書管理知識,才能很快的查到。自己想要的圖書,在借閱過程中還要填寫許多相關的卡片,使得圖書館的管理效率低下,圖書流通速度較慢,因而從一定程度上也影響了知識的傳播速度。
圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數據的管理,現今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機進行信息管理。根據調查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質的手工處理,對于圖書借閱情況(如借書天數、超過限定借書時間的天數)的統計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權限、以及借閱天數等用人工計算、手抄進行。數據信息處理工作量大,容易出錯;由于數據繁多,容易丟失,且不易查找。總的來說,缺乏系統,規范的信息管理手段。盡管有的圖書館有計算機,但是尚未用于信息管理,沒有發揮它的效力,資源閑置比較突出,這就是管理信息系統的開發的基本環境
信息技術發展日新月異,區域信息化建設如火如荼,作為信息資源基礎建設主體的圖書館面臨著前所未有的挑戰和機遇。
本系統利用當前的軟件開發技術,以方便讀者查詢、借閱操作,解決流通中存在的問題為目的,結合圖書管理系統的有關原則,設計了圖書管理系統中的一個模塊——圖書管理模塊。
2 圖書管理模塊設計分析
2.1 應用需求分析
圖書管理系統包括前臺界面設計,借閱管理設計,圖書管理設計,讀者管理設計,其中比較重要的模塊為圖書管理設計。圖書管理是為了滿足圖書的查詢,添加,修改,刪除,對圖書的基本設置及統計等功能,實現管理員對圖書的方便快捷的操作而設計的此模塊的流程和劃分。
2.2 系統流程圖及其功能的劃分模塊圖
圖1為圖書管理流程圖,圖2為圖書管理模塊圖。
3 系統數據庫設計
3.1 數據庫概念結構設計
所謂數據庫是指長期存儲在計算機內的,有組織的,課共享的數據集合。數據庫是以某種文件結構存儲的一系列信息表,這種文件結構使您能夠訪問這些表、選擇表中的列、對表進行排序以及根據各種標準選擇行。數據庫通常有多個索引與這些表中的許多列相關聯,所以我們能盡可能快地訪問這些表。以本設計為例,可以設想一個含有圖書編號、圖書名稱、類別代碼、作者姓名以及出版社等內容的表。我們可以再考慮一下這些內容是否可以組織在一起。因為可以設想一個表包含讀者姓名姓名、讀者所在系別以及讀者的電話號碼等信息。同時還可以設想保存的其它信息包括書籍的借還處罰等內容。
這些信息內容可以肯定是不能保存在一個表中的,因此我們還要對數據庫的邏輯結構進行分析,并且設計出需要的表。
3.2 數據庫邏輯結構的設計
現在將上面的數據庫概念結構以及我們設想出的需要的表轉化為Access2003數據庫系統所支持的實際數據模型,也就是數據庫的邏輯結構。具體包含了以下表:
書籍屬性表(bookinfo):包含的字段書籍編號、書籍名稱、類別代碼、出版社、作者姓名、書籍價格、書籍頁碼、登記日期、是否借出。除圖書價格為貨幣類型、登記日期為時間/日期型、是否借出為是/否型,其他都為文本型。
書籍類別表(booktype):包括的字段類別代碼、書籍類別、借出天數,都為文本型。
書籍借罰表(setinfo):包括的字段借出冊數、罰款,前者為整型數字型后者為貨幣型。
這三個表具有緊密的聯系,書籍類別表中的類別代碼及其書籍類別對書籍屬性表中的書籍的庫進行了詳細的分類,而書籍類別表的借出天數同樣是受書籍屬性表的是否借出所限制,同時書籍類別表又限制了書籍借罰表的罰款金額,書籍屬性表中的是否借出也決定了書籍借罰表的借出冊數。
4 圖書管理系統的實現
4.1 圖書信息管理系統
為了滿足總體的要求,圖書信息管理系統包括圖書管理具有新增、刪除、修改及查詢圖書信息的功能。其中,新增圖書可以建立一條新的圖書記錄,刪除則可以將已建立的圖書記錄刪除,修改可以修改所選擇圖書的基本資料。查詢可以按輸入的查詢條件查出符合條件的圖書。
程序代碼直接利用SQL語句對Access數據庫中的表進行查找、添加、修改、刪除的操作。
圖書管理部分可以輕松地實現對圖書借閱及圖書資料的管理,及時、方便地更改、設定圖書借還情況,并能立即顯示出圖書的資料。為讀者提供方便,并節省管理人員的時間,提高了工作效率。
4.2 圖書查詢
圖書查詢系統可以通過對圖書編號、圖書名稱、圖書出版社、作者姓名以及類別代碼等方式對圖書的信息進行查詢。并對圖書信息進行修改。輸入查詢的關鍵詞和查詢的方式進行查詢,檢索采用“模糊查詢”,可以輸入關鍵詞的一部分進行查詢。
選擇合適的查詢方式,在查詢內容中輸入關鍵字,對圖書進行查詢,通過SQL語言訪問數據庫,并對數據庫進行查詢,通過按照編號查詢主要代碼如下:
If Option1.Value = False And Option2.Value = False And Option3.Value = False And _
Option4.Value = False And Option5.Value = False And Option6.Value = False Then
MsgBox \"請選擇查詢方式\", vbInformation + vbOKOnly, \"警告\"
Option1.Value = True:Exit Sub:End If
If Text1.Text = \"\" Then
MsgBox \"請填寫查詢內容!\", vbInformation + vbOKOnly, \"警告\"
Text1.SetFocus:Exit Sub:End If
If Option1.Value = True Then
If Check1.Value = 0 Then:strcon(1) = \"書籍編號='\" Text1.Text \"'\":
Else:strcon(1) = \"書籍編號 like '%\" Text1.Text \"%'\":End If
Else:strcon(1) = \"\":End If
以上代碼是利用“按照編號查詢”對圖書進行查詢,例如我在查詢內容中輸入需要查詢書籍的編號后,點擊“查詢”按鈕,會在“查詢結果”中顯示書籍的編號,書名,出版社,作者等內容,在其中可以對書籍的屬性進行修改,也可對圖書進行刪除操作,在“查詢內容”中,選中“模糊查詢”功能,可以對輸入關鍵字對書籍進行查詢,例如選中“按名稱查詢”后,選中“模糊查詢”,在“查詢內容”中輸入“計算機”,點擊“查詢”后,“查詢結果”中會出現庫中所有書籍名稱中帶有“計算機”的書籍,然后在結果中找到自己需要的書籍.這種功能的實現主要是調用了數據庫中的“bookinfo”表.其他的查詢方式功能的實現類似于上述。其中查詢功能中模糊查詢的實現是用“like”語句實現,例如下面就是點擊“書籍名稱”選中“模糊查詢”的功能是由下面代碼實現:
If Option2.Value = True Then
If Check1.Value = 0 Then:strcon(2) = \"書籍名稱='\" Text1.Text \"'\"
Else:strcon(2) = \"書籍名稱 like '%\" Text1.Text \"%'\":End If:Else
在查詢結果中可以對圖書信息進行修改和刪除,若圖書尚未歸還,刪除此圖書信息的時候會彈出一對話框“此書尚未還回館內,你是否繼續刪除操作?”,點擊確認,則可刪除圖書信息,主要代碼如下:
If MsgBox(\"你確定要刪除編號為\" + BookID + _
\"的書籍信息嗎?\", vbInformation + vbOKCancel, \"刪除\") = vbOK Then
DataGrid1.Col = 8:lent = DataGrid1.Text:If lent = -1 Then
If MsgBox(\"此書尚未還回館內,你是否繼續刪除操作?\", vbInformation + vbOKCancel, \"提示\") = vbOK Then:With Adodc1.Recordset
.Delete:If Not .EOF Then: MoveNext:Else:.MoveLast:End If:End With
4.3 添加圖書
添加圖書(新書入庫)是本系統的一項主要功能。啟動系統,以超級管理員身份登陸系統,登陸成功后,就可以對圖書信息進行添加。能添加的信息要包括書籍編號、書籍名稱、類別代碼、作者姓名、書籍價格、出版者以及登記日期。
這一窗體中可以進行如下操作:輸入圖書的基本數據信息,其中書籍編號、書籍名稱、類別代碼、作者姓名等直接輸入即可。輸入完畢點擊右下角“添加”按鈕即可保存此條記錄。新增的圖書記錄會出現在圖書目錄中。
若添加的新書是已經存在的書,則會提示:“對不起,該書籍編號已經存在,請重新輸入!”,此功能是有select語句實現,主要代碼如下:
Set g_rs = g_db.OpenRecordset(\"select * from bookinfo\", dbOpenDynaset)
If g_rs.RecordCount > 0 Then:g_rs.MoveFirst
Do While Not g_rs.EOF:If g_rs!書籍編號 = Text1.Text Then
MsgBox \"對不起,該書籍編號已經存在,請重新輸入!\", vbInformation + vbOKOnly, \"警告\"
Set g_rs = Nothing:Exit Sub:End If:g_rs.MoveNext:Loop
刪除與添加類似這里就不做過多說明。
4.4 圖書基本設置
圖書基本設置中,管理員可以對每人最大借書量以及罰款進行設置,通過調用數據庫中的setinfo表,主要代碼如下:
Private Sub Form_Load()
dbl
g_strsql = \"select * from setinfo\"
Set g_rs = g_db.OpenRecordset(g_strsql)
Text1.Text = g_rs!借出冊數
Text2.Text = g_rs!罰款
Text2.Text = Format$(Text2.Text, \"0.00\")
Set g_rs = Nothing
End Sub
4.5 書籍類別設置
管理員可以在書籍類別設置界面中,通過類別代碼框,輸入類別代碼對圖書進行查詢,繼而可以對圖書種類,可借天數進行添加,修改,刪除設置。例如,在“類別代碼”中輸入“A”,點擊“查找”,則在“圖書種類”中顯示“IT類”,“可借天數”中顯示“30”,它主要是通過調用了數據庫中的booktype表來實現的.若添加或修改圖書類別信息,則直接刷新了booktype表。
5 結束語
本系統要結合學校圖書館情況,經過實際的需求分析。通過采用功能強大的Visual Basic 6.0和Access2003為開發工具而開發出來的圖書館管理系統中的一個模塊。整個模塊從符合操作簡便、界面友好、靈活、實用、安全的要求出發,完成圖書信息查詢、添加和對圖書的一些基本設置等。本模塊所設計的可以滿足學校圖書館管理方面的基本需要。但是也有些不足,一些人性化的東西設計的還不夠。例如沒有設計在一個時間段里某本圖書被借出的次數。
參考文獻:
[1] 羅朝勝.Visual Basic 程序設計教程[M].北京:人民郵電出版社,2002:2-21.
[2] 薩師煊.數據庫系統概論[M].3版.北京:高等教育出版社,1999:2.
[3] Warner S.Visual Basic 6程序設計[M].北京:人民郵電出版社,1-20,30-40.
[4] 鄭小玲.Access項目案例導航[M].北京:科學出版社,2003:20-25,234-268.
[5] 魏江江.Visual Basic 6.0編程[M].北京:清華大學出版社,2000:178-198.