圖書借閱管理系統(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頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 數(shù)據(jù)庫設(shè)計實驗報告 實驗課程名稱: 圖 書 借 閱 管 理 系 統(tǒng) 學(xué) 院: 信息科學(xué)與技術(shù)學(xué)院 班 級: 軟件工程10-2 小 組 成 員:1001050227 王文波 1001050228 張燦松 1001050229 張 賀 完 成 時 間: 2013 . 06 目 錄1. 緒論.3 1.1 研究背景.3 1.2 研究開發(fā)現(xiàn)狀分析.3 1.3 主要研究內(nèi)容.42. 相關(guān)技術(shù)與工具綜述.53.需求分析.5 3.1系統(tǒng)功能分析.5 3.1.1系統(tǒng)用例圖.6 3.1.2 主要用例的用例規(guī)約.7 3.2系統(tǒng)非功能分析.104.系統(tǒng)設(shè)計.11 4.1系統(tǒng)總體架構(gòu)設(shè)計.11 4.2 系統(tǒng)靜態(tài)結(jié)構(gòu)設(shè)

2、計.12 4.3 數(shù)據(jù)庫設(shè)計.13 4.4類的詳細(xì)設(shè)計.205.數(shù)據(jù)庫結(jié)構(gòu)實現(xiàn) 5.1創(chuàng)建數(shù)據(jù)庫.26 5.2創(chuàng)建視圖.286.總結(jié)與展望.297.參考文獻.301. 緒論 1.1研究背景 (1)一些農(nóng)村中學(xué)圖書室都藏書達(dá)六、七萬余冊,但其現(xiàn)行圖書管理工作都是采用傳統(tǒng)的手工管理,經(jīng)過對其圖書管理工作中的圖書信息、讀者管理及借閱管理工作做全面調(diào)查研究,其現(xiàn)行手工流程具體分析如下: 圖書登記:對上級分配、學(xué)校購入和社會捐贈的圖書進行圖書信息登記; 讀者登記:圖書管理員根據(jù)學(xué)校檔案室提供的教師花名冊和學(xué)生花名冊進行讀者登記,然后填發(fā)借書證,學(xué)生畢業(yè)和教師調(diào)出時將其借書證注銷。 借閱管理:讀者特別是學(xué)

3、生讀者持借書證到圖書室借閱圖書,圖書管理員將借閱日期填寫在書籍卡片上,將卡片夾在借書證中間,存放在圖書室,學(xué)生看完后,送還所借書籍,收回借書證或另借其它書籍。 這種傳統(tǒng)人工的管理方式存在著許多缺點,如:效率低、保密性差, 一方面導(dǎo)致教師、學(xué)生對學(xué)校圖書室藏書情況不了解,圖書室究竟有哪些圖書也不知道;另一方面圖書管理員對圖書管理工作倍感頭痛,因為時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難,耗費勞動力大,難于避免錯誤的產(chǎn)生,如借書證掛失后,仍有少數(shù)學(xué)生冒用已掛失的借書證借出圖書,造成圖書外流。 (2)為了踐和鞏固在課堂教學(xué)中學(xué)習(xí)有關(guān)知識,熟練掌握對于給定結(jié)構(gòu)的數(shù)據(jù)庫

4、的創(chuàng)建、基本操作、程序系統(tǒng)的建立和調(diào)試以及系統(tǒng)評價。實踐和鞏固在課堂教學(xué)中學(xué)習(xí)的關(guān)于關(guān)系數(shù)據(jù)庫原理的有關(guān)知識和數(shù)據(jù)庫系統(tǒng)的建立方法,熟練掌握對于給定實際問題,為了建立一個關(guān)系數(shù)據(jù)庫信息管理系統(tǒng),必須得經(jīng)過系統(tǒng)調(diào)研、需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計、系統(tǒng)調(diào)試、維護以及系統(tǒng)評價的一般過程,為畢業(yè)設(shè)計打下基礎(chǔ)。 1.2 研究開發(fā)現(xiàn)狀分析我們已經(jīng)學(xué)習(xí)了數(shù)據(jù)庫系統(tǒng)概論和數(shù)據(jù)庫設(shè)計以及sql server,對數(shù)據(jù)庫已經(jīng)有了一定的了解,并且已經(jīng)做過了一些和數(shù)據(jù)庫有關(guān)的項目,所以對這個課程設(shè)計應(yīng)具備了一些相應(yīng)的知識。圖書管理對于我們來書來說并不陌生,我們經(jīng)常去圖書館借書對其流程非常了解。利用計算機來管理

5、圖書,其好處歸納起來,大約有以下幾點: 1 可以存儲學(xué)校圖書室的圖書信息、讀者信息和借閱信息,安全、高效; 2 只需一名圖書管理員即可操作系統(tǒng),節(jié)省大量人力; 3 可以迅速查到所需信息,圖書管理系統(tǒng)可以為學(xué)校教師和學(xué)生提供充足的信息和快捷的查詢手段,讓教師和學(xué)生能夠及時查詢圖書信息,更好地為讀者服務(wù)。因此計劃在現(xiàn)行手工流程基礎(chǔ)上開發(fā)圖書管理系統(tǒng),以適應(yīng)現(xiàn)行圖書管理工作的要求,提高工作效率。 1.3 主要研究內(nèi)容開發(fā)工具開發(fā)工具開發(fā)工具開發(fā)工具:vb vb是visual basic的簡稱,是由美國微軟公司于1991年開發(fā)的一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計語言,可用于開

6、發(fā) windows 環(huán)境下的各類應(yīng)用程序。它簡單易學(xué)、效率高,且功能強大可以與 windows 專業(yè)開發(fā)工具sdk相媲美。在visual basic環(huán)境下,利用事件驅(qū)動的編程機制、新穎易用的可視化設(shè)計工具,使用windows內(nèi)部的廣泛應(yīng)用程序接口(api)函數(shù),動態(tài)鏈接庫(dll)、對象的鏈接與嵌入(ole)、開放式數(shù)據(jù)連接(odbc)等技術(shù),可以高效、快速地開發(fā)windows環(huán)境下功能強大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。vb具有以下特點:1、 面向?qū)ο蟆b采用了面向?qū)ο笤O(shè)計思想,它基本思路是把復(fù)雜的設(shè)計問題分解為多個能夠完成獨立功能且相對簡單的對象集合。所謂“對象”就是個可操作實體如窗體、窗

