2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  《數(shù)據(jù)庫系統(tǒng)原理》課程設(shè)計報告</p><p>  項目名稱: 倉庫管理系統(tǒng) </p><p>  專 業(yè): 網(wǎng) 絡(luò) 工 程 </p><p>  年 級: 2010級 </p><p> 

2、 姓 名: </p><p>  學 號: </p><p>  指導(dǎo)老師: </p><p><b>  2012-3-10</b></p><p><

3、b>  摘 要</b></p><p>  21世紀,隨著社會不斷發(fā)展,人類不斷進步,計算機日益普及,給人們帶來了許多方便,對一個企業(yè)而言若采用一套行之有效的倉庫管理系統(tǒng)來管理企業(yè)的產(chǎn)品,會方便、有效許多;對倉庫管理部門而言,以前人工記錄、人工搜索已不能滿足企業(yè)的要求,往往是投入了大量的人力和財力卻得不到高效的管理效率。為了便于倉庫產(chǎn)品的管理需要有效的倉庫管理軟件,減輕工作人員的工作量,方便工

4、作人員對它的操作,提高管理的質(zhì)量和水平,做到高效、智能化管理,達到提高倉庫產(chǎn)品管理效率的目的。采用數(shù)據(jù)庫技術(shù)生成的倉庫管理系統(tǒng)將會極大地方便管理人員和工作人員的勞動,使工作人員從繁忙、復(fù)雜的工作進入到一個簡單、高效的工作中?;谶@個問題,開發(fā)了倉庫管理系統(tǒng)。系統(tǒng)通過access來完成,實現(xiàn)了借還產(chǎn)品的方便、高效性、有效性和及時性。本文通過作者設(shè)計和開發(fā)一個小型倉庫管理系統(tǒng)的實踐,闡述了倉庫管理軟件中所應(yīng)具有的基本功能、設(shè)計、實現(xiàn)。<

5、;/p><p>  關(guān)鍵字:產(chǎn)品出入庫記錄;產(chǎn)品管理;倉庫管理;</p><p><b>  目 錄</b></p><p><b>  1.引言1</b></p><p>  2. 需求分析階段2</p><p><b>  2.1 引言2</b&g

6、t;</p><p>  2.2 需求分析階段的目標與任務(wù)2</p><p>  2.2.1處理對象2</p><p>  2.2.2處理功能及要求3</p><p>  2.2.3.安全性和完整性要求3</p><p>  2.3 需求分析階段成果3</p><p>  3 概念設(shè)

7、計階段9</p><p><b>  3.1 引言9</b></p><p>  3.2 任務(wù)與目標10</p><p>  3.3 階段結(jié)果10</p><p>  4.邏輯設(shè)計階段12</p><p>  4.1邏輯設(shè)計的任務(wù)和目標12</p><p>  

8、4.2數(shù)據(jù)組織12</p><p>  4.2.1將E-R圖轉(zhuǎn)換為關(guān)系模型12</p><p>  4.2.2模型優(yōu)化13</p><p>  4.2.3數(shù)據(jù)庫模式定義13</p><p>  4.2.4 用戶子模式定義15</p><p>  4.3數(shù)據(jù)處理16</p><p> 

9、 5.物理設(shè)計階段17</p><p>  5.1物理設(shè)計階段的目標與任務(wù)17</p><p>  5.2數(shù)據(jù)存儲方面17</p><p>  5.3系統(tǒng)功能模塊17</p><p>  5.3.1 讀者基本信息的查詢和更新模塊17</p><p>  5.3.2 圖書基本信息的查詢和更新模塊18</

10、p><p>  6.數(shù)據(jù)庫實施階段19</p><p>  6.1建立數(shù)據(jù)庫、數(shù)據(jù)表、視圖、索引19</p><p>  6.1.1 建立數(shù)據(jù)庫19</p><p>  6.1.2 建立數(shù)據(jù)表19</p><p>  6.1.3 建立視圖21</p><p>  6.1.4 建立索引21

11、</p><p>  6.1.5 建立觸發(fā)器22</p><p>  6.2數(shù)據(jù)入庫22</p><p>  6.3創(chuàng)建各個功能的存儲過程22</p><p>  7.系統(tǒng)調(diào)試和測試23</p><p><b>  8.實習心得23</b></p><p>  9

12、.存在的問題及建議23</p><p><b>  致謝25</b></p><p><b>  參考文獻25</b></p><p>  附錄1 存儲過程定義26</p><p>  附錄2 數(shù)據(jù)查看和存儲過程功能的驗證29</p><p>  附錄3 所有的SQ

13、L運行語句34</p><p><b>  1.引言</b></p><p>  隨著社會信息量的與日俱增,職場競爭的日趨激烈,越來越多的人更關(guān)注知識的積累、能力的培養(yǎng)。作為信息存儲的主要媒體之一圖書,數(shù)量、規(guī)模比以往任何時候都大的多,不論個人還是圖書管理部門都需要使用方便而有效的方式來管理自己的書籍。</p><p>  在計算機日益普及的

14、今天,對個人而言若采用一套行之有效的圖書管理系統(tǒng)來管理自己的書籍,會方便許多。對圖書管理部門而言,以前單一的手工檢索已不能滿足人們的要求,為了便于圖書資料的管理需要有效的圖書管理軟件。對于日益擴大的圖書館,查找特定的書目總是借閱者或工作人員勞神費力,有時還沒有結(jié)果。因此往往是投入了大量的人力和財力卻得不到高效的管理效率。為了縮短借閱者的等待時間,減輕工作人員的工作量,方便工作人員對它的操作,提高管理的質(zhì)量和水平,做到高效、智能化管理,從

