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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  信息工程學(xué)院</b></p><p>  《數(shù)據(jù)庫原理與應(yīng)用》課程設(shè)計(jì)論文</p><p>  題 目:音響店VCD零售\出租管理系統(tǒng)</p><p> 學(xué) 號(hào):</p><p> 專業(yè)班級(jí):</p><p> 姓 名:</p><p

2、> 指導(dǎo)老師:</p><p> 完成日期:2014-12-28</p><p><b>  目 錄</b></p><p><b>  1引 言1</b></p><p>  2 需求分析階段2</p><p><b>  2.1 引言2</

3、b></p><p>  2.2 需求分析階段的目標(biāo)與任務(wù)2</p><p>  2.2.1 處理對(duì)象2</p><p>  2.2.2 處理功能及要求3</p><p>  2.2.3 安全性與完整性要求3</p><p>  2.3 需求分析階段成果3</p><p>  2

4、.3.1 體會(huì)與收獲4</p><p>  2.3.2 音像店VCD管理系統(tǒng)數(shù)據(jù)流圖4</p><p>  2.3.4 音像店VCD管理系統(tǒng)數(shù)據(jù)字典4</p><p>  3 概念設(shè)計(jì)階段7</p><p><b>  3.1 引言7</b></p><p>  3.2 任務(wù)與目標(biāo)7&

5、lt;/p><p>  3.3 階段結(jié)果7</p><p>  4 邏輯結(jié)構(gòu)設(shè)計(jì)9</p><p>  4.1 邏輯設(shè)計(jì)的任務(wù)和目標(biāo)9</p><p>  4.2 數(shù)據(jù)組織9</p><p>  4.2.1 將E-R圖轉(zhuǎn)換為關(guān)系模式9</p><p>  4.2.2 模式優(yōu)化10<

6、/p><p>  4.2.3 數(shù)據(jù)庫模式定義10</p><p>  4.3 數(shù)據(jù)處理11</p><p>  5 物理結(jié)構(gòu)設(shè)計(jì)12</p><p>  5.1物理設(shè)計(jì)階段的目標(biāo)與任務(wù)12</p><p>  5.2數(shù)據(jù)存儲(chǔ)方面12</p><p>  6 數(shù)據(jù)庫實(shí)施階段13</p

7、><p>  6.1建立數(shù)據(jù)庫、數(shù)據(jù)表、視圖、索引13</p><p>  6.1.1 建立數(shù)據(jù)庫13</p><p>  6.1.2 建立數(shù)據(jù)表13</p><p>  6.1.3 建立視圖15</p><p>  6.1.4 建立索引16</p><p>  6.1.5 建立觸發(fā)器1

8、6</p><p>  6.2數(shù)據(jù)入庫18</p><p>  6.3創(chuàng)建各個(gè)功能的存儲(chǔ)過程19</p><p>  7.系統(tǒng)調(diào)試和測(cè)試19</p><p><b>  8.實(shí)習(xí)心得20</b></p><p>  附錄1 存儲(chǔ)過程定義21</p><p>  附

9、錄2 數(shù)據(jù)查看和存儲(chǔ)過程功能的驗(yàn)證27</p><p>  附錄3 所有的SQL運(yùn)行語句31</p><p><b>  摘 要</b></p><p>  隨著社會(huì)經(jīng)濟(jì)的發(fā)展,人們對(duì)生活質(zhì)量的要求越來越高,對(duì)生活中的娛樂追求也是越來越高,傳統(tǒng)的娛樂方式已經(jīng)發(fā)生了變化。作為VCD銷售商來說,更多的用戶需要對(duì)VCD進(jìn)行租賃。在租賃的過程中需

10、求量大,操作復(fù)雜卻流程完全相同,銷售/租賃商頻繁的做著相同的工作,既浪費(fèi)時(shí)間又不能提高效率,這要求編寫一個(gè)方便使用的VCD出租系統(tǒng)以其解決上訴問題。實(shí)現(xiàn)對(duì)商品的瀏覽,租賃和出售,并對(duì)銷售的情況作出相關(guān)的統(tǒng)計(jì),并對(duì)各類的VCD分類影片進(jìn)行一個(gè)統(tǒng)計(jì)。利用該系統(tǒng)體現(xiàn)了管理者的思想,實(shí)現(xiàn)計(jì)算機(jī)的統(tǒng)一管理。</p><p>  通過使用計(jì)算機(jī)實(shí)現(xiàn)傳統(tǒng)的VCD銷售商的繁雜的手工操作計(jì)算環(huán)節(jié),可大大提高工作效率。在互聯(lián)網(wǎng)發(fā)展和

