數(shù)據(jù)庫課程設計圖書館管理系統(tǒng)管理系統(tǒng)2篇綜合_第1頁
數(shù)據(jù)庫課程設計圖書館管理系統(tǒng)管理系統(tǒng)2篇綜合_第2頁
數(shù)據(jù)庫課程設計圖書館管理系統(tǒng)管理系統(tǒng)2篇綜合_第3頁
數(shù)據(jù)庫課程設計圖書館管理系統(tǒng)管理系統(tǒng)2篇綜合_第4頁
數(shù)據(jù)庫課程設計圖書館管理系統(tǒng)管理系統(tǒng)2篇綜合_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、信息工程學院數(shù)據(jù)庫應用系統(tǒng)開發(fā)課程設計論文題 目:圖書管理系統(tǒng)數(shù)據(jù)庫設計學 號:09204040專業(yè)班級:信管04級(2)班姓 名:魏 金 風指導老師:陳 勇完成日期:2007-1-26摘 要在計算機日益普及的今天,對個人而言若采用一套行之有效的圖書管理系統(tǒng)來管理自己的書籍,會方便許多。對圖書管理部門而言,以前單一的手工檢索已不能滿足人們的要求,往往是投入了大量的人力和財力卻得不到高效的管理效率。為了便于圖書資料的管理需要有效的圖書管理軟件,減輕工作人員的工作量,方便工作人員對它的操作,提高管理的質量和水平,做到高效、智能化管理,達到提高圖書借閱信息管理效率的目的。采用數(shù)據(jù)庫技術生成的圖書館借

2、閱管理系統(tǒng)將會極大地方便借閱者并簡化圖書館管理人員和工作人員的勞動,使工作人員從繁忙、復雜的工作進入到一個簡單、高效的工作中。基于這個問題,開發(fā)了大學圖書館借閱系統(tǒng)。系統(tǒng)采用C/S模式,實現(xiàn)了借還書的方便、高效性、有效性和及時性。本文通過作者設計和開發(fā)一個中小型高校圖書館管理系統(tǒng)的實踐,闡述了高校圖書管理軟件中所應具有的基本功能、設計、實現(xiàn)。關鍵字:圖書借閱;人員管理;圖書維護;目 錄1引言12. 需求分析階段22.1 引言22.2 需求分析階段的目標與任務22.2.1處理對象22.2.2處理功能及要求32.2.3.安全性和完整性要求32.3 需求分析階段成果33 概念設計階段93.1 引言9

3、3.2 任務與目標103.3 階段結果104邏輯設計階段124.1邏輯設計的任務和目標124.2數(shù)據(jù)組織124.2.1將E-R圖轉換為關系模型124.2.2模型優(yōu)化134.2.3數(shù)據(jù)庫模式定義134.2.4 用戶子模式定義154.3數(shù)據(jù)處理165物理設計階段175.1物理設計階段的目標與任務175.2數(shù)據(jù)存儲方面175.3系統(tǒng)功能模塊175.3.1 讀者基本信息的查詢和更新模塊175.3.2 圖書基本信息的查詢和更新模塊186數(shù)據(jù)庫實施階段196.1建立數(shù)據(jù)庫、數(shù)據(jù)表、視圖、索引196.1.1 建立數(shù)據(jù)庫196.1.2 建立數(shù)據(jù)表196.1.3 建立視圖216.1.4 建立索引216.1.5

4、建立觸發(fā)器226.2數(shù)據(jù)入庫226.3創(chuàng)建各個功能的存儲過程227系統(tǒng)調試和測試238實習心得239存在的問題及建議23致謝25參考文獻25附錄1 存儲過程定義26附錄2 數(shù)據(jù)查看和存儲過程功能的驗證29附錄3 所有的SQL運行語句341引言隨著社會信息量的與日俱增,職場競爭的日趨激烈,越來越多的人更關注知識的積累、能力的培養(yǎng)。作為信息存儲的主要媒體之一圖書,數(shù)量、規(guī)模比以往任何時候都大的多,不論個人還是圖書管理部門都需要使用方便而有效的方式來管理自己的書籍。在計算機日益普及的今天,對個人而言若采用一套行之有效的圖書管理系統(tǒng)來管理自己的書籍,會方便許多。對圖書管理部門而言,以前單一的手工檢索已