7、體中命令按鈕、標(biāo)簽、文本框等,面向?qū)ο缶幊叹褪侵赋绦騿T可根據(jù)界面設(shè)計要求直接在界面上設(shè)計出窗口、菜單、按鈕等類型對象并為每個對象設(shè)置屬性。 2、 事件驅(qū)動。在windows環(huán)境下是以事件驅(qū)動方式運行每個對象的都能響應(yīng)多個區(qū)別事件,每個事件都能驅(qū)動段代碼事件過程,該代碼決定了對象功能。通常稱這種機制為事件驅(qū)動的編程機制??捎捎脩舨僮饔|發(fā)也可以由系統(tǒng)或應(yīng)用觸發(fā)例如單擊個命令按鈕就觸發(fā)了按鈕click(單擊)事件該事件中代碼就會被執(zhí)行,若用戶未進行任何操作(未觸發(fā)事件)則就處于等待狀態(tài)整個應(yīng)用就是由彼此獨立事件過程構(gòu)成。 3、 軟件software集成式開發(fā)。vb為編程提供了個集成開發(fā)環(huán)境,在這個環(huán)

8、境中編程者可設(shè)計界面、編寫代碼、調(diào)試直至把應(yīng)用編譯成可在windows中運行的可執(zhí)行文件,并為它生成安裝vb集成開發(fā)環(huán)境,為編程者提供了很大方便。 4、 結(jié)構(gòu)化設(shè)計語言。 5、 強大數(shù)據(jù)庫訪問功能。6、 支持對象連接和嵌入技術(shù) 7、 網(wǎng)絡(luò)功能。 8、 多個應(yīng)用向?qū)А?9、 支持動態(tài)交換、動態(tài)鏈接技術(shù) 10、 具有聯(lián)機幫助功能后臺數(shù)據(jù)庫:sql serversql server 2000 是microsoft 公司推出的sql server 數(shù)據(jù)庫管理系統(tǒng)的最新版本該版本繼承了sql server 7.0 版本的優(yōu)點同時又比它增加了許多更先進的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點