15、而達到提高圖書借閱信息管理效率的目的,采用數(shù)據(jù)庫技術(shù)生成的圖書館借閱管理系統(tǒng)將會極大地方便借閱者并簡化圖書館管理人員和工作人員的勞動,使工作人員從繁忙、復(fù)雜的工作進入到一個簡單、高效的工作中。</p><p>  本文以高校圖書館管理系統(tǒng)管理系統(tǒng)開發(fā)過程為背景,全文分為目錄、需求分析、概要設(shè)計、邏輯設(shè)計、物理設(shè)計,以及系統(tǒng)的實現(xiàn)等全過程。在程序設(shè)計與調(diào)試上采用了自上而下,逐步細化,逐步完善的原則。采用結(jié)構(gòu)化的功能

16、模塊設(shè)計系統(tǒng)功能,可讀性好,易于擴充?;竟δ苋?,系統(tǒng)可讀性好,易于維護、更新,安全性好。</p><p>  2. 需求分析階段</p><p><b>  2.1 引言</b></p><p>  進行系統(tǒng)設(shè)計,首先要對系統(tǒng)的現(xiàn)狀進行分析。根據(jù)系統(tǒng)的目標、需求和功能,制定和選擇一個較好的系統(tǒng)方案,從而達到一個合理的優(yōu)化系統(tǒng)。每個學校都有

17、圖書館,最初由于圖書數(shù)量和種類較少,人工手動管理比較方便和靈活。隨著社會的發(fā)展,圖書的數(shù)量和種類越來越多,人工手動管理會降低工作的效率,希望建立一個圖書管理系統(tǒng),是為了解決人工手動管理圖書信息在實踐的問題,從而達到系統(tǒng)化、規(guī)范化、標準化的水平。該系統(tǒng)的建立不但給管理者帶來了方便,也節(jié)省了工作時間從而提高了工作效率。</p><p>  需求分析是在于要弄清用戶對開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng)的確切要求。數(shù)據(jù)庫設(shè)計的第一步是

18、明確數(shù)據(jù)庫的目的和如何使用,也就是說需要從數(shù)據(jù)庫中得到哪些信息。明確目的之后,就可以確定您需要保存哪些主題的信息(表),以及每個主題需要保存哪些信息(表中字段)。</p><p>  在構(gòu)造系統(tǒng)時,首先從需求出發(fā)構(gòu)造數(shù)據(jù)庫表,然后再由數(shù)據(jù)庫表結(jié)合需求劃分系統(tǒng)功能模塊。這樣,就把一個大的系統(tǒng)分解成了幾個小系統(tǒng)。這里把系統(tǒng)的層次劃分為了四個部分:圖書維護,人員信息管理,圖書借閱管理,信息查詢。能夠?qū)崿F(xiàn)以下功能:<

19、;/p><p>  進行新書入庫、現(xiàn)有圖書信息修改以及刪除;</p><p> ?、?能夠?qū)崿F(xiàn)對讀者基本信息的查詢和編輯管理;</p><p> ?、?能夠進行超期罰款功能;</p><p> ?、?能夠進行借閱信息的查詢功能;</p><p>  2.2 需求分析階段的目標與任務(wù)</p><p>

20、<b>  2.2.1處理對象</b></p><p>  讀者信息:讀者編號,姓名,性別,學號,學院,專業(yè),年級,類型,類別編號,</p><p><b>  辦證日期</b></p><p>  管理員信息:管理員編號,姓名,性別,權(quán)限,登錄口令,住址,電話</p><p>  館藏圖書信息:圖

21、書編號,索書號,圖書名稱,作者,出版社,單價,摘要,關(guān)鍵字,副本數(shù),分類,出版日期,狀態(tài)</p><p>  借閱信息:圖書編號,讀者編號,圖書名,作者,借閱日期,歸還日期,歸還日期,應(yīng)還日期,罰金</p><p>  借閱歷史信息:圖書編號,讀者編號,圖書名,作者,借閱日期,還書日期</p><p>  罰款信息:讀者編號,圖書編號,圖書名,作者,借閱日期,應(yīng)還日

22、期,歸還日期,罰款金額,處理狀態(tài),管理員編號</p><p>  2.2.2處理功能及要求</p><p>  1.能夠存儲一定數(shù)量的圖書信息,并方便有效的進行相應(yīng)的書籍數(shù)據(jù)操作和管理,這主要包括:</p><p>  1) 圖書信息的錄入、刪除及修改。</p><p>  2) 圖書信息的多關(guān)鍵字檢索查詢。</p><

23、;p>  3) 圖書的出借、返還及超期罰款或丟失賠償。</p><p> ?。玻軌?qū)σ欢〝?shù)量的讀者、管理員進行相應(yīng)的信息存儲與管理,這其中包括:</p><p>  1) 讀者信息的登記、刪除及修改。</p><p>  2) 管理員信息的增加、刪除及修改。</p><p>  3) 讀者資料的統(tǒng)計與查詢。</p>

24、<p>  3.能夠提供一定的安全機制,提供數(shù)據(jù)信息授權(quán)訪問,防止隨意刪改、查詢。</p><p>  4.對查詢、統(tǒng)計的結(jié)果能夠列表顯示。</p><p>  2.2.3.安全性和完整性要求</p><p><b>  1) 安全性要求 </b></p><p>  系統(tǒng)安全性要求體現(xiàn)在數(shù)據(jù)庫安全性、信息安

