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

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論