11、服務(wù)效率至上的今天,各種重復(fù)的操作都可以交給計(jì)算機(jī)實(shí)現(xiàn),既能學(xué)習(xí)先進(jìn)的管理經(jīng)驗(yàn),有可以提高工作效率。所以對(duì)于VCD這個(gè)傳統(tǒng)的行業(yè)來說,確實(shí)需要編寫一個(gè)系統(tǒng)去代替人力完成工作。</p><p>  本文從VCD出租/銷售系統(tǒng)的開發(fā)為背景,全文分為目錄、需求分析、概要設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì),以及系統(tǒng)的實(shí)現(xiàn)等全過程。在程序設(shè)計(jì)與調(diào)試上采用了自上而下,逐步細(xì)化,逐步完善的原則。采用結(jié)構(gòu)化的功能模塊設(shè)計(jì)系統(tǒng)功能,可讀性好

12、,易于擴(kuò)充?;竟δ苋?,系統(tǒng)可讀性好,易于維護(hù)、更新,安全性好。</p><p>  關(guān)鍵詞:VCD銷售;VCD出租;VCD管理</p><p><b>  1引 言</b></p><p>  隨著互聯(lián)網(wǎng)時(shí)代的到來,我們的生活方式發(fā)生了巨大的變化。利用計(jì)算機(jī)能夠幫助我們解決各種問題。各種的應(yīng)用軟件層出不窮。人們對(duì)計(jì)算機(jī)智能化的要求越來越高

13、,許多傳統(tǒng)的手工管理逐漸被計(jì)算機(jī)系統(tǒng)所代替。</p><p>  人們的生活質(zhì)量的要求越來越高,對(duì)生活中的娛樂方式也更加多樣化,已經(jīng)不再是很長(zhǎng)的時(shí)間看一部很經(jīng)典的電影。在過去的VCD出租和銷售中都是依靠的商家的自己的手工的篩選和銷售。對(duì)大量的客服而言的商家是既費(fèi)時(shí)又費(fèi)力,對(duì)VCD的管理也不能做到相對(duì)的統(tǒng)一,有明確的分類。計(jì)算機(jī)的出現(xiàn),提供了一個(gè)很好的解決的方案,能夠通過相關(guān)的管理軟件對(duì)其進(jìn)行統(tǒng)一的管理、銷售、租賃

14、等等商業(yè)活動(dòng)。</p><p>  開發(fā)VCD零售/出租管理系統(tǒng)幫助商家提高效率,降低經(jīng)營(yíng)成本,優(yōu)化資源配置,從而實(shí)現(xiàn)商品的最大利益化。</p><p><b>  2 需求分析階段</b></p><p><b>  2.1 引言</b></p><p>  進(jìn)行系統(tǒng)設(shè)計(jì),首先要對(duì)系統(tǒng)的現(xiàn)狀進(jìn)行分

15、析。根據(jù)系統(tǒng)的目標(biāo)、需求和功能,制定和選擇一個(gè)較好的系統(tǒng)方案,從而達(dá)到一個(gè)合理的優(yōu)化系統(tǒng)。如今又許多的VCD銷售商,最初購買的人數(shù)較少,手工管理還能應(yīng)付,但是隨著VCD需求人數(shù)的增多,傳統(tǒng)的手工方式已遠(yuǎn)遠(yuǎn)不能滿足商家的需求,就需要新的銷售/出租系統(tǒng)去做。</p><p>  需求分析是在于要弄清用戶對(duì)開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng)的確切要求。數(shù)據(jù)庫設(shè)計(jì)的第一步是明確數(shù)據(jù)庫的目的和如何使用,也就是說需要從數(shù)據(jù)庫中得到哪些信息

16、。明確目的之后,就可以確定您需要保存哪些主題的信息(表),以及每個(gè)主題需要保存哪些信息(表中字段)。</p><p>  在構(gòu)造系統(tǒng)時(shí),首先從需求出發(fā)構(gòu)造數(shù)據(jù)庫表,然后再由數(shù)據(jù)庫表結(jié)合需求劃分系統(tǒng)功能模塊。這樣,就把一個(gè)大的系統(tǒng)分解成了幾個(gè)小系統(tǒng)。這里把系統(tǒng)的層次劃分為了四個(gè)部分:用戶信息管理,VCD信息管理,VCD銷售信息管理,VCD出租信息管理。能夠?qū)崿F(xiàn)以下功能:</p><p>  

17、新的用戶加入,用戶信息及時(shí)更新;</p><p> ?、?對(duì)于新入庫VCD,能夠及時(shí)更新VCD信息,便于用戶查詢;</p><p> ?、?能夠記錄用戶的銷售和出租信息;</p><p> ?、?用戶、商家均能查詢相應(yīng)的信息,方便交流;</p><p>  2.2 需求分析階段的目標(biāo)與任務(wù)</p><p>  2.2

18、.1 處理對(duì)象</p><p>  用戶信息:用戶編號(hào),用戶性別,用戶電話號(hào)碼,用戶身份證號(hào)碼</p><p>  VCD信息:VCD編號(hào),VCD類型號(hào),VCD片名,導(dǎo)演,主演,上市時(shí)間,庫存數(shù)量,格式</p><p>  VCD類型:VCD類型號(hào),類型名</p><p>  VCD出租:出租編號(hào),VCD編號(hào),出租數(shù)量,出租時(shí)間,歸還時(shí)間,押