25、全性和系統(tǒng)平臺的安全性等方面。安全性先通過視圖機制,不同的用戶只能訪問系統(tǒng)授權(quán)的視圖,這樣可提供系統(tǒng)數(shù)據(jù)一定程度上的安全性,再通過分配權(quán)限、設(shè)置權(quán)限級別來區(qū)別對待不同操作者對數(shù)據(jù)庫的操作來提高數(shù)據(jù)庫的安全性;系統(tǒng)平臺的安全性體現(xiàn)在操作系統(tǒng)的安全性、計算機系統(tǒng)的安全性和網(wǎng)絡(luò)體系的安全性等方面。</p><p><b>  2) 完整性要求</b></p><p>  系

26、統(tǒng)完整性要求系統(tǒng)中數(shù)據(jù)的正確性以及相容性??赏ㄟ^建立主、外鍵,使用check約束,或者通過使用觸發(fā)器和級聯(lián)更新。</p><p>  2.3 需求分析階段成果</p><p>  2.3.1 體會與收獲</p><p>  系統(tǒng)需求分析主要是通過對本校圖書管理員的咨詢、請教,了解我校圖書館的管理規(guī)則和運行機制,并通過上網(wǎng)搜索有關(guān)圖書管理系統(tǒng)的知識,了解到了圖書管理的

27、現(xiàn)狀,以及在管理中的一些問題。由于是第一次做這樣的需求調(diào)查,開始總是覺得無從下手,不知道自己該了解、該清楚那些方面的知識,在繪制系統(tǒng)業(yè)務(wù)流程圖時,也遇到了很多的問題,但通過老師的幫助與指導(dǎo),和自己一遍一遍的分析和完善,才逐步把業(yè)務(wù)弄清楚,最終順利完成了需求分析階段的任務(wù)。</p><p>  2.3.2 圖書管理系統(tǒng)業(yè)務(wù)流程圖</p><p>  從讀者角度考慮的業(yè)務(wù)流程圖:</p&

28、gt;<p>  2.3.3 圖書管理系統(tǒng)數(shù)據(jù)流程圖</p><p><b>  頂層數(shù)據(jù)流圖:</b></p><p>  第2層數(shù)據(jù)流圖:(讀者借閱,讀者還書,讀者查詢,管理員查詢,管理員修改)</p><p>  第3層數(shù)據(jù)流圖:(讀者借閱)</p><p>  第3層數(shù)據(jù)流圖:(讀者還書)</

29、p><p>  第3層數(shù)據(jù)流圖:(查詢圖書信息,查詢讀者信息,查詢借閱歷史,查詢罰款信息)</p><p>  第3層數(shù)據(jù)流圖:(管理員添加、刪除、修改圖書信息)</p><p>  第3層數(shù)據(jù)流圖:(管理員添加、刪除、修改讀者信息)</p><p>  第3層數(shù)據(jù)流圖:(管理員添加、刪除、修改系統(tǒng)用戶信息)</p><p&g

30、t;  2.3.4 圖書管理系統(tǒng)數(shù)據(jù)字典</p><p>  (a)數(shù)據(jù)項:系統(tǒng)涉及的數(shù)據(jù)項有44項</p><p>  表1.1 數(shù)據(jù)項列表</p><p><b> ?。╞)數(shù)據(jù)結(jié)構(gòu):</b></p><p>  表1.2 數(shù)據(jù)結(jié)構(gòu)列表</p><p>  2.3.5 處理邏輯描述</p

31、><p>  表1.3 處理邏輯列表</p><p>  3 概念設(shè)計階段 </p><p><b>  3.1 引言</b></p><p>  系統(tǒng)開發(fā)的總體目標是實現(xiàn)圖書館管理的系統(tǒng)化和自動化,縮短借閱者的等待時間,減輕工作人員的工作量,方便工作人員對它的操作,提高管理的質(zhì)量和水平,做到高效、智能化管理,從而達到提高

32、圖書管理效率的目的。</p><p>  主要任務(wù)是對讀者信息、管理員信息、圖書資料信息、借閱信息、歸還圖書信息、罰款信息的基本信息的操作及外理。</p><p>  概念設(shè)計階段主要是將需求分析階段得到的用戶需求抽象為信息結(jié)構(gòu)(概念模型)的過程,它是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。</p><p><b>  3.2 任務(wù)與目標</b></p&g

33、t;<p> ?。?)選擇中層數(shù)據(jù)流為切入點,通常選擇實際系統(tǒng)中的子系統(tǒng);</p><p>  (2)設(shè)計分E-R圖,即各子模塊的E-R圖;</p><p>  (3)生成初步E-R圖,通過合并方法,做到各子系統(tǒng)實體、屬性、聯(lián)系統(tǒng)一;</p><p> ?。?)生成全局E-R圖,通過消除沖突等方面。</p><p>  在本圖書

34、管理系統(tǒng)中,從第3層數(shù)據(jù)流程圖下手。分析各3層數(shù)據(jù)流圖和數(shù)據(jù)字典,知道整個系統(tǒng)功能圍繞“讀者”、“管理員”和“圖書”的處理。根據(jù)實體與屬性間的兩條準則:作為“屬性”,不能再具有需要描述的性質(zhì)?!皩傩浴辈荒芘c其他實體具有聯(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。然后采用逐步集

35、成的方式將各分E-R圖合并,消除不必要的冗余和沖突后就生成了基本E-R圖3.5。</p><p><b>  3.3 階段結(jié)果</b></p><p> ?。?)根據(jù)不同的對象,從第3層數(shù)據(jù)流程圖入手,分別畫出各分E-R圖:</p><p> ?。╝)從數(shù)據(jù)流程圖圖(三) 與圖(四)抽象出的分E-R圖:</p><p>

