




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數(shù)據(jù)庫課程設計-高校圖書館管理系統(tǒng)管理系統(tǒng)信息工程學院《數(shù)據(jù)庫應用系統(tǒng)開發(fā)》課程設計論文題目:圖書管理系統(tǒng)數(shù)據(jù)庫設計學號:09204040專業(yè)班級:信管04級(2)班姓名:魏金風指導老師:陳勇完成日期:2007-1-26摘要在計算機日益普及的今天,對個人而言若采用一套行之有效的圖書管理系統(tǒng)來管理自己的書籍,會方便許多。對圖書管理部門而言,以前單一的手工檢索已不能滿足人們的要求,往往是投入了大量的人力和財力卻得不到高效的管理效率。為了便于圖書資料的管理需要有效的圖書管理軟件,減輕工作人員的工作量,方便工作人員對它的操作,提高管理的質量和水平,做到高效、智能化管理,達到提高圖書借閱信息管理效率的目的。采用數(shù)據(jù)庫技術生成的圖書館借閱管理系統(tǒng)將會極大地方便借閱者并簡化圖書館管理人員和工作人員的勞動,使工作人員從繁忙、復雜的工作進入到一個簡單、高效的工作中。基于這個問題,開發(fā)了大學圖書館借閱系統(tǒng)。系統(tǒng)采用C/S模式,實現(xiàn)了借還書的方便、高效性、有效性和及時性。本文通過作者設計和開發(fā)一個中小型高校圖書館管理系統(tǒng)的實踐,闡述了高校圖書管理軟件中所應具有的基本功能、設計、實現(xiàn)。關鍵字:圖書借閱;人員管理;圖書維護;PAGEIII目錄TOC\o"1-4"\h\z\u1.引言 12.需求分析階段 22.1引言 22.2需求分析階段的目標與任務 22.2.1處理對象 22.2.2處理功能及要求 32.2.3.安全性和完整性要求 32.3需求分析階段成果 33概念設計階段 93.1引言 93.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建立觸發(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運行語句 342004級信息管理與信息系統(tǒng)2班數(shù)據(jù)庫應用系統(tǒng)開發(fā)課程設計論文-1.引言隨著社會信息量的與日俱增,職場競爭的日趨激烈,越來越多的人更關注知識的積累、能力的培養(yǎng)。作為信息存儲的主要媒體之一圖書,數(shù)量、規(guī)模比以往任何時候都大的多,不論個人還是圖書管理部門都需要使用方便而有效的方式來管理自己的書籍。在計算機日益普及的今天,對個人而言若采用一套行之有效的圖書管理系統(tǒng)來管理自己的書籍,會方便許多。對圖書管理部門而言,以前單一的手工檢索已不能滿足人們的要求,為了便于圖書資料的管理需要有效的圖書管理軟件。對于日益擴大的圖書館,查找特定的書目總是借閱者或工作人員勞神費力,有時還沒有結果。因此往往是投入了大量的人力和財力卻得不到高效的管理效率。為了縮短借閱者的等待時間,減輕工作人員的工作量,方便工作人員對它的操作,提高管理的質量和水平,做到高效、智能化管理,從而達到提高圖書借閱信息管理效率的目的,采用數(shù)據(jù)庫技術生成的圖書館借閱管理系統(tǒng)將會極大地方便借閱者并簡化圖書館管理人員和工作人員的勞動,使工作人員從繁忙、復雜的工作進入到一個簡單、高效的工作中。本文以高校圖書館管理系統(tǒng)管理系統(tǒng)開發(fā)過程為背景,全文分為目錄、需求分析、概要設計、邏輯設計、物理設計,以及系統(tǒng)的實現(xiàn)等全過程。在程序設計與調試上采用了自上而下,逐步細化,逐步完善的原則。采用結構化的功能模塊設計系統(tǒng)功能,可讀性好,易于擴充。基本功能全面,系統(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)化、規(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)以下功能:eq\o\ac(○,1)進行新書入庫、現(xiàn)有圖書信息修改以及刪除;②能夠實現(xiàn)對讀者基本信息的查詢和編輯管理;③能夠進行超期罰款功能;④能夠進行借閱信息的查詢功能;2.2需求分析階段的目標與任務2.2.1處理對象讀者信息:讀者編號,姓名,性別,學號,學院,專業(yè),年級,類型,類別編號,辦證日期管理員信息:管理員編號,姓名,性別,權限,登錄口令,住址,電話館藏圖書信息:圖書編號,索書號,圖書名稱,作者,出版社,單價,摘要,關鍵字,副本數(shù),分類,出版日期,狀態(tài)借閱信息:圖書編號,讀者編號,圖書名,作者,借閱日期,歸還日期,歸還日期,應還日期,罰金借閱歷史信息:圖書編號,讀者編號,圖書名,作者,借閱日期,還書日期罰款信息:讀者編號,圖書編號,圖書名,作者,借閱日期,應還日期,歸還日期,罰款金額,處理狀態(tài),管理員編號2.2.2處理功能及要求1.能夠存儲一定數(shù)量的圖書信息,并方便有效的進行相應的書籍數(shù)據(jù)操作和管理,這主要包括:1)圖書信息的錄入、刪除及修改。2)圖書信息的多關鍵字檢索查詢。3)圖書的出借、返還及超期罰款或丟失賠償。2.能夠對一定數(shù)量的讀者、管理員進行相應的信息存儲與管理,這其中包括:1)讀者信息的登記、刪除及修改。2)管理員信息的增加、刪除及修改。3)讀者資料的統(tǒng)計與查詢。3.能夠提供一定的安全機制,提供數(shù)據(jù)信息授權訪問,防止隨意刪改、查詢。4.對查詢、統(tǒng)計的結果能夠列表顯示。2.2.3.安全性和完整性要求1)安全性要求系統(tǒng)安全性要求體現(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)搜索有關圖書管理系統(tǒng)的知識,了解到了圖書管理的現(xiàn)狀,以及在管理中的一些問題。由于是第一次做這樣的需求調查,開始總是覺得無從下手,不知道自己該了解、該清楚那些方面的知識,在繪制系統(tǒng)業(yè)務流程圖時,也遇到了很多的問題,但通過老師的幫助與指導,和自己一遍一遍的分析和完善,才逐步把業(yè)務弄清楚,最終順利完成了需求分析階段的任務。2.3.2圖書管理系統(tǒng)業(yè)務流程圖圖2.1業(yè)務流程圖從讀者角度考慮的業(yè)務流程圖:圖2.1業(yè)務流程圖2.3.3圖書管理系統(tǒng)數(shù)據(jù)流程圖圖2.2頂層數(shù)據(jù)流頂層數(shù)據(jù)流圖:圖2.2頂層數(shù)據(jù)流第2層數(shù)據(jù)流圖:(讀者借閱,讀者還書,讀者查詢,管理員查詢,管理員修改)第3層數(shù)據(jù)流圖:(讀者借閱)第3層數(shù)據(jù)流圖:(讀者還書)第3層數(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-5BookPublish圖書出版社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)姓名DI-16ReaSex讀者性別char(2)性別DI-17ReaNo讀者學號char(9)學號DI-18ReaLBID讀者類別編號同LBIDchar(5)類別編號DI-19ReaType讀者類型(職務)char(20)類型DI-20ReaDep讀者所在學院char(20)學院DI-21ReaGrade讀者所屬年級char(5)年級DI-22ReaPre讀者所讀專業(yè)char(20)專業(yè)DI-23ReaDate讀者辦證時間Date辦證時間DI-24OutDate借閱日期Date借閱時間DI-25InDate歸還日期Date歸還時間DI-26YHDate應還日期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-37Mpwd管理員口令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,BookWriter,BookPublish,BookPrice,BookDate,BookClass,BookMain,BookPrim,BookCopy,BookState,BookRNoDS-2Reader讀者信息ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType,ReaDep,ReaGrade,ReaPref,ReaDate,DS-3Borrow借閱信息BookID,ReaID,BookName,BookWriter,Outdate,YHdateDS-4History借閱歷史BookID,ReaID,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,RoomAddre2.3.5處理邏輯描述表1.3處理邏輯列表處理編號處理功能處理過程PR-1判斷讀者查詢涉及的功能模塊館藏圖書信息模塊、讀者信息模塊、讀者類別信息模塊、借閱信息模塊、借閱歷史信息模塊、罰款信息模塊、管理員模塊、館室信息模塊:先確定查詢所涉及的功能模塊;然后,根據(jù)要查詢的內容,確定查詢數(shù)據(jù)流向;最后顯示查詢結果。PR-2判斷圖書、讀者修改要涉及的模塊,同時把相應的修改數(shù)據(jù)傳到相應的模塊之中館藏圖書信息模塊、讀者信息模塊、讀者類別信息模塊、管理員信息模塊、館室信息模塊:先確定更新所涉及的功能模塊;然后,把更新信息傳送到相應的模塊中;最后,進行相應的更新操作。3概念設計階段3.1引言系統(tǒng)開發(fā)的總體目標是實現(xiàn)圖書館管理的系統(tǒng)化和自動化,縮短借閱者的等待時間,減輕工作人員的工作量,方便工作人員對它的操作,提高管理的質量和水平,做到高效、智能化管理,從而達到提高圖書管理效率的目的。主要任務是對讀者信息、管理員信息、圖書資料信息、借閱信息、歸還圖書信息、罰款信息的基本信息的操作及外理。概念設計階段主要是將需求分析階段得到的用戶需求抽象為信息結構(概念模型)的過程,它是整個數(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ù)流程圖下手。分析各3層數(shù)據(jù)流圖和數(shù)據(jù)字典,知道整個系統(tǒng)功能圍繞“讀者”、“管理員”和“圖書”的處理。根據(jù)實體與屬性間的兩條準則:eq\o\ac(○,1)作為“屬性”,不能再具有需要描述的性質。eq\o\ac(○,2)“屬性”不能與其他實體具有聯(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ù)流程圖入手,分別畫出各分E-R圖:(a)從數(shù)據(jù)流程圖圖(三)與圖(四)抽象出的分E-R圖:(c)從數(shù)據(jù)流程圖圖(六)抽象出的分E-R圖:(d)從數(shù)據(jù)流程圖圖(七)抽象出的分E-R圖:(e)從數(shù)據(jù)流程圖圖(八)抽象出的分E-R圖:(2)合并各分E-R圖,消除屬性沖突、命名沖突、結構沖突等三類沖突,得到初步E-R圖,再消除不必要冗余,得到的基本E-R圖如下所示:(3)各E-R圖各實體的屬性如下所示:圖書:Book(BookID,BookNo,BookName,BookWriter,BookPublish,BookPrice,BookDate,BookClass,BookMain,BookPrim,BookCopy,BookState,BookRN)讀者:Reader(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)各E-R圖中聯(lián)系的屬性如下所示:借閱信息:Borrow(BookID,ReaderID,BookName,BookWriter,Outdate,YHdate)借閱歷史:History(BookID,ReaderID,BookName,BookWriter,Outdate,Indate)罰款信息:Fine(BookID,ReaderID,BookName,Outdate,Indate,Fine,CLState,MID)4.邏輯設計階段4.1邏輯設計的任務和目標以上的概念設計階段是獨立于任何一種數(shù)據(jù)模型的,但是邏輯設計階段就與選用的DBMS產品發(fā)生關系了,系統(tǒng)邏輯設計的任務就是將概念設計階段設計好的基本E-R圖轉換為選用DBMS產品所支持的數(shù)據(jù)模型相符合的邏輯結構。具體內容包括數(shù)據(jù)組織(將E-R圖轉換成關系模型、模型優(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)系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。三個或三個以上實體間的一個多元聯(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)系也轉化成獨立的關系模式,具體的基本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)讀者類別: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)(注:標有直線下劃線的為主屬性,標有波浪線下劃線的是外鍵屬性,主屬性與外鍵屬性一起構成主碼)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ù)據(jù)庫模式定義表2.1館藏圖書信息表列名數(shù)據(jù)類型可否為空說明BookIDCharnotnull圖書編號BookNoCharnotnull圖書的索書號BookNameCharnotnull圖書的書名BookWriterCharnotnull圖書作者BookPulishCharnotnull圖書出版社BookPriceChar圖書的單價BookDateDate出版日期BookClassChar圖書的分類BookMainChar圖書的摘要BookPrimChar圖書的關鍵字BookCopyChar圖書的副本數(shù)BookStateCharnotnull圖書是否可借BookRNoCharnotnull圖書所在館室號表2.2讀者信息表列名數(shù)據(jù)類型可否為空說明ReaIDCharnotnull讀者編號ReaNameCharnotnull讀者姓名ReaSexCharnotnull讀者性別ReaNoCharnotnull讀者學號ReaLBIDCharnotnull讀者類別編號ReaTypeChar讀者類型ReaDepChar讀者所在學院ReaPrefChar讀者所屬專業(yè)ReaGradeChar讀者的年級ReaDateDatenotnull辦證日期表2.3管理員信息表列名數(shù)據(jù)類型可否為空說明MIDCharnotnull管理員編號MNameCharnotnull管理員姓名MSexChar管理員性別MpswCharnotnull管理員密碼MAuthCharnotnull管理員權限MTelephChar管理員電話MAddreChar管理員地址表2.4館室信息表列名數(shù)據(jù)類型可否為空說明RoomNoCharnotnull館室號RoomMIDCharnotnull館室管理員編號RoomNumChar館室擁有圖書數(shù)目RoomAddreChar館室地址表2.5讀者類別信息表列名數(shù)據(jù)類型可否為空說明LBIDCharnotnull讀者類別編號LBNameCharnotnull讀者類別名LBnumCharnotnull允許借閱圖書最大數(shù)LBbqxCharnotnull持有圖書最長期限LBqxCharnotnull借閱證期限表2.6借閱信息表列名數(shù)據(jù)類型可否為空說明ReaIDCharnotnull讀者編號BookIDCharnotnull圖書編號BookNameCharnotnull圖書名BookWriterChar作者OutdateDatenotnull借閱時間IndateDate歸還時間YHdateDatenotnull應還時間FineChar罰款金額CLStateChar處理狀態(tài)MIDCharnotnull管理員編號4.2.4用戶子模式定義表2.7用戶子模式定義編號用戶子模式(View)作用(共性:提供數(shù)據(jù)保密和安全保護機制)V-1BookView便于查詢和修改圖書的基本信息V-2ReaderView方便讀者基本信息的查詢、更新V-3HistoryView便于借閱歷史信息的查詢V-4BorrowView用于當前借閱信息的查詢V-5FineView便于查詢罰款信息表2.8讀者基本信息視圖列名數(shù)據(jù)類型可否為空說明ReaIDCharnotnull讀者編號ReaNameCharnotnull讀者姓名ReaSexCharnotnull讀者性別ReaTypeChar讀者類型ReaDepChar讀者所在學院ReaDateDatel辦證日期表2.9圖書基本信息視圖列名數(shù)據(jù)類型可否為空說明BookNoCharnotnull圖書的索書號BookNameCharnotnull圖書的書名BookWriterCharnotnull圖書作者BookPulishCharnotnull圖書出版社BookStateCharnotnull圖書是否可借BookRNoCharnotnull圖書所在館室號表2.10讀者當前借閱信息視圖列名數(shù)據(jù)類型可否為空說明BookIDCharnotnull圖書編號BookNameCharnotnull圖書名OutdateDatenotnull借閱時間YHdateDatenotnull應還時間表2.11讀者借閱歷史信息視圖列名數(shù)據(jù)類型可否為空說明BookIDCharnotnull圖書編號BookNameCharnotnull圖書名OutdateDatenotnull借閱時間IndateDate歸還時間表2.12讀者罰款信息視圖列名數(shù)據(jù)類型可否為空說明BookIDCharnotnull圖書編號BookNameCharnotnull圖書名OutdateDatenotnull借閱時間IndateDate歸還時間FineCharnotnull罰款金額CLStateCharnotnull處理狀態(tài)4.3數(shù)據(jù)處理系統(tǒng)功能模塊圖:5.物理設計階段5.1物理設計階段的目標與任務 數(shù)據(jù)庫的物理設計就是為邏輯數(shù)據(jù)模型選取一個最合適應用要求的物理結構的過程,在這個階段中要完成兩大任務:(1)確定數(shù)據(jù)庫的物理結構,在關系數(shù)據(jù)庫中主要是存取方法和存儲結構;(2)對物理結構進行評價,評價的重點是時間和空間效率。5.2數(shù)據(jù)存儲方面 為數(shù)據(jù)庫中各基本表建立的索引如下:由于基本表Reader,Book的主碼ReaID,BookID經(jīng)常在查詢條件和連接操作的連接條件中出現(xiàn),且它們的值唯一,在兩個屬性上建立唯一性索引;由于基本表Reader的屬性ReaDep,Book的屬性BookPublish經(jīng)常在查詢條件中出現(xiàn)在兩個屬性上建立聚簇索引;借閱信息基本表Borrow的一屬性ReaID,BookID,經(jīng)常在查詢條件中出現(xiàn),考慮在其之上建立聚簇索引;罰款信息基本表Fine的一屬性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ù)庫 createdatabaseBook;6.1.2建立數(shù)據(jù)表(1)讀者類別信息表的建立:createtableReaderType(LBIDchar(5)primarykey,LBNamechar(20)notnull,LBnumchar(5)notnull,LBbqxchar(4)notnull,LBqxchar(3)notnull,)(2)管理員基本信息表的建立:createtableManeger(MIDchar(10)primarykey,MNamechar(10)notnull,MSexchar(2),Mpwdchar(8)notnull,MAuthchar(40)notnull,MTelephchar(15),MAddrechar(30),check(MSex='男'orMSex='女'))(3)圖書館室基本信息表的建立:createtableRoom(RoomNochar(5)primarykey,RoomMIDchar(10)notnull,Roomnumchar(5),RoomAddrechar(20),foreignkey(RoomMID)referencesManeger(MID),)(4)館藏圖書基本信息表的建立:createtableBook(BookIDchar(9)primarykey,BookNochar(20)notnull,BookNamechar(50)notnull,BookWriterchar(30)notnull,BookPublishchar(20)notnull,BookPricechar(7),BookDatedatetime,BookClasschar(20),BookMainchar(200),BookPrimchar(30),BookCopychar(5),BookStatechar(10)notnull,BookRNochar(5)notnull,foreignkey(BookRNo)referencesRoom(RoomNo),)(5)讀者基本信息表的建立:createtableReader(ReaIDchar(9)primarykey,ReaNamechar(10)notnull,ReaSexchar(2)notnull,ReaNochar(9)notnull,ReaLBIDchar(5)notnull,ReaTypechar(20),ReaDepchar(20),ReaGradechar(5),ReaPrefchar(20),ReaDateDatetime,foreignkey(ReaLBID)referencesReaderType(LBID),check(ReaSex='男'orReaSex='女'))(6)借閱基本信息表的建立:createtableBorrow(BookIDchar(9),ReaIDchar(9),OutdateDatetimenotnull,YHdateDatetimenotnull,IndateDatetime,Finechar(5),CLStatechar(8),MIDchar(10)notnull,primarykey(BookID,ReaID),foreignkey(MID)referencesManeger(MID))6.1.3建立視圖 (1)用于查詢圖書基本信息的視圖定義如下: createviewBookview(索書號,書名,作者,出版社,圖書狀態(tài))asselectBookNo,BookName,BookWriter,BookPublish,BookStatefromBook (2)用于讀者基本信息查詢的視圖定義如下: createviewReaderview(讀者姓名,類型,學院,專業(yè),辦證日期)asselectReaName,ReaType,ReaDep,ReaPref,ReaDatefromReader (3)用于顯示當前借閱基本信息的視圖定義如下: createviewBorrowview(讀者編號,書名,作者,借閱日期,到期日期)asselectReaID,BookName,BookWriter,Outdate,YHdatefromBorrow,BookwhereBorrow.BookID=Book.BookIDandBorrow.Indateisnull (4)用于借閱歷史信息查詢的視圖定義如下: createviewHistoryview(讀者編號,書名,借閱日期,歸還日期)asselectReaID,BookName,Outdate,IndatefromBorrow,BookwhereBorrow.BookID=Book.BookIDandBorrow.Indateisnotnull (5)用于查詢罰款信息的視圖定義如下: createviewFineview(讀者編號,書名,借閱日期,歸還日期,罰款,處理狀態(tài))asselectReaID,BookName,Outdate,Indate,Fine,CLStatefromBorrow,BookwhereBorrow.BookID=Book.BookIDandFineisnotnull6.1.4建立索引createclusteredindexBookPublishonBook(BookPublish);createclusteredindexReaDeponReader(ReaDep);6.1.5建立觸發(fā)器1.當刪除Reader表中某一讀者基本信息時,觸發(fā)Borrow表,刪除相應的記錄createtriggerReader_deleteonReaderfordeleteasdeleteBorrowfromdeletedwhereBorrow.ReaID=deleted.ReaID2.當在中增加一條借閱記錄時,使該圖書的狀態(tài)由“可借”變?yōu)椤安豢山琛眂reatetriggerBorrow_insert1onBorrowforinsertasdeclare@BookIDchar(9)select@BookID=BookIDfrominsertedupdateBooksetBookState='不可借'whereBookID=@BookID6.2數(shù)據(jù)入庫 系統(tǒng)包括圖書基本信息管理、讀者基本信息管理、管理員信息管理、借閱信息管理、查詢信息管理等四大功能模塊,共有6張基本表,采用事先在Excel中錄入數(shù)據(jù),然后使用SQLServer2000數(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_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_Book_Name_Publish詳見附錄1-8在Book中,按書名和出版社查詢(其它表的查詢、修改、刪除與以上各表的存儲過程定義大致相同,這里不再具體列出)7.系統(tǒng)調試和測試對該圖書管理系統(tǒng)進行測試,驗證每個功能是否符合要求,具體的測試如下:(1)通過視圖查看各個基本表和視圖中的數(shù)據(jù)(見附錄2)(2)檢測各個存儲過程的功能:(見附錄2)8.實習心得這次課程設計使我熟悉了系統(tǒng)設計的整體步驟。系統(tǒng)設計大體可分為需求分析、概念設計、邏輯設計、物理設計、數(shù)據(jù)庫的實施及調試測試六大步驟。其中,讓我感觸最深的是需求分析階段,在這個階段,必須對所要設計的系統(tǒng)有總體的構思和了解,知道自己要做什么,要實現(xiàn)什么,并且要實際的進行相關的調查,不能憑想象或自己的了解,這樣會在后續(xù)的工作中遇到很多的問題。這次課程設計加深了我對數(shù)據(jù)庫系統(tǒng)概論相關知識和SQLSERVER相關功能的理解。例如對建立基本表、視圖、索引、存儲過程、觸發(fā)器等,都比以前更加的熟練。并在解決遇到的各種問題的過程中,學到了很多新的知識。比如在導入\導出數(shù)據(jù)時,由于外鍵約束的存在,經(jīng)常會出現(xiàn)錯誤,這就要注意各個表導入的順序問題。一般是先導入主鍵表,后導入外鍵表,這樣可以避免很多的錯誤。我進一步掌握了相關的SQL語句方面的知識。不但糾正了以前的錯誤認識和理解,而且學會了建立存儲過程和觸發(fā)器。通過查閱資料,我還明白了存儲過程是編譯后放在服務器端的程序,它可以被別的模塊調用,且不需要重新編譯,這樣就大大減輕了客戶端的負擔,且有效的提高了系統(tǒng)執(zhí)行的效率。4.當然,在實習的過程中也存在一些問題。由于需求分析階段的工作完成的不是很充分,在后面的設計過程中,前后時常會出現(xiàn)矛盾,不一致現(xiàn)象,因此要反復的修改前面的結果,導致整個工作進行的不是很順利。9.存在的問題及建議1.我覺得在這次課程設計中,需求分析階段是致關重要的,但由于同學們都是第一次做這樣的系統(tǒng)設計,都不是很熟悉需求分析的主要方法和主要任務,所以都很盲目,認為隨便從網(wǎng)上搜點相關的知識就可以了,但其實,這直接影響著后面的各個階段的工作的進行。所以希望老師在實習前能給我們對需求分析階段的工作進行一定的指導。2.在實習過程中,雖然我們每個班都配備了兩到三名指導老師,可各指導老師輪流上班,當我們遇到問題時,有時在身邊找不到老師,而浪費了一些寶貴的時間,或者是本班的指導老師在給別班的學生指導,所以也可能會耗費一定的等待時間。3.但總的說來,這次實習的各個指導老師都是知識淵博,經(jīng)驗豐富,并且十分熱情的,我們請教的任何問題,老師都會耐心而認真的為我們解決,老師不但幫我們解決了問題,同時也教會了我們解決此類問題的方法,這對我們今后的學習是十分有益的。致謝在這次數(shù)據(jù)庫課程設計的整個過程中,都受到了指導教師楊麗麗老師、陳勇老師、武蘇里老師細心的指導和關懷,同時蔚繼承老師、楊曉輝老師、孫建敏老師也給予了我很大的幫助。對此,表示忠心的感謝!沒有老師的耐心指導,我根本不可能順利完成此次課程設計的任務。在這里,我尤其要真誠的感謝楊麗麗老師和蔚繼承老師,兩位老師豐富的知識和編程經(jīng)驗幫我解決了不少的難題,同時也給我傳授了不少新的知識和技巧。同時也感謝給過我?guī)椭凸膭畹耐瑢W,是他們的幫助與鼓勵,在我遇到困難時,為我點亮了希望的燈塔;在我灰心喪氣時,帶給我力量和信心。參考文獻[1]薩師煊王珊,數(shù)據(jù)庫系統(tǒng)概論(第三版),北京:高教出版社,2000[2]軟件開發(fā)與指導;人民郵電出版社[3]Delpehi數(shù)據(jù)庫開發(fā)畢業(yè)設計指導及實例;機械工業(yè)出版社,2004附錄1存儲過程定義1.Book_Insert的定義:CREATEPROCEDUREBook_Insert@BookIDchar(9),@BookNochar(20),@BookNamechar(50),@BookWriterchar(30),@BookPublishchar(20),@BookPricechar(7),@BookDatedatetime,@BookClasschar(20),@BookMainchar(200),@BookPrimchar(30),@BookCopychar(5),@BookStatechar(10),@BookRNochar(5)as insertintoBookvalues(@BookID,@BookNo,@BookName,@BookWriter,@BookPublish,@BookPrice,@BookDate,@BookClass,@BookMain,@BookPrim,@BookCopy,@BookState,@BookRNo);2.Reader_Insert的定義:CREATEPROCEDUREReader_Insert@ReaIDchar(9),@ReaNamechar(10),@ReaSexchar(2),@ReaNochar(9),@ReaLBIDchar(5),@ReaTypechar(20),@ReaDepchar(20),@ReaGradechar(5),@ReaPrefchar(20),@ReaDateDatetimeas insertintoReadervalues(@ReaID,@ReaName,@ReaSex,@ReaNo,@ReaLBID,@ReaType,@ReaDep,@ReaGrade,@ReaPref,@ReaDate);3.Maneger_Insert的定義:CREATEPROCEDUREManeger_Insert@MIDchar(10),@MNamechar(10),@MSexchar(2),@Mpwdchar(8),@MAuthchar(40),@MTelephchar(15),@MAddrechar(30)as insertintoManegeralues(@MID,@MName,@MSex,@Mpwd,@MAuth,@MTeleph,@MAddre);4.Borrow_Insert的定義:CREATEPROCEDUREBorrow_Insert@BookIDchar(9),@ReaIDchar(9),@OutdateDatetime,@YHdateDatetime,@IndateDatetime,@Finechar(5),@CLStatechar(8),@MIDchar(10)as insertintoBorrowvalues(@BookID,@ReaID,@Outdate,@YHdate,@Indate,@Fine,@CLState,@MID);5.Query_Reader_R的定義:createprocedureQuery_Reader_R @ReaIDchar(9) as select* fromReaderview where編號=ltrim(@ReaID);6.Query_Reader_M的定義:createprocedureQuery_Reader_Mas select* fromReaderview7.Query_Book_Writer的定義:createprocedureQuery_Book_Writer @BookWriterchar(50) as select* fromBookviewwhere作者like'%'+ltrim(@BookWriter)+'%';8.Query_Book_Name_Publish的定義:createprocedureQuery_Book_Name_Publish@BookNamechar(50),@BookPublishchar(20)asselect*fromBookviewwhere書名=ltrim(@BookName)and出版社=ltrim(@BookPublish);9.Delete_Reader的定義:createprocedureDelete_Reader @ReaNochar(9) as delete fromReader whereReaNo=ltrim(@ReaNo);10.Delete_Book的定義:createprocedureDelete_Book @BookIDchar(9) as delete fromBook whereBookID=ltrim(@BookID);附錄2數(shù)據(jù)查看和存儲過程功能的驗證基本表的數(shù)據(jù)查看(基于視圖查詢):查看Reader(讀者信息表)表中的數(shù)據(jù)查看Bookview(圖書信息)表中的數(shù)據(jù):查看Borrow(借閱信息)表中的數(shù)據(jù):4)查看Maneger(管理員信息表)表中的數(shù)據(jù)5)查看Room(館室信息表)表中的數(shù)據(jù):6)查看Borrowview(當前借閱信息)視圖中的數(shù)據(jù):7)查看Historyview(借閱歷史信息)視圖的數(shù)據(jù):8)查看Fineview(罰款信息)視圖的基本數(shù)據(jù):存儲過程功能的驗證:存儲過程Query_Reader_R功能的驗證:(按ReaID匹配查詢讀者信息)存儲過程Query_Book_Writer功能的驗證:(按BookWriter模糊查詢圖書信息)3)存儲過程Query_Book_Nmae_Publish功能的驗證:(按書名和出版社查詢圖書信息)4)存儲過程Query_Reader_M功能的驗證:(以管理員身份查詢讀者信息)5)存儲過程Reader_Insert功能的驗證:(插入一條讀者信息記錄)6)存儲過程Borrow_Insert功能的驗證:(插入一條借閱信息記錄)7)存儲過程Delete_Reader功能的驗證:(按ReaNo刪除相應的讀者記錄)(注:由于篇幅限制,這里僅給出了其中幾個存儲過程功能的驗證)觸發(fā)器功能的驗證:(在Borrow表中插入一條記錄,觸發(fā)Book表將圖書由“可借”狀態(tài)改為“不可借”狀態(tài))附錄3所有的SQL運行語句createdatabaseBook;createtableReaderType(LBIDchar(5)primarykey,LBNamechar(20)notnull,LBnumchar(5)notnull,LBbqxchar(4)notnull,LBqxchar(3)no
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO/IEC 18046-5:2025 EN Information technology - Radio frequency identification device performance test methods - Part 5: Test methods for the environmental characteristics
- 內墻抹灰工程勞務分包合同
- 勞務外包員工合同
- 項目會議記錄與總結報告
- 旅游公司客戶行程中意外事件處理協(xié)議
- 礦山環(huán)境治理與生態(tài)恢復合同
- 智慧城市綜合管理平臺建設與運營方案設計
- 環(huán)保科技創(chuàng)新中心合作協(xié)議
- 個人茶園承包合同
- 蔬菜基地土地承包合同
- 2025年茂名市高三年級第一次綜合測試(一模)物理試卷(含答案)
- 2025年重癥醫(yī)學科(ICU)護理工作計劃
- 《電子商務法律法規(guī)》電子商務專業(yè)全套教學課件
- 《產后出血預防與處理指南(2023)》解讀課件
- 全套教學課件《工程倫理學》
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- 清華大學考生自述
- 幼兒園中班繪本:《我喜歡我的小毯子》
- 小學二年級體育課《團身滾動》教案
- 級本科診斷學緒論+問診課件
- 初中足球選拔測試標準
評論
0/150
提交評論