




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)課程名稱(chēng): 圖 書(shū) 借 閱 管 理 系 統(tǒng) 學(xué) 院: 信息科學(xué)與技術(shù)學(xué)院 班 級(jí): 軟件工程10-2 小 組 成 員:1001050227 王文波 1001050228 張燦松 1001050229 張 賀 完 成 時(shí) 間: 2013 . 06 目 錄1. 緒論.3 1.1 研究背景.3 1.2 研究開(kāi)發(fā)現(xiàn)狀分析.3 1.3 主要研究?jī)?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è)計(jì).11 4.1系統(tǒng)總體架構(gòu)設(shè)計(jì).11 4.2 系統(tǒng)靜態(tài)結(jié)構(gòu)設(shè)
2、計(jì).12 4.3 數(shù)據(jù)庫(kù)設(shè)計(jì).13 4.4類(lèi)的詳細(xì)設(shè)計(jì).205.數(shù)據(jù)庫(kù)結(jié)構(gòu)實(shí)現(xiàn) 5.1創(chuàng)建數(shù)據(jù)庫(kù).26 5.2創(chuàng)建視圖.286.總結(jié)與展望.297.參考文獻(xiàn).301. 緒論 1.1研究背景 (1)一些農(nóng)村中學(xué)圖書(shū)室都藏書(shū)達(dá)六、七萬(wàn)余冊(cè),但其現(xiàn)行圖書(shū)管理工作都是采用傳統(tǒng)的手工管理,經(jīng)過(guò)對(duì)其圖書(shū)管理工作中的圖書(shū)信息、讀者管理及借閱管理工作做全面調(diào)查研究,其現(xiàn)行手工流程具體分析如下: 圖書(shū)登記:對(duì)上級(jí)分配、學(xué)校購(gòu)入和社會(huì)捐贈(zèng)的圖書(shū)進(jìn)行圖書(shū)信息登記; 讀者登記:圖書(shū)管理員根據(jù)學(xué)校檔案室提供的教師花名冊(cè)和學(xué)生花名冊(cè)進(jìn)行讀者登記,然后填發(fā)借書(shū)證,學(xué)生畢業(yè)和教師調(diào)出時(shí)將其借書(shū)證注銷(xiāo)。 借閱管理:讀者特別是學(xué)
3、生讀者持借書(shū)證到圖書(shū)室借閱圖書(shū),圖書(shū)管理員將借閱日期填寫(xiě)在書(shū)籍卡片上,將卡片夾在借書(shū)證中間,存放在圖書(shū)室,學(xué)生看完后,送還所借書(shū)籍,收回借書(shū)證或另借其它書(shū)籍。 這種傳統(tǒng)人工的管理方式存在著許多缺點(diǎn),如:效率低、保密性差, 一方面導(dǎo)致教師、學(xué)生對(duì)學(xué)校圖書(shū)室藏書(shū)情況不了解,圖書(shū)室究竟有哪些圖書(shū)也不知道;另一方面圖書(shū)管理員對(duì)圖書(shū)管理工作倍感頭痛,因?yàn)闀r(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難,耗費(fèi)勞動(dòng)力大,難于避免錯(cuò)誤的產(chǎn)生,如借書(shū)證掛失后,仍有少數(shù)學(xué)生冒用已掛失的借書(shū)證借出圖書(shū),造成圖書(shū)外流。 (2)為了踐和鞏固在課堂教學(xué)中學(xué)習(xí)有關(guān)知識(shí),熟練掌握對(duì)于給定結(jié)構(gòu)的數(shù)據(jù)庫(kù)
4、的創(chuàng)建、基本操作、程序系統(tǒng)的建立和調(diào)試以及系統(tǒng)評(píng)價(jià)。實(shí)踐和鞏固在課堂教學(xué)中學(xué)習(xí)的關(guān)于關(guān)系數(shù)據(jù)庫(kù)原理的有關(guān)知識(shí)和數(shù)據(jù)庫(kù)系統(tǒng)的建立方法,熟練掌握對(duì)于給定實(shí)際問(wèn)題,為了建立一個(gè)關(guān)系數(shù)據(jù)庫(kù)信息管理系統(tǒng),必須得經(jīng)過(guò)系統(tǒng)調(diào)研、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、系統(tǒng)調(diào)試、維護(hù)以及系統(tǒng)評(píng)價(jià)的一般過(guò)程,為畢業(yè)設(shè)計(jì)打下基礎(chǔ)。 1.2 研究開(kāi)發(fā)現(xiàn)狀分析我們已經(jīng)學(xué)習(xí)了數(shù)據(jù)庫(kù)系統(tǒng)概論和數(shù)據(jù)庫(kù)設(shè)計(jì)以及sql server,對(duì)數(shù)據(jù)庫(kù)已經(jīng)有了一定的了解,并且已經(jīng)做過(guò)了一些和數(shù)據(jù)庫(kù)有關(guān)的項(xiàng)目,所以對(duì)這個(gè)課程設(shè)計(jì)應(yīng)具備了一些相應(yīng)的知識(shí)。圖書(shū)管理對(duì)于我們來(lái)書(shū)來(lái)說(shuō)并不陌生,我們經(jīng)常去圖書(shū)館借書(shū)對(duì)其流程非常了解。利用計(jì)算機(jī)來(lái)管理
5、圖書(shū),其好處歸納起來(lái),大約有以下幾點(diǎn): 1 可以存儲(chǔ)學(xué)校圖書(shū)室的圖書(shū)信息、讀者信息和借閱信息,安全、高效; 2 只需一名圖書(shū)管理員即可操作系統(tǒng),節(jié)省大量人力; 3 可以迅速查到所需信息,圖書(shū)管理系統(tǒng)可以為學(xué)校教師和學(xué)生提供充足的信息和快捷的查詢(xún)手段,讓教師和學(xué)生能夠及時(shí)查詢(xún)圖書(shū)信息,更好地為讀者服務(wù)。因此計(jì)劃在現(xiàn)行手工流程基礎(chǔ)上開(kāi)發(fā)圖書(shū)管理系統(tǒng),以適應(yīng)現(xiàn)行圖書(shū)管理工作的要求,提高工作效率。 1.3 主要研究?jī)?nèi)容開(kāi)發(fā)工具開(kāi)發(fā)工具開(kāi)發(fā)工具開(kāi)發(fā)工具:VB VB是Visual Basic的簡(jiǎn)稱(chēng),是由美國(guó)微軟公司于1991年開(kāi)發(fā)的一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言,可用于開(kāi)
6、發(fā) Windows 環(huán)境下的各類(lèi)應(yīng)用程序。它簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)大可以與 Windows 專(zhuān)業(yè)開(kāi)發(fā)工具SDK相媲美。在Visual Basic環(huán)境下,利用事件驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用Windows內(nèi)部的廣泛應(yīng)用程序接口(API)函數(shù),動(dòng)態(tài)鏈接庫(kù)(DLL)、對(duì)象的鏈接與嵌入(OLE)、開(kāi)放式數(shù)據(jù)連接(ODBC)等技術(shù),可以高效、快速地開(kāi)發(fā)Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。VB具有以下特點(diǎn):1、 面向?qū)ο蟆B采用了面向?qū)ο笤O(shè)計(jì)思想,它基本思路是把復(fù)雜的設(shè)計(jì)問(wèn)題分解為多個(gè)能夠完成獨(dú)立功能且相對(duì)簡(jiǎn)單的對(duì)象集合。所謂“對(duì)象”就是個(gè)可操作實(shí)體如窗體、窗
7、體中命令按鈕、標(biāo)簽、文本框等,面向?qū)ο缶幊叹褪侵赋绦騿T可根據(jù)界面設(shè)計(jì)要求直接在界面上設(shè)計(jì)出窗口、菜單、按鈕等類(lèi)型對(duì)象并為每個(gè)對(duì)象設(shè)置屬性。 2、 事件驅(qū)動(dòng)。在Windows環(huán)境下是以事件驅(qū)動(dòng)方式運(yùn)行每個(gè)對(duì)象的都能響應(yīng)多個(gè)區(qū)別事件,每個(gè)事件都能驅(qū)動(dòng)段代碼事件過(guò)程,該代碼決定了對(duì)象功能。通常稱(chēng)這種機(jī)制為事件驅(qū)動(dòng)的編程機(jī)制??捎捎脩?hù)操作觸發(fā)也可以由系統(tǒng)或應(yīng)用觸發(fā)例如單擊個(gè)命令按鈕就觸發(fā)了按鈕Click(單擊)事件該事件中代碼就會(huì)被執(zhí)行,若用戶(hù)未進(jìn)行任何操作(未觸發(fā)事件)則就處于等待狀態(tài)整個(gè)應(yīng)用就是由彼此獨(dú)立事件過(guò)程構(gòu)成。 3、 軟件Software集成式開(kāi)發(fā)。VB為編程提供了個(gè)集成開(kāi)發(fā)環(huán)境,在這個(gè)環(huán)
8、境中編程者可設(shè)計(jì)界面、編寫(xiě)代碼、調(diào)試直至把應(yīng)用編譯成可在Windows中運(yùn)行的可執(zhí)行文件,并為它生成安裝VB集成開(kāi)發(fā)環(huán)境,為編程者提供了很大方便。 4、 結(jié)構(gòu)化設(shè)計(jì)語(yǔ)言。 5、 強(qiáng)大數(shù)據(jù)庫(kù)訪問(wèn)功能。6、 支持對(duì)象連接和嵌入技術(shù) 7、 網(wǎng)絡(luò)功能。 8、 多個(gè)應(yīng)用向?qū)А?9、 支持動(dòng)態(tài)交換、動(dòng)態(tài)鏈接技術(shù) 10、 具有聯(lián)機(jī)幫助功能后臺(tái)數(shù)據(jù)庫(kù):SQL ServerSQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫(kù)管理系統(tǒng)的最新版本該版本繼承了SQL Server 7.0 版本的優(yōu)點(diǎn)同時(shí)又比它增加了許多更先進(jìn)的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn)
9、可跨越從運(yùn)行Microsoft Windows 98 的膝上型電腦到運(yùn)行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺(tái)使用。2. 相關(guān)技術(shù)與工具綜述 SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫(kù)管理系統(tǒng)的最新版本該版本繼承了SQL Server 7.0 版本的優(yōu)點(diǎn)同時(shí)又比它增加了許多更先進(jìn)的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn)可跨越從運(yùn)行Microsoft Windows 98 的膝上型電腦到運(yùn)行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺(tái)使用。3. 需求分析3.1
10、系統(tǒng)功能分析 (1) 讀者管理:讀者信息的制定、輸入、修改、查詢(xún),包括種類(lèi)、性別、借書(shū)數(shù)量、借書(shū)期限、備注等。 (2) 書(shū)籍管理:書(shū)籍基本信息制定、輸入、修改、查詢(xún),包括書(shū)籍編號(hào)、類(lèi)別、關(guān)鍵詞、備注。 (3) 借閱管理:包括借書(shū),還書(shū),預(yù)訂書(shū)籍,續(xù)借,查詢(xún)書(shū)籍,過(guò)期處理和書(shū)籍丟失后的處理。 (4)系統(tǒng)管理:包括用戶(hù)權(quán)限管理,數(shù)據(jù)管理和自動(dòng)借還書(shū)機(jī)的管理 滿(mǎn)足以上需求的系統(tǒng)主要包含有一下幾個(gè)子系統(tǒng)(1)基本業(yè)務(wù)功能子系統(tǒng):該系統(tǒng)中主要包含了借書(shū)還書(shū)和預(yù)訂等功能。(2)基本數(shù)據(jù)錄入功能子系統(tǒng):該子系統(tǒng)主要包含有書(shū)籍信息和讀者信息錄入功能。(3)信息查詢(xún)子系統(tǒng):包含了多功能的查詢(xún)書(shū)籍信息和讀者信息。
11、(4)數(shù)據(jù)庫(kù)管理功能子系統(tǒng):主要包含了借閱信息管理功能,書(shū)籍信息管理功能和預(yù)訂信息管理功能。(5)幫助功能子系統(tǒng)。下圖為該圖書(shū)館管理系統(tǒng)的主要功能模塊圖: 圖1:圖書(shū)館管理系統(tǒng)功能模塊圖3.1.1系統(tǒng)用例圖圖2:圖書(shū)館管理系統(tǒng)的用例圖3.1.2 主要用例的用例規(guī)約用例規(guī)約: 用例名稱(chēng):登陸用例ID:IBM_ESHOP_002.1角色:管理員用例說(shuō)明:用例主要功能是實(shí)現(xiàn)登錄,起始于普通用戶(hù)的登錄前置條件:?jiǎn)?dòng)程序,進(jìn)入登錄界面基本事件流:參與者動(dòng)作系統(tǒng)響應(yīng) 1. 管理員輸入基本信息(登錄名和密碼),點(diǎn)擊確定按鈕2.系統(tǒng)查找數(shù)據(jù)庫(kù),看該用戶(hù)是否在數(shù)據(jù)庫(kù)中。若存在則進(jìn)入主頁(yè)面,若不存在,則進(jìn)入2.1
12、.1;若未輸入,則進(jìn)入2.2.2其它事件流:無(wú)異常事件流:參與者動(dòng)作系統(tǒng)響應(yīng)2.1.1未輸入用戶(hù)名2.2.1用戶(hù)名不存在2.1.2未輸入密碼2.2.2密碼不正確2.1.1 提示用戶(hù)名或密碼不能為空2.2.2提示用戶(hù)名或密碼不正確。后置條件:登錄成功用例名稱(chēng):書(shū)籍管理用例ID:IBM_ESHOP_002.3角色:管理員用例說(shuō)明:該用例主要實(shí)現(xiàn)的功能是用戶(hù)實(shí)現(xiàn)對(duì)書(shū)籍的管理操作前置條件:進(jìn)入主界面基本事件流:參與者動(dòng)作系統(tǒng)響應(yīng)對(duì)書(shū)籍進(jìn)行添加,刪除,查詢(xún),借出,歸還等操作系統(tǒng)響應(yīng)點(diǎn)擊事件,跳轉(zhuǎn)至“書(shū)籍管理”界面用例名稱(chēng):讀者管理用例ID:IBM_ESHOP_002.3角色:管理員用例說(shuō)明:該用例主要實(shí)
13、現(xiàn)的功能是用戶(hù)實(shí)現(xiàn)對(duì)讀者的增加、刪除操作前置條件:進(jìn)入主界面基本事件流:參與者動(dòng)作系統(tǒng)響應(yīng)1.選擇想要修改的聯(lián)系人,然后點(diǎn)擊“增加、刪除”按鈕3.用戶(hù)對(duì)聯(lián)系人姓名、性別、出生日期、Email、職務(wù)、固定電話(huà)、手機(jī)、住址、備注信息進(jìn)行修改,點(diǎn)擊“確定”按鈕2.系統(tǒng)響應(yīng)點(diǎn)擊事件,跳轉(zhuǎn)至“讀者管理”界面5系統(tǒng)對(duì)用戶(hù)的輸入進(jìn)行判斷,若合法,則彈出對(duì)話(huà)框,提示“讀者管理成功”用例名稱(chēng):登錄用例ID:IBM_ESHOP_002.1角色:讀者用例說(shuō)明:用例主要功能是實(shí)現(xiàn)登錄,起始于普通用戶(hù)的登錄前置條件:?jiǎn)?dòng)程序,進(jìn)入登錄界面基本事件流:參與者動(dòng)作系統(tǒng)響應(yīng) 1. 用戶(hù)輸入基本信息(登錄名和密碼),點(diǎn)擊確定按
14、鈕2.系統(tǒng)查找數(shù)據(jù)庫(kù),看該用戶(hù)是否在數(shù)據(jù)庫(kù)中。若存在則進(jìn)入主頁(yè)面,若不存在,則進(jìn)入2.1.1;若未輸入,則進(jìn)入2.2.2其它事件流:無(wú)異常事件流:參與者動(dòng)作系統(tǒng)響應(yīng)2.1.1未輸入用戶(hù)名2.2.1用戶(hù)名不存在2.1.2未輸入密碼2.2.2密碼不正確2.1.1 提示用戶(hù)名或密碼不能為空2.2.2提示用戶(hù)名或密碼不正確。后置條件:登錄成功用例名稱(chēng):查找書(shū)籍用例ID:IBM_ESHOP_002.2角色:讀者用例說(shuō)明:用例主要實(shí)現(xiàn)查看某一分組的組內(nèi)聯(lián)系人前置條件:進(jìn)入借書(shū)界面基本事件流:參與者動(dòng)作系統(tǒng)響應(yīng)進(jìn)入界面,用戶(hù)點(diǎn)擊“查找”按鈕。2.系統(tǒng)響應(yīng)點(diǎn)擊事件,跳轉(zhuǎn)至“查找書(shū)籍”界面其它事件流:無(wú)異常事件
15、流:無(wú)后置條件:查看書(shū)籍詳細(xì)信息成功用例名稱(chēng):預(yù)定書(shū)籍用例ID:IBM_ESHOP_002.2角色:讀者用例說(shuō)明:用例主要實(shí)現(xiàn)查看某一分組的組內(nèi)聯(lián)系人前置條件:進(jìn)入借書(shū)界面基本事件流:參與者動(dòng)作系統(tǒng)響應(yīng)進(jìn)入界面,用戶(hù)點(diǎn)擊“預(yù)定”按鈕。2.系統(tǒng)響應(yīng)點(diǎn)擊事件,跳轉(zhuǎn)至“預(yù)定書(shū)籍”界面其它事件流:無(wú)異常事件流:無(wú)后置條件:預(yù)定書(shū)籍成功用例名稱(chēng):借書(shū)用例ID:IBM_ESHOP_002.2角色:讀者用例說(shuō)明:用例主要實(shí)現(xiàn)查看某一分組的組內(nèi)聯(lián)系人前置條件:進(jìn)入借書(shū)界面基本事件流:參與者動(dòng)作系統(tǒng)響應(yīng)1. 進(jìn)入界面,用戶(hù)點(diǎn)擊“查找”按鈕。2. 找到所要借的書(shū)籍,點(diǎn)擊“借閱”按鈕2.系統(tǒng)響應(yīng)點(diǎn)擊事件,跳轉(zhuǎn)至“借
16、閱書(shū)籍”界面其它事件流:無(wú)異常事件流:無(wú)后置條件:借閱書(shū)籍成功用例名稱(chēng):還書(shū)用例ID:IBM_ESHOP_002.2角色:讀者用例說(shuō)明:用例主要實(shí)現(xiàn)查看某一分組的組內(nèi)聯(lián)系人前置條件:進(jìn)入還書(shū)界面基本事件流:參與者動(dòng)作系統(tǒng)響應(yīng)點(diǎn)擊“還書(shū)”按鈕2.系統(tǒng)響應(yīng)點(diǎn)擊事件,跳轉(zhuǎn)至“書(shū)籍管理”界面其它事件流:無(wú)異常事件流:無(wú)后置條件:還書(shū)成功3.2系統(tǒng)非功能分析 性能需求: 為了確保系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,圖書(shū)管理系統(tǒng)應(yīng)該滿(mǎn)足以下的性能需求: (1)系統(tǒng)處理的準(zhǔn)確性和及時(shí)性。(2)系統(tǒng)的開(kāi)放性和可擴(kuò)充性。(3)系統(tǒng)的易用性和易維護(hù)性。(4)系統(tǒng)的標(biāo)準(zhǔn)性。(5)系統(tǒng)的先進(jìn)性。(6)系統(tǒng)的響
17、應(yīng)速度。 安全需求: 對(duì)于圖書(shū)管理系統(tǒng)的圖書(shū)量會(huì)非常大,所以在對(duì)這些圖書(shū)導(dǎo)入和查詢(xún)時(shí)要保證速度。 在圖書(shū)借閱過(guò)程中又要保證事務(wù)的完整性。對(duì)于整個(gè)系統(tǒng),需要完整的權(quán)限控制,防止某些人惡意攻擊系統(tǒng),修改原始記錄,同時(shí)對(duì)于數(shù)據(jù)庫(kù)中的數(shù)據(jù)需要定時(shí)備份,防止系統(tǒng)數(shù)據(jù)丟失。此外,系統(tǒng)要求用戶(hù)在登陸時(shí)需要身份驗(yàn)證。 可靠性需求: 可靠性可以從安全性、事務(wù)性和穩(wěn)定性三方面來(lái)衡量。 安全性與用戶(hù)業(yè)務(wù)內(nèi)容相關(guān)。如果開(kāi)發(fā)的軟件是信息安全級(jí)別很高的,如政府機(jī)構(gòu)的辦公文件,那么相應(yīng)的安全性需求也會(huì)很高。事務(wù)的重要性在分布式系統(tǒng)和集成性系統(tǒng)中尤為重要。在小型系統(tǒng)中,事務(wù)性一般通過(guò)數(shù)據(jù)庫(kù)本身的事務(wù)處理機(jī)制來(lái)保障,但在分布式
18、系統(tǒng)、集成應(yīng)用系統(tǒng)中,由于系統(tǒng)中可能存在多個(gè)異構(gòu)數(shù)據(jù)庫(kù),僅僅靠數(shù)據(jù)庫(kù)本身的事務(wù)處理就遠(yuǎn)遠(yuǎn)不夠了,這時(shí)應(yīng)借助第三方事務(wù)中間件來(lái)保障。穩(wěn)定性由故障的頻率、嚴(yán)重性、可恢復(fù)性、可預(yù)見(jiàn)性、準(zhǔn)確性和平均故障間隔時(shí)間等一些指標(biāo)構(gòu)成。判斷軟件是否失效的判斷依據(jù)有:系統(tǒng)死機(jī)、系統(tǒng)無(wú)法啟動(dòng)、不能輸入輸出或顯示記錄、計(jì)算數(shù)據(jù)有錯(cuò)等。1.3 運(yùn)行環(huán)境 1)硬件環(huán)境: 處理器:InterCR300以上 內(nèi)存:128MB以上 硬盤(pán)空間:20M以上 2)軟件環(huán)境: 系統(tǒng)開(kāi)發(fā)平臺(tái):Eclipse 3.4 操作系統(tǒng):windowsXP以上操作系統(tǒng) 數(shù)據(jù)庫(kù):SQL server2005 Java開(kāi)發(fā)包:JDK 5.0以上4.系統(tǒng)
19、設(shè)計(jì) 4.1系統(tǒng)總體架構(gòu)設(shè)計(jì)4.2 系統(tǒng)靜態(tài)結(jié)構(gòu)設(shè)計(jì)圖3:圖書(shū)館管理系統(tǒng)的類(lèi)圖及關(guān)系4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)概念設(shè)計(jì)1、數(shù)據(jù)庫(kù)表設(shè)計(jì) (1) 管理員表admin:管理員編號(hào)(admin_id),管理員姓名(admin_name),密碼(admin_password),登錄次數(shù)(logins),最后一次登錄時(shí)間(lastlogin)和權(quán)限(right)。 (2) 讀者表reader:讀者編號(hào)(reader_id),讀者姓名(reader_name),性別(sex),年齡(age),班級(jí)(class),最大借書(shū)量(maxborrowed)借書(shū)總量(amount)和權(quán)限(right)。(3)書(shū)籍表b
20、ooks:書(shū)籍編號(hào)(book_id),書(shū)名(title),作者(author),出版社(book concert),價(jià)格(price),出版時(shí)間(time),在庫(kù)總量(amount),剩余量(remain)。(4)借閱信息表(borrow_information):書(shū)籍編號(hào)(book_id),讀者編號(hào)(reader_id),借書(shū)時(shí)間(borrow_time),到期時(shí)間(end_time),歸還時(shí)間(return_time).(5)預(yù)訂信息表:讀者編號(hào)(reader_id),書(shū)籍編號(hào)(book_id),預(yù)訂時(shí)間(reservation_time),取消預(yù)訂時(shí)間(reservationcancel
21、time).(6) 書(shū)籍類(lèi)型表booktype:書(shū)籍類(lèi)型編號(hào)(type_id),書(shū)籍類(lèi)型名稱(chēng)(type_name).(7) 用戶(hù)權(quán)限表right:權(quán)限(right)。2、圖書(shū)管理系統(tǒng)個(gè)實(shí)體之間的E-R圖圖4:圖書(shū)館管理系統(tǒng)各實(shí)體之間的ER圖3、基于powerdesigner的CDM數(shù)據(jù)庫(kù)模型 (1)數(shù)據(jù)庫(kù)概念數(shù)據(jù)模型CDM對(duì)象如下圖,該圖顯示了各實(shí)體的屬性及各實(shí)體之間的關(guān)系。圖5:圖書(shū)館管理系統(tǒng)CDM建模(2)數(shù)據(jù)庫(kù)物理數(shù)據(jù)模型PDM對(duì)象如下圖,該圖顯示了各實(shí)體的屬性及各實(shí)體之間的關(guān)系。圖6:圖書(shū)館管理系統(tǒng)CDM建模數(shù)據(jù)庫(kù)物理設(shè)計(jì)由概念模型生成物理模型的的數(shù)據(jù)庫(kù)腳本文件為 圖書(shū)管理.sql文件
22、,代碼附下頁(yè)。附:由PDM對(duì)象自動(dòng)生成的數(shù)據(jù)庫(kù)腳本文件代碼如下:31/*=*/* 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類(lèi)的詳細(xì)設(shè)計(jì)系統(tǒng)的順序圖順序圖是顯示對(duì)象之間交互的圖,這些對(duì)象是按時(shí)間順序排列的。該圖書(shū)館管理系統(tǒng)主要含有以下幾個(gè)重要的順序圖,其他對(duì)象的順序圖和這些也類(lèi)似。(1) 借書(shū)順序圖(2) 還書(shū)順序圖(3) 罰款順序圖1、 借書(shū)順序圖
36、圖7:圖書(shū)館管理系統(tǒng)借書(shū)順序圖【順序圖說(shuō)明】(1) login():登錄系統(tǒng)。(2) checkstu_card():對(duì)讀者信息進(jìn)行驗(yàn)證,檢查是否符合本圖書(shū)館借書(shū)條件。(3) showinformation():顯示該讀者的基本信息函數(shù)。(4) borrow():讀者借書(shū)函數(shù)。(5) getreaders():取得讀者信息函數(shù)??丛撟x者是否符合借書(shū)條件,若符合,則返回可借信息。(6) gettitle():取得書(shū)目信息。(7) getreservation():檢驗(yàn)書(shū)籍是否被預(yù)訂函數(shù)。(8) getnoreservation():書(shū)籍沒(méi)被預(yù)訂或取消預(yù)訂函數(shù)。(9) create(borrowe
37、r,item):創(chuàng)建書(shū)籍外借函數(shù)。借書(shū)時(shí),讀者先將書(shū)拿予管理員,管理員對(duì)書(shū)籍和讀者進(jìn)行檢驗(yàn),若書(shū)籍和讀者都符合借書(shū)條件,則借書(shū)成功。2、 還書(shū)順序圖圖8:圖書(shū)館管理系統(tǒng)還書(shū)順序圖【順序圖說(shuō)明】(1) login():登錄系統(tǒng)。(2) getitem():取得書(shū)籍條目信息。(3) update():對(duì)圖書(shū)館書(shū)籍條目和借閱者信息進(jìn)行更新條目。還書(shū)時(shí),讀者先將書(shū)交給管理員,由管理員掃描書(shū)籍,若書(shū)籍沒(méi)有過(guò)期等違規(guī)現(xiàn)象,則對(duì)書(shū)目和讀者借閱信息進(jìn)行更新,同時(shí)還書(shū)成功。3、 罰款順序圖圖9:圖書(shū)館管理系統(tǒng)的罰款順序圖【順序圖說(shuō)明】管理員對(duì)書(shū)籍進(jìn)行掃描,若發(fā)現(xiàn)書(shū)籍已經(jīng)超過(guò)了圖書(shū)館規(guī)定的還書(shū)期限,則按每天一定金
38、額進(jìn)行罰款,過(guò)期天數(shù)和罰款金額由系統(tǒng)自動(dòng)計(jì)算。用戶(hù)交完罰金后,則對(duì)讀者借閱信息進(jìn)行更新。 系統(tǒng)的狀態(tài)圖圖書(shū)館的書(shū)籍狀態(tài)圖如圖7所示?!緺顟B(tài)圖說(shuō)明】書(shū)籍在未變成圖書(shū)館在庫(kù)書(shū)籍時(shí),為新加書(shū)籍狀態(tài)。書(shū)籍處于在庫(kù)狀態(tài)時(shí)既可以預(yù)訂也可以外借,外借后變?yōu)榻璩鰻顟B(tài)。處于預(yù)訂狀態(tài)時(shí)也可以外借,超出預(yù)訂時(shí)間期限則從預(yù)訂狀態(tài)直接轉(zhuǎn)為可用狀態(tài)。借閱者在規(guī)定的預(yù)訂時(shí)間內(nèi)也可以考慮取消預(yù)訂,取消預(yù)訂后書(shū)籍的狀態(tài)轉(zhuǎn)為可用。外借書(shū)籍歸還后變?yōu)榭捎脿顟B(tài)。圖10:圖書(shū)館的書(shū)籍狀態(tài)圖4.5、系統(tǒng)的活動(dòng)圖活動(dòng)圖描述的是某流程中的任務(wù)的執(zhí)行,活動(dòng)圖描述活動(dòng)是如何協(xié)同工作的,當(dāng)一個(gè)操作必須完成一系列事情,而又無(wú)法確定以什么樣的順序來(lái)完
39、成這些事情時(shí),活動(dòng)圖可以更清晰地描述這些事情。在本圖書(shū)館管理系統(tǒng)中,我們主要描述了圖書(shū)館系統(tǒng)的借書(shū)、還書(shū)和預(yù)訂的活動(dòng)圖。1.借書(shū)活動(dòng)圖【借書(shū)活動(dòng)圖說(shuō)明】 管理員首先要掃描讀者的借書(shū)證,檢驗(yàn)證件是否符合圖書(shū)館借書(shū)條件,若該讀者的借書(shū)數(shù)量還未達(dá)到最大規(guī)定數(shù)量,并且其所借書(shū)籍均未屬于過(guò)期范圍,則符合借書(shū)條件。則再掃描書(shū)籍條形碼,檢查書(shū)籍是否是不可借書(shū)籍或者已經(jīng)被預(yù)訂,若被預(yù)訂,則取消預(yù)訂,方可借書(shū)。在這些條件都符合時(shí)則更新書(shū)籍信息和讀者的借閱信息,記錄好借書(shū)的時(shí)間。圖11:圖書(shū)館管理系統(tǒng)的借書(shū)活動(dòng)圖2、還書(shū)活動(dòng)圖【還書(shū)活動(dòng)圖說(shuō)明】圖書(shū)管理員對(duì)書(shū)籍進(jìn)行掃描,若書(shū)籍已經(jīng)過(guò)期,則要求讀者還請(qǐng)欠款才能還書(shū),
40、讀者繳應(yīng)交罰款后,更新書(shū)目信息和讀者信息。圖12:圖書(shū)館管理系統(tǒng)的還書(shū)活動(dòng)圖3、預(yù)訂圖書(shū)活動(dòng)圖【預(yù)訂書(shū)籍活動(dòng)圖說(shuō)明】讀者先進(jìn)入系統(tǒng)查詢(xún)自己所需要的書(shū)籍,顯示書(shū)籍信息,檢驗(yàn)書(shū)籍是否屬于可預(yù)訂書(shū)籍,若符合條件則檢查書(shū)籍是否已經(jīng)被預(yù)訂或已經(jīng)被外借,若都未成立,則讀者登錄系統(tǒng),并對(duì)該書(shū)籍進(jìn)行預(yù)訂。圖13:圖書(shū)館管理系統(tǒng)預(yù)訂書(shū)籍活動(dòng)圖5. 系統(tǒng)實(shí)現(xiàn)5.1創(chuàng)建數(shù)據(jù)庫(kù) 創(chuàng)建某書(shū)表: CREATE TABLE 某書(shū)( 條碼號(hào) VARCHAR(20) PRIMARY KEY,書(shū)名VARCHAR(20) NOT NULL,作者VARCHAR(20) NOT NULL,譯者VARCHAR(10) NULL,價(jià)格MO
41、NEY NOT NULL DEFAULT 0.00,圖書(shū)類(lèi)型VARCHAR(10) NOT NULL REFERENCES圖書(shū)類(lèi)型(圖書(shū)類(lèi)型),出版社VARCHAR(10) NOT NULL,出版日期DATETIME NOT NULL,供應(yīng)商VARCHAR(10) NOT NULL,ISBN VARCHAR(10) NOT NULL,入庫(kù)時(shí)間DATETIME NOT NULL,庫(kù)存數(shù)量INT NOT NULL,館藏?cái)?shù)量INT NOT NULL,) 創(chuàng)建圖書(shū)類(lèi)型表: CREATE TABLE 圖書(shū)類(lèi)型(條碼號(hào)VARCHAR(10) PRIMARY KEY REFERENCES某書(shū)(條碼號(hào)),圖書(shū)
42、類(lèi)型VARCHAR(10) NOT NULL ,)創(chuàng)建圖書(shū)位置表: CREATE TABLE 圖書(shū)位置 (書(shū)架號(hào)VARCHAR(10) PRIMARY KEY,閱覽室VARCHAR(10) NOT NULL,)創(chuàng)建某本書(shū)表: CREATE TABLE 圖書(shū)位置 (圖書(shū)編號(hào)VARCHAR(10) PRIMARY KEY,條碼號(hào)VARCHAR(10) NOT NULL REFERENCES某書(shū)(條碼號(hào)),書(shū)架號(hào)VARCHAR(10) NOT NULL REFERENCES圖書(shū)位置(書(shū)架號(hào)),狀態(tài)VARCHAR(10) NULL,)創(chuàng)建讀者表: CREATE TABLE 讀者 (身份證號(hào)VARCHA
43、R(10) PRIMARY KEY,姓名VARCHAR(10) NOT NULL,密碼VARCHAR(10) NOT NULL DEFAULT 身份證號(hào),性別VARCHAR(10) NOT NULL DEFAULT M CHECK(狀態(tài) IN ( M, F),班級(jí)VARCHAR(10) NULL,讀者類(lèi)型VARCHAR(10) NOT NULL,地址VARCHAR(10) NULL,聯(lián)系電話(huà)VARCHAR(10) NULL,有效期DATETIME NOT NULL,)創(chuàng)建借閱歸還表:CREATE TABLE 借閱歸還 (圖書(shū)編號(hào)VARCHAR(10) REFERENCES 某本書(shū)(圖書(shū)編號(hào)),
44、借閱卡號(hào)VARCHAR(10) REFERENCES 借閱卡(借閱卡號(hào)),借出日期DATETIME NOT NULL,應(yīng)還日期DATETIME NOT NULL,歸還日期DATETIME NULL,狀態(tài)VARCHAR(10) NOT NULL DEFAULT 未歸還 CHECK(狀態(tài) IN(歸還,未歸還),PRIMARY KEY(圖書(shū)編號(hào),借閱卡號(hào)),)創(chuàng)建管理員表:CREATE TABLE 管理員 (用戶(hù)名VARCHAR(10) PRIMARY KEY,密碼VARCHAR(10) NOT NULL,姓名VARCHAR(10) NOT NULL,性別VARCHAR(10) NOT NULL D
45、EFAULT M CHECK(狀態(tài) IN ( M, F),)5.2創(chuàng)建視圖借閱總數(shù):CERETE VIEW借閱總數(shù) ASSELECT COUNT(*) AS 借閱總數(shù),讀者類(lèi)型FROM 借閱信息GROUP BY 讀者類(lèi)型讀者總數(shù):CREATE VIEW 讀者總數(shù) ASSELECT COUNT(*) AS 讀者總數(shù),讀者類(lèi)型FROM 讀者GROUP BY讀者類(lèi)型過(guò)期信息:CERATE VIEW 過(guò)期信息 ASSELECT 借閱卡號(hào), 某本書(shū).圖書(shū)編號(hào), 借出日期FROM 借閱歸還JOIN 借閱卡 ON 借閱歸還.借閱卡號(hào) = 借閱卡. 借閱卡號(hào) WHERE 借閱歸還.狀態(tài)=未歸還AND 借閱歸還.借閱卡號(hào)=借閱卡.借閱卡號(hào) AND 應(yīng)還日期歸還日期借閱信息:CREATE VIEW 借閱信息 ASSELECT 讀者.姓名,借閱卡.借閱卡號(hào),讀者.讀者類(lèi)型,借閱歸還.圖書(shū)編號(hào),借閱歸還.借出日期,借閱歸還.歸還日期, 某書(shū).*,借閱歸還.狀態(tài)FROM 讀者,借閱卡,借閱歸還,某書(shū)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦山場(chǎng)地承包合作協(xié)議
- 大學(xué)論文考試題庫(kù)及答案
- 美術(shù)課件創(chuàng)意畫(huà)小學(xué)生
- 美術(shù)兒童雕塑課件
- 民航安全生產(chǎn)法律法規(guī)的內(nèi)容
- 美術(shù)兒童素描課件
- 食品安全生產(chǎn)許可證在哪個(gè)部門(mén)辦理
- 食堂安全管理方案
- 美國(guó)景點(diǎn)介紹課件
- 2025至2030中國(guó)聚對(duì)苯二甲酸乙二酯樹(shù)脂行業(yè)項(xiàng)目調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 2024年F段歷史投檔分?jǐn)?shù)線(xiàn)
- 國(guó)家漢語(yǔ)主題詞表
- 國(guó)家開(kāi)放大學(xué)專(zhuān)科《機(jī)械制圖》形考任務(wù)1-4試題及答案
- DB34∕T 4004-2021 埋地聚乙烯燃?xì)夤艿蓝ㄆ跈z驗(yàn)規(guī)則
- 裝修代賣(mài)合同范本
- 高大模板安全施工施工方法及工藝要求
- 車(chē)庫(kù)業(yè)主與租賃者安裝充電樁協(xié)議書(shū)
- 臺(tái)球廳桌球俱樂(lè)部創(chuàng)業(yè)計(jì)劃書(shū)課件模板
- 醫(yī)務(wù)人員技術(shù)檔案
- 人工智能創(chuàng)業(yè)項(xiàng)目計(jì)劃書(shū)
- 2023年鐵嶺市三支一扶筆試真題
評(píng)論
0/150
提交評(píng)論