36、  (c)從數(shù)據(jù)流程圖圖(六)抽象出的分E-R圖:</p><p> ?。╠)從數(shù)據(jù)流程圖圖(七)抽象出的分E-R圖:</p><p> ?。╡)從數(shù)據(jù)流程圖圖(八)抽象出的分E-R圖:</p><p> ?。?)合并各分E-R圖,消除屬性沖突、命名沖突、結(jié)構(gòu)沖突等三類沖突,得到初步E-R圖,再消除不必要冗余,得到的基本E-R圖如下所示:</p>&l

37、t;p> ?。?)各E-R圖各實體的屬性如下所示:</p><p>  圖書:Book(BookID, BookNo, BookName, BookWriter, BookPublish, BookPrice, BookDate, BookClass, BookMain, BookPrim, BookCopy, BookState,BookRN)</p><p>  讀者:R

38、eader(ReaID, ReaName, ReaSex, ReaNo, ReaLBID, ReaType, ReaDep, ReaGrade, ReaPref, ReaDate)</p><p>  管理員:Maneger(MID, MName, MSex, Mpwd, MAuth, MTeleph, MAddre)</p><p>  館室:Room(RoomNo,Roo

39、mMID,RoomNum,RoomAddre)</p><p>  讀者類別:ReaderTpye(LBID, LBName, LBnum, LBbqx, LBqx)</p><p>  各E-R圖中聯(lián)系的屬性如下所示:</p><p>  借閱信息:Borrow (BookID,ReaderID,BookName,BookWriter, Outdate,Y

40、Hdate)</p><p>  借閱歷史:History(BookID,ReaderID,BookName, BookWriter, Outdate,Indate)</p><p>  罰款信息:Fine(BookID,ReaderID,BookName, Outdate,Indate, Fine, CLState, MID)</p><p><b> 

41、 4.邏輯設(shè)計階段</b></p><p>  4.1邏輯設(shè)計的任務(wù)和目標</p><p>  以上的概念設(shè)計階段是獨立于任何一種數(shù)據(jù)模型的,但是邏輯設(shè)計階段就與選用的DBMS產(chǎn)品發(fā)生關(guān)系了,系統(tǒng)邏輯設(shè)計的任務(wù)就是將概念設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。具體內(nèi)容包括數(shù)據(jù)組織(將E-R圖轉(zhuǎn)換成關(guān)系模型、模型優(yōu)化、數(shù)據(jù)庫模式定義、用

42、戶子模式設(shè)計)、數(shù)據(jù)處理(畫出系統(tǒng)功能模塊圖)兩大任務(wù)。</p><p><b>  4.2數(shù)據(jù)組織</b></p><p>  4.2.1將E-R圖轉(zhuǎn)換為關(guān)系模型</p><p>  實體型轉(zhuǎn)換為關(guān)系模式。實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。對于實體間的聯(lián)系則有以下不同的情況:一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。與該聯(lián)系相連的各

43、實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合。</p><p>  一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實體的碼。 一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。三個或三個以上實體間的一個多元聯(lián)系

44、可以轉(zhuǎn)換為一個關(guān)系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合 具有相同碼的關(guān)系模式可合并。</p><p>  由于讀者類別與讀者、館室與圖書的聯(lián)系方式是1:n(一對多),可以將其之間的聯(lián)系與n端實體讀者、圖書合并,管理員與圖書之間的維護聯(lián)系也是1:n(一對多),同樣也將其之間的聯(lián)系與n端實體合并,而讀者與圖書之間的借閱和歸還聯(lián)系方式則是n:m(多對

45、多),這樣要把它們之間的聯(lián)系轉(zhuǎn)化為獨立的關(guān)系模式,讀者與管理員之間的罰款聯(lián)系是m:n(多對多),將其聯(lián)系也轉(zhuǎn)化成獨立的關(guān)系模式,具體的基本E-R圖向關(guān)系模型的轉(zhuǎn)化如下:</p><p>  圖書:Book(BookID, BookNo, BookName, BookWriter, BookPublish, BookPrice, BookDate,BookClass,BookMain,BookPrim,BookCo

46、py,BookState,</p><p><b>  BookRNo)</b></p><p>  讀者:Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType, ReaDep, ReaGrade, ReaPref, ReaDate)</p><p>  管理員: Maneger (MID,MNa

47、me,MSex,Mpwd,MAuth,MTeleph,MAddre)</p><p>  讀者類別:ReaderTpye(LBID, LBName, LBnum, LBbqx, LBqx)</p><p>  館室: Room(RoomNo,RoomMID,RoomNum,RoomAddre)</p><p>  借閱信息:Borrow(BookID,Read

48、erID,BookName,BookWriter, Outdate,YHdate)</p><p>  借閱歷史:History(BookID,ReaderID,BookName,BookWriter, Outdate,</p><p>  Indate,YHdate)</p><p>  罰款信息:Fine (BookID,ReaderID,BookName,Ou

49、tdate,Indate,Fine, CLState,MID) </p><p> ?。ㄗⅲ簶擞兄本€下劃線的為主屬性,標有波浪線下劃線的是外鍵屬性,主屬性與外鍵屬性一起構(gòu)成主碼)</p><p><b>  4.2.2模型優(yōu)化</b></p><p>  關(guān)系模式Book,Reader,Room,ReaderType ,Maneger不存在非主