19、金,狀態(tài),用戶編號(hào)</p><p>  VCD銷售:VCD編號(hào),用戶編號(hào),銷售時(shí)間,銷售數(shù)量</p><p>  2.2.2 處理功能及要求</p><p>  1.能夠存儲(chǔ)一定數(shù)量的VCD信息,并方便有效的進(jìn)行相應(yīng)的VCD數(shù)據(jù)操作和管理,這主要包括:</p><p>  1) VCD信息的錄入、刪除及修改。</p><

20、p>  2) VCD信息的多關(guān)鍵字檢索查詢。</p><p>  3) VCD的出租、銷售管理。</p><p>  2.能夠?qū)σ欢〝?shù)量的用戶進(jìn)行相應(yīng)的信息存儲(chǔ)與管理,這其中包括:</p><p>  1) 用戶信息的登記、刪除及修改。</p><p>  3) 用戶資料的統(tǒng)計(jì)與查詢。</p><p> 

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

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

23、的正確性以及相容性??赏ㄟ^建立主、外鍵,使用check約束,或者通過使用觸發(fā)器和級(jí)聯(lián)更新。</p><p>  2.3 需求分析階段成果</p><p>  2.3.1 體會(huì)與收獲</p><p>  系統(tǒng)需求分析主要是通過自己對(duì)于VCD銷售與出租行業(yè)的了解,去咨詢一些VCD銷售商,以及通過互聯(lián)網(wǎng)進(jìn)行一些調(diào)查,了解VCD銷售商在管理中的一些問題。由于沒有經(jīng)驗(yàn)和時(shí)間的

24、不足,所以在做的過程中有許多問題,而又正值放假,所以只能自己通過互聯(lián)網(wǎng)去查詢,并通過數(shù)據(jù)流圖一步一步了解其中過程,最終完成了需求分析任務(wù)。 </p><p>  2.3.2 音像店VCD管理系統(tǒng)數(shù)據(jù)流圖</p><p><b>  頂層數(shù)據(jù)流圖:</b></p><p>  圖2.1 頂層數(shù)據(jù)流圖</p><p><

25、;b>  第二層數(shù)據(jù)流圖:</b></p><p>  圖2.2 第二層數(shù)據(jù)流圖</p><p>  2.3.4 音像店VCD管理系統(tǒng)數(shù)據(jù)字典</p><p><b>  a)數(shù)據(jù)項(xiàng)</b></p><p>  表1.1 數(shù)據(jù)項(xiàng)列表</p><p><b>  b)數(shù)據(jù)

26、結(jié)構(gòu):</b></p><p>  表1.2 數(shù)據(jù)結(jié)構(gòu)列表</p><p><b>  3 概念設(shè)計(jì)階段</b></p><p><b>  3.1 引言</b></p><p>  系統(tǒng)開發(fā)的總體目標(biāo)是實(shí)現(xiàn)VCD銷售商在VCD銷售/出租方面的自動(dòng)化,減輕工作人員的工作量,方便工作人員對(duì)

27、它的操作,提高管理的質(zhì)量和水平,做到高效、智能化管理,從而達(dá)到提高VCD銷售/出租管理效率的目的。</p><p>  主要任務(wù)是對(duì)用戶信息、VCD信息、VCD出租信息、VCD銷售信息的基本信息的操作及外理。</p><p>  概念設(shè)計(jì)階段主要是將需求分析階段得到的用戶需求抽象為信息結(jié)構(gòu)(概念模型)的過程,它是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵。</p><p><b&g

28、t;  3.2 任務(wù)與目標(biāo)</b></p><p> ?。?)選擇第二層數(shù)據(jù)流為切入點(diǎn),通常選擇實(shí)際系統(tǒng)中的子系統(tǒng);</p><p>  (2)設(shè)計(jì)生成初步分E-R圖,通過合并方法,做到各實(shí)體、屬性、聯(lián)系統(tǒng)一;</p><p>  (4)生成全局E-R圖,通過消除沖突等方面。</p><p>  在本VCD銷售/出租管理系統(tǒng)中,從

29、第2層數(shù)據(jù)流程圖下手。分析數(shù)據(jù)流圖和數(shù)據(jù)字典,知道整個(gè)系統(tǒng)功能圍繞“用戶”和“VCD”的處理。根據(jù)實(shí)體與屬性間的兩條準(zhǔn)則:生成各個(gè)分E-R圖:從而合并成總E-R圖:。</p><p><b>  3.3 階段結(jié)果</b></p><p> ?。?)a.VCD信息與VCD類型之間的關(guān)系:</p><p>  圖3.1 分E-R圖</p>

30、;<p>  b.用戶與VCD信息出租之間的關(guān)系:</p><p>  圖3.2 分E-R圖</p><p>  c.用戶與VCD信息銷售之間的關(guān)系:</p><p>  圖3.3 分E-R圖</p><p><b> ?。?)基本E-R圖</b></p><p>  圖3,.4 總