9、可跨越從運行microsoft windows 98 的膝上型電腦到運行microsoft windows 2000 的大型多處理器的服務(wù)器等多種平臺使用。2. 相關(guān)技術(shù)與工具綜述 sql server 2000 是microsoft 公司推出的sql server 數(shù)據(jù)庫管理系統(tǒng)的最新版本該版本繼承了sql server 7.0 版本的優(yōu)點同時又比它增加了許多更先進的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點可跨越從運行microsoft windows 98 的膝上型電腦到運行microsoft windows 2000 的大型多處理器的服務(wù)器等多種平臺使用。3. 需求分析3.1

10、系統(tǒng)功能分析 (1) 讀者管理:讀者信息的制定、輸入、修改、查詢,包括種類、性別、借書數(shù)量、借書期限、備注等。 (2) 書籍管理:書籍基本信息制定、輸入、修改、查詢,包括書籍編號、類別、關(guān)鍵詞、備注。 (3) 借閱管理:包括借書,還書,預(yù)訂書籍,續(xù)借,查詢書籍,過期處理和書籍丟失后的處理。 (4)系統(tǒng)管理:包括用戶權(quán)限管理,數(shù)據(jù)管理和自動借還書機的管理 滿足以上需求的系統(tǒng)主要包含有一下幾個子系統(tǒng)(1)基本業(yè)務(wù)功能子系統(tǒng):該系統(tǒng)中主要包含了借書還書和預(yù)訂等功能。(2)基本數(shù)據(jù)錄入功能子系統(tǒng):該子系統(tǒng)主要包含有書籍信息和讀者信息錄入功能。(3)信息查詢子系統(tǒng):包含了多功能的查詢書籍信息和讀者信息。

11、(4)數(shù)據(jù)庫管理功能子系統(tǒng):主要包含了借閱信息管理功能,書籍信息管理功能和預(yù)訂信息管理功能。(5)幫助功能子系統(tǒng)。下圖為該圖書館管理系統(tǒng)的主要功能模塊圖: 圖1:圖書館管理系統(tǒng)功能模塊圖3.1.1系統(tǒng)用例圖圖2:圖書館管理系統(tǒng)的用例圖3.1.2 主要用例的用例規(guī)約用例規(guī)約: 用例名稱:登陸用例id:ibm_eshop_002.1角色:管理員用例說明:用例主要功能是實現(xiàn)登錄,起始于普通用戶的登錄前置條件:啟動程序,進入登錄界面基本事件流:參與者動作系統(tǒng)響應(yīng) 1. 管理員輸入基本信息(登錄名和密碼),點擊確定按鈕2.系統(tǒng)查找數(shù)據(jù)庫,看該用戶是否在數(shù)據(jù)庫中。若存在則進入主頁面,若不存在,則進入2.1

12、.1;若未輸入,則進入2.2.2其它事件流:無異常事件流:參與者動作系統(tǒng)響應(yīng)2.1.1未輸入用戶名2.2.1用戶名不存在2.1.2未輸入密碼2.2.2密碼不正確2.1.1 提示用戶名或密碼不能為空2.2.2提示用戶名或密碼不正確。后置條件:登錄成功用例名稱:書籍管理用例id:ibm_eshop_002.3角色:管理員用例說明:該用例主要實現(xiàn)的功能是用戶實現(xiàn)對書籍的管理操作前置條件:進入主界面基本事件流:參與者動作系統(tǒng)響應(yīng)對書籍進行添加,刪除,查詢,借出,歸還等操作系統(tǒng)響應(yīng)點擊事件,跳轉(zhuǎn)至“書籍管理”界面用例名稱:讀者管理用例id:ibm_eshop_002.3角色:管理員用例說明:該用例主要實