50、屬性對主屬性的部分函數(shù)依賴,也不存在傳遞函數(shù)依賴,已經(jīng)達到了3NF,但是借閱關(guān)系模式、借閱歷史關(guān)系模式、罰款關(guān)系模式(Borrow,History,Fine)中存在著一些數(shù)據(jù)冗余,現(xiàn)將三個關(guān)系模型進行合并,消除冗余,優(yōu)化為:</p><p>  借閱信息:Borrow ( BookID,ReaderID,BookName,BookWriter, Outdate,Indate,</p><p&g

51、t;  YHdate,Fine,CLStaer,MID)</p><p>  4.2.3數(shù)據(jù)庫模式定義</p><p>  表2.1 館藏圖書信息表</p><p>  表2.2 讀者信息表</p><p>  表2.3 管理員信息表</p><p>  表2.4 館室信息表</p><p> 

52、 表2.5 讀者類別信息表</p><p>  表2.6 借閱信息表</p><p>  4.2.4 用戶子模式定義</p><p>  表2.7 用戶子模式定義</p><p>  表2.8 讀者基本信息視圖</p><p>  表2.9 圖書基本信息視圖</p><p>  表2.10 讀者

53、當前借閱信息視圖</p><p>  表2.11 讀者借閱歷史信息視圖</p><p>  表2.12 讀者罰款信息視圖</p><p><b>  4.3數(shù)據(jù)處理</b></p><p><b>  系統(tǒng)功能模塊圖:</b></p><p><b>  5.物理設(shè)

54、計階段</b></p><p>  5.1物理設(shè)計階段的目標與任務(wù)</p><p>  數(shù)據(jù)庫的物理設(shè)計就是為邏輯數(shù)據(jù)模型選取一個最合適應(yīng)用要求的物理結(jié)構(gòu)的過程,在這個階段中要完成兩大任務(wù):</p><p>  (1)確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要是存取方法和存儲結(jié)構(gòu);</p><p> ?。?)對物理結(jié)構(gòu)進行評價,評價

55、的重點是時間和空間效率。</p><p><b>  5.2數(shù)據(jù)存儲方面</b></p><p>  為數(shù)據(jù)庫中各基本表建立的索引如下:</p><p>  由于基本表Reader,Book的主碼ReaID,BookID經(jīng)常在查詢條件和連接操作的連接條件中出現(xiàn),且它們的值唯一,在兩個屬性上建立唯一性索引;</p><p>

56、;  由于基本表Reader的屬性ReaDep,Book的屬性BookPublish經(jīng)常在查詢條件中出現(xiàn)在兩個屬性上建立聚簇索引;</p><p>  借閱信息基本表Borrow的一屬性ReaID,BookID,經(jīng)常在查詢條件中出現(xiàn),考慮在其之上建立聚簇索引;</p><p>  罰款信息基本表Fine的一屬性ReaID,BookID,經(jīng)常在查詢條件中出現(xiàn),考慮在其之上建立聚簇索引;<

57、;/p><p><b>  5.3系統(tǒng)功能模塊</b></p><p>  5.3.1 讀者基本信息的查詢和更新模塊</p><p>  將實現(xiàn)對讀者基本信息的查詢和更新(修改、添加、刪除)操作,用于新生入學,畢業(yè)生離校,以及讀者補辦借閱證或更改信息的情況,具體的功能模塊圖如下:</p><p>  5.3.2 圖書基本信息

58、的查詢和更新模塊</p><p>  將完成對圖書基本信息的查詢、更新(修改、添加、刪除)操作,用于讀者對圖書信息的查詢及管理員添加新書、刪除淘汰的舊書,具體的功能模塊圖如下所示:</p><p><b>  6.數(shù)據(jù)庫實施階段</b></p><p>  6.1建立數(shù)據(jù)庫、數(shù)據(jù)表、視圖、索引</p><p>  6.1

59、.1 建立數(shù)據(jù)庫</p><p>  create database Book;</p><p>  6.1.2 建立數(shù)據(jù)表</p><p>  (1)讀者類別信息表的建立:</p><p>  create table ReaderType(</p><p>  LBID char(5) primary k

60、ey,</p><p>  LBName char(20) not null,</p><p>  LBnum char(5) not null,</p><p>  LBbqx char(4) not null,</p><p>  LBqx char(3) not null,</p><p&

61、gt;<b>  )</b></p><p> ?。?)管理員基本信息表的建立:</p><p>  create table Maneger(</p><p>  MID char(10) primary key,</p><p>  MName char(10) not null,</p>&l

62、t;p>  MSex char(2),</p><p>  Mpwd char(8) not null,</p><p>  MAuth char(40) not null,</p><p>  MTeleph char(15),</p><p>  MAddre char(30),</p><p>  

63、check(MSex ='男' or MSex ='女')</p><p><b>  )</b></p><p> ?。?)圖書館室基本信息表的建立:</p><p>  create table Room(</p><p>  RoomNo char(5) primary ke

64、y,</p><p>  RoomMID char(10) not null,</p><p>  Roomnum char(5),</p><p>  RoomAddre char(20),</p><p>  foreign key(RoomMID) references Maneger(MID),</p><

65、p><b>  )</b></p><p> ?。?)館藏圖書基本信息表的建立:</p><p>  create table Book(</p><p>  BookID char(9) primary key,</p><p>  BookNo char(20) not null,</

66、p><p>  BookName char(50) not null,</p><p>  BookWriter char(30) not null,</p><p>  BookPublish char(20) not null,</p><p>  BookPrice char(7),</p><p>  Bo

67、okDate datetime,</p><p>  BookClass char(20),</p><p>  BookMain char(200),</p><p>  BookPrim char(30),</p><p>  BookCopy char(5),</p><p>  Boo

68、kState char(10) not null,</p><p>  BookRNo char(5) not null,</p><p>  foreign key(BookRNo) references Room(RoomNo),</p><p><b>  )</b></p><p> ?。?)讀者基