31、E-R圖</p><p>  E-R圖的各實(shí)體屬性如下所示:</p><p>  用戶:User(UserID, UserSex, UserTel, UserNum )</p><p>  VCD信息:VCD(Vid, Vtype, Vname, Vdirector, Vact, Vdata, Vamount, Vform)</p><p>

32、  VCD類型:Type(Vtype, Tname)</p><p>  VCD出租:Hire(Vid, UserID,Hid, Hamount, Htime,Hre, Hmoney, Hstate)</p><p>  VCD銷售:Sale(UserID, Vid, Stime, Smount);</p><p><b>  4 邏輯結(jié)構(gòu)設(shè)計(jì)</b

33、></p><p>  4.1 邏輯設(shè)計(jì)的任務(wù)和目標(biāo)</p><p>  以上的概念設(shè)計(jì)階段是獨(dú)立于任何一種數(shù)據(jù)模型的,但是邏輯設(shè)計(jì)階段就與選用的DBMS產(chǎn)品發(fā)生關(guān)系了,系統(tǒng)邏輯設(shè)計(jì)的任務(wù)就是將概念設(shè)計(jì)階段設(shè)計(jì)好的基本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ù)庫模式定義、用戶子模式設(shè)計(jì))、數(shù)據(jù)處理(畫

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

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

36、與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實(shí)體碼的組合</p><p>  具體的基本E-R圖向關(guān)系模型的轉(zhuǎn)化如下:</p><p>  用戶:User(UserID, UserSex, UserTel, UserNum )</p><p>  VCD信息:VCD(Vid, Vtype, Vname, Vdirector, Va

37、ct, Vdata, Vamount, Vform)</p><p>  VCD類型:Type(Vtype, Tname)</p><p>  VCD出租:Hire(Vid , UserID, Hid, Hamount, Htime,Hre, Hmoney, Hstate)</p><p>  VCD銷售:Sale(UserID, Vid, Stime, Smoun

38、t);</p><p>  4.2.2 模式優(yōu)化</p><p>  關(guān)系模式User,VCD,Type,Hire,Sale 既不存在非主屬性對(duì)主屬性的部分函數(shù)依賴,也不存在傳遞函數(shù)依賴,已經(jīng)達(dá)到了3NF。</p><p>  4.2.3 數(shù)據(jù)庫模式定義</p><p><b>  4.3 數(shù)據(jù)處理</b></p&

39、gt;<p><b>  系統(tǒng)功能模塊圖:</b></p><p>  圖4.1 系統(tǒng)功能模塊</p><p><b>  5 物理結(jié)構(gòu)設(shè)計(jì)</b></p><p>  5.1物理設(shè)計(jì)階段的目標(biāo)與任務(wù)</p><p>  數(shù)據(jù)庫的物理設(shè)計(jì)就是為邏輯數(shù)據(jù)模型選取一個(gè)最合適應(yīng)用要求的物理結(jié)

40、構(gòu)的過程,在這個(gè)階段中要完成兩大任務(wù):</p><p> ?。?)確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要是存取方法和存儲(chǔ)結(jié)構(gòu);</p><p> ?。?)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率。</p><p><b>  5.2數(shù)據(jù)存儲(chǔ)方面</b></p><p>  為數(shù)據(jù)庫中各基本表建立的索引如下:<

41、;/p><p>  由于基本表User,VCD的主碼UserID,Vid經(jīng)常在查詢條件和連接操作的連接條件中出現(xiàn),且它們的值唯一,在兩個(gè)屬性上建立唯一性索引;</p><p>  由于基本表VCD的屬性Vname,Type的屬性Tname經(jīng)常在查詢條件中出現(xiàn)在兩個(gè)屬性上建立聚簇索引;</p><p><b>  6 數(shù)據(jù)庫實(shí)施階段</b></

42、p><p>  6.1建立數(shù)據(jù)庫、數(shù)據(jù)表、視圖、索引</p><p>  6.1.1 建立數(shù)據(jù)庫</p><p>  Create database ManagerVCD;</p><p>  6.1.2 建立數(shù)據(jù)表</p><p><b> ?。?)用戶信息表:</b></p><

43、;p>  Create table User(KM </p><p>  UserID char(10) primary key,</p><p>  UserSex char(2) not null,</p><p>  UserTel char(11) not null,</p><p>  UserNum char(18) not

44、 null,</p><p><b>  );</b></p><p><b> ?。?)VCD信息表</b></p><p>  Create table VCD(</p><p>  Vid char(10) primary key,</p><p>  Vname ch

45、ar(30) not null,</p><p>  Vtype char(20) not null,</p><p>  Vdirector char(20),</p><p>  Vact char(20),</p><p>  Vdate date,</p><p>  Vamount int not null,

46、</p><p>  Vform char(5) not null,</p><p><b>  )</b></p><p><b> ?。?)VCD類型表</b></p><p>  Create table Type(</p><p>  Vtype char(20)

47、primary key;</p><p>  Tname char(20) not null,</p><p><b>  )</b></p><p><b> ?。?)VCD出租表</b></p><p>  Create table Hire(</p><p>  Hid

48、 char(5) primary key,</p><p>  Vid char(10) not null,</p><p>  Hamount char(5),</p><p>  Htime date,</p><p><b>  Hre date,</b></p><p>  Hmoney

49、int,</p><p>  Hstate char(2) not null,</p><p>  UserID char(9) not null,</p><p><b>  )</b></p><p><b> ?。?)VCD銷售表</b></p><p>  Creat