13、現(xiàn)的功能是用戶實現(xiàn)對讀者的增加、刪除操作前置條件:進入主界面基本事件流:參與者動作系統(tǒng)響應(yīng)1.選擇想要修改的聯(lián)系人,然后點擊“增加、刪除”按鈕3.用戶對聯(lián)系人姓名、性別、出生日期、email、職務(wù)、固定電話、手機、住址、備注信息進行修改,點擊“確定”按鈕2.系統(tǒng)響應(yīng)點擊事件,跳轉(zhuǎn)至“讀者管理”界面5系統(tǒng)對用戶的輸入進行判斷,若合法,則彈出對話框,提示“讀者管理成功”用例名稱:登錄用例id:ibm_eshop_002.1角色:讀者用例說明:用例主要功能是實現(xiàn)登錄,起始于普通用戶的登錄前置條件:啟動程序,進入登錄界面基本事件流:參與者動作系統(tǒng)響應(yīng) 1. 用戶輸入基本信息(登錄名和密碼),點擊確定按

14、鈕2.系統(tǒng)查找數(shù)據(jù)庫,看該用戶是否在數(shù)據(jù)庫中。若存在則進入主頁面,若不存在,則進入2.1.1;若未輸入,則進入2.2.2其它事件流:無異常事件流:參與者動作系統(tǒng)響應(yīng)2.1.1未輸入用戶名2.2.1用戶名不存在2.1.2未輸入密碼2.2.2密碼不正確2.1.1 提示用戶名或密碼不能為空2.2.2提示用戶名或密碼不正確。后置條件:登錄成功用例名稱:查找書籍用例id:ibm_eshop_002.2角色:讀者用例說明:用例主要實現(xiàn)查看某一分組的組內(nèi)聯(lián)系人前置條件:進入借書界面基本事件流:參與者動作系統(tǒng)響應(yīng)進入界面,用戶點擊“查找”按鈕。2.系統(tǒng)響應(yīng)點擊事件,跳轉(zhuǎn)至“查找書籍”界面其它事件流:無異常事件

15、流:無后置條件:查看書籍詳細(xì)信息成功用例名稱:預(yù)定書籍用例id:ibm_eshop_002.2角色:讀者用例說明:用例主要實現(xiàn)查看某一分組的組內(nèi)聯(lián)系人前置條件:進入借書界面基本事件流:參與者動作系統(tǒng)響應(yīng)進入界面,用戶點擊“預(yù)定”按鈕。2.系統(tǒng)響應(yīng)點擊事件,跳轉(zhuǎn)至“預(yù)定書籍”界面其它事件流:無異常事件流:無后置條件:預(yù)定書籍成功用例名稱:借書用例id:ibm_eshop_002.2角色:讀者用例說明:用例主要實現(xiàn)查看某一分組的組內(nèi)聯(lián)系人前置條件:進入借書界面基本事件流:參與者動作系統(tǒng)響應(yīng)1. 進入界面,用戶點擊“查找”按鈕。2. 找到所要借的書籍,點擊“借閱”按鈕2.系統(tǒng)響應(yīng)點擊事件,跳轉(zhuǎn)至“借

16、閱書籍”界面其它事件流:無異常事件流:無后置條件:借閱書籍成功用例名稱:還書用例id:ibm_eshop_002.2角色:讀者用例說明:用例主要實現(xiàn)查看某一分組的組內(nèi)聯(lián)系人前置條件:進入還書界面基本事件流:參與者動作系統(tǒng)響應(yīng)點擊“還書”按鈕2.系統(tǒng)響應(yīng)點擊事件,跳轉(zhuǎn)至“書籍管理”界面其它事件流:無異常事件流:無后置條件:還書成功3.2系統(tǒng)非功能分析 性能需求: 為了確保系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,圖書管理系統(tǒng)應(yīng)該滿足以下的性能需求: (1)系統(tǒng)處理的準(zhǔn)確性和及時性。(2)系統(tǒng)的開放性和可擴充性。(3)系統(tǒng)的易用性和易維護性。(4)系統(tǒng)的標(biāo)準(zhǔn)性。(5)系統(tǒng)的先進性。(6)系統(tǒng)的響

