版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 信息工程學(xué)院</b></p><p> 《數(shù)據(jù)庫原理與運用》課程設(shè)計論文</p><p> 題目:“**雜貨”商品進銷存管理系統(tǒng)</p><p> 學(xué) 號:</p><p> 專業(yè)班級:</p><p> 姓 名:</p><p&g
2、t; 指導(dǎo)老師:</p><p> 完成日期:2009年7月11日</p><p><b> 摘要</b></p><p> 如今無論是一個多小的企業(yè),都滲透了高科技文化,越來越多的小型企業(yè)的管理都運用了數(shù)據(jù)庫技術(shù),商家希望通過這樣的管理模式節(jié)省一些人力物力和財力。通過在**雜貨店實際跟班作業(yè),對商品進、銷、存三個業(yè)務(wù)進行分析總結(jié),以此做為
3、本課程設(shè)計的題材,詳細(xì)的記錄了從需求分析開始,到概念設(shè)計、邏輯設(shè)計、物理設(shè)計、數(shù)據(jù)庫實施和調(diào)試測試這六個數(shù)據(jù)庫系統(tǒng)設(shè)計的必要階段,最終完成了一個小規(guī)模的商品進銷存管理系統(tǒng),該系統(tǒng)可以實現(xiàn)數(shù)據(jù)查詢、更新、修改和一些相對大系統(tǒng)較小的簡單功能。</p><p> 關(guān)鍵字:商品,進銷存,系統(tǒng)管理</p><p><b> 目錄</b></p><p&g
4、t;<b> 1引言1</b></p><p> 1.1目標(biāo)及任務(wù)1</p><p><b> 1.2意義1</b></p><p><b> 2數(shù)據(jù)庫設(shè)計1</b></p><p> 2.1需求分析階段1</p><p> 2.1
5、.1目標(biāo)和任務(wù)2</p><p> 2.1.2階段結(jié)果2</p><p> 2.2概念設(shè)計階段6</p><p><b> E-R圖的設(shè)計6</b></p><p> 2.3邏輯設(shè)計階段7</p><p> 2.3.1數(shù)據(jù)組織8</p><p> 2
6、.3.2數(shù)據(jù)處理9</p><p> 2.4物理設(shè)計階段10</p><p> 2.4.1數(shù)據(jù)存取10</p><p> 2.4.2功能模塊10</p><p> 2.5數(shù)據(jù)庫實施階段11</p><p> 2.6調(diào)試與測試11</p><p> 2實習(xí)心得體會11&l
7、t;/p><p><b> 參考文獻12</b></p><p> 附錄1關(guān)系模式說明13</p><p> 附錄2數(shù)據(jù)定義語句18</p><p><b> 1基本表18</b></p><p><b> 2觸發(fā)器20</b></
8、p><p><b> 3視圖22</b></p><p><b> 4索引23</b></p><p><b> 5存儲過程23</b></p><p> 附錄3數(shù)據(jù)操作驗證25</p><p> 附錄4存儲過程功能的驗證28</p
9、><p><b> 1引言</b></p><p> 在科學(xué)技術(shù)日新月異發(fā)展的今天,高科技在人們的工作學(xué)習(xí)和生活中應(yīng)用得越來越廣泛,大到國家,小到個人,都能看到它的影子,其中計算機科學(xué)技術(shù)技術(shù)更成了這個領(lǐng)域中的一朵奇葩。為滿足人們各種各樣的需要,不同功能的計算機技術(shù)應(yīng)運而生,每時每刻人們都能感受其給我們帶來的影響,國家機密文件管理、銀行管理、超市管理等領(lǐng)域都有計算機技
10、術(shù)的運用,而今各種小型企事業(yè)單位中都不同程度有其滲透,在數(shù)據(jù)量龐大的部門,數(shù)據(jù)庫技術(shù)獨當(dāng)一面,以其優(yōu)越性,深得廣大用戶的親睞。</p><p> 進、銷、存信息管理系統(tǒng)是企業(yè)管理內(nèi)部信息的重要組成部分,通過人和計算機的組合,對信息進行管理、分析以及決策。</p><p><b> 1.1目標(biāo)及任務(wù)</b></p><p> 通過長期對“*
11、*雜貨”的商品進銷存業(yè)務(wù)流程的深入了解,對其進行分析設(shè)計。庫存是商店營業(yè)的根本保證,因此庫存信息有著舉足輕重的地位,更新庫存信息是關(guān)鍵問題。供應(yīng)商是商店的水源,進貨是采購員和供應(yīng)商間的業(yè)務(wù)關(guān)系,好的商品是信譽的保證,驗貨也是采購員不可掉以輕心的工作,由此才能決定是否讓商品入庫,退回不合格商品。銷售是售貨員和顧客間的業(yè)務(wù)關(guān)系,也是商店經(jīng)營的目的所在及盈利途徑,也是尤為關(guān)鍵的環(huán)節(jié),確定顧客的訂單,查詢庫存量,最大限度的滿足顧客的需要是商家的
12、宗旨,百密一疏,經(jīng)營也如此,在銷售過程中也難免會有不合格的產(chǎn)品出現(xiàn),此時就要根據(jù)顧客購買商品的時間及退貨原因來判斷是否同意顧客的退貨。損失及最終盈利是商家最關(guān)心的問題,由于人為或自然因素,從進貨到銷售過程中會有一些商品被損壞,會造成或多或少的損失,從進價、進貨量、售價、庫存量等方面,可以通過視圖來抽象出商家的盈利信息。</p><p><b> 1.2意義</b></p>&
13、lt;p> 將商店的進銷存業(yè)務(wù)及大量的數(shù)據(jù)信息系統(tǒng)化,便于管理,節(jié)省了人力、物力和財力,并且能根據(jù)信息作出科學(xué)的分析和正確決策,對整個商店的營業(yè)都是極其有利的。當(dāng)然,由于時間和能力有限,也有也寫問題尚未解決的,但是系統(tǒng)為商店帶來的利益是可以預(yù)見的。</p><p><b> 2數(shù)據(jù)庫設(shè)計</b></p><p><b> 2.1需求分析階段<
14、;/b></p><p> 需求分析是進銷存管理系統(tǒng)開發(fā)的第一階段,也是整個過程中極其重要的一個階段,需求分析要確定整個系統(tǒng)的業(yè)務(wù)流程、數(shù)據(jù)流程,以及要實現(xiàn)的功能、目標(biāo),一次來確定該系統(tǒng)的邊界,并且直接影響到后面幾個階段的工作,還要用來判定設(shè)計結(jié)果是否符合實際和實用,是測試系統(tǒng)功能的依據(jù)。</p><p> 2.1.1目標(biāo)和任務(wù)</p><p> 切實通
15、過跟班作業(yè)、請專人介紹、詢問和查閱記錄,對商店的業(yè)務(wù)流程進行分析,明確客戶具體需求,確定系統(tǒng)要實現(xiàn)的功能及邊界,在此基礎(chǔ)上抽象出業(yè)務(wù)流程圖和數(shù)據(jù)流程圖,并完成數(shù)據(jù)字典、數(shù)據(jù)結(jié)構(gòu)和處理邏輯描述。</p><p><b> 2.1.2階段結(jié)果</b></p><p> 由于寒暑假常常在“**雜貨”實習(xí),也算是跟班作業(yè),對該商店的所有業(yè)務(wù)流程都有很深的了解,為了將需求分
16、析做得更完美,特別詢問了商店的總經(jīng)理及員工,請他們更具體的介紹,并且閱讀和獲取了一些記錄,便于以后的工作。這一過程中,我有著很深的感觸,留心身邊的事物,認(rèn)真觀察,看十遍不如做一遍,勤于思考在任何領(lǐng)域中都是一個值得堅守的信條,機會對于每個人都是平等的,勤于思考、有所準(zhǔn)備的人才能準(zhǔn)確的抓住稍縱即逝的機會,憑空捏造得來的和用心搜集得到的資料,往往會給人帶來不同的感覺,至少對自己來說,花費時間和精力去做的事情所取得的成果,更教人愉悅滿足。<
17、;/p><p><b> ?。?)業(yè)務(wù)流程圖</b></p><p> 業(yè)務(wù)流程圖反映了各部門、人員之間的業(yè)務(wù)關(guān)系,并經(jīng)過分析,將最簡單的層次關(guān)系反映出來,將所有涉及到的流程清晰的表現(xiàn)在流程圖上。圖中采用系統(tǒng)外部實體、單據(jù)報表賬目、數(shù)據(jù)流、處理四種符號來表示各項內(nèi)容。</p><p> 根據(jù)進貨、存貨、銷售三個業(yè)務(wù),做三張業(yè)務(wù)流程圖。具體圖如2
18、.1-1、2.1-2、2.1-3所</p><p><b> ?。?)數(shù)據(jù)流程圖</b></p><p> 通過數(shù)據(jù)流程圖,我們從現(xiàn)實世界得到了商品進銷存的物理模型,根據(jù)這個物理模型要抽象出信息流,將物理模型轉(zhuǎn)化成邏輯模型,反映信息在系統(tǒng)中的流動、處理和存儲情況,這個過程中,采用自頂層向下垂直分解的方法,由此抽象出系統(tǒng)頂層圖和分解圖,該系統(tǒng)抽象出頂層數(shù)據(jù)流圖(如圖2
19、.1-4所示),大體上將進銷存系統(tǒng)的數(shù)據(jù)流程把握住。第一層數(shù)據(jù)流圖(如圖2.1-5所示),這一層是在頂層數(shù)據(jù)流圖中的處理P0分解的來的,反映了進、銷、存以及報損業(yè)務(wù)間的練習(xí)。第二層數(shù)據(jù)流圖(如圖2.1-6(a)、2.1-6(b)、2.1-6(c)、2.1-6(d)所示),這一層則將上一層的處理更加細(xì)化,得到了各個子處理的數(shù)據(jù)流圖,在此由于各種原因,只做到第二層,更專業(yè)的系統(tǒng)開發(fā)會深入到第四、第五層以后。</p><p
20、><b> ?。?)數(shù)據(jù)字典</b></p><p> 數(shù)據(jù)字典是系統(tǒng)中描述數(shù)據(jù)類型的集合,是長期實踐積累出來的數(shù)據(jù)結(jié)果。本系統(tǒng)的數(shù)據(jù)字典包括數(shù)據(jù)項(見附錄1表1-1)、數(shù)據(jù)結(jié)構(gòu)(見附錄1表1-2)以及處理過程(見附錄1表1-3),數(shù)據(jù)項是數(shù)據(jù)字典中的最小單元,數(shù)據(jù)結(jié)構(gòu)表明了數(shù)據(jù)項之間的關(guān)系,多個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描述處理過程。數(shù)據(jù)字典
21、中包含了今后系統(tǒng)中所用到的所有數(shù)據(jù)類型,在整個系統(tǒng)中扮演著一個極其重要的角色,數(shù)據(jù)項是否完善關(guān)系到系統(tǒng)功能是否完善,因此這也是一項重要而又艱巨的任務(wù)。</p><p><b> 2.2概念設(shè)計階段</b></p><p> 概念設(shè)計就是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)(即概念模型)的過程。這一階段的主要任務(wù)是把需求分析階段得到的數(shù)據(jù)流抽象成信息世界更好地、更
22、準(zhǔn)確地用某一DBMS實現(xiàn)的概念模型,E-R圖是描述概念模型的有力工具,因此我們要根據(jù)第二層數(shù)據(jù)流抽象出局部E-R圖,即抽象出能說明每個具體業(yè)務(wù)的E-R圖,然后消除命名沖突、屬性沖突和結(jié)構(gòu)沖突,得到初步全局E-R圖,并對其進行優(yōu)化,消除不必要的冗余,得到最終的全局E-R圖,將整個系統(tǒng)的業(yè)務(wù)結(jié)構(gòu)躍然紙上,一目了然。</p><p><b> E-R圖的設(shè)計</b></p><
23、;p> 從第二層數(shù)據(jù)流作為突破口,為各子模塊抽象出E-R圖,即局部E-R圖(如圖2.2-1(a)、2.2-1(b)和2.2-1(c)所示)。</p><p> 通過以上三個局部E-R圖,匯總成一張全局E-R圖(如圖2.2-2所示)。</p><p> 【注】E-R圖中的屬性列寫如下,實體的碼已用下劃線標(biāo)出:</p><p> 商品(商品號,名稱,規(guī)格,
24、單位,進價,售價,數(shù)量,生產(chǎn)日期,保質(zhì)期)</p><p> 供應(yīng)商(供應(yīng)商號,姓名,性別,電話,城市,卡號)</p><p> 倉庫(倉庫號,地址)</p><p> 顧客(顧客號,單位,姓名,性別,電話,地址)</p><p> 員工(員工號,姓名,性別,年齡,職位,電話)</p><p> 供應(yīng) (供應(yīng)
25、量,類別,供應(yīng)時間)</p><p> 存儲(庫存量,損失量,損失類型)</p><p> 購買(購買量,購買時間)</p><p> 退貨(退貨量,退貨時間,退貨原因)</p><p><b> 2.3邏輯設(shè)計階段</b></p><p> 所謂邏輯設(shè)計,就是把概念設(shè)計階段設(shè)計好的基本
26、E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型項符合的邏輯結(jié)構(gòu),一般分為三個步驟:將概念模型轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;將轉(zhuǎn)換來的模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;對數(shù)據(jù)模型進行優(yōu)化。</p><p><b> 2.3.1數(shù)據(jù)組織</b></p><p> ?。?)E-R模型轉(zhuǎn)換成關(guān)系模型</p><p> 一個實體轉(zhuǎn)化成一個
27、關(guān)系模式。實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼,實體的屬性就是關(guān)系的屬性。</p><p> 實體型間的關(guān)系本系統(tǒng)涉及以下兩種情況:</p><p> 一個1∶n(一對多)聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端相連的關(guān)系模式合并。</p><p> 一個n∶m(多對多)聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式。聯(lián)系屬性為該聯(lián)系的屬性,碼為兩端實體的碼。&l
28、t;/p><p> 本系統(tǒng)中商品和顧客之間的關(guān)系是n∶m(多對多)的關(guān)系,則將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為兩端實體的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體間的組合。商品和供應(yīng)商之間的關(guān)系是1∶n(一對多)的關(guān)系,商品和倉庫的關(guān)系是1∶n(一對多)的關(guān)系,員工和倉庫間的關(guān)系是1∶n(一對多),則在n端實體類型轉(zhuǎn)換成的關(guān)系模式中加入1端實體類型轉(zhuǎn)換成的關(guān)系模式的鍵和聯(lián)系類型的屬性。由此可得出以下關(guān)系模式(主碼或外鍵
29、碼用下劃線標(biāo)出):</p><p> 供應(yīng)商(供應(yīng)商號,姓名,性別,電話,城市,卡號)</p><p> 員工(員工號,姓名,性別,年齡,職位,電話)</p><p> 顧客(顧客號,單位,姓名,性別,電話,地址)</p><p> 倉庫(倉庫號,員工號,地址)</p><p> 商品(商品,名稱,規(guī)格,單位
30、,進價,售價,供應(yīng)量,庫存量,生產(chǎn)日期,保質(zhì)期,供應(yīng)商號,供應(yīng)時間,損失量,入庫時間,出庫時間)</p><p> 購買(顧客號,商品號,購買量,購買時間)</p><p> 退貨(顧客號,商品號,退貨量,退貨時間,退貨原因)</p><p> ?。?)關(guān)系模型的優(yōu)化</p><p> 已經(jīng)得到的關(guān)系模型中,商品的屬性太過于多,有變的,
31、也有不變的,對以后視圖等的創(chuàng)建非常不利,因此要根據(jù)關(guān)系間的函數(shù)依賴,用三范式來對模型進行優(yōu)化,避免插入異常,修改異常和刪除異常,因此即便是商品和供應(yīng)商還有商品和倉庫間的關(guān)系都是1∶n(一對多),仍然有必要將它們之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式。優(yōu)化后的關(guān)系模式(主碼或外鍵碼用下劃線標(biāo)出)如下:</p><p> 供應(yīng)商(供應(yīng)商號,姓名,類別,性別,電話,城市,卡號)</p><p> 員工(員
32、工號,姓名,性別,年齡,職位,電話)</p><p> 顧客(顧客號,單位,姓名,性別,電話,地址)</p><p> 倉庫(倉庫號,地址)</p><p> 商品(商品,名稱,規(guī)格,單位,進價,售價,生產(chǎn)日期,保質(zhì)期)</p><p> 供應(yīng)(供應(yīng)商號,商品號,供應(yīng)量,供應(yīng)時間)</p><p> 存儲(倉
33、庫號,商品號,庫存量,損失量,損失類型)</p><p> 購買(顧客號,商品號,購買量,購買時間)</p><p> 退貨(顧客號,商品號,退貨量,退貨時間,退貨原因)</p><p><b> (3)模式定義</b></p><p> ?。?)用戶子模式(視圖)定義</p><p>&l
34、t;b> 2.3.2數(shù)據(jù)處理</b></p><p> 經(jīng)過以上每一環(huán)節(jié)的嚴(yán)謹(jǐn)工作,接下來需要抽象出系統(tǒng)功能的模塊圖(如圖2.3-1所示),該表的作用是,將整個系統(tǒng)的功能明朗化,確定每一功能的分工。</p><p><b> 2.4物理設(shè)計階段</b></p><p> 經(jīng)過前一階段概念模型的設(shè)計,我們得到了基本表、視
35、圖,并且明確了進銷存系統(tǒng)的各個功能模塊,接下來就是物理設(shè)計階段,物理設(shè)計階段是將物理設(shè)備上的存儲結(jié)構(gòu)與存取方法,它依賴于選定的數(shù)據(jù)庫管理系統(tǒng)。這一階段最主要的任務(wù)是確定數(shù)據(jù)庫的物理結(jié)構(gòu),要以最大限度的提高時間和空間效率為宗旨,不斷優(yōu)化這一步驟,此間主要做的任務(wù)是:建立索引,本系統(tǒng)主要用的是非聚簇索引;建立觸發(fā)器;建立存儲過程。</p><p><b> 2.4.1數(shù)據(jù)存取</b></
36、p><p> 在查詢過程中,為了加快查詢效率,常常把一個表中最常查詢的屬性建立成索引,本系統(tǒng)用了供應(yīng)商名,顧客單位和商品名建立了三個非聚簇索引:Supsname,CusDep,Googname。</p><p><b> 2.4.2功能模塊</b></p><p> 除了索引之外,系統(tǒng)中的數(shù)據(jù)需要滿足某些要求,需要建立觸發(fā)器進行約束,為了練習(xí)
37、觸發(fā)器的使用,本次為了練習(xí)觸發(fā)氣的使用,將所有的CHECK約束都通過建立觸發(fā)器實現(xiàn),另外做了一個較為復(fù)雜的觸發(fā)器,用來判定當(dāng)客戶來退貨時間是否超時,以此作為一個是否退貨的判定依據(jù),觸發(fā)器的建立如表2.4-1所示。</p><p> 有時,查詢一些信息,我們只需要其中的一條或部分,但是,在視圖中建立出來的表往往會有太多冗余信息,用SQL語句查詢時,同一個過程,當(dāng)查詢不同內(nèi)容時,要重復(fù)寫同樣的語句,造成了不必要的浪
38、費,此時,需要用存儲過程來解決這些問題。如表2.4-2所示。</p><p> 2.5數(shù)據(jù)庫實施階段</p><p> 數(shù)據(jù)庫的物理設(shè)計階段之后就進入了實施階段,這一階段要用SQL2000來操作,形成DBMS可以接受的源代碼,在經(jīng)過調(diào)試產(chǎn)生目標(biāo)模式。具體的數(shù)據(jù)庫,數(shù)據(jù)表,視圖,索引和存儲過程等都是這個階段用SQL語句(詳見附錄2)創(chuàng)建,此過程要細(xì)心。這些過程結(jié)束后,將所用到的數(shù)據(jù)信息錄
39、入EXCEL中,然后導(dǎo)入到所建的數(shù)據(jù)庫,方便后一階段的測試。</p><p><b> 2.6調(diào)試與測試</b></p><p> 調(diào)試與測試階段,在上一階段的基礎(chǔ)上,根據(jù)錄入的部分信息來進行調(diào)試與測試,測試系統(tǒng)的信息是否滿足設(shè)計要求。</p><p> 這一階段中,先對基本表的信息進行數(shù)據(jù)操作,然后對視圖的信息做數(shù)據(jù)操作,最后是對存儲過
40、程的測試。測試結(jié)果詳見附錄3。</p><p><b> 2實習(xí)心得體會</b></p><p> 為期兩周的數(shù)據(jù)庫課程設(shè)計已經(jīng)完全結(jié)束,這是大學(xué)以來的第一個課程設(shè)計,期間的種種讓我感觸頗深。</p><p> 所謂萬事開頭難,數(shù)據(jù)庫課程設(shè)計這個頭也一樣,一開始,只知道按照課本上的和老師教的套路一步一步的做,從前我們只是單純的從書本上學(xué)到
41、一些理論知識,不知道如何用到實際當(dāng)中去,而這次課程設(shè)計則給了我一次感受。需求分析是課程設(shè)計的第一步,也是最為重要,也是最困難的一步,這個過程花了近一周的時間,或許是理論知識太少了,想要轉(zhuǎn)化成實際的時候,才發(fā)現(xiàn)自己腦袋里空空如也,這讓我想起小學(xué)時背唐詩,根本不知道什么意思,也沒有什么用,但是隨著年齡慢慢地增長,我們漸漸明白了詩中的意思,并且逐漸會有自己的理解與見地,終將成了我們自身修養(yǎng)的一部分,這就好比不斷地積累柴薪,等到燃燒的時候,曾經(jīng)
42、積累得越多,燃燒的越旺盛,越壯觀,越持久。同樣,也許現(xiàn)在學(xué)的一些知識我們并不理解,也沒辦法去用,但是這也是一個積累的過程,或許它以后會一另一種方式體現(xiàn)出來。</p><p> 在理論課學(xué)習(xí)過程中就掌握的不透徹的我,在課程設(shè)計過程中嘗到了苦,思想的不嚴(yán)謹(jǐn),總是在做到后一個階段后有想到問題,再回前面反工,雖然清晰地知道流程,但就是不能結(jié)合已有知識將其轉(zhuǎn)化成理論。并且中間出現(xiàn)最多的問題是缺乏思考。勤于思考是這次數(shù)據(jù)庫
43、課程設(shè)計中的有一個感觸。</p><p> 由于水平不一,每個人完成的進度都不一樣,我屬于慢的那類,常常需要加班,最后階段,都是利用晚上,開始做,到凌晨休息一兩個小時,然后在開工,或許是前一段時間完成太少的緣故吧,永遠(yuǎn)不要給自己找太多的借口,強迫自己完成當(dāng)天的任務(wù),不要拖到明天,明日復(fù)明日,明日何其多?事事待明日,萬事成蹉跎。</p><p> 友誼是我的又一個收獲,所謂路遙知馬力,日
44、久見人心,真的只有到有事的時候才能驗證兩個人之間的友誼是不是真摯的。這次課程設(shè)計中我和好友之間的友誼更深一步,也看清了很多事。</p><p> 看見大海才知道湖泊的狹小,看見泰山才知道是人的渺小,在知識的海洋里,我們有更多要學(xué)的,當(dāng)勤奮,在求知的泰山上,我們需要堅持不懈的攀登,不斷豐富自己的內(nèi)涵。路漫漫其修遠(yuǎn)兮,吾將上下而求索。</p><p><b> 參考文獻</
45、b></p><p> [1]薩師煊 王珊,《數(shù)據(jù)庫系統(tǒng)概論》(第三版)高等教育出版社,2000</p><p><b> 附錄1關(guān)系模式說明</b></p><p><b> 附表1-2數(shù)據(jù)結(jié)構(gòu)</b></p><p> 附表1-3(**雜貨進銷存管理系統(tǒng))處理邏輯描述</p&
46、gt;<p> 附表1-4 suppliers關(guān)系模式說明</p><p> 附表1-5 Staff關(guān)系模式說明</p><p> 附表1-6 Customers關(guān)系模式說明</p><p> 附表1-7 Warehouse關(guān)系模式說明</p><p> 附表1-8 Goods關(guān)系模式說明</p><
47、;p> 附表1-9 Supply關(guān)系模式說明</p><p> 附表1-10 Storage關(guān)系模式說明</p><p> 附表1-11 Buy關(guān)系模式說明</p><p> 附表1-12 Back關(guān)系模式說明</p><p><b> 附錄2數(shù)據(jù)定義語句</b></p><p>
48、<b> 1基本表</b></p><p> CREATE DATABASE Grocery_Invoicing_Management1</p><p> USE Grocery_Invoicing_Management1</p><p> CREATE TABLE Suppliers</p><p> (S
49、upNo CHAR(4) PRIMARY KEY,</p><p> SupName CHAR(10) UNIQUE,</p><p> GooKind CHAR(10) NOT NULL,</p><p> SupSex CHAR(2),</p><p> SupTeL CHAR(15) NOT NULL,</p>&
50、lt;p> CityName CHAR(10),</p><p> CarNo CHAR(20)</p><p><b> )</b></p><p> CREATE TABLE Staff</p><p> (StaNo CHAR(4) PRIMARY KEY,</p><p>
51、 StaName CHAR(10) UNIQUE,</p><p> StaSex CHAR(2),</p><p> StaAge INT,</p><p> StaJob CHAR(10) NOT NULL,</p><p> StaTel CHAR(15)</p><p><b> )<
52、;/b></p><p> CREATE TABLE Customers</p><p> (CusNo CHAR(4) PRIMARY KEY,</p><p> CusDep CHAR(30) UNIQUE,</p><p> CusName CHAR(10) NOT NULL,</p><p>
53、CusSex CHAR(2),</p><p> CusTel CHAR(15) NOT NULL,</p><p> CusAdd CHAR(20)</p><p><b> )</b></p><p> CREATE TABLE Warehouse</p><p> (StoNo C
54、HAR(4) PRIMARY KEY,</p><p> StoAdd CHAR(15),</p><p><b> )</b></p><p> CREATE TABLE Goods</p><p> (GooNo CHAR(4)PRIMARY KEY,</p><p> GooNam
55、e CHAR(20)NOT NULL,</p><p> GooNor CHAR(10) NOT NULL,</p><p> GooUnit char(10) NOT NULL,</p><p> GooEpri FLOAT NOT NULL,</p><p> GooOpri FLOAT NOT NULL,</p>
56、<p> GooKtime SMALLDATETIME,</p><p><b> )</b></p><p> CREATE TABLE Supply</p><p> (SupNo CHAR(4),</p><p> GooNo CHAR(4),</p><p> Sup
57、Qua INT NOT NULL,</p><p> SupTime SMALLDATETIME,</p><p> GooBtime SMALLDATETIME,</p><p> PRIMARY KEY(SupNo,GooNo),</p><p> FOREIGN KEY(SupNo)REFERENCES Suppliers(Su
58、pNo),</p><p> FOREIGN KEY(GooNo)REFERENCES Goods(GooNo)</p><p><b> )</b></p><p> CREATE TABLE Storage</p><p> (StoNo CHAR(4),</p><p> GooN
59、o CHAR(4),</p><p> StoQua INT NOT NULL,</p><p> LosQua INT,</p><p> LosType CHAR(10) ,</p><p> PRIMARY KEY(StoNo,GooNo),</p><p> FOREIGN KEY(StoNo)REF
60、ERENCES Warehouse(StoNo),</p><p> FOREIGN KEY(GooNo)REFERENCES Goods(GooNo)</p><p><b> )</b></p><p> CREATE TABLE Buy</p><p> (CusNo CHAR(4),</p>
61、<p> GooNo CHAR(4),</p><p> BuyQua INT NOT NULL,</p><p> CBuyTime SMALLDATETIME NOT NULL,</p><p> PRIMARY KEY(CusNo,GooNo),</p><p> FOREIGN KEY(CusNo)REFEREN
62、CES Customers(CusNo),</p><p> FOREIGN KEY(GooNo)REFERENCES Goods(GooNo)</p><p><b> )</b></p><p> CREATE TABLE Back</p><p> (CusNo CHAR(4),</p>&l
63、t;p> GooNo CHAR(4),</p><p> BackQua INT NOT NULL,</p><p> BackTime SMALLDATETIME NOT NULL,</p><p> BackRea CHAR(20)NOT NULL,</p><p> PRIMARY KEY(CusNo,GooNo),&l
64、t;/p><p> FOREIGN KEY(CusNo)REFERENCES Customers(CusNo),</p><p> FOREIGN KEY(GooNo)REFERENCES Goods(GooNo),</p><p><b> )</b></p><p><b> 2觸發(fā)器</b>
65、;</p><p> CREATE TRIGGER tri_sup_sex</p><p> ON Suppliers FOR INSERT,UPDATE</p><p><b> AS</b></p><p> IF EXISTS (SELECT*FROM INSERTED</p><p&g
66、t; WHERE SupSex!='男' AND SupSex!='女')</p><p><b> BEGIN </b></p><p> PRINT'性別有誤'</p><p><b> ROLLBACK</b></p><p><b
67、> END</b></p><p> CREATE TRIGGER tri_sta_sex</p><p> ON Staff FOR INSERT,UPDATE</p><p><b> AS</b></p><p> IF EXISTS (SELECT*FROM INSERTED</
68、p><p> WHERE StaSex!='男' AND StaSex!='女')</p><p><b> BEGIN </b></p><p> PRINT'性別有誤'</p><p><b> ROLLBACK</b></p>
69、<p><b> END</b></p><p> CREATE TRIGGER tri_cus_sex</p><p> ON Customers FOR INSERT,UPDATE</p><p><b> AS</b></p><p> IF EXISTS (SELECT*
70、FROM INSERTED</p><p> WHERE CusSex!='男' AND CusSex!='女')</p><p><b> BEGIN </b></p><p> PRINT'性別有誤'</p><p><b> ROLLBACK<
71、/b></p><p><b> END</b></p><p> CREATE TRIGGER tri_sta_age</p><p> ON Staff FOR INSERT,UPDATE</p><p><b> AS</b></p><p> IF E
72、XISTS (SELECT*FROM INSERTED</p><p> WHERE StaAge NOT BETWEEN 18 AND 20)</p><p><b> BEGIN </b></p><p> PRINT'員工年齡更新有誤'</p><p><b> ROLLBACK&
73、lt;/b></p><p><b> END</b></p><p> CREATE TRIGGER tri_goo_epri</p><p> ON Goods FOR INSERT,UPDATE</p><p><b> AS</b></p><p>
74、IF EXISTS (SELECT*FROM INSERTED</p><p> WHERE GooEpri<0)</p><p><b> BEGIN </b></p><p> PRINT'進價有誤'</p><p><b> ROLLBACK</b></p&
75、gt;<p><b> END</b></p><p> CREATE TRIGGER tri_goo_Opri</p><p> ON Goods FOR INSERT,UPDATE</p><p><b> AS</b></p><p> IF EXISTS (SELEC
76、T*FROM INSERTED</p><p> WHERE GooOpri<0 and GooOpri=0)</p><p><b> BEGIN </b></p><p> PRINT'售價有誤'</p><p><b> ROLLBACK</b></p>
77、;<p><b> END</b></p><p><b> 3視圖</b></p><p> CREATE VIEW Goods1</p><p><b> AS</b></p><p> SELECT GooName,GooNor,GooOpri,S
78、toQua</p><p> FROM Goods,Storage</p><p> WHERE Goods.GooNo=Storage.GooNo</p><p> CREATE VIEW Goods2</p><p><b> AS</b></p><p> SELECT Goods
79、.GooNo,GooName,GooNor,GooEpri,StoQua,SupNo</p><p> FROM Goods,Supply,Storage</p><p> WHERE Goods.GooNo=Supply.GooNo AND Goods.GooNo=Storage.GooNo AND Supply.GooNo=Storage.GooNo</p><
80、p> CREATE VIEW Suppliers1</p><p><b> AS</b></p><p> SELECT SupNo,SupName,GooKind,SupTel,CityName</p><p> FROM Suppliers</p><p> CREATE VIEW Customer
81、s1</p><p><b> AS</b></p><p> SELECT CusDep,CusTel,CusAdd</p><p> FROM Customers</p><p> CREATE VIEW LossList</p><p><b> AS</b>
82、</p><p> SELECT Storage.GooNo,GooName,GooOpri,LosQua,LosType</p><p> FROM Goods,Storage</p><p> WHERE Goods.GooNo=Storage.GooNo</p><p> CREATE VIEW Buy1</p>
83、<p><b> AS</b></p><p> SELECT CusDep,GooName,BuyQua,CbuyTime</p><p> FROM Customers,Goods,Buy</p><p> WHERE Buy.GooNo=Goods.GooNo AND Buy.CusNo=Customers.CusNo&
84、lt;/p><p> CREATE VIEW PreIncome</p><p><b> AS</b></p><p> SELECT Goods.GooNo,GooName,GooEpri,GooOpri,SupQua</p><p> FROM Goods,Supply</p><p>
85、 WHERE Goods.GooNo=Supply.GooNo</p><p><b> 4索引</b></p><p> CREATE NONCLUSTERED INDEX Supsname</p><p> ON Suppliers(SupName)</p><p> CREATE NONCLUSTERED
86、 INDEX CusDep</p><p> ON Customers(CusDep)</p><p> CREATE NONCLUSTERED INDEX Googname</p><p> ON Goods(GooName)</p><p><b> 5存儲過程</b></p><p>
87、; CREATE PROC PR_Cus1</p><p> @c_cusno char(4),</p><p> @c_cusdep char(30),</p><p> @c_cusname char(10),</p><p> @c_cussex char(2),</p><p> @c_custel
88、 char(15),</p><p> @c_cusadd char(20)</p><p><b> as</b></p><p> insert into Customers</p><p> values (@c_cusno,@c_cusdep,@c_cusname,@c_cussex,@c_custel,
89、@c_cusadd)</p><p> create proc pr_goo1</p><p> @g_goono char(4),</p><p> @g_gooname char(20),</p><p> @g_goonor char(10),</p><p> @g_goounit char(10),
90、</p><p> @g_gooepri float,</p><p> @g_gooopri float,</p><p> @g_gooktime smalldatetime</p><p><b> as</b></p><p> insert into Goods</p&g
91、t;<p> values (@g_goono,@g_gooname,@g_goonor,@g_goounit,@g_gooepri,@g_gooopri,@g_gooktime)</p><p> create proc pr_cus2</p><p> @cusno char(4)</p><p><b> as</b>
92、;</p><p><b> select *</b></p><p><b> from Buy</b></p><p> where @cusno=CusNo </p><p> create proc pr_goo2</p><p> @goono char(
93、4)</p><p><b> as</b></p><p><b> select *</b></p><p> from Goods</p><p> where @goono=GooNo</p><p> create proc pr_sto</p>
94、;<p> @goono char(4)</p><p><b> as</b></p><p><b> select *</b></p><p> from Goods</p><p> where @goono=GooNo</p><p> c
95、reate proc pr_loss1</p><p> @goono char(4)</p><p><b> as</b></p><p><b> select *</b></p><p> from Storage</p><p> where @goono
96、=GooNo</p><p><b> 附錄3數(shù)據(jù)操作驗證</b></p><p> 附錄圖3-1基本表查詢</p><p> 附錄圖3-2視圖查詢</p><p> 附錄圖3-3刪除屬性列</p><p> 附錄圖3-4插入元組</p><p> 附錄圖3-5
97、更新表的數(shù)據(jù)</p><p> 附錄4存儲過程功能的驗證</p><p> 附錄圖4-1在Customers中插入一個元組</p><p> 附錄圖4-2查詢某以顧客的購物情況</p><p> 附錄圖4-3查詢某商品的信息</p><p> 附錄圖4-4查詢某一商品的庫存量</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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥品進銷存管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫進銷存管理系統(tǒng)設(shè)計
- 數(shù)據(jù)庫畢業(yè)設(shè)計---商品進銷存管理系統(tǒng)設(shè)計
- 課程設(shè)計報告--商品進銷存管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--進銷存管理系統(tǒng)需求分析與設(shè)計
- 進銷存管理數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫原理與應(yīng)用課程設(shè)計--商店進銷存管理系統(tǒng)
- 某家具城進銷存管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 進銷存管理系統(tǒng)課程設(shè)計
- 【精品設(shè)計下載】課程設(shè)計-商品進銷存管理系統(tǒng)
- 課程設(shè)計---進銷存管理系統(tǒng)設(shè)計
- 超市進銷存管理系統(tǒng)課程設(shè)計
- 商品進銷存管理系統(tǒng).pdf
- 網(wǎng)站進銷存數(shù)據(jù)庫課程設(shè)計報告
- 數(shù)據(jù)庫課程設(shè)計--醫(yī)院藥品進銷存系統(tǒng)
- 商品進銷存管理系統(tǒng).doc
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-倉庫進銷存管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--醫(yī)院藥品進銷存系統(tǒng)
- mis課程設(shè)計--超市進銷存管理系統(tǒng)
- 某商店進銷存管理系統(tǒng)-課程設(shè)計報告
評論
0/150
提交評論