50、e table Sale(</p><p>  UserID char(9) primary key,</p><p>  Vid char(10) primary key,</p><p>  Samount char(5) not null,</p><p>  Stime date,</p><p><b&

51、gt;  )</b></p><p>  外鍵約束通過MySQL語句進(jìn)行添加(附錄2)。</p><p>  6.1.3 建立視圖</p><p> ?。?)建立用戶視圖:</p><p>  Create view user_view</p><p><b>  as</b><

52、/p><p>  Select * from User</p><p>  (2)建立用戶查詢VCD視圖;</p><p>  Create view user_Query</p><p><b>  AS</b></p><p>  select VCD.Vid , Type.Tname , VCD

53、.Vname , VCD.Vamount</p><p>  from VCD,Type</p><p>  where VCD.Vtype = Type.Vtype;</p><p> ?。?)管理員查詢用戶視圖(a):</p><p>  Create View Manager_H</p><p><b>

54、;  As</b></p><p>  Select VCD.Vid , Hire.Hamount</p><p>  From VCD , Hire </p><p>  Where VCD.Vid = Hire.Vid</p><p>  (4)管理員查詢用戶視圖(b):</p><p>  Creat

55、e View Manager_S</p><p><b>  As</b></p><p>  Select VCD.Vid , Sale.Samount</p><p>  From VCD , Sale</p><p>  Where VCD.Vid = Sale.Vid</p><p>  

56、6.1.4 建立索引</p><p>  Create unique index user_id on User(UserID)</p><p>  Create unique index vcd_id on VCD(Vid)</p><p>  Create cluster index VCD_index on VCD(Vname)</p><

57、p>  Create cluster index Type_index on Type(Tname)</p><p>  6.1.5 建立觸發(fā)器</p><p> ?。?)當(dāng)刪除Hire表中的一條出租記錄時(shí),觸發(fā)VCD表,更新相應(yīng)記錄</p><p>  delimiter $</p><p>  create trigger t_vc

58、d_hire_delete</p><p>  after delete on hire</p><p>  for each row</p><p><b>  begin</b></p><p>  update vcd</p><p>  set vamount = vamount - ol

59、d.hamount</p><p>  where vcd.Vid = old.vid;</p><p><b>  end $</b></p><p>  delimiter ;</p><p> ?。?)當(dāng)在Hire表中增加一條出租記錄時(shí),觸發(fā)VCD,更新相應(yīng)記錄</p><p>  deli

60、miter $</p><p>  create trigger t_vcd_hire_insert</p><p>  before insert on hire</p><p>  for each row</p><p><b>  begin</b></p><p>  update vc

61、d</p><p>  set vamount = vamount - new.hamount</p><p>  where vcd.Vid = new.vid;</p><p><b>  end $</b></p><p>  delimiter ;</p><p> ?。?)當(dāng)更新Hire

62、表中的一條出租記錄,觸發(fā)VCD表,更新相應(yīng)的記錄</p><p>  delimiter $</p><p>  create trigger t_vcd_hire_update</p><p>  after update on hire</p><p>  for each row</p><p><b>

63、;  begin</b></p><p>  update vcd</p><p>  set vamount = vamount - new.hamount</p><p>  where vcd.Vid = new.vid;</p><p><b>  end $</b></p><p

64、>  delimiter ;</p><p>  (4)當(dāng)刪除Sale表中的一條銷售記錄時(shí),觸發(fā)VCD表,更新相應(yīng)的記錄</p><p>  delimiter $</p><p>  create trigger t_vcd_sale_delete</p><p>  after delete on sale</p>&

65、lt;p>  for each row</p><p><b>  begin</b></p><p>  update vcd</p><p>  set vamount = vamount - old.samount</p><p>  where vcd.Vid = old.vid;</p>&

66、lt;p><b>  end $</b></p><p>  delimiter ;</p><p> ?。?)當(dāng)在Sale表中增加一條銷售記錄時(shí),觸發(fā)VCD表,更新相應(yīng)的記錄</p><p>  delimiter $</p><p>  create trigger t_vcd_sale_insert</

67、p><p>  after insert on sale</p><p>  for each row</p><p><b>  begin</b></p><p>  update vcd</p><p>  set vamount = vamount - new.samount</p>

68、;<p>  where vcd.Vid = new.vid;</p><p><b>  end $</b></p><p>  delimiter ;</p><p>  (6)當(dāng)Sale表更新一條銷售記錄時(shí),觸發(fā)VCD表,更新相應(yīng)的記錄</p><p>  delimiter $</p>

69、<p>  create trigger t_vcd_sale_update</p><p>  after update on sale</p><p>  for each row</p><p><b>  begin</b></p><p>  update vcd</p><p&

