【文章內(nèi)容簡介】
詢的圖書不存在(第 2 步后)1. 讀者輸入的圖書信息不能在數(shù)據(jù)庫中查詢到2. 系統(tǒng)顯示暫時無該圖書信息3. 重新啟動該用例被包含用例 無被擴展用例 無優(yōu)先級 高9 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫是整個系統(tǒng)的基石,數(shù)據(jù)庫的設(shè)計優(yōu)劣直接影響到整個系統(tǒng)的設(shè)計成敗,本節(jié)對數(shù)據(jù)庫的設(shè)計進行專門闡述 [5]。數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù)。十多年來數(shù)據(jù)庫管理系統(tǒng)已從專用的應(yīng)用程序發(fā)展成為通用的系統(tǒng)軟件。由于數(shù)據(jù)庫具有數(shù)據(jù)結(jié)構(gòu)化,最低冗余度,較高的程序與數(shù)據(jù)獨立性,易于擴充,易于編制應(yīng)用程序等優(yōu)點,較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫設(shè)計之上的。因此不僅大型計算機及中小型計算機,甚至微型機都配有數(shù)據(jù)庫管理系統(tǒng) [6]。數(shù)據(jù)庫系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序為中心轉(zhuǎn)向圍繞共享的數(shù)據(jù)庫為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,又有利于應(yīng)用程序的研制和維護,提高了數(shù)據(jù)的利用性和相容性,提高了決策的可靠性。目前,數(shù)據(jù)庫已經(jīng)成為現(xiàn)代信息系統(tǒng)不可分割的重要組成部分。數(shù)據(jù)庫技術(shù)也是計算機領(lǐng)域中發(fā)展最快的技術(shù)之一。數(shù)據(jù)庫設(shè)計是把現(xiàn)實世界的實體模型與需求轉(zhuǎn)換成數(shù)據(jù)庫的模型的過程,它是建立數(shù)據(jù)庫應(yīng)用系統(tǒng)的核心問題。數(shù)據(jù)庫及其應(yīng)用的性能都建立在良好的數(shù)據(jù)庫設(shè)計的基礎(chǔ)之上,數(shù)據(jù)庫的數(shù)據(jù)是一切操作的基礎(chǔ),如果數(shù)據(jù)庫設(shè)計不好,那么其它一切用于提高數(shù)據(jù)庫性能的方法收效都是有限的。數(shù)據(jù)庫設(shè)計的關(guān)鍵是如何使設(shè)計的數(shù)據(jù)庫能合理地存儲用戶的數(shù)據(jù),方便用戶進行數(shù)據(jù)處理 [6]。設(shè)計數(shù)據(jù)庫必須遵循一定的規(guī)則,在關(guān)系型數(shù)據(jù)庫中,這種規(guī)則就是范式,范式是符合某一種級別的關(guān)系模式的集合。一般人們設(shè)計數(shù)據(jù)庫遵循第三范式。即:數(shù)據(jù)庫表中不包含已在其他表中包含的非主關(guān)鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲空間,同時加快了增、刪、改的速度 [6]。整個系統(tǒng)所包括的信息有圖書信息、讀者信息、留言信息、圖書借閱信息、圖書歸還信息、系統(tǒng)用戶信息、讀者類型信息??蓪⑦@些信息抽象為下列系統(tǒng)所需要的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):1)圖書信息(編號,圖書名稱,圖書類型,作者,譯者,ISBN 號,價格,出版社,所在書架,入庫時間,操作員)2)圖書類型(編號,名稱,可借閱天數(shù))3)讀者信息(編號,姓名,性別,條形碼,讀者類型,出生年月,有效證件,證件號碼,登記日期,電話,郵箱,操作員)4)讀者類型(名稱,可借閱圖書本數(shù))5)圖書借閱信息(圖書編號,讀者 ID,借出時間,應(yīng)還時間,是否歸還,操作員)6)圖書歸還信息(圖書編號,讀者 ID,歸還時間,操作員)107)用戶(編號,用戶名稱,密碼)8)圖書館信息(編號,名稱,館長,電話,地址,郵箱,創(chuàng)建日期,簡介)圖書館參數(shù)信息(編號,辦證費用,有效期限)注:帶下劃線表示主鍵在這里使用 ER 圖描述了圖書借閱管理系統(tǒng)的數(shù)據(jù)模型。圖 圖書借閱管理系統(tǒng)ER 圖描述了該系統(tǒng)所涉及到的實體以及他們之間的關(guān)系。具體結(jié)構(gòu)如下圖所示:圖 系統(tǒng) ER 圖 圖書信息表結(jié)構(gòu)設(shè)計 圖書信息表主要用于存儲圖書館中所藏圖書的相關(guān)信息,其中的相關(guān)信息是在圖書入庫時由操作員進行添加完善,此表主要用于讀者和圖書管理員對館中圖書的查詢,系統(tǒng)用戶根據(jù)圖書的某個屬性進行查詢,便可得知圖書的其他相關(guān)信息,其中圖書所在書架屬性是便于讀者借閱時對圖書的尋找,圖書價格是在讀者不慎將圖書遺失時對遺失圖書進行賠償?shù)囊罁?jù)。表的具體結(jié)果如下:表 圖書信息表 tb_bookinfo字段名稱 數(shù)據(jù)類型 字段長度 是否為空 說明barcode varchar 30 No Keybookname varchar 70 No 11author varchar 30 Yes 作者translator varchar 30 Yes 譯者ISBN varchar 20 Noprice float 8,2 No 圖書價格bookcase varchar 10 No 圖書所在書架press varchar 70 No 出版社intime date No 圖書入庫時間operator varchar 30 No 操作員page int 10 Yes 圖書頁碼 圖書類型信息表結(jié)構(gòu)設(shè)計 該表的設(shè)計主要是方便對圖書的分類,和對圖書的查詢,在實際應(yīng)用中圖書管理員就是根據(jù)圖書類型的不同將之分列在不同的書架,以方便讀者的借閱尋找,其中可借閱天數(shù)項設(shè)置了不同類型圖書的借閱期限,可根據(jù)圖書的具體情況進行不同的維護管理,表的具體結(jié)構(gòu)設(shè)計如下:表 圖書類型信息表 tb_booktype字段名稱 數(shù)據(jù)類型 字段長度 是否為空 說明ID int 10 No Keybookname varchar 30 No days int 10 No 可借閱天數(shù) 讀者信息表結(jié)構(gòu)設(shè)計讀者信息表的設(shè)計是為了圖書館管理員對讀者進行管理,其中讀者 ID,不同類型證件的號碼都是唯一的,是讀者在借閱圖書時需要輸入對讀者身份進行識別的信息,讀者郵件電話等信息室為了與讀者進行聯(lián)系,讀者類型信息決定了讀者一次性可借閱的圖書的數(shù)量,注冊時間可用于查詢計算讀者身份有效的期限,操作員是為了便于對信息才操作的查詢。表的具體結(jié)構(gòu)設(shè)計如下:12表 讀者信息表 tb_reader字段名稱 數(shù)據(jù)類型 字段長度 是否為空 說明Id int 10 No Keyname varchar 20 No sex varchar 4 No barcode varchar 30 No readertype varchar 11 No 讀者類型tel varchar 20 Yes 電話 varchar 100 Yes paperType varchar 10 No 證件類型PaperNO. Varchar 20 No 證件號碼birthday date Yes intime date No 登記時間operator varchar 30 No 操作員 讀者類型信息表結(jié)構(gòu)設(shè)計此表的設(shè)計是為了對不同身份的讀者進行分類方便讀者的管理,其中可借閱圖書數(shù)量的屬性設(shè)定,是根據(jù)讀者需求的不同對起權(quán)限進行的設(shè)置,用于規(guī)定不同類型讀者一次可借閱的圖書數(shù)量,表的具體結(jié)構(gòu)設(shè)計如下:表 讀者類型信息表 tb_readertype字段名稱 數(shù)據(jù)類型 字段長度 是否為空 說明ID int 10 No Keyreadername varchar 50 No number int 4 No 可借圖書本數(shù) 圖書借閱信息表結(jié)構(gòu)設(shè)計該表的設(shè)計是用于對讀者借閱圖書進行管理,表中圖書 ID 屬性是對借閱圖書的唯一性識別標識,讀者 ID 號記錄借閱的相應(yīng)讀者,結(jié)出時間記錄了相應(yīng)的歸還時間,以及歸還時是否超時,操作員是對借閱進行操作的人員的記錄方便日后的查詢,是否歸還標識可查13詢當起讀書是否被歸還,表的具體結(jié)構(gòu)設(shè)計如下:表 圖書借閱信息表 tb_borrow字段名稱 數(shù)據(jù)類型 字段長度 是否為空 說明ID int 10 No KeyreaderID varchar 10 No bookID int 10 No borrowTime date No 結(jié)出時間backTime date No 應(yīng)歸還時間operator varchar 30 No 操作員ifback tinyint 1 No 是否歸還 圖書歸還信息表結(jié)構(gòu)設(shè)計與圖書借閱信息表形成對照的是圖書歸還信息表,該表的設(shè)計除了像上表一樣把借閱的圖書與相應(yīng)的借閱者進行對應(yīng)的聯(lián)系以外還記錄了讀者應(yīng)歸還圖書的時間,以此判斷讀者的借閱是否超時,表的具體結(jié)構(gòu)設(shè)計如下:表 圖書歸還信息表 tb_giveback字段名稱 數(shù)據(jù)類型 字段長度 是否為空 說明ID int 10 No KeyreaderID varchar 11 No bookID int 11 No backTime date No 歸還時間operator varchar 30 No 操作員 用戶信息表結(jié)構(gòu)設(shè)計該表的設(shè)計用于記錄圖書管理系統(tǒng)用戶的信息,方便對用戶的管理,表中包括用戶 ID 和用戶的登錄密碼,表的具體結(jié)構(gòu)設(shè)計如下:14表 系統(tǒng)用戶信息表 tb_user字段名稱 數(shù)據(jù)類型 字段長度 是否為空 說明ID int 10 No Keyname varchar 30 No password varchar 30 No 圖書館信息表結(jié)構(gòu)設(shè)計該表包含了圖書館的名稱,地址,聯(lián)系方式,建館時間,簡介等信息,是對圖書館基本屬性信息的描述,方便外界讀者對圖書館的了解,表的具體結(jié)構(gòu)設(shè)計如下:表 圖書館信息表 tb_library 字段名稱 數(shù)據(jù)類型 字段長度 是否為空 說明ID int 10 No Keylibraryname varchar 50 No curator varchar 10 No tel varchar 20 Yes 結(jié)出時間address varchar 100 No 應(yīng)歸還時間 varchar 100 No url varchar 100 No 圖書館網(wǎng)站createDate varchar No 創(chuàng)館時間introduce text Yes 圖書館簡介 辦證參數(shù)信息表結(jié)構(gòu)設(shè)計該表是為校外人員設(shè)計的,對于需要到圖書館進行借閱的讀者可辦理臨時的借閱證用于對圖書的借閱憑證,表中包含了辦證所需費用以及證件的有效期限,表的具體結(jié)果設(shè)計如下:表 圖書證參數(shù)信息表 tb_parameter字段名稱 數(shù)據(jù)類型 字段長度 是否為空 說明ID int 10 No KeyCost int 10 No 辦證費用validity int 10 No 有效時間15 系統(tǒng)總體結(jié)構(gòu)設(shè)計該系統(tǒng)在 Windows98/2022/XP 環(huán)境下,主要采用 JSP 開發(fā)工具,MySQL 數(shù)據(jù)庫來設(shè)計,開發(fā)過程與成果應(yīng)符合 GB/T 114571995 軟件工程術(shù)語,GB/T 85671988 計算機軟件產(chǎn)品開發(fā)文件編制指南等 [7]。 圖書管理系統(tǒng)總體結(jié)構(gòu)圖繪制系統(tǒng)結(jié)構(gòu)圖的過程,實際上就是對系統(tǒng)功能模塊進行分解設(shè)計的過程,即合理地將數(shù)據(jù)流程圖轉(zhuǎn)變?yōu)樗枰南到y(tǒng)結(jié)構(gòu)圖 [8]。系統(tǒng)結(jié)構(gòu)圖將會使讀者和用戶能直觀的了解系統(tǒng)的結(jié)構(gòu)模式,理解系統(tǒng)的各個功能的結(jié)構(gòu),能很好地方便用戶使用和理解整個系統(tǒng)。本系統(tǒng)的結(jié)構(gòu)圖如下:圖 系統(tǒng)總體結(jié)構(gòu)圖根據(jù)需求分析的結(jié)果,按照“低耦合、高內(nèi)聚”的原則,本系統(tǒng)將劃分為以下主要功能模塊:系統(tǒng)管理員功能模塊,讀者管理功能模塊,圖書管理功能模塊,圖書借還功能模塊;系統(tǒng)查詢功能模塊 [8]。 系統(tǒng)管理員模塊功能該模塊主要包括圖書館信息設(shè)置,用戶管理,參數(shù)設(shè)置,書架設(shè)置。該功能選項用于系統(tǒng)管理員對圖書館名稱,地址,聯(lián)系方式,簡介等信息的管理更新,16以便于讀者和外界人士對圖書館的了解。該功能是對 td_library 表進行維護修改等操作,修改后的信息將被保存在該表中。該功能子模塊主要是系統(tǒng)管理員對系統(tǒng)用戶的管理,通過此子模塊的功能實現(xiàn)可以對用戶進行添加、修改、刪除、權(quán)限設(shè)置等操作,該子模塊能將圖書館的不同工作細化到不同的相關(guān)人員,極大地提高了圖書館的工作效率。該操作是對 tb_users 表進行操作,在對用戶進行了相關(guān)的操作后把操作后的最新信息存放在該表中。通過該子模塊設(shè)置在圖書館辦理臨時讀者證的費用及證件有效期限。該操作是對于tb_parameter 表進行,并把操作后的最新數(shù)據(jù)存放在該表中。 讀者管理模塊功能該模塊主要包含讀者類型管理和讀者信息管理兩個子模塊:1. 讀者類型管理該子模塊是對圖書館系統(tǒng)用戶讀者的類型進行維護,修改等操作,在此模塊中主要設(shè)置不同類型讀者一次性可借閱的圖書的數(shù)量,該操作是對于 tb_resderType 表進行,并將操作結(jié)果保存在該表中。2. 讀者信息管理該子模塊是對讀者的基本信息進行管理,可以對讀者的基本信息進行添加,修改,刪除操作,這下操作均是對 tb_resder 表進行的,并將操作后的結(jié)果保存在該表中。 圖書管理模塊功能 圖書管理功能模塊可分為圖書類型管理和圖書信息管理兩個子模塊,其各自的實現(xiàn)分別如下面表中所示:表 圖書類型管理描述圖書類型管理功能描述 對圖書進行類型設(shè)置分類,并對不同類型圖書可被借閱的天數(shù)進行設(shè)置訪問的數(shù)據(jù)庫表 圖書類型表:tb_bookType進行的操作 添加、修改、刪除圖書類型,對不同類型圖書可被借閱的天數(shù)進行設(shè)置產(chǎn)生的結(jié)果 對圖書類型進行管理,對不同類型圖書參數(shù)進行設(shè)置結(jié)果存儲位置或輸出 結(jié)果存儲在圖書類型表(tb_bookType)中,結(jié)果在圖書類型查詢頁面輸出17表 圖書信息管理描述圖書信息管理功能描述 對圖書進行基本操作和信息管理訪問的數(shù)據(jù)庫表 圖書類型表:tb_bookType進行的操作 添加、修改、刪除圖書,對圖書的編號、所在書架、價格、出版社等基本信息進行管理產(chǎn)生的結(jié)果 對圖書基本操作管理,對不同圖書參數(shù)進行各自信息的設(shè)置管理結(jié)果存儲位置或輸出 結(jié)果存儲在圖書類型表(tb_book)中,結(jié)果在圖書查詢頁面輸出 圖書借還模塊功能該功能模塊主要實現(xiàn)對讀者借閱、續(xù)接、歸還圖書的操作,其中子模塊各自的描述如下各表所列:表 圖書借閱描述圖書借閱管理功能描述 對讀者借閱圖書進行基本操作和信息管理訪問的數(shù)據(jù)庫表 圖書信息表: tb_bookinfo讀者信息表:tb_reader讀者類型