版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計(jì)---音響店 vcd 零售出租管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--數(shù)據(jù)庫設(shè)計(jì)—公司管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)---機(jī)房管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)---圖書管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--工資管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)-酒店管理系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫原理課程設(shè)計(jì)---教室管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)--bbs系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)論文---汽車銷售管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)--超市會(huì)員管理系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)庫原理課程設(shè)計(jì)---圖書管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)-學(xué)生管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)-薪資管理系統(tǒng)
- 酒店管理系統(tǒng)--數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)——學(xué)生管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--- 銷售管理系統(tǒng)
- 數(shù)據(jù)庫成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)---成績(jī)管理系統(tǒng)
- 房產(chǎn)管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)--倉庫管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論