5、不能滿足人們的要求,為了便于圖書資料的管理需要有效的圖書管理軟件。對于日益擴大的圖書館,查找特定的書目總是借閱者或工作人員勞神費力,有時還沒有結果。因此往往是投入了大量的人力和財力卻得不到高效的管理效率。為了縮短借閱者的等待時間,減輕工作人員的工作量,方便工作人員對它的操作,提高管理的質量和水平,做到高效、智能化管理,從而達到提高圖書借閱信息管理效率的目的,采用數(shù)據(jù)庫技術生成的圖書館借閱管理系統(tǒng)將會極大地方便借閱者并簡化圖書館管理人員和工作人員的勞動,使工作人員從繁忙、復雜的工作進入到一個簡單、高效的工作中。本文以高校圖書館管理系統(tǒng)管理系統(tǒng)開發(fā)過程為背景,全文分為目錄、需求分析、概要設計、邏輯

6、設計、物理設計,以及系統(tǒng)的實現(xiàn)等全過程。在程序設計與調試上采用了自上而下,逐步細化,逐步完善的原則。采用結構化的功能模塊設計系統(tǒng)功能,可讀性好,易于擴充?;竟δ苋妫到y(tǒng)可讀性好,易于維護、更新,安全性好。2. 需求分析階段2.1 引言進行系統(tǒng)設計,首先要對系統(tǒng)的現(xiàn)狀進行分析。根據(jù)系統(tǒng)的目標、需求和功能,制定和選擇一個較好的系統(tǒng)方案,從而達到一個合理的優(yōu)化系統(tǒng)。每個學校都有圖書館,最初由于圖書數(shù)量和種類較少,人工手動管理比較方便和靈活。隨著社會的發(fā)展,圖書的數(shù)量和種類越來越多,人工手動管理會降低工作的效率,希望建立一個圖書管理系統(tǒng),是為了解決人工手動管理圖書信息在實踐的問題,從而達到系統(tǒng)化、

7、規(guī)范化、標準化的水平。該系統(tǒng)的建立不但給管理者帶來了方便,也節(jié)省了工作時間從而提高了工作效率。需求分析是在于要弄清用戶對開發(fā)的數(shù)據(jù)庫應用系統(tǒng)的確切要求。數(shù)據(jù)庫設計的第一步是明確數(shù)據(jù)庫的目的和如何使用,也就是說需要從數(shù)據(jù)庫中得到哪些信息。明確目的之后,就可以確定您需要保存哪些主題的信息(表),以及每個主題需要保存哪些信息(表中字段)。在構造系統(tǒng)時,首先從需求出發(fā)構造數(shù)據(jù)庫表,然后再由數(shù)據(jù)庫表結合需求劃分系統(tǒng)功能模塊。這樣,就把一個大的系統(tǒng)分解成了幾個小系統(tǒng)。這里把系統(tǒng)的層次劃分為了四個部分:圖書維護,人員信息管理,圖書借閱管理,信息查詢。能夠實現(xiàn)以下功能: 進行新書入庫、現(xiàn)有圖書信息修改以及刪除

8、; 能夠實現(xiàn)對讀者基本信息的查詢和編輯管理; 能夠進行超期罰款功能; 能夠進行借閱信息的查詢功能;2.2 需求分析階段的目標與任務2.2.1處理對象讀者信息:讀者編號,姓名,性別,學號,學院,專業(yè),年級,類型,類別編號,辦證日期管理員信息:管理員編號,姓名,性別,權限,登錄口令,住址,電話館藏圖書信息:圖書編號,索書號,圖書名稱,作者,出版社,單價,摘要,關鍵字,副本數(shù),分類,出版日期,狀態(tài)借閱信息:圖書編號,讀者編號,圖書名,作者,借閱日期,歸還日期,歸還日期,應還日期,罰金借閱歷史信息:圖書編號,讀者編號,圖書名,作者,借閱日期,還書日期罰款信息:讀者編號,圖書編號,圖書名,作者,借閱日期

9、,應還日期,歸還日期,罰款金額,處理狀態(tài),管理員編號2.2.2處理功能及要求1能夠存儲一定數(shù)量的圖書信息,并方便有效的進行相應的書籍數(shù)據(jù)操作和管理,這主要包括:1) 圖書信息的錄入、刪除及修改。2) 圖書信息的多關鍵字檢索查詢。3) 圖書的出借、返還及超期罰款或丟失賠償。能夠對一定數(shù)量的讀者、管理員進行相應的信息存儲與管理,這其中包括:1) 讀者信息的登記、刪除及修改。 2) 管理員信息的增加、刪除及修改。 3) 讀者資料的統(tǒng)計與查詢。3能夠提供一定的安全機制,提供數(shù)據(jù)信息授權訪問,防止隨意刪改、查詢。4對查詢、統(tǒng)計的結果能夠列表顯示。2.2.3.安全性和完整性要求1) 安全性要求 系統(tǒng)安全性

