當前位置:成語大全網 - 新華字典 - 軟件工程 圖書管理系統

軟件工程 圖書管理系統

借閱時間

館藏號

書名

分類號

作者

價格

借書證號

姓名

性別

圖4 圖書流通的E-R圖

屬於

單 位

1

n

單位名稱

單位編號

先設計圖書流通的實體-關系圖(E-R圖)。E-R圖由3個相關聯的部分構成,即實體、實體與實體之間的關系以及實體和關系的屬性。圖書流通過程中實體“圖書”與“讀者”之間的關系是借閱和被借閱的關系,實體“讀者”與“單位”之間的關系是屬於和被屬於的關系,“圖書”的屬性有“館藏號”、“書名”、“分類號”、“作者”、“價格”,“讀者”的屬性有“借書證號”、“姓名”、“性別”,“單位”的屬性有“單位編號”和“單位名稱”,“借閱”屬性“借書日期”,由此得出E-R圖如圖4。

從圖中可以知道:

①“借書證號”是唯壹的,所以“借書證號”決定“姓名”,每位讀者應只屬於壹個性別,所以“借書證號”也決定“性別”;

②“館藏號”是唯壹的,所以“館藏號”決定“書名”、“分類號”、“作者”、“價格”;

③ “單位編號”是唯壹的,所以“單位編號”決定“單位名稱”;

④ 每位讀者在壹個時間只能借壹本書,所以“借書證號” +“館藏號”決定“借閱時間”。

如果將這些數據項置於壹個關系模式中,根據範式理論,該關系模式屬於1NF(第壹範式),它存在刪除異常和冗余等問題,不是理想的模式,因此要把它分解成滿足3NF或BCNF的關系模式。根據範式理論和E-R圖轉換成關系模型的規則,上面的E-R圖可轉換為4個關系模式:①圖書(館藏號、書名、分類號、作者、價格);②讀者(借書證號、姓名、性別、單位編號);③借閱(借書證號、館藏號、借閱時間),④單位(單位編碼、單位名稱),其中打下劃線的為碼,這樣就解決了插入、刪除和數據冗余等問題。

我們對數據的結構進行詳細的分析,按照上述的設計思想,***設計了讀者表,書目表,館藏表,流通表等百余張數據表,然後創建視圖和存儲過程。下面舉例說明:

讀者表:借書證號、姓名、單位、讀者類別、職稱等字段;

書目表:館藏號、ISBN、題名、作者、出版社、復本數、語種、文獻類型、版次等字段;

館藏表:館藏號、索書號、分類號、種次號、館藏位置、單價、出版日期等字段;

流通表:借書證號、館藏號、借期、還期、續借、應還期、操作員等字段;

借閱規則表:讀者類別編碼、圖書類別編碼、限借冊數、每期天數、續借天數、過期日期、罰金等字段。

讀者類別表:讀者類別編碼、讀者類別等字段。

圖書類別表:圖書類別編碼、圖書類別等字段。

3.4 數據庫索引

建立索引是加快查詢速度的有效手段,數據庫的每壹個表建立了主鍵,主鍵由壹個或幾個字段組成,每壹個表都按主鍵建立了索引,部分表為了滿足查詢和排序的需要,除建立主索引外,還建立了次索引。例如在查詢時要用到“館藏號”、“作者”、“題名”等條件來查找圖書,因此,在書目表上除了對主鍵“館藏號”建立了主索引外,也對“作者”、“書名”等建立了次索引。

3.5 視圖

視圖是從壹個或幾個基本表導出的表,它是定義在基本表之上的,它是壹個虛表,數據庫中只存放視圖的定義,而不存放視圖對應的數據,數據仍然存放在原來的基本表中。通過定義視圖,可以使用戶眼中的數據庫結構簡單、清晰,並可以簡化用戶的數據查詢操作。由於本系統數據表較多,表中的字段多,為了簡化對表的操作,我們創建了圖書_按書名查詢、期刊_按刊名查詢、期刊_按編輯部查詢、借閱規則查詢、待還書查詢、超期記錄查詢等30余個視圖。

3.6 存儲過程

存儲過程是壹段經過編譯的程序代碼,存放在數據庫服務器端。通過調用適當的存儲過程,可在服務器端處理大量數據,再將處理結果送到客戶端。這樣可減少數據在網絡上的傳送,消除網絡阻塞現象;例如:要查詢某條記錄,若該記錄在表中的順序號是10000,不采用存儲過程,服務器將從1至於10000條記錄數據逐條送至客戶端,采用存儲過程後,由於過程是經過編譯的並且是在本地,不需要通過網絡,因此能很快查出所需記錄並將結果送到客戶端,大大減少了網上數據傳輸量。存儲過程另壹好處是可供不同的開發工具調用,如PB、VB、ASP、Delphi等開發工具均可調用。在流通模塊和WEB查詢模塊上均有圖書檢索功能,實際上調用同壹存儲過程完成的。本系統建立了60多個存儲過程,實現諸如借還書處理、新書入庫統計、編目入館藏、讀者統計、生成索書號等功能。

3.7 數據庫調用

采用ODBC接口實現數據庫的調用,采用ADO接口調用。

4 條形碼的使用

條形碼具有唯壹性和壹次輸入後就可反復使用的優點,利用條形碼技術作為信息快速輸入的手段可迅速且不易發生錯誤地處理圖書管理業務。本系統使用條形碼作為圖書和讀者的標識,實現標識的唯壹性。

使用條碼後,能夠使圖書管理工作更加簡單、快捷、不易出錯。例如,當壹本書具有唯壹條形碼標識,每位讀者也具有唯壹條形碼標識時,圖書的借閱、查詢就十分便捷了。應用條形碼取代了以往填寫書袋卡、借書證,核對借閱時間等繁瑣的手工勞動。讀者在借書時只要將借書證給工作人員,工作人員只需登錄借書系統,用條形碼閱讀器掃描讀者借書證上的條形碼,屏幕就會顯示出該讀者的信息,包括讀者姓名、單位、可借幾本書、已借幾本書、是否過期、有無罰款等。如可以借書,工作人員只需用條形碼閱讀器掃描該讀者所需借的書上的條形碼符號後,該書的書名和條形碼等信息都從數據庫中調出顯示在屏幕上,自動記錄在該讀者的借閱檔案中,借書工作即告完成。壹般借壹本書僅需 1至 2秒鐘。操作完後,計算機自動地將該借閱者和借閱的圖書號碼輸入對應數據庫中,並自動提示借閱期限