69、本信息表的建立:</p><p>  create table Reader(</p><p>  ReaID char(9) primary key,</p><p>  ReaName char(10) not null,</p><p>  ReaSex char(2) not null,</p&g

70、t;<p>  ReaNo char(9) not null,</p><p>  ReaLBID char(5) not null,</p><p>  ReaType char(20),</p><p>  ReaDep char(20),</p><p>  ReaGrade

71、 char(5),</p><p>  ReaPref char(20),</p><p>  ReaDate Datetime,</p><p>  foreign key(ReaLBID) references ReaderType(LBID),</p><p>  check(ReaSex ='男' o

72、r ReaSex ='女')</p><p><b>  )</b></p><p> ?。?)借閱基本信息表的建立:</p><p>  create table Borrow(</p><p>  BookID char(9),</p><p>  ReaID char(

73、9),</p><p>  Outdate Datetime not null,</p><p>  YHdate Datetime not null,</p><p>  Indate Datetime,</p><p>  Fine char(5),</p><p>  CLState char(

74、8),</p><p>  MID char(10) not null,</p><p>  primary key(BookID,ReaID),</p><p>  foreign key(MID) references Maneger(MID)</p><p><b>  )</b></p>&

75、lt;p>  6.1.3 建立視圖</p><p> ?。?)用于查詢圖書基本信息的視圖定義如下: </p><p>  create view Bookview (索書號, 書名, 作者, 出版社, 圖書狀態(tài))</p><p><b>  as</b></p><p>  select BookNo,BookNa

76、me,BookWriter,BookPublish,BookState</p><p><b>  from Book</b></p><p> ?。?)用于讀者基本信息查詢的視圖定義如下:</p><p>  create view Readerview (讀者姓名,類型,學院,專業(yè),辦證日期)</p><p><

77、;b>  as</b></p><p>  select ReaName,ReaType,ReaDep,ReaPref,ReaDate</p><p>  from Reader</p><p>  (3)用于顯示當前借閱基本信息的視圖定義如下:</p><p>  create view Borrowview (讀者編號,

78、書名,作者,借閱日期,到期日期)</p><p><b>  as</b></p><p>  select ReaID,BookName,BookWriter,Outdate,YHdate</p><p>  from Borrow,Book</p><p>  where Borrow.BookID=Book.Boo

79、kID and Borrow.Indate is null</p><p>  (4)用于借閱歷史信息查詢的視圖定義如下:</p><p>  create view Historyview (讀者編號,書名,借閱日期,歸還日期)</p><p><b>  as</b></p><p>  select ReaID,B

80、ookName,Outdate,Indate</p><p>  from Borrow,Book</p><p>  where Borrow.BookID=Book.BookID and Borrow.Indate is not null</p><p>  (5)用于查詢罰款信息的視圖定義如下:</p><p>  create vie

81、w Fineview (讀者編號,書名,借閱日期,歸還日期,罰款,處理狀態(tài))</p><p><b>  as</b></p><p>  select ReaID,BookName,Outdate,Indate,Fine,CLState</p><p>  from Borrow,Book</p><p>  wher

82、e Borrow.BookID=Book.BookID and Fine is not null</p><p>  6.1.4 建立索引</p><p>  create clustered index BookPublish on Book(BookPublish);</p><p>  create clustered index ReaDep on Read

83、er(ReaDep);</p><p>  6.1.5 建立觸發(fā)器</p><p>  1.當刪除Reader表中某一讀者基本信息時,觸發(fā)Borrow表,刪除相應(yīng)的記錄</p><p>  create trigger Reader_delete</p><p><b>  on Reader</b></p>

84、<p>  for delete</p><p><b>  as </b></p><p>  delete Borrow</p><p>  from deleted</p><p>  where Borrow.ReaID=deleted.ReaID</p><p>  2.當

85、在中增加一條借閱記錄時,使該圖書的狀態(tài)由“可借”變?yōu)椤安豢山琛?lt;/p><p>  create trigger Borrow_insert1</p><p><b>  on Borrow</b></p><p>  for insert</p><p><b>  as </b></p&g

86、t;<p>  declare @BookID char(9)</p><p>  select @BookID=BookID</p><p>  from inserted</p><p>  update Book</p><p>  set BookState='不可借'</p><p&

87、gt;  where BookID=@BookID</p><p><b>  6.2數(shù)據(jù)入庫</b></p><p>  系統(tǒng)包括圖書基本信息管理、讀者基本信息管理、管理員信息管理、借閱信息管理、查詢信息管理等四大功能模塊,共有6張基本表,采用事先在Excel中錄入數(shù)據(jù),然后使用SQL Server 2000數(shù)據(jù)導(dǎo)入/導(dǎo)出向?qū)Чδ?直接將數(shù)據(jù)導(dǎo)入到相應(yīng)的基本表中。&

88、lt;/p><p>  6.3創(chuàng)建各個功能的存儲過程</p><p>  系統(tǒng)共創(chuàng)建了10個存儲過程,具體列表如下:</p><p>  表3.1 創(chuàng)建的存儲過程列表:</p><p> ?。ㄆ渌淼牟樵?、修改、刪除與以上各表的存儲過程定義大致相同,這里不再具體列出)</p><p><b>  7.系統(tǒng)調(diào)試和