10、要求體現(xiàn)在數(shù)據(jù)庫安全性、信息安全性和系統(tǒng)平臺的安全性等方面。安全性先通過視圖機制,不同的用戶只能訪問系統(tǒng)授權的視圖,這樣可提供系統(tǒng)數(shù)據(jù)一定程度上的安全性,再通過分配權限、設置權限級別來區(qū)別對待不同操作者對數(shù)據(jù)庫的操作來提高數(shù)據(jù)庫的安全性;系統(tǒng)平臺的安全性體現(xiàn)在操作系統(tǒng)的安全性、計算機系統(tǒng)的安全性和網(wǎng)絡體系的安全性等方面。2) 完整性要求系統(tǒng)完整性要求系統(tǒng)中數(shù)據(jù)的正確性以及相容性??赏ㄟ^建立主、外鍵,使用check約束,或者通過使用觸發(fā)器和級聯(lián)更新。2.3 需求分析階段成果2.3.1 體會與收獲系統(tǒng)需求分析主要是通過對本校圖書管理員的咨詢、請教,了解我校圖書館的管理規(guī)則和運行機制,并通過上網(wǎng)搜索

11、有關圖書管理系統(tǒng)的知識,了解到了圖書管理的現(xiàn)狀,以及在管理中的一些問題。由于是第一次做這樣的需求調查,開始總是覺得無從下手,不知道自己該了解、該清楚那些方面的知識,在繪制系統(tǒng)業(yè)務流程圖時,也遇到了很多的問題,但通過老師的幫助與指導,和自己一遍一遍的分析和完善,才逐步把業(yè)務弄清楚,最終順利完成了需求分析階段的任務。2.3.2 圖書管理系統(tǒng)業(yè)務流程圖圖2.1 業(yè)務流程圖從讀者角度考慮的業(yè)務流程圖:2.3.3 圖書管理系統(tǒng)數(shù)據(jù)流程圖圖 2.2 頂層數(shù)據(jù)流頂層數(shù)據(jù)流圖:第2層數(shù)據(jù)流圖:(讀者借閱,讀者還書,讀者查詢,管理員查詢,管理員修改)第3層數(shù)據(jù)流圖:(讀者借閱)第3層數(shù)據(jù)流圖:(讀者還書)第3層

12、數(shù)據(jù)流圖:(查詢圖書信息,查詢讀者信息,查詢借閱歷史,查詢罰款信息)第3層數(shù)據(jù)流圖:(管理員添加、刪除、修改圖書信息)第3層數(shù)據(jù)流圖:(管理員添加、刪除、修改讀者信息)第3層數(shù)據(jù)流圖:(管理員添加、刪除、修改系統(tǒng)用戶信息)2.3.4 圖書管理系統(tǒng)數(shù)據(jù)字典(a)數(shù)據(jù)項:系統(tǒng)涉及的數(shù)據(jù)項有44項表1.1 數(shù)據(jù)項列表數(shù)據(jù)項編號數(shù)據(jù)項名數(shù)據(jù)項含義與其它數(shù)據(jù)項的關系存儲結構別名DI-1BookID圖書條碼號char(9)條碼號DI-2BookNo圖書索書號char(10)索書號DI-3BookName圖書名char(20)書名DI-4BookWriter圖書作者char(8)作者DI-5BookPubl

13、ish圖書出版社char(20)出版社DI-6BookPrice圖書單價char(7)單價DI-7BookDate圖書出版日期Date出版日期DI-8BookClass圖書分類char(20)類別DI-9BookMain圖書摘要char (200)摘要DI-10BookPrim圖書關鍵字char (30)關鍵字DI-11BookCopy圖書副本數(shù)char (5)副本數(shù)DI-12BookState圖書是否可借char(10)狀態(tài)DI-13BookRNo所屬館室號同RoomNochar(5)館室號DI-14ReaID讀者條碼號char(9)條碼號DI-15ReaName讀者姓名char(10)姓名

14、DI-16ReaSex讀者性別char(2)性別DI-17ReaNo讀者學號char (9)學號DI-18ReaLBID讀者類別編號同LBIDchar(5)類別編號DI-19ReaType讀者類型(職務)char(20)類型DI-20ReaDep讀者所在學院char(20)學院數(shù)據(jù)項編號數(shù)據(jù)項名數(shù)據(jù)項含義與其它數(shù)據(jù)項的關系存儲結構別名DI-21ReaGrade讀者所屬年級char(5)年級DI-22ReaPre讀者所讀專業(yè)char(20)專業(yè)DI-23ReaDate讀者辦證時間Date辦證時間DI-24OutDate借閱日期Date借閱時間DI-25InDate歸還日期Date歸還時間DI-2