17、應(yīng)速度。 安全需求: 對于圖書管理系統(tǒng)的圖書量會非常大,所以在對這些圖書導(dǎo)入和查詢時要保證速度。 在圖書借閱過程中又要保證事務(wù)的完整性。對于整個系統(tǒng),需要完整的權(quán)限控制,防止某些人惡意攻擊系統(tǒng),修改原始記錄,同時對于數(shù)據(jù)庫中的數(shù)據(jù)需要定時備份,防止系統(tǒng)數(shù)據(jù)丟失。此外,系統(tǒng)要求用戶在登陸時需要身份驗證。 可靠性需求: 可靠性可以從安全性、事務(wù)性和穩(wěn)定性三方面來衡量。 安全性與用戶業(yè)務(wù)內(nèi)容相關(guān)。如果開發(fā)的軟件是信息安全級別很高的,如政府機構(gòu)的辦公文件,那么相應(yīng)的安全性需求也會很高。事務(wù)的重要性在分布式系統(tǒng)和集成性系統(tǒng)中尤為重要。在小型系統(tǒng)中,事務(wù)性一般通過數(shù)據(jù)庫本身的事務(wù)處理機制來保障,但在分布式

18、系統(tǒng)、集成應(yīng)用系統(tǒng)中,由于系統(tǒng)中可能存在多個異構(gòu)數(shù)據(jù)庫,僅僅靠數(shù)據(jù)庫本身的事務(wù)處理就遠(yuǎn)遠(yuǎn)不夠了,這時應(yīng)借助第三方事務(wù)中間件來保障。穩(wěn)定性由故障的頻率、嚴(yán)重性、可恢復(fù)性、可預(yù)見性、準(zhǔn)確性和平均故障間隔時間等一些指標(biāo)構(gòu)成。判斷軟件是否失效的判斷依據(jù)有:系統(tǒng)死機、系統(tǒng)無法啟動、不能輸入輸出或顯示記錄、計算數(shù)據(jù)有錯等。1.3 運行環(huán)境 1)硬件環(huán)境: 處理器:intercr300以上 內(nèi)存:128mb以上 硬盤空間:20m以上 2)軟件環(huán)境: 系統(tǒng)開發(fā)平臺:eclipse 3.4 操作系統(tǒng):windowsxp以上操作系統(tǒng) 數(shù)據(jù)庫:sql server2005 java開發(fā)包:jdk 5.0以上4.系統(tǒng)

19、設(shè)計 4.1系統(tǒng)總體架構(gòu)設(shè)計4.2 系統(tǒng)靜態(tài)結(jié)構(gòu)設(shè)計圖3:圖書館管理系統(tǒng)的類圖及關(guān)系4.3 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫概念設(shè)計1、數(shù)據(jù)庫表設(shè)計 (1) 管理員表admin:管理員編號(admin_id),管理員姓名(admin_name),密碼(admin_password),登錄次數(shù)(logins),最后一次登錄時間(lastlogin)和權(quán)限(right)。 (2) 讀者表reader:讀者編號(reader_id),讀者姓名(reader_name),性別(sex),年齡(age),班級(class),最大借書量(maxborrowed)借書總量(amount)和權(quán)限(right)。(3)書籍表b