89、測試</b></p><p>  對該圖書管理系統(tǒng)進行測試,驗證每個功能是否符合要求,具體的測試如下:</p><p>  (1)通過視圖查看各個基本表和視圖中的數(shù)據(jù)(見附錄2)</p><p> ?。?)檢測各個存儲過程的功能:(見附錄2)</p><p><b>  8.實習心得</b></p>

90、;<p>  這次課程設(shè)計使我熟悉了系統(tǒng)設(shè)計的整體步驟。系統(tǒng)設(shè)計大體可分為需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計、數(shù)據(jù)庫的實施及調(diào)試測試六大步驟。其中,讓我感觸最深的是需求分析階段,在這個階段,必須對所要設(shè)計的系統(tǒng)有總體的構(gòu)思和了解,知道自己要做什么,要實現(xiàn)什么,并且要實際的進行相關(guān)的調(diào)查,不能憑想象或自己的了解,這樣會在后續(xù)的工作中遇到很多的問題。</p><p>  這次課程設(shè)計加深了我對數(shù)據(jù)庫

91、系統(tǒng)概論相關(guān)知識和SQL SERVER相關(guān)功能的理解。例如對建立基本表、視圖、索引、存儲過程、觸發(fā)器等,都比以前更加的熟練。并在解決遇到的各種問題的過程中,學到了很多新的知識。比如在導(dǎo)入\導(dǎo)出數(shù)據(jù)時,由于外鍵約束的存在,經(jīng)常會出現(xiàn)錯誤,這就要注意各個表導(dǎo)入的順序問題。一般是先導(dǎo)入主鍵表,后導(dǎo)入外鍵表,這樣可以避免很多的錯誤。</p><p>  我進一步掌握了相關(guān)的SQL語句方面的知識。不但糾正了以前的錯誤認識和

92、理解,而且學會了建立存儲過程和觸發(fā)器。通過查閱資料,我還明白了存儲過程是編譯后放在服務(wù)器端的程序,它可以被別的模塊調(diào)用,且不需要重新編譯,這樣就大大減輕了客戶端的負擔,且有效的提高了系統(tǒng)執(zhí)行的效率。</p><p>  4 . 當然,在實習的過程中也存在一些問題。由于需求分析階段的工作完成的不是很充分,在后面的設(shè)計過程中,前后時常會出現(xiàn)矛盾,不一致現(xiàn)象,因此要反復(fù)的修改前面的結(jié)果,導(dǎo)致整個工作進行的不是很順利。&

93、lt;/p><p>  9.存在的問題及建議</p><p>  1.我覺得在這次課程設(shè)計中,需求分析階段是致關(guān)重要的,但由于同學們都是第一次做這樣的系統(tǒng)設(shè)計,都不是很熟悉需求分析的主要方法和主要任務(wù),所以都很盲目,認為隨便從網(wǎng)上搜點相關(guān)的知識就可以了,但其實,這直接影響著后面的各個階段的工作的進行。所以希望老師在實習前能給我們對需求分析階段的工作進行一定的指導(dǎo)。</p><

94、;p>  2.在實習過程中,雖然我們每個班都配備了兩到三名指導(dǎo)老師,可各指導(dǎo)老師輪流上班,當我們遇到問題時,有時在身邊找不到老師,而浪費了一些寶貴的時間,或者是本班的指導(dǎo)老師在給別班的學生指導(dǎo),所以也可能會耗費一定的等待時間。</p><p>  3.但總的說來,這次實習的各個指導(dǎo)老師都是知識淵博,經(jīng)驗豐富,并且十分熱情的,我們請教的任何問題,老師都會耐心而認真的為我們解決,老師不但幫我們解決了問題,同時也

95、教會了我們解決此類問題的方法,這對我們今后的學習是十分有益的。</p><p><b>  致謝</b></p><p>  在這次數(shù)據(jù)庫課程設(shè)計的整個過程中,都受到了指導(dǎo)教師楊麗麗老師、陳勇老師、武蘇里老師細心的指導(dǎo)和關(guān)懷,同時蔚繼承老師、楊曉輝老師、孫建敏老師也給予了我很大的幫助。對此,表示忠心的感謝!沒有老師的耐心指導(dǎo),我根本不可能順利完成此次課程設(shè)計的任務(wù)。在

96、這里,我尤其要真誠的感謝楊麗麗老師和蔚繼承老師,兩位老師豐富的知識和編程經(jīng)驗幫我解決了不少的難題,同時也給我傳授了不少新的知識和技巧。</p><p>  同時也感謝給過我?guī)椭凸膭畹耐瑢W,是他們的幫助與鼓勵,在我遇到困難時,為我點亮了希望的燈塔;在我灰心喪氣時,帶給我力量和信心。 </p><p><b>  參考文獻</b></p><p>

97、;  [1] 薩師煊 王珊,數(shù)據(jù)庫系統(tǒng)概論(第三版),北京:高教出版社,2000</p><p>  [2] 軟件開發(fā)與指導(dǎo);人民郵電出版社</p><p>  [3] Delpehi數(shù)據(jù)庫開發(fā)畢業(yè)設(shè)計指導(dǎo)及實例;機械工業(yè)出版社,2004</p><p>  附錄1 存儲過程定義</p><p>  1.Book_Insert的定義:<

98、/p><p>  CREATE PROCEDURE Book_Insert</p><p>  @BookID char(9) ,</p><p>  @BookNo char(20),</p><p>  @BookName char(50),</p><p>  @BookWriter ch

99、ar(30),</p><p>  @BookPublish char(20),</p><p>  @BookPrice char(7),</p><p>  @BookDate datetime,</p><p>  @BookClass char(20),</p><p>  @BookMain