70、gt;  set vamount = vamount - new.samount</p><p>  where vcd.Vid = new.vid;</p><p><b>  end $</b></p><p>  delimiter ;</p><p><b>  6.2數(shù)據(jù)入庫</b><

71、;/p><p>  系統(tǒng)包括VCD用戶信息管理、VCD出租信息管理、VCD銷售信息管理、VCD信息管理等幾個(gè)功能模塊,共有5張基本表,直接用MySQL建立這5張基本表,并將數(shù)據(jù)導(dǎo)入到相應(yīng)的基本表中。</p><p>  6.3創(chuàng)建各個(gè)功能的存儲(chǔ)過程</p><p>  系統(tǒng)共創(chuàng)建了12個(gè)存儲(chǔ)過程,具體列表如下:</p><p>  表3.1 創(chuàng)

72、建的存儲(chǔ)過程列表</p><p><b>  7.系統(tǒng)調(diào)試和測(cè)試</b></p><p>  對(duì)該圖書管理系統(tǒng)進(jìn)行測(cè)試,驗(yàn)證每個(gè)功能是否符合要求,具體的測(cè)試如下:</p><p>  (1)通過視圖查看各個(gè)基本表和視圖中的數(shù)據(jù)(見附錄2)</p><p> ?。?)檢測(cè)各個(gè)存儲(chǔ)過程的功能:(見附錄2)</p>

73、<p><b>  8.實(shí)習(xí)心得</b></p><p>  這次課程設(shè)計(jì)使我對(duì)數(shù)據(jù)庫知識(shí)應(yīng)用有了進(jìn)一步認(rèn)識(shí),通過自己尋找各個(gè)資料,在紙上開始做需求分析,畫數(shù)據(jù)流圖,以及數(shù)據(jù)庫的概念、邏輯、物理結(jié)構(gòu)設(shè)計(jì),讓后邊編寫代碼和編寫文檔比以往更方便。做紙上的東西卻很麻煩,要做VCD系統(tǒng),還需要去了解商家如何去操作的,以及如何做才能更方便的滿足商家和用戶的需求。</p>&

74、lt;p>  通過這次課程設(shè)計(jì)我學(xué)到了許多東西,包括課堂上的,當(dāng)然還有課后學(xué)到的,都是通過去圖書館閱讀和網(wǎng)上查閱。因?yàn)檫@次數(shù)據(jù)庫設(shè)計(jì)使用的是MySQL語言,和我們平時(shí)學(xué)到的SQL server有些區(qū)別,所以在設(shè)計(jì)過程中就會(huì)有趣多問題,比如某個(gè)語法不一樣,導(dǎo)致總是出現(xiàn)語法錯(cuò)誤。就需要不多的去查閱網(wǎng)上的資料。</p><p>  但是,我進(jìn)一步掌握了相關(guān)的MySQL語句方面的知識(shí)。知道我們課堂上的知識(shí)太少了,幾

75、乎知識(shí)講了方法和基本的語法。所以導(dǎo)致我總是認(rèn)為建表就是查詢、增加、刪除、更新,再做課程設(shè)計(jì)之前都不知道視圖具體是用來干嘛的,觸發(fā)器、存儲(chǔ)過程、索引幾乎就是空白。現(xiàn)在了解了建立這些的用處了,以及使用主鍵、外鍵約束。通過這些保證數(shù)據(jù)庫的完整性,并且更能方便不同權(quán)限的用戶的操作。為用戶提供方便。</p><p>  4 .總之,在整個(gè)課程設(shè)計(jì)的過程中,由于時(shí)間問題以及自身經(jīng)驗(yàn)不足,所以這次做出來的東西存在許多問題。但是

76、,不可否認(rèn),我學(xué)到了更多的東西,包括系統(tǒng)的分析方式,知道前期的需求分析的重要性,這樣才能讓后邊的建表,建立觸發(fā)器之類的順利進(jìn)行。</p><p>  附錄1 存儲(chǔ)過程定義</p><p>  1. User_insert的定義:</p><p>  delimiter $</p><p>  create procedure User_ins

77、ert (in id char(9),</p><p>  in sex char(2),</p><p>  in Tel char(11),</p><p>  in num char(18) )</p><p><b>  begin</b></p><p>  insert into u

78、ser( userid,usersex,usertel,usernum )</p><p>  values (id,sex,tel,num);</p><p><b>  end $</b></p><p>  delimiter ;</p><p>  2. Type_insert的定義:</p>&l

79、t;p>  delimiter $</p><p>  create procedure Type_insert (in type char(20),</p><p>  in name char(20) )</p><p><b>  begin</b></p><p>  insert into Type( V

80、type,Tname )</p><p>  values (type,name);</p><p><b>  end $</b></p><p>  delimiter ;</p><p>  3. VCD_insert的定義:</p><p>  delimiter $</p>