15、6YHDate應還日期Date應還時間DI-27Fine罰款金額char(3)罰款金額DI-28CLState是否交納罰金char(8)處理狀態(tài)DI-29LBID類別編號同ReaLBIDchar(5)類別編號DI-30LBName讀者類別名char(20)類別名DI-31LBnum允許最多借書數(shù)量char(5)借閱數(shù)量DI-32LBbqx允許最長持有時間char(4)借閱期限DI-33LBqx借閱卡有效期char(3)有效期限DI-34MID管理員編號同RoomMIDchar(10)編號DI-35MName管理員姓名char(10)姓名DI-36MSex管理員性別char(2)性別DI-37M

16、pwd管理員口令char(8)口令DI-38MAuth管理員權限級別char(4)權限級別DI-39MTeleph管理員電話char(15)電話DI-40MAddre管理員地址char(30)住址DI-41RoomNo館室號同BookRNochar(5)館室號DI-42RoomMID館室管理員編號同MIDchar(10)編號DI-43RoomNum館室內圖書數(shù)目char(5)數(shù)量DI-44RoomAddre館室地址char(20)地址(b)數(shù)據(jù)結構:表1.2 數(shù)據(jù)結構列表數(shù)據(jù)結構編號數(shù)據(jù)結構名數(shù)據(jù)結構含義組成DS-1Book館藏圖書信息BookID,BookNo,BookName,BookWr

17、iter,BookPublish,BookPrice,BookDate,BookClass, BookMain,BookPrim,BookCopy,BookState,BookRNo DS-2Reader讀者信息ReaID, ReaName, ReaSex, ReaNo, ReaLBID, ReaType, ReaDep, ReaGrade, ReaPref, ReaDate, 數(shù)據(jù)結構編號數(shù)據(jù)結構名數(shù)據(jù)結構含義組成DS-3Borrow借閱信息BookID,ReaID,BookName,BookWriter, Outdate,YHdateDS-4History借閱歷史BookID,ReaID,

18、BookName,BookWriter, Outdate,IndateDS-5Fine罰款信息BookID,ReaID,BookName,Outdate,Indate,Fine, CLState,MIDDS-6ReaderType讀者類別LBID, LBName, LBnum, LBbqx, LBqxDS-7Maneger管理員信息MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddreDS-8Room館室信息RoomNO, RoomMID, RoomNum, RoomAddre 2.3.5 處理邏輯描述表1.3 處理邏輯列表處理編號處理功能處理過程PR-1判斷讀者查詢

19、涉及的功能模塊館藏圖書信息模塊、讀者信息模塊、讀者類別信息模塊、借閱信息模塊、借閱歷史信息模塊、罰款信息模塊、管理員模塊、館室信息模塊:先確定查詢所涉及的功能模塊;然后,根據(jù)要查詢的內容,確定查詢數(shù)據(jù)流向;最后顯示查詢結果。PR-2判斷圖書、讀者修改要涉及的模塊,同時把相應的修改數(shù)據(jù)傳到相應的模塊之中館藏圖書信息模塊、讀者信息模塊、讀者類別信息模塊、管理員信息模塊、館室信息模塊:先確定更新所涉及的功能模塊;然后,把更新信息傳送到相應的模塊中;最后,進行相應的更新操作。3 概念設計階段 3.1 引言系統(tǒng)開發(fā)的總體目標是實現(xiàn)圖書館管理的系統(tǒng)化和自動化,縮短借閱者的等待時間,減輕工作人員的工作量,方

20、便工作人員對它的操作,提高管理的質量和水平,做到高效、智能化管理,從而達到提高圖書管理效率的目的。主要任務是對讀者信息、管理員信息、圖書資料信息、借閱信息、歸還圖書信息、罰款信息的基本信息的操作及外理。概念設計階段主要是將需求分析階段得到的用戶需求抽象為信息結構(概念模型)的過程,它是整個數(shù)據(jù)庫設計的關鍵。3.2 任務與目標(1)選擇中層數(shù)據(jù)流為切入點,通常選擇實際系統(tǒng)中的子系統(tǒng); (2)設計分E-R圖,即各子模塊的E-R圖; (3)生成初步E-R圖,通過合并方法,做到各子系統(tǒng)實體、屬性、聯(lián)系統(tǒng)一; (4)生成全局E-R圖,通過消除沖突等方面。在本圖書管理系統(tǒng)中,從第3層數(shù)據(jù)流程圖下手。分析各

21、3層數(shù)據(jù)流圖和數(shù)據(jù)字典,知道整個系統(tǒng)功能圍繞“讀者”、“管理員”和“圖書”的處理。根據(jù)實體與屬性間的兩條準則:作為“屬性”,不能再具有需要描述的性質。“屬性”不能與其他實體具有聯(lián)系。數(shù)據(jù)流程圖2.4 、圖2.5、圖2.6可綜合成借閱子系統(tǒng)的分E-R圖3.1,數(shù)據(jù)流程圖2.7可抽象為分E-R圖3.2,數(shù)據(jù)流程圖2.8可抽象為分E-R圖3.3,數(shù)據(jù)流程圖2.9可抽象為分E-R圖3.4。然后采用逐步集成的方式將各分E-R圖合并,消除不必要的冗余和沖突后就生成了基本E-R圖3.5。3.3 階段結果(1)根據(jù)不同的對象,從第3層數(shù)據(jù)流程圖入手,分別畫出各分ER圖:(a)從數(shù)據(jù)流程圖圖(三) 與圖(四)抽