20、ooks:書籍編號(book_id),書名(title),作者(author),出版社(book concert),價格(price),出版時間(time),在庫總量(amount),剩余量(remain)。(4)借閱信息表(borrow_information):書籍編號(book_id),讀者編號(reader_id),借書時間(borrow_time),到期時間(end_time),歸還時間(return_time).(5)預(yù)訂信息表:讀者編號(reader_id),書籍編號(book_id),預(yù)訂時間(reservation_time),取消預(yù)訂時間(reservationcancel

21、time).(6) 書籍類型表booktype:書籍類型編號(type_id),書籍類型名稱(type_name).(7) 用戶權(quán)限表right:權(quán)限(right)。2、圖書管理系統(tǒng)個實體之間的e-r圖圖4:圖書館管理系統(tǒng)各實體之間的er圖3、基于powerdesigner的cdm數(shù)據(jù)庫模型 (1)數(shù)據(jù)庫概念數(shù)據(jù)模型cdm對象如下圖,該圖顯示了各實體的屬性及各實體之間的關(guān)系。圖5:圖書館管理系統(tǒng)cdm建模(2)數(shù)據(jù)庫物理數(shù)據(jù)模型pdm對象如下圖,該圖顯示了各實體的屬性及各實體之間的關(guān)系。圖6:圖書館管理系統(tǒng)cdm建模數(shù)據(jù)庫物理設(shè)計由概念模型生成物理模型的的數(shù)據(jù)庫腳本文件為 圖書管理.sql文件

22、,代碼附下頁。附:由pdm對象自動生成的數(shù)據(jù)庫腳本文件代碼如下:29/*=*/* dbms name: microsoft sql server 2005 */* created on: 2013/6/15 星期六 10:34:13 */*=*/if exists (select 1 from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = f) where r.fkeyid = object_id(books) and = fk_books_relations_admin)a

23、lter table books drop constraint fk_books_relations_admingoif exists (select 1 from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = f) where r.fkeyid = object_id(books) and = fk_books_booktype_book_typ)alter table books drop constraint fk_books_booktype_book_typgoi

24、f exists (select 1 from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = f) where r.fkeyid = object_id(borrow_information) and = fk_borrow_i_reference_reader)alter table borrow_information drop constraint fk_borrow_i_reference_readergoif exists (select 1 from sys.sy

25、sreferences r join sys.sysobjects o on (o.id = r.constid and o.type = f) where r.fkeyid = object_id(borrow_information) and = fk_borrow_i_borrow_bo_books)alter table borrow_information drop constraint fk_borrow_i_borrow_bo_booksgoif exists (select 1 from sys.sysreferences r join sys.sysobject

26、s o on (o.id = r.constid and o.type = f) where r.fkeyid = object_id(login) and = fk_login_relations_admin)alter table login drop constraint fk_login_relations_admingoif exists (select 1 from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = f) where r.fkeyid = object

27、_id(login) and = fk_login_relations_reader)alter table login drop constraint fk_login_relations_readergoif exists (select 1 from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = f) where r.fkeyid = object_id(reservation) and = fk_reservat_relations_reader)alt

28、er table reservation drop constraint fk_reservat_relations_readergoif exists (select 1 from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = f) where r.fkeyid = object_id(reservation) and = fk_reservat_reserved_books)alter table reservation drop constraint fk_reserv

29、at_reserved_booksgoif exists (select 1 from sysobjects where id = object_id(admin) and type = u) drop table admingoif exists (select 1 from sysobjects where id = object_id(book_type) and type = u) drop table book_typegoif exists (select 1 from sysindexes where id = object_id(books) and name = relati

30、onship_5_fk and indid 0 and indid 0 and indid 255) drop index books.booktype_fkgoif exists (select 1 from sysobjects where id = object_id(books) and type = u) drop table booksgoif exists (select 1 from sysobjects where id = object_id(borrow_information) and type = u) drop table borrow_informationgoi

31、f exists (select 1 from sysobjects where id = object_id(login) and type = u) drop table logingoif exists (select 1 from sysobjects where id = object_id(reader) and type = u) drop table readergoif exists (select 1 from sysobjects where id = object_id(reservation) and type = u) drop table reservationg