81、<p>  create procedure VCD_insert (in id char(10),</p><p>  in type char(20),</p><p>  in name char(30),</p><p>  in director char(20)</p><p>  in act char(20),&

82、lt;/p><p>  in date date,</p><p>  in amount int,</p><p>  in form char(5))</p><p><b>  begin</b></p><p>  insert into VCD( Vid,Vtype,Vname,Vdirec

83、tor,Vact,Vdate,Vamount,Vform )</p><p>  values (id,type,name,director,act,date,amount,form);</p><p><b>  end $</b></p><p>  delimiter ;</p><p>  4.User_dele

84、te的定義:</p><p>  delimiter $</p><p>  create procedure User_delete (in id char(9))</p><p><b>  begin</b></p><p><b>  delete</b></p><p&

85、gt;<b>  from user</b></p><p>  where user.userid = id;</p><p><b>  end $</b></p><p>  delimiter ;</p><p>  5.VCD_delete的定義:</p><p>

86、  delimiter $</p><p>  create procedure User_delete (in id char(10))</p><p><b>  begin</b></p><p><b>  delete</b></p><p><b>  from VCD<

87、/b></p><p>  where VCD.vid = id;</p><p><b>  end</b></p><p>  delimiter ;</p><p>  6.Type_delete的定義:</p><p>  delimiter $</p><p&g

88、t;  create procedure Type_delete (in type char(20))</p><p><b>  begin</b></p><p><b>  delete</b></p><p><b>  from Type</b></p><p>  

89、where Type.Vtype = type;</p><p><b>  end</b></p><p>  delimiter ;</p><p>  7. Query_User的定義</p><p>  delimiter $</p><p>  create procedure Quer

90、y_User( in id char(9) )</p><p><b>  begin</b></p><p><b>  select *</b></p><p><b>  from User</b></p><p>  where id = user.userid;<

91、;/p><p><b>  end $</b></p><p>  delimiter ;</p><p>  8. Query_User_All的定義:</p><p>  delimiter $</p><p>  create procedure Query_User_All( )</p&

92、gt;<p><b>  begin</b></p><p><b>  select *</b></p><p>  from User;</p><p><b>  end $</b></p><p>  delimiter ;</p><

93、p>  9. Query_User_S的定義:</p><p>  delimiter $</p><p>  create procedure Query_User_S (in id char(9))</p><p><b>  begin</b></p><p>  select user.userid,vcd

94、.Vname,sale.Samount</p><p>  from user,sale,vcd</p><p>  where id = user.userid </p><p>  and id = sale.UserID</p><p>  and vcd.Vid = sale.Vid;</p><p><

95、b>  end $</b></p><p>  delimiter ;</p><p>  10.Query_User_H的定義:</p><p>  delimiter $</p><p>  create procedure Query_User_H(in id char(9))</p><p>

96、<b>  begin</b></p><p>  select user.userid,vcd.Vname,Hire.Hamount</p><p>  from user,Hire,vcd</p><p>  where id = user.userid </p><p>  and id = Hire.UserID

97、</p><p>  and vcd.Vid = Hire.Vid;</p><p><b>  end $</b></p><p>  delimiter ;</p><p>  11. Hire_insert的定義:</p><p>  delimiter $</p><p

98、>  create procedure Hire_insert (in v_id char(10),</p><p>  in h_id char(5),</p><p>  in amount char(5),</p><p>  in time date,</p><p>  in re date,</p><

99、p>  in money int,</p><p>  in state char(2),</p><p>  in u_id char(9))</p><p><b>  begin</b></p><p>  insert into user( Hid,Vid,Hamount,Htime,Hre,Hmoney,

100、Hstate,UserID )</p><p>  values (v_id,h_id,amount,time,re,money,state,u_id);</p><p><b>  end $</b></p><p>  delimiter ;</p><p>  12.Sale_insert的定義:</p>

101、;<p>  delimiter $</p><p>  create procedure Sale_insert (in v_id char(10),</p><p>  in u_id char(9),</p><p>  in time date ,</p><p>  in amount char(5) )</p

102、><p><b>  begin</b></p><p>  insert into user( Vid,UserID,Stime,Samount )</p><p>  values (v_id,u_id,time,amount);</p><p><b>  end $</b></p>

103、<p>  delimiter ;</p><p>  附錄2 數(shù)據(jù)查看和存儲(chǔ)過程功能的驗(yàn)證</p><p>  查看VCD表中的信息:</p><p>  查看Type(VCD類型)表中的信息:</p><p>  查看Hire(VCD出租)表中的信息:</p><p>  查看User(用戶信息)表中的

104、信息:</p><p>  查看Sale(VCD銷售)表中的信息:</p><p>  用戶查詢VCD視圖:</p><p><b>  管理員視圖a:</b></p><p><b>  管理員視圖b:</b></p><p><b>  2.存儲(chǔ)過程驗(yàn)證:<

105、;/b></p><p>  a.在User表中插入一條記錄:</p><p>  b.從User表中刪除一條記錄:</p><p>  C.管理員查詢所有用戶信息:</p><p><b>  觸發(fā)器驗(yàn)證:</b></p><p>  刪除Hire表中的一條記錄,觸發(fā)VCD表更新:<

