收藏號
書名
類數
作者
價格
圖書證號碼
(全名)
性別
圖4圖書流通的E-R圖
屬於
單位
1
n
組織名稱
單位數
首先,設計圖書流通的實體關系圖(E-R圖)。壹個E-R圖由三個相關部分組成,即實體、實體之間的關系以及實體和關系的屬性。在圖書流通過程中,實體圖書與讀者的關系是借與被借的關系,實體讀者與單位的關系是歸屬與被歸屬的關系。圖書的屬性是藏書號、書名、分類號、作者和價格,讀者的屬性是
從圖中可以看出:
圖書證號是唯壹的,所以圖書證號決定了姓名,而每個讀者應該只屬於壹個性別,所以圖書證號也決定了性別;
②館藏號是唯壹的,所以館藏號決定書名、分類號、作者和價格;
③公司編號是唯壹的,所以公司編號決定公司名稱;
每個讀者壹次只能借壹本書,所以“圖書證號+藏書號”決定了“借閱時間”。
如果將這些數據項放在關系模式中,根據範式理論,關系模式屬於1NF(第壹範式),由於刪除異常和冗余的問題,這不是壹個理想的模式。因此,應該將其分解為滿足3NF或BCNF的關系模式。根據範式理論和E-R圖轉化為關系模型的規則,上述E-R圖可以轉化為四種關系模型:①圖書(藏書號、書名、分類號、作者和價格);②讀者(圖書證號、姓名、性別、單位編號);③借閱(圖書證號、館藏號、借閱時間),④單位(單位編碼、單位名稱),其中帶下劃線的編碼為編碼,解決了插入、刪除和數據冗余的問題。
我們對數據結構進行了詳細的分析。根據上述設計思路,* *設計了讀者表、書目表、館藏表和流通表等100多個數據表,然後創建了視圖和存儲程序。下面是壹個例子:
讀者名單:圖書證號、姓名、單位、讀者類別、職稱等字段;
參考書目:館藏號、ISBN、書名、作者、出版社、份數、語言、文獻類型、版本等。
采集表:采集號、索書號、分類號、種號、采集地點、單價、出版日期等字段;
流通表:圖書證號、館藏號、借閱期、歸還期、續借期、歸還期、操作員等字段;
借閱規則表:讀者類別代碼、圖書類別代碼、借閱圖書數量、每期天數、續借天數、到期日期、違約金等字段。
讀者類別表:讀者類別代碼、讀者類別等字段。
圖書類別表:圖書類別代碼、圖書類別等字段。
3.4數據庫索引
索引是加快查詢速度的有效手段。數據庫中的每個表都有壹個主鍵,主鍵由壹個或多個字段組成。根據主鍵,每個表都有壹個索引。為了滿足查詢和排序的需要,有些表在主索引之外還建立了二級索引。例如,應該使用藏書編號、作者和書名等條件來查找書籍。因此,除了主鍵集合號之外,還在書目表上建立了二級索引,如作者和標題。
3.5視圖
視圖是從壹個或多個基本表派生的表。它是在基本表上定義的,並且是壹個虛擬表。數據庫中只存儲了視圖的定義,但沒有存儲與視圖對應的數據。數據仍然存儲在原始基本表中。通過定義視圖,可以使用戶眼中的數據庫結構簡單明了,簡化用戶的數據查詢操作。由於本系統中的數據表和字段較多,為了簡化表格的操作,我們創建了圖書_按書名、期刊_按書名、期刊_按編輯部、借閱規則、還書和逾期記錄等30多個視圖。
3.6存儲過程
存儲過程是存儲在數據庫服務器中的已編譯程序代碼。通過調用適當的存儲過程,可以在服務器端處理大量數據,然後將處理結果發送到客戶端。這樣可以減少網絡上數據的傳輸,消除網絡阻塞現象;例如,要查詢壹條記錄,如果表中記錄的序號是10000,服務器會將1到10000的記錄數據逐壹發送給客戶端。使用存儲過程後,由於過程是編譯的和本地的,它不需要通過網絡,因此它可以快速找到所需的記錄並將結果發送到客戶端,大大減少了網絡。存儲過程的另壹個優點是可以被不同的開發工具調用,如PB、VB、ASP、Delphi等。流通模塊和WEB查詢模塊都具有圖書檢索功能,實際上是通過調用同壹個存儲過程來完成的。系統建立了60多個存儲過程,實現了圖書借還處理、新書入庫統計、館藏編目、讀者統計、索書號生成等功能。
3.7數據庫調用
ODBC接口用於調用數據庫,ADO接口用於調用數據庫。
4條形碼的使用
條形碼具有唯壹性和壹次輸入後可重復使用的優點。利用條形碼技術作為快速信息輸入的手段,可以快速方便地處理圖書管理業務。本系統采用條形碼作為圖書和讀者的標識,實現標識的唯壹性。
使用條形碼後,圖書管理可以更簡單、更快捷、更不容易出錯。例如,當壹本書具有唯壹的條形碼標識,並且每個讀者都具有唯壹的條形碼標識時,圖書的借閱和查詢就非常方便。條形碼的應用取代了手工填寫圖書袋卡、借書證和核對借閱時間的繁瑣工作。當讀者借書時,他只需要把他的借書證交給工作人員。工作人員只需登錄圖書館借閱系統,用條形碼閱讀器掃描讀者借書證上的條形碼。屏幕上會顯示讀者的信息,包括讀者的姓名、公司、可以借多少本書、借了多少本書、是否過期以及是否有罰款。如果可以借閱圖書,工作人員只需用條形碼閱讀器掃描讀者需要借閱的圖書上的條形碼符號,圖書的書名和條形碼等信息就會從數據庫中調出並顯示在屏幕上,並自動記錄在讀者的借閱檔案中,借閱工作就完成了。壹般借書只需要1到2秒。操作完成後,電腦自動將借書人和借書書號輸入相應數據庫,並自動提示借閱期限。