32、oisql admin.sqlgoisql book_type.sqlgoisql books.sqlgoisql borrow_information.sqlgoisql login.sqlgoisql reader.sqlgoisql reservation.sqlgoalter table books add constraint fk_books_relations_admin foreign key (admin_id) references admin (admin_id)goalter table books add constraint fk_books_booktype_bo

33、ok_typ foreign key (admin_id) references book_type (type_id)goalter table borrow_information add constraint fk_borrow_i_reference_reader foreign key (reader_id) references reader (reader_id)goalter table borrow_information add constraint fk_borrow_i_borrow_bo_books foreign key (book_id) references b

34、ooks (book_id)goalter table login add constraint fk_login_relations_admin foreign key (admin_id) references admin (admin_id)goalter table login add constraint fk_login_relations_reader foreign key (reader_id) references reader (reader_id)goalter table reservation add constraint fk_reservat_relations

35、_reader foreign key (rea_reader_id) references reader (reader_id)goalter table reservation add constraint fk_reservat_reserved_books foreign key (book_id) references books (book_id)go4.4類的詳細(xì)設(shè)計系統(tǒng)的順序圖順序圖是顯示對象之間交互的圖,這些對象是按時間順序排列的。該圖書館管理系統(tǒng)主要含有以下幾個重要的順序圖,其他對象的順序圖和這些也類似。(1) 借書順序圖(2) 還書順序圖(3) 罰款順序圖1、 借書順序圖

36、圖7:圖書館管理系統(tǒng)借書順序圖【順序圖說明】(1) login():登錄系統(tǒng)。(2) checkstu_card():對讀者信息進行驗證,檢查是否符合本圖書館借書條件。(3) showinformation():顯示該讀者的基本信息函數(shù)。(4) borrow():讀者借書函數(shù)。(5) getreaders():取得讀者信息函數(shù)??丛撟x者是否符合借書條件,若符合,則返回可借信息。(6) gettitle():取得書目信息。(7) getreservation():檢驗書籍是否被預(yù)訂函數(shù)。(8) getnoreservation():書籍沒被預(yù)訂或取消預(yù)訂函數(shù)。(9) create(borrowe

37、r,item):創(chuàng)建書籍外借函數(shù)。借書時,讀者先將書拿予管理員,管理員對書籍和讀者進行檢驗,若書籍和讀者都符合借書條件,則借書成功。2、 還書順序圖圖8:圖書館管理系統(tǒng)還書順序圖【順序圖說明】(1) login():登錄系統(tǒng)。(2) getitem():取得書籍條目信息。(3) update():對圖書館書籍條目和借閱者信息進行更新條目。還書時,讀者先將書交給管理員,由管理員掃描書籍,若書籍沒有過期等違規(guī)現(xiàn)象,則對書目和讀者借閱信息進行更新,同時還書成功。3、 罰款順序圖圖9:圖書館管理系統(tǒng)的罰款順序圖【順序圖說明】管理員對書籍進行掃描,若發(fā)現(xiàn)書籍已經(jīng)超過了圖書館規(guī)定的還書期限,則按每天一定金

38、額進行罰款,過期天數(shù)和罰款金額由系統(tǒng)自動計算。用戶交完罰金后,則對讀者借閱信息進行更新。 系統(tǒng)的狀態(tài)圖圖書館的書籍狀態(tài)圖如圖7所示。【狀態(tài)圖說明】書籍在未變成圖書館在庫書籍時,為新加書籍狀態(tài)。書籍處于在庫狀態(tài)時既可以預(yù)訂也可以外借,外借后變?yōu)榻璩鰻顟B(tài)。處于預(yù)訂狀態(tài)時也可以外借,超出預(yù)訂時間期限則從預(yù)訂狀態(tài)直接轉(zhuǎn)為可用狀態(tài)。借閱者在規(guī)定的預(yù)訂時間內(nèi)也可以考慮取消預(yù)訂,取消預(yù)訂后書籍的狀態(tài)轉(zhuǎn)為可用。外借書籍歸還后變?yōu)榭捎脿顟B(tài)。圖10:圖書館的書籍狀態(tài)圖4.5、系統(tǒng)的活動圖活動圖描述的是某流程中的任務(wù)的執(zhí)行,活動圖描述活動是如何協(xié)同工作的,當(dāng)一個操作必須完成一系列事情,而又無法確定以什么樣的順序來完