22、象出的分ER圖:(c)從數(shù)據(jù)流程圖圖(六)抽象出的分ER圖:(d)從數(shù)據(jù)流程圖圖(七)抽象出的分ER圖:(e)從數(shù)據(jù)流程圖圖(八)抽象出的分ER圖:(2)合并各分圖,消除屬性沖突、命名沖突、結構沖突等三類沖突,得到初步E-R圖,再消除不必要冗余,得到的基本E-R圖如下所示:(3)各ER圖各實體的屬性如下所示:圖書:Book(BookID, BookNo, BookName, BookWriter, BookPublish, BookPrice, BookDate, BookClass, BookMain, BookPrim, BookCopy, BookState,BookRN)讀者:Read

23、er(ReaID, ReaName, ReaSex, ReaNo, ReaLBID, ReaType, ReaDep, ReaGrade, ReaPref, ReaDate)管理員:Maneger(MID, MName, MSex, Mpwd, MAuth, MTeleph, MAddre) 館室:Room(RoomNo,RoomMID,RoomNum,RoomAddre)讀者類別:ReaderTpye(LBID, LBName, LBnum, LBbqx, LBqx) 各ER圖中聯(lián)系的屬性如下所示:借閱信息:Borrow (BookID,ReaderID,BookName,BookWrite

24、r, Outdate,YHdate)借閱歷史:History(BookID,ReaderID,BookName, BookWriter, Outdate,Indate)罰款信息:Fine(BookID,ReaderID,BookName, Outdate,Indate, Fine, CLState, MID)4邏輯設計階段4.1邏輯設計的任務和目標以上的概念設計階段是獨立于任何一種數(shù)據(jù)模型的,但是邏輯設計階段就與選用的DBMS產(chǎn)品發(fā)生關系了,系統(tǒng)邏輯設計的任務就是將概念設計階段設計好的基本E-R圖轉換為選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結構。具體內容包括數(shù)據(jù)組織(將E-R圖轉換成關系

25、模型、模型優(yōu)化、數(shù)據(jù)庫模式定義、用戶子模式設計)、數(shù)據(jù)處理(畫出系統(tǒng)功能模塊圖)兩大任務。4.2數(shù)據(jù)組織4.2.1將E-R圖轉換為關系模型實體型轉換為關系模式。實體的屬性就是關系的屬性,實體的碼就是關系的碼。對于實體間的聯(lián)系則有以下不同的情況:一個m:n聯(lián)系轉換為一個關系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為各實體碼的組合。一個1:n聯(lián)系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為n端實體的碼。 一個1:1聯(lián)系可以轉換為一個獨立的

26、關系模式,也可以與任意一端對應的關系模式合并。三個或三個以上實體間的一個多元聯(lián)系可以轉換為一個關系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為各實體碼的組合 具有相同碼的關系模式可合并。由于讀者類別與讀者、館室與圖書的聯(lián)系方式是1:n(一對多),可以將其之間的聯(lián)系與n端實體讀者、圖書合并,管理員與圖書之間的維護聯(lián)系也是1:n(一對多),同樣也將其之間的聯(lián)系與n端實體合并,而讀者與圖書之間的借閱和歸還聯(lián)系方式則是n:m(多對多),這樣要把它們之間的聯(lián)系轉化為獨立的關系模式,讀者與管理員之間的罰款聯(lián)系是m:n(多對多),將其聯(lián)系也轉化成獨立的關系模式,具體的

27、基本E-R圖向關系模型的轉化如下:圖書:Book(BookID, BookNo, BookName, BookWriter, BookPublish, BookPrice, BookDate,BookClass,BookMain,BookPrim,BookCopy,BookState,BookRNo)讀者:Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType, ReaDep, ReaGrade, ReaPref, ReaDate)管理員: Maneger (MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddre)讀者類別:

28、ReaderTpye(LBID, LBName, LBnum, LBbqx, LBqx)館室: Room(RoomNo,RoomMID,RoomNum,RoomAddre)借閱信息:Borrow(BookID,ReaderID,BookName,BookWriter, Outdate,YHdate)借閱歷史:History(BookID,ReaderID,BookName,BookWriter, Outdate,Indate,YHdate)罰款信息:Fine (BookID,ReaderID,BookName,Outdate,Indate,Fine, CLState,MID) (注:標有直線下

29、劃線的為主屬性,標有波浪線下劃線的是外鍵屬性,主屬性與外鍵屬性一起構成主碼)4.2.2模型優(yōu)化關系模式Book,Reader,Room,ReaderType ,Maneger不存在非主屬性對主屬性的部分函數(shù)依賴,也不存在傳遞函數(shù)依賴,已經(jīng)達到了3NF,但是借閱關系模式、借閱歷史關系模式、罰款關系模式(Borrow,History,Fine)中存在著一些數(shù)據(jù)冗余,現(xiàn)將三個關系模型進行合并,消除冗余,優(yōu)化為:借閱信息:Borrow ( BookID,ReaderID,BookName,BookWriter, Outdate,Indate,YHdate,Fine,CLStaer,MID)4.2.3數(shù)

30、據(jù)庫模式定義表2.1 館藏圖書信息表列名數(shù)據(jù)類型可否為空說明BookIDCharnot null圖書編號BookNoCharnot null圖書的索書號BookNameCharnot null圖書的書名BookWriterCharnot null圖書作者BookPulishCharnot null圖書出版社BookPriceChar圖書的單價BookDateDate出版日期BookClassChar圖書的分類BookMainChar圖書的摘要BookPrimChar圖書的關鍵字BookCopyChar圖書的副本數(shù)BookStateCharnot null圖書是否可借BookRNoCharnot

31、 null圖書所在館室號表2.2 讀者信息表列名數(shù)據(jù)類型可否為空說明ReaIDCharnot null讀者編號ReaNameCharnot null讀者姓名ReaSexCharnot null讀者性別ReaNoCharnot null讀者學號ReaLBIDCharnot null讀者類別編號ReaTypeChar讀者類型ReaDepChar讀者所在學院ReaPrefChar讀者所屬專業(yè)ReaGradeChar讀者的年級ReaDateDatenot null辦證日期表2.3 管理員信息表列名數(shù)據(jù)類型可否為空說明MIDCharnot null管理員編號MNameCharnot null管理員姓名M

32、SexChar管理員性別MpswCharnot null管理員密碼MAuthCharnot null管理員權限MTelephChar管理員電話MAddreChar管理員地址表2.4 館室信息表列名數(shù)據(jù)類型可否為空說明RoomNoCharnot null館室號RoomMIDCharnot null館室管理員編號RoomNumChar館室擁有圖書數(shù)目RoomAddreChar館室地址表2.5 讀者類別信息表列名數(shù)據(jù)類型可否為空說明LBIDCharnot null讀者類別編號LBNameCharnot null讀者類別名LBnumCharnot null允許借閱圖書最大數(shù)LBbqxCharnot n

33、ull持有圖書最長期限LBqxCharnot null借閱證期限表2.6 借閱信息表列名數(shù)據(jù)類型可否為空說明ReaIDCharnot null讀者編號BookIDCharnot null圖書編號BookNameCharnot null圖書名BookWriterChar作者OutdateDatenot null借閱時間IndateDate歸還時間YHdateDatenot null應還時間FineChar罰款金額CLStateChar處理狀態(tài)MIDCharnot null管理員編號4.2.4 用戶子模式定義表2.7 用戶子模式定義編號用戶子模式(View)作用(共性:提供數(shù)據(jù)保密和安全保護機制)

34、V1BookView便于查詢和修改圖書的基本信息V2ReaderView方便讀者基本信息的查詢、更新V3HistoryView便于借閱歷史信息的查詢V4BorrowView用于當前借閱信息的查詢V5FineView便于查詢罰款信息表2.8 讀者基本信息視圖列名數(shù)據(jù)類型可否為空說明ReaIDCharnot null讀者編號ReaNameCharnot null讀者姓名ReaSexCharnot null讀者性別ReaTypeChar讀者類型ReaDepChar讀者所在學院ReaDateDatel辦證日期表2.9 圖書基本信息視圖列名數(shù)據(jù)類型可否為空說明BookNoCharnot null圖書的索

35、書號BookNameCharnot null圖書的書名BookWriterCharnot null圖書作者BookPulishCharnot null圖書出版社BookStateCharnot null圖書是否可借BookRNoCharnot null圖書所在館室號表2.10 讀者當前借閱信息視圖列名數(shù)據(jù)類型可否為空說明BookIDCharnot null圖書編號BookNameCharnot null圖書名OutdateDatenot null借閱時間YHdateDatenot null應還時間表2.11 讀者借閱歷史信息視圖列名數(shù)據(jù)類型可否為空說明BookIDCharnot null圖書編