106、/p><p>  其他驗(yàn)證省略.(在數(shù)據(jù)庫測(cè)試中均通過)</p><p>  附錄3 所有的SQL運(yùn)行語句</p><p>  Create database ManagerVCD;</p><p>  Create table User(</p><p>  UserID char(10) primary key,<

107、;/p><p>  UserSex char(2) not null,</p><p>  UserTel char(11) not null,</p><p>  UserNum char(18) not null</p><p><b>  )</b></p><p>  Create table

108、 VCD(</p><p>  Vid char(10) primary key,</p><p>  Vname char(30) not null,</p><p>  Vtype char(20) not null,</p><p>  Vdirector char(20),</p><p>  Vact cha

109、r(20),</p><p>  Vdate date,</p><p>  Vamount int not null,</p><p>  Vform char(5) not null</p><p><b>  )</b></p><p>  Create table Type(</p

110、><p>  Vtype char(20) primary key,</p><p>  Tname char(20) not null,</p><p><b>  )</b></p><p>  Create table Hire(</p><p>  Hid char(5) primary ke

111、y,</p><p>  Vid char(10) not null,</p><p>  Hamount char(5),</p><p>  Htime date,</p><p><b>  Hre date,</b></p><p>  Hmoney int,</p><

112、;p>  Hstate char(2) not null,</p><p>  UserID char(9) not null</p><p><b>  )</b></p><p>  Create table Sale(</p><p>  UserID char(9) primary key,</p&g

113、t;<p>  Vid char(10) primary key,</p><p>  Samount char(5) not null,</p><p>  Stime date</p><p><b>  )</b></p><p>  Create table admina(</p>&

114、lt;p>  Vid char(10) primary key,</p><p>  Samount char(5) not null,</p><p>  Hamount char(5) not null,</p><p><b>  )</b></p><p>  Create table adminb(<

115、;/p><p>  Ano char(20) primary key,</p><p>  Aname char(20) not null,</p><p>  Apwd char(20) not null,</p><p><b>  );</b></p><p>  alter table Hir

116、e</p><p>  add constraint fk_hire_userid foreign key User(UserID)</p><p>  alter table Hire</p><p>  add constraint fk_hire_vid foreign key VCD(Vid)</p><p>  alter tabl

117、e Sale</p><p>  add constraint fk_sale_userid foreign key User(UserID)</p><p>  alter table Sale</p><p>  add constraint fk_sale_vid foreign key VCD(Vid)</p><p>  alter

118、 table VCD</p><p>  add constraint fk_vcd_vtype foreign key Type(Vtype)</p><p>  Create view user_view</p><p><b>  as</b></p><p>  Select * from User</p&

119、gt;<p>  Create view user_Query</p><p><b>  AS</b></p><p>  select VCD.Vid , Type.Tname , VCD.Vname , VCD.Vamount</p><p>  from VCD,Type</p><p>  whe

120、re VCD.Vtype = Type.Vtype</p><p>  Create View Manager_H</p><p><b>  As</b></p><p>  Select VCD.Vid , Hire.Hamount</p><p>  From VCD , Hire </p><

121、p>  Where VCD.Vid = Hire.Vid</p><p>  Create View Manager_S</p><p><b>  As</b></p><p>  Select VCD.Vid , Sale.Samount</p><p>  From VCD , Sale</p>

122、<p>  Where VCD.Vid = Sale.Vid</p><p>  Create unique index user_id on User(UserID);</p><p>  Create unique index vcd_id on VCD(Vid);</p><p>  Create cluster index VCD_index o

123、n VCD(Vname);</p><p>  Create cluster index Type_index on Type(Tname);</p><p>  delimiter $</p><p>  create trigger t_vcd_hire_delete</p><p>  after delete on hire</

124、p><p>  for each row</p><p><b>  begin</b></p><p>  update vcd</p><p>  set vamount = vamount - old.hamount</p><p>  where vcd.Vid = old.vid;</

125、p><p><b>  end $</b></p><p>  create trigger t_vcd_hire_insert</p><p>  before insert on hire</p><p>  for each row</p><p><b>  begin</b&

126、gt;</p><p>  update vcd</p><p>  set vamount = vamount - new.hamount</p><p>  where vcd.Vid = new.vid;</p><p><b>  end $</b></p><p>  create tr

127、igger t_vcd_hire_update</p><p>  after update on hire</p><p>  for each row</p><p><b>  begin</b></p><p>  update vcd</p><p>  set vamount = va

128、mount - new.hamount</p><p>  where vcd.Vid = new.vid;</p><p><b>  end $</b></p><p>  create trigger t_vcd_sale_delete</p><p>  after delete on sale</p>

129、;<p>  for each row</p><p><b>  begin</b></p><p>  update vcd</p><p>  set vamount = vamount - old.samount</p><p>  where vcd.Vid = old.vid;</p>

130、;<p><b>  end $</b></p><p>  create trigger t_vcd_sale_insert</p><p>  after insert on sale</p><p>  for each row</p><p><b>  begin</b>&l

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論