100、 char(200),</p><p>  @BookPrim char(30),</p><p>  @BookCopy char(5),</p><p>  @BookState char(10),</p><p>  @BookRNo char(5)</p><p><b> 

101、 as</b></p><p>  insert into Book</p><p>  values(@BookID ,@BookNo,@BookName,@BookWriter ,@BookPublish ,@BookPrice,</p><p>  @BookDate,@BookClass ,@BookMain ,@BookPrim ,@Book

102、Copy ,@BookState ,</p><p>  @BookRNo);</p><p>  2.Reader_Insert的定義:</p><p>  CREATE PROCEDURE Reader_Insert</p><p>  @ReaID char(9),</p><p>  @ReaNam

103、e char(10),</p><p>  @ReaSex char(2),</p><p>  @ReaNo char(9),</p><p>  @ReaLBID char(5),</p><p>  @ReaType char(20),</p><p>  @ReaD

104、ep char(20),</p><p>  @ReaGrade char(5),</p><p>  @ReaPref char(20),</p><p>  @ReaDate Datetime</p><p><b>  as</b></p><p>  in

105、sert into Reader</p><p>  values( @ReaID , @ReaName, @ReaSex,@ReaNo ,@ReaLBID,@ReaType,@ReaDep , </p><p>  @ReaGrade ,@ReaPref ,@ReaDate);</p><p>  3.Maneger_Insert的定義:</p>&

106、lt;p>  CREATE PROCEDURE Maneger_Insert</p><p>  @MID char(10) ,</p><p>  @MName char(10),</p><p>  @MSex char(2),</p><p>  @Mpwd char(8),</p><p>  @

107、MAuth char(40),</p><p>  @MTeleph char(15),</p><p>  @MAddre char(30)</p><p><b>  as</b></p><p>  insert into Maneger</p><p>  alues(@MID , @M

108、Name ,@MSex ,@Mpwd ,@MAuth ,@MTeleph ,@MAddre);</p><p>  4.Borrow_Insert的定義:</p><p>  CREATE PROCEDURE Borrow_Insert</p><p>  @BookID char(9),</p><p>  @ReaID char

109、(9),</p><p>  @Outdate Datetime ,</p><p>  @YHdate Datetime ,</p><p>  @Indate Datetime,</p><p>  @Fine char(5),</p><p>  @CLState char(8),</p>&l

110、t;p>  @MID char(10)</p><p><b>  as</b></p><p>  insert into Borrow</p><p>  values(@BookID ,@ReaID ,@Outdate ,@YHdate ,@Indate ,@Fine ,@CLState ,@MID );</p>

111、<p>  5.Query_Reader_R的定義:</p><p>  create procedure Query_Reader_R</p><p>  @ReaID char(9)</p><p><b>  as</b></p><p><b>  select *</b><

112、/p><p>  from Readerview</p><p>  where 編號 = ltrim(@ReaID);</p><p>  6. Query_Reader_M的定義:</p><p>  create procedure Query_Reader_M</p><p><b>  as</

113、b></p><p>  select *</p><p>  from Readerview</p><p>  7. Query_Book_Writer的定義:</p><p>  create procedure Query_Book_Writer</p><p>  @BookWriter char(

114、50)</p><p><b>  as</b></p><p><b>  select *</b></p><p>  from Bookview</p><p>  where 作者 like '%'+ltrim(@BookWriter)+'%';</p&

115、gt;<p>  8. Query_Book_Name_Publish的定義:</p><p>  create procedure Query_Book_Name_Publish</p><p>  @BookName char(50),</p><p>  @BookPublish char(20)</p><p><

116、b>  as</b></p><p><b>  select *</b></p><p>  from Bookview</p><p>  where 書名=ltrim(@BookName) and 出版社=ltrim(@BookPublish);</p><p>  9. Delete_Read

117、er的定義:</p><p>  create procedure Delete_Reader</p><p>  @ReaNo char(9)</p><p><b>  as</b></p><p><b>  delete</b></p><p>  from Read

118、er</p><p>  where ReaNo = ltrim(@ReaNo);</p><p>  10. Delete_Book的定義:</p><p>  create procedure Delete_Book</p><p>  @BookID char(9)</p><p><b>  as&l

119、t;/b></p><p><b>  delete</b></p><p><b>  from Book</b></p><p>  where BookID= ltrim(@BookID);</p><p>  附錄2 數(shù)據(jù)查看和存儲過程功能的驗證</p><p>

120、;  基本表的數(shù)據(jù)查看(基于視圖查詢):</p><p>  查看Reader(讀者信息表)表中的數(shù)據(jù)</p><p>  查看Bookview(圖書信息)表中的數(shù)據(jù):</p><p>  查看Borrow(借閱信息)表中的數(shù)據(jù):</p><p>  4)查看Maneger(管理員信息表)表中的數(shù)據(jù)</p><p> 

121、 5)查看Room(館室信息表)表中的數(shù)據(jù):</p><p>  6)查看Borrowview(當前借閱信息)視圖中的數(shù)據(jù):</p><p>  7)查看Historyview(借閱歷史信息)視圖的數(shù)據(jù):</p><p>  8)查看Fineview(罰款信息)視圖的基本數(shù)據(jù):</p><p>  存儲過程功能的驗證:</p>

122、<p>  存儲過程Query_Reader_R功能的驗證:(按ReaID匹配查詢讀者信息)</p><p>  存儲過程Query_Book_Writer 功能的驗證:(按BookWriter模糊查詢圖書信息)</p><p>  3) 存儲過程Query_Book_Nmae_Publish功能的驗證:(按書名和出版社查詢圖書信息)</p><p>  

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論