36、號BookNameCharnot null圖書名OutdateDatenot null借閱時間IndateDate歸還時間表2.12 讀者罰款信息視圖列名數(shù)據(jù)類型可否為空說明BookIDCharnot null圖書編號BookNameCharnot null圖書名OutdateDatenot null借閱時間IndateDate歸還時間FineCharnot null罰款金額CLStateCharnot null處理狀態(tài)4.3數(shù)據(jù)處理系統(tǒng)功能模塊圖: 5物理設計階段5.1物理設計階段的目標與任務 數(shù)據(jù)庫的物理設計就是為邏輯數(shù)據(jù)模型選取一個最合適應用要求的物理結構的過程,在這個階段中要完成兩大任

37、務:(1)確定數(shù)據(jù)庫的物理結構,在關系數(shù)據(jù)庫中主要是存取方法和存儲結構;(2)對物理結構進行評價,評價的重點是時間和空間效率。5.2數(shù)據(jù)存儲方面為數(shù)據(jù)庫中各基本表建立的索引如下:1. 由于基本表Reader,Book的主碼ReaID,BookID經(jīng)常在查詢條件和連接操作的連接條件中出現(xiàn),且它們的值唯一,在兩個屬性上建立唯一性索引;2. 由于基本表Reader的屬性ReaDep,Book的屬性BookPublish經(jīng)常在查詢條件中出現(xiàn)在兩個屬性上建立聚簇索引;3. 借閱信息基本表Borrow的一屬性ReaID,BookID,經(jīng)常在查詢條件中出現(xiàn),考慮在其之上建立聚簇索引;4. 罰款信息基本表Fi

38、ne的一屬性ReaID,BookID,經(jīng)常在查詢條件中出現(xiàn),考慮在其之上建立聚簇索引;5.3系統(tǒng)功能模塊5.3.1 讀者基本信息的查詢和更新模塊將實現(xiàn)對讀者基本信息的查詢和更新(修改、添加、刪除)操作,用于新生入學,畢業(yè)生離校,以及讀者補辦借閱證或更改信息的情況,具體的功能模塊圖如下:5.3.2 圖書基本信息的查詢和更新模塊將完成對圖書基本信息的查詢、更新(修改、添加、刪除)操作,用于讀者對圖書信息的查詢及管理員添加新書、刪除淘汰的舊書,具體的功能模塊圖如下所示:6數(shù)據(jù)庫實施階段6.1建立數(shù)據(jù)庫、數(shù)據(jù)表、視圖、索引6.1.1 建立數(shù)據(jù)庫create database Book;6.1.2 建立