39、成這些事情時,活動圖可以更清晰地描述這些事情。在本圖書館管理系統(tǒng)中,我們主要描述了圖書館系統(tǒng)的借書、還書和預(yù)訂的活動圖。1.借書活動圖【借書活動圖說明】 管理員首先要掃描讀者的借書證,檢驗證件是否符合圖書館借書條件,若該讀者的借書數(shù)量還未達(dá)到最大規(guī)定數(shù)量,并且其所借書籍均未屬于過期范圍,則符合借書條件。則再掃描書籍條形碼,檢查書籍是否是不可借書籍或者已經(jīng)被預(yù)訂,若被預(yù)訂,則取消預(yù)訂,方可借書。在這些條件都符合時則更新書籍信息和讀者的借閱信息,記錄好借書的時間。圖11:圖書館管理系統(tǒng)的借書活動圖2、還書活動圖【還書活動圖說明】圖書管理員對書籍進行掃描,若書籍已經(jīng)過期,則要求讀者還請欠款才能還書,

40、讀者繳應(yīng)交罰款后,更新書目信息和讀者信息。圖12:圖書館管理系統(tǒng)的還書活動圖3、預(yù)訂圖書活動圖【預(yù)訂書籍活動圖說明】讀者先進入系統(tǒng)查詢自己所需要的書籍,顯示書籍信息,檢驗書籍是否屬于可預(yù)訂書籍,若符合條件則檢查書籍是否已經(jīng)被預(yù)訂或已經(jīng)被外借,若都未成立,則讀者登錄系統(tǒng),并對該書籍進行預(yù)訂。圖13:圖書館管理系統(tǒng)預(yù)訂書籍活動圖5. 系統(tǒng)實現(xiàn)5.1創(chuàng)建數(shù)據(jù)庫 創(chuàng)建某書表: create table 某書( 條碼號 varchar(20) primary key,書名varchar(20) not null,作者varchar(20) not null,譯者varchar(10) null,價格mo

41、ney not null default 0.00,圖書類型varchar(10) not null references圖書類型(圖書類型),出版社varchar(10) not null,出版日期datetime not null,供應(yīng)商varchar(10) not null,isbn varchar(10) not null,入庫時間datetime not null,庫存數(shù)量int not null,館藏數(shù)量int not null,) 創(chuàng)建圖書類型表: create table 圖書類型(條碼號varchar(10) primary key references某書(條碼號),圖書

42、類型varchar(10) not null ,)創(chuàng)建圖書位置表: create table 圖書位置 (書架號varchar(10) primary key,閱覽室varchar(10) not null,)創(chuàng)建某本書表: create table 圖書位置 (圖書編號varchar(10) primary key,條碼號varchar(10) not null references某書(條碼號),書架號varchar(10) not null references圖書位置(書架號),狀態(tài)varchar(10) null,)創(chuàng)建讀者表: create table 讀者 (身份證號varcha

43、r(10) primary key,姓名varchar(10) not null,密碼varchar(10) not null default 身份證號,性別varchar(10) not null default m check(狀態(tài) in ( m, f),班級varchar(10) null,讀者類型varchar(10) not null,地址varchar(10) null,聯(lián)系電話varchar(10) null,有效期datetime not null,)創(chuàng)建借閱歸還表:create table 借閱歸還 (圖書編號varchar(10) references 某本書(圖書編號),借閱卡號varchar(10) references 借閱卡(借閱卡號),借出日期datetime not null,應(yīng)還日期datetime not null,歸還日期datetime null,狀態(tài)varchar(10) not null default 未歸還 check(狀態(tài) in(歸還,未歸還),primary key(圖書

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論