39、數(shù)據(jù)表(1)讀者類別信息表的建立:create table ReaderType(LBID char(5) primary key,LBName char(20) not null,LBnum char(5) not null,LBbqx char(4) not null,LBqx char(3) not null,)(2)管理員基本信息表的建立:create table Maneger(MID char(10) primary key,MName char(10) not null,MSex char(2),Mpwd char(8) not null,MAuth char(40) not n

40、ull,MTeleph char(15),MAddre char(30),check(MSex =男 or MSex =女)(3)圖書館室基本信息表的建立:create table Room(RoomNo char(5) primary key,RoomMID char(10) not null,Roomnum char(5),RoomAddre char(20),foreign key(RoomMID) references Maneger(MID),)(4)館藏圖書基本信息表的建立:create table Book( BookID char(9) primary key, BookNo

41、char(20) not null, BookName char(50) not null, BookWriter char(30) not null, BookPublish char(20) not null, BookPrice char(7), BookDate datetime, BookClass char(20), BookMain char(200), BookPrim char(30), BookCopy char(5), BookState char(10) not null, BookRNo char(5) not null,foreign key(BookRNo) re

42、ferences Room(RoomNo),)(5)讀者基本信息表的建立:create table Reader(ReaID char(9) primary key,ReaName char(10) not null,ReaSex char(2) not null,ReaNo char(9) not null,ReaLBID char(5) not null,ReaType char(20),ReaDep char(20),ReaGrade char(5),ReaPref char(20),ReaDate Datetime,foreign key(ReaLBID) references Rea

43、derType(LBID),check(ReaSex =男 or ReaSex =女)(6)借閱基本信息表的建立:create table Borrow(BookID char(9),ReaID char(9),Outdate Datetime not null,YHdate Datetime not null,Indate Datetime,Fine char(5),CLState char(8),MID char(10) not null,primary key(BookID,ReaID),foreign key(MID) references Maneger(MID)6.1.3 建立視圖

44、(1)用于查詢圖書基本信息的視圖定義如下: create view Bookview (索書號, 書名, 作者, 出版社, 圖書狀態(tài))asselect BookNo,BookName,BookWriter,BookPublish,BookStatefrom Book(2)用于讀者基本信息查詢的視圖定義如下:create view Readerview (讀者姓名,類型,學院,專業(yè),辦證日期)asselect ReaName,ReaType,ReaDep,ReaPref,ReaDatefrom Reader(3)用于顯示當前借閱基本信息的視圖定義如下:create view Borrowview

45、 (讀者編號,書名,作者,借閱日期,到期日期)asselect ReaID,BookName,BookWriter,Outdate,YHdatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is null(4)用于借閱歷史信息查詢的視圖定義如下:create view Historyview (讀者編號,書名,借閱日期,歸還日期)asselect ReaID,BookName,Outdate,Indatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and B

46、orrow.Indate is not null(5)用于查詢罰款信息的視圖定義如下:create view Fineview (讀者編號,書名,借閱日期,歸還日期,罰款,處理狀態(tài))asselect ReaID,BookName,Outdate,Indate,Fine,CLStatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Fine is not null6.1.4 建立索引create clustered index BookPublish on Book(BookPublish);create clustered index R

47、eaDep on Reader(ReaDep);6.1.5 建立觸發(fā)器1當刪除Reader表中某一讀者基本信息時,觸發(fā)Borrow表,刪除相應的記錄create trigger Reader_deleteon Readerfor deleteas delete Borrowfrom deletedwhere Borrow.ReaID=deleted.ReaID2當在中增加一條借閱記錄時,使該圖書的狀態(tài)由“可借”變?yōu)椤安豢山琛眂reate trigger Borrow_insert1on Borrowfor insertas declare BookID char(9)select BookID

48、=BookIDfrom insertedupdate Bookset BookState=不可借where BookID=BookID6.2數(shù)據(jù)入庫系統(tǒng)包括圖書基本信息管理、讀者基本信息管理、管理員信息管理、借閱信息管理、查詢信息管理等四大功能模塊,共有6張基本表,采用事先在Excel中錄入數(shù)據(jù),然后使用SQL Server 2000數(shù)據(jù)導入/導出向導功能,直接將數(shù)據(jù)導入到相應的基本表中。6.3創(chuàng)建各個功能的存儲過程系統(tǒng)共創(chuàng)建了10個存儲過程,具體列表如下:表3.1 創(chuàng)建的存儲過程列表:編號存儲過程名稱定義作用P-1Book_Insert詳見附錄1-1在Book中插入一元組P-2Reader_

49、Insert詳見附錄1-2在Reader中插入一元組P-3Maneger_Insert詳見附錄1-3在Maneger中插入一元組P-4Borrow_Insert詳見附錄1-4在Borrow中插入一元組P-5Delete_Book詳見附錄1-10從Book中刪除一元組P-6Delete_Reader詳見附錄1-9從Reader中刪除一元組P-7Query_Reader_R詳見附錄1-5讀者在Reader中查詢本人信息P-8Query_Reader_M詳見附錄1-6管理員在Reader中查詢全部讀者P-9Query_Book_Writer詳見附錄1-7在Book,按作者查詢P-10Query_Bo

50、ok_Name_Publish詳見附錄1-8在Book中,按書名和出版社查詢(其它表的查詢、修改、刪除與以上各表的存儲過程定義大致相同,這里不再具體列出)7系統(tǒng)調試和測試對該圖書管理系統(tǒng)進行測試,驗證每個功能是否符合要求,具體的測試如下:(1)通過視圖查看各個基本表和視圖中的數(shù)據(jù)(見附錄2)(2)檢測各個存儲過程的功能:(見附錄2)8實習心得1. 這次課程設計使我熟悉了系統(tǒng)設計的整體步驟。系統(tǒng)設計大體可分為需求分析、概念設計、邏輯設計、物理設計、數(shù)據(jù)庫的實施及調試測試六大步驟。其中,讓我感觸最深的是需求分析階段,在這個階段,必須對所要設計的系統(tǒng)有總體的構思和了解,知道自己要做什么,要實現(xiàn)什么,并且要實際的進行相關的調查,不能憑想象或自己的了解,這樣會在后續(xù)的工作中遇到很多的問題。2. 這次課程設計加深了我對數(shù)據(jù)庫系統(tǒng)概論相關知識和SQL SERVER相關功能的理解。例如對建立基本表、視圖、索引、存儲過程、觸發(fā)器等,都比以前更加的熟練。并在解決遇到的各種問題的過程中,學到了很多新的知識。比如在導入導出數(shù)據(jù)時,由于外鍵約束的存在,經(jīng)常會出現(xiàn)錯誤,這就要注意各個表導入的順序問題。一般是先導入主鍵表,后導入外鍵表,這樣可以避免很多的錯誤。3. 我進一步掌握了相關的SQL語句方面的知識。不但糾正了以前的錯誤認識和理解,而且學會了建立存儲過程和觸發(fā)器。通過查閱資料,我還明白了存儲過程是編

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論