2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(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>  目錄</b></p><p><b>  摘要1</b></p><p><b>  1.概述2</b></p><p><b>  2.需求分析2</b></p><p>  3.概念結(jié)構(gòu)設(shè)計(jì)3</p>

2、<p>  3.1概念結(jié)構(gòu)設(shè)計(jì)工具3</p><p>  3.2客戶子系統(tǒng)3</p><p>  3.3產(chǎn)品子系統(tǒng)4</p><p>  3.4發(fā)票子系統(tǒng)5</p><p>  3.5總E-R圖5</p><p>  4.邏輯結(jié)構(gòu)設(shè)計(jì)6</p><p>  4.1E-R圖

3、向關(guān)系數(shù)據(jù)模式轉(zhuǎn)換7</p><p>  4.2 視圖的設(shè)計(jì)(既向特定DBMS轉(zhuǎn)換)7</p><p><b>  4.3優(yōu)化8</b></p><p>  5.數(shù)據(jù)庫物理設(shè)計(jì)與實(shí)施9</p><p>  5.1數(shù)據(jù)庫應(yīng)用的硬件、軟件環(huán)境介紹9</p><p>  5.2物理結(jié)構(gòu)設(shè)計(jì)1

4、0</p><p>  5.3索引的設(shè)計(jì)11</p><p>  5.4建立數(shù)據(jù)庫11</p><p>  5.5加載測(cè)試數(shù)據(jù)13</p><p>  6.數(shù)據(jù)庫操作要求及實(shí)現(xiàn)16</p><p>  6.1數(shù)據(jù)查詢操作16</p><p>  6.2數(shù)據(jù)更新操作19</p&g

5、t;<p>  6.3數(shù)據(jù)維護(hù)操作22</p><p><b>  6.4其它22</b></p><p>  7.收獲、體會(huì)和建議24</p><p>  8.主要參考文獻(xiàn)25</p><p><b>  摘要</b></p><p>  SQL Se

6、rver 是一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了第一個(gè)OS/2版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚(yáng)鑣了,Microsoft 將SQL Server移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。Sybase 則較專注

7、于SQL Server在UNⅨ操作系統(tǒng)上的應(yīng)用。</p><p>  SQL Server 2000 是Microsoft 公司推出的SQL Server數(shù)據(jù)庫管理系統(tǒng),該版本繼承了SQL Server 7.0 版本的優(yōu)點(diǎn),同時(shí)又比它增加了許多更先進(jìn)的功能。具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越從運(yùn)行Microsoft Windows 98 的膝上型電腦到運(yùn)行Microsoft Windows

8、2000 的大型多處理器的服務(wù)器等多種平臺(tái)使用。</p><p><b>  1.概述</b></p><p>  SQL server是時(shí)下比較流行的數(shù)據(jù)庫,利用SQL server可以做很多管理系統(tǒng),此次我們的選題為:產(chǎn)品銷售管理系統(tǒng)。</p><p>  本次課程設(shè)計(jì)的目的在于,加深對(duì)SQL serve知識(shí)的應(yīng)用能力,團(tuán)隊(duì)中的合作意識(shí),把

9、課本信息用于實(shí)踐,為進(jìn)入社會(huì)打好基礎(chǔ)。</p><p>  銷售管理系統(tǒng)是銷售管理軟件的通俗化名稱,銷售管理系統(tǒng)是管理客戶檔案、銷售線索、銷售活動(dòng)、業(yè)務(wù)報(bào)告、統(tǒng)計(jì)銷售業(yè)績(jī)的先進(jìn)工具,適合企業(yè)銷售部門辦公和管理使用,協(xié)助銷售經(jīng)理和銷售人員快速管理客戶、銷售和業(yè)務(wù)的重要數(shù)據(jù)。</p><p>  主要功能模塊包括:渠道管理、項(xiàng)目管理、合同管理、報(bào)價(jià)管理、銷售機(jī)會(huì)管理、收款計(jì)劃管理、付款計(jì)劃管理

10、、潛在客戶池、公共檢索、自動(dòng)化管理策略、客戶管理、競(jìng)爭(zhēng)對(duì)手管理、服務(wù)管理、商品管理、銷售管理、采購管理、費(fèi)用管理、短信群發(fā)、傳真群發(fā)、郵件群發(fā)、活動(dòng)管理、任務(wù)管理、權(quán)限管理、自定義功能、數(shù)據(jù)導(dǎo)入功能、新聞公告發(fā)布、工作臺(tái)、快速通道、系統(tǒng)監(jiān)控、報(bào)表數(shù)據(jù)分析等。鑒于我們的能力有限,僅選擇了其中的幾個(gè)功能實(shí)現(xiàn)。</p><p><b>  2.需求分析</b></p><p&g

11、t;  產(chǎn)品銷售管理系統(tǒng)的總體要求是:企業(yè)生產(chǎn)多種產(chǎn)品,產(chǎn)品銷售管理系統(tǒng)模擬產(chǎn)品銷售過程中的管理,管理對(duì)象包括產(chǎn)品、客戶、發(fā)票等,可以實(shí)現(xiàn)產(chǎn)品銷售,并能進(jìn)行各種查詢、統(tǒng)計(jì)等的處理。</p><p>  其中大致設(shè)計(jì)功能如下分為以下幾點(diǎn)。</p><p>  系統(tǒng)管理的對(duì)象如下:</p><p>  1.客戶:每個(gè)客戶分配唯一客戶號(hào),要登記客戶姓名、地址、電話、信用狀

12、況(優(yōu)/良/一般/差)、預(yù)付款等信息。</p><p>  2.產(chǎn)品:產(chǎn)品編碼、產(chǎn)品名稱、規(guī)格、單價(jià)、庫存數(shù)量等。</p><p>  3.客戶購買產(chǎn)品要開具發(fā)票,每張發(fā)票由唯一的發(fā)票號(hào)、客戶名稱、購買日期、付款金額和若干購買產(chǎn)品細(xì)節(jié)組成。</p><p>  4.產(chǎn)品細(xì)節(jié)包括:序號(hào)、產(chǎn)品號(hào)、購買數(shù)量等。</p><p>  企業(yè)的產(chǎn)品銷售管

13、理規(guī)定如下:</p><p>  1.客戶可多次購買任意產(chǎn)品,每次可以購買多種產(chǎn)品。</p><p>  2.客戶每次購買要開具發(fā)票,一張發(fā)票只開給一個(gè)客戶。</p><p>  3.一張發(fā)票可以開多種產(chǎn)品,同類產(chǎn)品在一張發(fā)票上只能出現(xiàn)一次。</p><p><b>  3.概念結(jié)構(gòu)設(shè)計(jì)</b></p>&

14、lt;p>  3.1概念結(jié)構(gòu)設(shè)計(jì)工具</p><p>  實(shí)體-聯(lián)系模型(簡(jiǎn)稱E-R模型)是由P.P.Chen于1976年首先提出的。它提供不受任何DBMS約束的面向用戶的表達(dá)方法,在數(shù)據(jù)庫設(shè)計(jì)中被廣泛用作數(shù)據(jù)建模的工具。E-R數(shù)據(jù)模型問世后,經(jīng)歷了許多修改和擴(kuò)充。</p><p>  E-R模型的構(gòu)成成分是實(shí)體集、屬性和聯(lián)系集,其表示方法如下:</p><p&g

15、t; ?。?) 實(shí)體集用矩形框表示,矩形框內(nèi)寫上實(shí)體名。</p><p> ?。?) 實(shí)體的屬性用橢圓框表示,框內(nèi)寫上屬性名,并用無向邊與其實(shí)體集相連。</p><p> ?。?) 實(shí)體間的聯(lián)系用菱形框表示,聯(lián)系以適當(dāng)?shù)暮x命名,名字寫在菱形框中,用無向連線將參加聯(lián)系的實(shí)體矩形框分別與菱形框相連,并在連線上標(biāo)明聯(lián)系的類型,即1—1、1—N或M—N。</p><p>

16、<b>  3.2客戶子系統(tǒng)</b></p><p>  每個(gè)客戶分配唯一客戶號(hào),要登記客戶姓名、地址、電話、信用狀況(優(yōu)/良/一般/差)、預(yù)付款等信息??蛻糍徺I產(chǎn)品要開具發(fā)票。客戶可多次購買任意產(chǎn)品,每次可以購買多種產(chǎn)品??蛻裘看钨徺I要開具發(fā)票。所以與之對(duì)應(yīng)的分E-R圖如圖1(見下一頁)</p><p><b>  圖1</b></p&g

17、t;<p><b>  3.3產(chǎn)品子系統(tǒng)</b></p><p>  3.3.1 子系統(tǒng)描述</p><p>  產(chǎn)品具有產(chǎn)品編碼、產(chǎn)品名稱、規(guī)格、單價(jià)、庫存數(shù)量等屬性。產(chǎn)品細(xì)節(jié)包括:序號(hào)、產(chǎn)品號(hào)、購買數(shù)量等。同類產(chǎn)品在一張發(fā)票上只能出現(xiàn)一次。</p><p>  3.3.2 分E-R圖</p><p>&

18、lt;b>  圖2</b></p><p><b>  3.4發(fā)票子系統(tǒng)</b></p><p>  3.4.1 子系統(tǒng)描述</p><p>  客戶購買產(chǎn)品要開具發(fā)票,每張發(fā)票由唯一的發(fā)票號(hào)、客戶名稱、購買日期、付款金額和若干購買產(chǎn)品細(xì)節(jié)組成,一張發(fā)票只開給一個(gè)客戶,一張發(fā)票可以開多種產(chǎn)品。</p><p

19、>  2.4.2 分E-R圖</p><p><b>  圖3</b></p><p><b>  3.5總E-R圖</b></p><p>  3.5.1 E-R圖的集成</p><p>  總E-R圖是由子E-R圖已經(jīng)它們各自的屬性,聯(lián)系的總和。</p><p> 

20、 3.5.2 總體E-R圖,圖4(見下一頁)</p><p><b>  圖4</b></p><p><b>  4.邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p>  邏輯結(jié)構(gòu)的設(shè)計(jì)流程如下圖:</p><p>  4.1E-R圖向關(guān)系數(shù)據(jù)模式轉(zhuǎn)換</p><p>  通過以上各個(gè)

21、子系統(tǒng)的分析和E-R圖,可以把以上實(shí)體轉(zhuǎn)換為如下的關(guān)系數(shù)據(jù)模式:</p><p>  4.1.1 客戶關(guān)系數(shù)據(jù)模式:</p><p> ?。?)客戶(客戶號(hào),姓名,地址,電話,信用狀況,預(yù)付款),以客戶姓名為關(guān)系碼;</p><p> ?。?)產(chǎn)品(編碼,名稱,規(guī)格,單價(jià),庫存數(shù)量),以產(chǎn)品名稱為關(guān)系碼;</p><p> ?。?)購買(客戶

22、姓名,產(chǎn)品名稱),以客戶姓名為關(guān)系碼;</p><p>  購買與客戶端合并,則客戶關(guān)系數(shù)據(jù)模式如下:</p><p>  客戶(客戶號(hào),姓名,地址,電話,信用狀況,預(yù)付款,產(chǎn)品名稱);</p><p>  產(chǎn)品(編碼,名稱,規(guī)格,單價(jià),庫存數(shù)量)。</p><p>  4.1.2 產(chǎn)品關(guān)系數(shù)據(jù)模式:</p><p>

23、 ?。?)產(chǎn)品(編碼,名稱,規(guī)格,單價(jià),庫存數(shù)量),以產(chǎn)品名稱為關(guān)系碼;</p><p> ?。?)發(fā)票(編號(hào),日期,用戶,產(chǎn)品,單價(jià),數(shù)量,總金額),以發(fā)票編號(hào)為關(guān)系碼;</p><p>  (3)擁有(發(fā)票編號(hào),產(chǎn)品名稱),以發(fā)票編號(hào)為關(guān)系碼;</p><p>  擁有與產(chǎn)品端合并,則產(chǎn)品關(guān)系數(shù)據(jù)模式如下:</p><p>  產(chǎn)品(編碼

24、,名稱,規(guī)格,單價(jià),庫存數(shù)量,發(fā)票編號(hào));</p><p>  發(fā)票(編號(hào),日期,用戶,產(chǎn)品名稱,單價(jià),數(shù)量,總金額)。</p><p>  4.1.3 發(fā)票關(guān)系數(shù)據(jù)模式:</p><p> ?。?)發(fā)票(編號(hào),日期,用戶,產(chǎn)品,單價(jià),數(shù)量,總金額),以發(fā)票編號(hào)為關(guān)系碼;</p><p>  (2)客戶(客戶號(hào),姓名,地址,電話,信用狀況,預(yù)

25、付款),以客戶姓名為關(guān)系碼;</p><p>  (3)獲得(客戶姓名,發(fā)票編號(hào)),以客戶姓名為關(guān)系碼;</p><p>  獲得與客戶端合并,則發(fā)票關(guān)系數(shù)據(jù)模式如下:</p><p>  客戶(客戶號(hào),姓名,地址,電話,信用狀況,預(yù)付款,發(fā)票編號(hào));</p><p>  發(fā)票(編號(hào),日期,用戶,產(chǎn)品,單價(jià),數(shù)量,總金額)。</p>

26、;<p>  4.2 視圖的設(shè)計(jì)(既向特定DBMS轉(zhuǎn)換)</p><p>  通過關(guān)系數(shù)據(jù)模式和E-R圖,可以設(shè)計(jì)出如下圖的視圖(見下一頁):</p><p><b>  4.3優(yōu)化</b></p><p>  4.3.1 指出數(shù)據(jù)依賴</p><p>  客戶關(guān)系模式內(nèi)部存在如下數(shù)據(jù)依賴:</p&g

27、t;<p>  客戶編號(hào)--------->姓名 客戶編號(hào)--------->地址</p><p>  客戶編號(hào)--------->電話 客戶編號(hào)--------->信用</p><p>  客戶編號(hào)--------->預(yù)付款</p><p>  發(fā)票關(guān)系模式內(nèi)部存在

28、如下數(shù)據(jù)依賴:</p><p>  發(fā)票編號(hào)--------->日期 發(fā)票編號(hào)--------->用戶</p><p>  發(fā)票編號(hào)--------->產(chǎn)品 發(fā)票編號(hào)--------->單價(jià)</p><p>  發(fā)票編號(hào)--------->數(shù)量 發(fā)票編號(hào)

29、--------->總金額</p><p>  產(chǎn)品關(guān)系模式內(nèi)部存在如下數(shù)據(jù)依賴:</p><p>  產(chǎn)品編號(hào)--------->名稱 產(chǎn)品編號(hào)--------->規(guī)格</p><p>  產(chǎn)品編號(hào)--------->單價(jià) 產(chǎn)品編號(hào)--------->庫存</p>

30、<p>  發(fā)票關(guān)系模式與客戶關(guān)系模式存在如下數(shù)據(jù)依賴:</p><p>  發(fā)票.姓名--------->客戶.姓名</p><p>  發(fā)票關(guān)系模式與產(chǎn)品關(guān)系模式存在如下數(shù)據(jù)依賴:</p><p>  發(fā)票.產(chǎn)品名稱------->產(chǎn)品.名稱 發(fā)票.單價(jià)---------->產(chǎn)品.單價(jià)</p><p>

31、;  4.3.2 對(duì)數(shù)據(jù)進(jìn)行極小化處理,并指明范式級(jí)別</p><p>  由此可以看出上面的三個(gè)模式中無數(shù)據(jù)冗余,另外客戶關(guān)系模式中:</p><p>  客戶編號(hào)--------->(姓名,地址,電話,信用,預(yù)付款),其它數(shù)據(jù)無依賴,所以客戶關(guān)系模式是1NF關(guān)系;而對(duì)于發(fā)票關(guān)系模式,可發(fā)現(xiàn)如下的數(shù)據(jù)依賴傳遞:</p><p>  總金額----------

32、>(單價(jià),數(shù)量) 發(fā)票編號(hào)--------->(單價(jià),數(shù)量);所以發(fā)票關(guān)系模式是2NF關(guān)系;同樣在產(chǎn)品關(guān)系模式中:產(chǎn)品編號(hào)------>(名稱,規(guī)格,單價(jià),庫存),其它數(shù)據(jù)無依賴,所以產(chǎn)品關(guān)系模式是1NF關(guān)系。</p><p>  4.3.3 提高系統(tǒng)效率</p><p>  因?yàn)閷?duì)于整個(gè)系統(tǒng)而言更新和查詢是最為頻繁的,為提高效率,所以定義如下子關(guān)系:產(chǎn)品(編號(hào),

33、名稱,單價(jià),庫存);發(fā)票(編號(hào),客戶,產(chǎn)品);客戶(編號(hào),姓名,電話,信用,預(yù)付款)。這樣就可以把數(shù)據(jù)分離出來,減少查詢數(shù)據(jù)量,從而題高系統(tǒng)的效率。</p><p>  5.數(shù)據(jù)庫物理設(shè)計(jì)與實(shí)施</p><p>  5.1數(shù)據(jù)庫應(yīng)用的硬件、軟件環(huán)境介紹</p><p>  5.1.1 數(shù)據(jù)庫應(yīng)用的硬件介紹</p><p>  本次目的主要是用

34、于學(xué)習(xí),另外由于條件的限制,所以硬件的采用如下:CPU為AMD Athlon(速龍)Ⅱ X4 631四核;內(nèi)存為2G(DDR3 1333MHz);硬盤為500G(7200RM);主板為昂達(dá)A75T。這樣使得數(shù)據(jù)庫運(yùn)行較為流暢。</p><p>  5.1.2 軟件環(huán)境介紹</p><p>  操作系統(tǒng)選用目前較穩(wěn)定的Windows XP中文版;數(shù)據(jù)庫系統(tǒng)采用關(guān)系型數(shù)據(jù)庫系統(tǒng)SQL Serv

35、er 2008;由Windows XP和SQL Server 2008共同組成系統(tǒng)的開發(fā)環(huán)境。 </p><p> ?。?)中文操作系統(tǒng)Windows XP的特點(diǎn): </p><p>  首先,操作系統(tǒng)采用完全圖形化的用戶界面。將使軟件用戶的培訓(xùn)大大簡(jiǎn)化,提高了工作效率。 </p><p>  其次,Windows XP的設(shè)備無關(guān)性使本

36、系統(tǒng)軟件開發(fā)時(shí)無須固定使用設(shè)備,有利于軟件的移植和硬件設(shè)備的更新?lián)Q代。 </p><p>  再次,Windows XP系統(tǒng)中文版支持信息交換用漢字編碼字符集,完善的中文支持使二者緊密結(jié)合,構(gòu)成一個(gè)功能完備的軟件開發(fā)環(huán)境。</p><p>  (2)SQL Server 2008由微軟開發(fā),它可以隨時(shí)隨地的管理數(shù)據(jù),可以將數(shù)據(jù)結(jié)構(gòu)化、半結(jié)構(gòu)化、和非結(jié)構(gòu)化文檔的數(shù)據(jù)直接存儲(chǔ)到數(shù)據(jù)庫

37、中。同時(shí)SQL Server 2008提供了很多豐富的集成服務(wù),包括對(duì)數(shù)據(jù)進(jìn)行查詢,搜索、同步、報(bào)告、以及分析等。</p><p>  SQL Server 2008平臺(tái)愿景是使得公司可以運(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序,同時(shí)降低了管理數(shù)據(jù)基礎(chǔ)設(shè)施和發(fā)送觀察和信息給所有用戶的成本。</p><p>  這個(gè)平臺(tái)有以下特點(diǎn):</p><p> ?。╝)可信任的——使得公司

38、可以以很高的安全性、可靠性和可擴(kuò)展性來運(yùn)行公司最關(guān)鍵任務(wù)的應(yīng)用程序。</p><p> ?。╞)高效的——使得公司可以降低開發(fā)和管理他們的數(shù)據(jù)基礎(chǔ)設(shè)施的時(shí)間和成本。</p><p> ?。╟)智能的——提供了一個(gè)全面的平臺(tái),可以在你的用戶需要的時(shí)候給他發(fā)送觀察和信息。</p><p><b>  5.2物理結(jié)構(gòu)設(shè)計(jì)</b></p>

39、<p>  在G盤下創(chuàng)建一個(gè)名為manage_new的數(shù)據(jù)庫,并在該數(shù)據(jù)庫中創(chuàng)建如下的表。</p><p><b>  數(shù)據(jù)表匯總:</b></p><p><b>  表一:發(fā)票表:</b></p><p><b>  表二:客戶表:</b></p><p>&l

40、t;b>  表三:產(chǎn)品表:</b></p><p><b>  5.3索引的設(shè)計(jì)</b></p><p>  為了保證效率和查詢的便捷性,因此在每個(gè)表中創(chuàng)建兩個(gè)非聚集索引。</p><p>  5.3.1 產(chǎn)品表的索引創(chuàng)建:</p><p>  在產(chǎn)品表中的查詢主要以編號(hào)和名稱為主,所以創(chuàng)建編號(hào)和名稱的

41、索引。</p><p>  USE manage_new</p><p>  CREATE INDEX IX_pro_id</p><p><b>  ON 產(chǎn)品(編號(hào))</b></p><p>  CREATE INDEX IX_pro_name</p><p>  ON 產(chǎn)品(名稱) <

42、/p><p>  5.3.2 發(fā)票表索引創(chuàng)建:</p><p>  在發(fā)票表中的查詢主要以編號(hào)和用戶為主,所以創(chuàng)建編號(hào)和用戶的索引。</p><p>  USE manage_new</p><p>  CREATE INDEX IX_Bill_id</p><p><b>  ON 發(fā)票(編號(hào))</b&g

43、t;</p><p>  CREATE INDEX IX_Bill_Clientname</p><p><b>  ON 發(fā)票(用戶)</b></p><p>  5.3.3 客戶表索引創(chuàng)建:</p><p>  在產(chǎn)品表中的查詢主要以編號(hào)和姓名為主,所以創(chuàng)建編號(hào)和姓名的索引。</p><p>

44、  USE manage_new</p><p>  CREATE INDEX IX_Client_id</p><p>  ON 用戶信息(編號(hào))</p><p>  CREATE INDEX IX_Client_name</p><p>  ON 用戶信息(姓名)</p><p><b>  5.4建立數(shù)

45、據(jù)庫</b></p><p>  5.4.1 創(chuàng)建數(shù)據(jù)庫</p><p>  CREATE DATABASE manage_new</p><p>  ON PRIMARY </p><p><b>  (</b></p><p>  Name=manage_new_data,<

46、/p><p>  Filename='G:\manage_new.mdf',</p><p><b>  Size=8MB,</b></p><p>  Maxsize=unlimited,</p><p>  Filegrowth=10%</p><p><b>  )&l

47、t;/b></p><p><b>  LOG ON</b></p><p><b>  (</b></p><p>  Name=manage_new_log,</p><p>  Filename='G:\manage_new.ldf',</p><p&

48、gt;<b>  Size=3MB,</b></p><p>  Maxsize=50MB,</p><p>  Filegrowth=2MB</p><p><b>  )</b></p><p>  5.4.2 創(chuàng)建數(shù)據(jù)表</p><p>  use manage<

49、/p><p><b>  go</b></p><p>  create table 用戶信息</p><p><b>  (</b></p><p>  編號(hào) int identity primary key not null,</p><p>  姓名 varchar(50)

50、 not null,</p><p>  地址 varchar(100) not null,</p><p>  電話 int not null,</p><p>  信用 char(10) not null,</p><p>  預(yù)付款 int not null</p><p><b>  )</b&

51、gt;</p><p><b>  go</b></p><p>  create table 產(chǎn)品</p><p><b>  (</b></p><p>  編號(hào) int identity primary key not null,</p><p>  名稱 varcha

52、r(50) not null,</p><p>  規(guī)格 varchar(100) not null,</p><p>  單價(jià) decimal(18,2) not null,</p><p>  庫存 int not null</p><p><b>  )</b></p><p><b&

53、gt;  go</b></p><p>  create table 發(fā)票</p><p><b>  (</b></p><p>  編號(hào) int identity primary key not null,</p><p>  用戶 varchar(50) not null,</p><

54、;p>  日期 datetime not null,</p><p>  產(chǎn)品 varchar(5) not null,</p><p>  單價(jià) decimal not null,</p><p>  數(shù)量 int not null,</p><p>  金額 decimal not null</p><p>

55、<b>  )</b></p><p><b>  5.5加載測(cè)試數(shù)據(jù)</b></p><p> ?。?)向產(chǎn)品表中加載測(cè)試數(shù)據(jù)</p><p>  use manage</p><p><b>  go</b></p><p>  insert int

56、o 產(chǎn)品</p><p>  (名稱,規(guī)格,單價(jià),庫存) </p><p>  values('聯(lián)想 G580A-ITH','系列: IdeaPad G580 Intel Core/酷睿 i3: i3-2370M顯卡型:獨(dú)立機(jī)械硬盤容量: 500G內(nèi)存容量: 2G',3080.00,200</p><p><b>  )&l

57、t;/b></p><p>  insert into 產(chǎn)品</p><p>  (名稱,規(guī)格,單價(jià),庫存) </p><p>  values('聯(lián)想 G480A-ISE ','系列: 揚(yáng)天V570 Intel Core/酷睿 i7: i7-3520M顯卡類型:獨(dú)立 機(jī)械硬盤容量: 500G 內(nèi)存容量: 4G',4150.00

58、 ,193</p><p><b>  )</b></p><p>  insert into 產(chǎn)品</p><p>  (名稱,規(guī)格,單價(jià),庫存) </p><p>  values('聯(lián)想 G400AM-ISE ','系列: 揚(yáng)天V570 Intel Core/酷睿 i7: i7-3610QM

59、顯卡類型: 獨(dú)立 機(jī)械硬盤容量: 500G 內(nèi)存容量: 4G',4580.00,150</p><p><b>  )</b></p><p>  insert into 產(chǎn)品</p><p>  (名稱,規(guī)格,單價(jià),庫存) </p><p>  values('聯(lián)想 G505-ASI','

60、;系列: 揚(yáng)天V570 AMD APU: A6-4455M顯卡類型: 獨(dú)立機(jī)械硬盤容量: 500G 內(nèi)存容量: 4G',3150.00,292</p><p><b>  )</b></p><p>  insert into 產(chǎn)品</p><p>  (名稱,規(guī)格,單價(jià),庫存) </p><p>  value

61、s('聯(lián)想 G505-AFO ','系列: 揚(yáng)天V570 AMD APU: A4-4355M 顯卡類型: 獨(dú)立機(jī)械硬盤容量: 500G 內(nèi)存容量: 4G',2950.00,200</p><p><b>  )</b></p><p>  insert into 產(chǎn)品</p><p>  (名稱,規(guī)格,單價(jià),庫存

62、) </p><p>  values('聯(lián)想 E49L(B960)','系列: 昭陽E47 Intel Pentium/奔騰: B950顯卡類型: 集成機(jī)械硬盤容量: 320G內(nèi)存容量: 2G',2200.00 ,199</p><p><b>  )</b></p><p> ?。?)向發(fā)票表中加載測(cè)試數(shù)據(jù)&

63、lt;/p><p>  use manage</p><p><b>  go</b></p><p>  select * from 產(chǎn)品</p><p>  select * from 用戶信息</p><p>  select * from 發(fā)票</p><p>  de

64、clare @i decimal(18,2),@j decimal(18,2)</p><p>  select @i=單價(jià) from 產(chǎn)品 where 名稱='聯(lián)想 G485G-ETH '</p><p>  set @j=@i*2</p><p>  insert into 發(fā)票</p><p><b>  (&

65、lt;/b></p><p>  日期,用戶,產(chǎn)品,單價(jià),數(shù)量,總金額</p><p><b>  )</b></p><p><b>  values</b></p><p><b>  (</b></p><p>  2013-1-24,

66、9;陳二','聯(lián)想 G485G-ETH',2160.00,2,@j</p><p><b>  )</b></p><p>  declare @a decimal(18,2),@b decimal(18,2)</p><p>  select @a=單價(jià) from 產(chǎn)品 where 名稱='聯(lián)想 G500-IF

67、I '</p><p>  set @b=@a*1</p><p>  insert into 發(fā)票</p><p><b>  (</b></p><p>  日期,用戶,產(chǎn)品,單價(jià),數(shù)量,總金額</p><p><b>  )</b></p><

68、;p><b>  values</b></p><p><b>  (</b></p><p>  2013-3-20,'張三','聯(lián)想 G500-IFI',2160.00,1,@b</p><p><b>  )</b></p><p>

69、  declare @n decimal(18,2),@m decimal(18,2)</p><p>  select @n=單價(jià) from 產(chǎn)品 where 名稱='聯(lián)想 G580A-ITH '</p><p>  set @m=@n*1</p><p>  insert into 發(fā)票</p><p><b>

70、  (</b></p><p>  日期,用戶,產(chǎn)品,單價(jià),數(shù)量,總金額</p><p><b>  )</b></p><p><b>  values</b></p><p><b>  (</b></p><p>  2013-4-2,

71、'孫七','聯(lián)想 G580A-ITH',2160.00,1,@m</p><p><b>  )</b></p><p>  declare @k decimal(18,2),@l decimal(18,2)</p><p>  select @k=單價(jià) from 產(chǎn)品 where 名稱='聯(lián)想 E49L

72、(B960) '</p><p>  set @l=@k*3</p><p>  insert into 發(fā)票</p><p><b>  (</b></p><p>  日期,用戶,產(chǎn)品,單價(jià),數(shù)量,總金額</p><p><b>  )</b></p>

73、<p><b>  values</b></p><p><b>  (</b></p><p>  2013-4-15,'王五','聯(lián)想 E49L(B960)',2160.00,3,@l</p><p><b>  )</b></p>&l

74、t;p>  declare @q decimal(18,2),@p decimal(18,2)</p><p>  select @q=單價(jià) from 產(chǎn)品 where 名稱='聯(lián)想 G505-AFO '</p><p>  set @p=@q*2</p><p>  insert into 發(fā)票</p><p>&l

75、t;b>  (</b></p><p>  日期,用戶,產(chǎn)品,單價(jià),數(shù)量,總金額</p><p><b>  )</b></p><p><b>  values</b></p><p><b>  (</b></p><p>  20

76、13-6-25,'吳九','聯(lián)想 G505-AFO ',2160.00,3,@p</p><p><b>  )</b></p><p> ?。?)向用戶表中加載測(cè)試數(shù)據(jù)</p><p>  use manage</p><p><b>  go</b></p&

77、gt;<p>  insert into 產(chǎn)品</p><p>  (姓名,地址,電話,信用,預(yù)付款) </p><p>  values('劉一','欽州',547786,'良',150)</p><p>  insert into 產(chǎn)品</p><p>  (姓名,地址,電話,

78、信用,預(yù)付款) </p><p>  values('陳二','南寧',5463556,'優(yōu)',200)</p><p>  insert into 產(chǎn)品</p><p>  (姓名,地址,電話,信用,預(yù)付款) </p><p>  values('張三','柳州'

79、;,5468385,'優(yōu)',350)</p><p>  insert into 產(chǎn)品</p><p>  (姓名,地址,電話,信用,預(yù)付款) </p><p>  values('李四','桂林',5426368,'差',0)</p><p>  insert into 產(chǎn)品&

80、lt;/p><p>  (姓名,地址,電話,信用,預(yù)付款) </p><p>  values('王五','南寧',5461258,'良',100)</p><p>  insert into 產(chǎn)品</p><p>  (姓名,地址,電話,信用,預(yù)付款) </p><p> 

81、 values('趙六','來賓',5469325,'差',280)</p><p>  insert into 產(chǎn)品</p><p>  (姓名,地址,電話,信用,預(yù)付款) </p><p>  values('孫七','河池',5469335,'差',80)</

82、p><p>  insert into 產(chǎn)品</p><p>  (姓名,地址,電話,信用,預(yù)付款) </p><p>  values('周八','南寧',5464755,'良',150)</p><p>  insert into 產(chǎn)品</p><p>  (姓名,地址,

83、電話,信用,預(yù)付款) </p><p>  values('吳九','柳州',5469385,'優(yōu)',400)</p><p>  insert into 產(chǎn)品</p><p>  (姓名,地址,電話,信用,預(yù)付款) </p><p>  values('鄭十','百色&

84、#39;,5463235,'良',0)</p><p>  insert into 產(chǎn)品</p><p>  (姓名,地址,電話,信用,預(yù)付款) </p><p>  values('張小小','來賓',5469393,'差',500)</p><p>  6.數(shù)據(jù)庫操作要求及實(shí)

85、現(xiàn)</p><p><b>  6.1數(shù)據(jù)查詢操作</b></p><p>  6.1.1 創(chuàng)建存儲(chǔ)過程,并通過執(zhí)行存儲(chǔ)過程來實(shí)現(xiàn)查詢</p><p><b> ?。?)創(chuàng)建統(tǒng)計(jì)</b></p><p>  SET ANSI_NULLS ON</p><p><b>

86、;  GO</b></p><p>  SET QUOTED_IDENTIFIER ON</p><p><b>  GO</b></p><p>  CREATE PROCEDURE total_money </p><p><b>  --統(tǒng)計(jì)總金額</b></p>&

87、lt;p><b>  AS</b></p><p><b>  BEGIN</b></p><p>  SET NOCOUNT ON;</p><p>  declare @number_money int,@money int,@i int,@j int;</p><p>  set @mo

88、ney=0;</p><p><b>  set @i=0;</b></p><p>  select @number_money=count(總金額) from 發(fā)票;</p><p>  while @i<@number_money</p><p><b>  begin</b></

89、p><p>  select @j=總金額 from 發(fā)票</p><p>  set @money=@money+@j</p><p>  set @i=@i+1</p><p><b>  end</b></p><p>  select @money as '總收入'</p

90、><p><b>  END</b></p><p><b>  GO</b></p><p>  create procedure total_usename</p><p><b>  --統(tǒng)計(jì)總客戶</b></p><p><b>  as&

91、lt;/b></p><p><b>  begin</b></p><p>  set nocount on;</p><p>  declare @number_peaple int</p><p>  select @number_peaple=count(姓名) from 用戶信息</p>&

92、lt;p>  select @number_peaple as '客戶總數(shù)'</p><p><b>  end</b></p><p><b>  go</b></p><p>  create procedure total_proc</p><p><b>  

93、--統(tǒng)計(jì)總產(chǎn)品</b></p><p><b>  as</b></p><p><b>  begin</b></p><p>  set nocount on;</p><p>  declare @number_proc int</p><p>  sele

94、ct @number_proc=count(名稱) from 產(chǎn)品</p><p>  select @number_proc as '產(chǎn)品總數(shù)'</p><p><b>  end</b></p><p><b>  go</b></p><p>  create procedur

95、e total_lib</p><p><b>  --統(tǒng)計(jì)總庫存</b></p><p><b>  as</b></p><p><b>  begin</b></p><p>  set nocount on;</p><p>  declare

96、@number_lib int,@lib int,@i int,@j int;</p><p>  set @lib=0;</p><p><b>  set @i=0;</b></p><p>  select @number_lib=count(庫存) from 產(chǎn)品;</p><p>  while @i<@

97、number_lib</p><p><b>  begin</b></p><p>  select @j=庫存 from 產(chǎn)品</p><p>  set @lib=@lib+@j</p><p>  set @i=@i+1</p><p><b>  end</b>&l

98、t;/p><p>  select @lib as '庫存總數(shù)'</p><p><b>  end</b></p><p><b> ?。?)創(chuàng)建查詢</b></p><p>  SET ANSI_NULLS ON</p><p><b>  GO&l

99、t;/b></p><p>  SET QUOTED_IDENTIFIER ON</p><p><b>  GO</b></p><p>  CREATE PROCEDURE sl_pro_table </p><p><b>  --查詢產(chǎn)品表</b></p><p&g

100、t;<b>  AS</b></p><p><b>  BEGIN</b></p><p>  SET NOCOUNT ON;</p><p>  select * from 產(chǎn)品</p><p><b>  END</b></p><p><

101、b>  GO</b></p><p>  create procedure sl_name_table</p><p><b>  --查詢用戶信息</b></p><p><b>  as</b></p><p><b>  begin</b></p&

102、gt;<p>  set nocount on;</p><p>  select * from 用戶信息</p><p><b>  end</b></p><p><b>  go</b></p><p>  create procedure sl_bill_table</p

103、><p><b>  --查詢發(fā)票</b></p><p><b>  as</b></p><p><b>  begin</b></p><p>  select * from 發(fā)票</p><p><b>  end</b><

104、;/p><p><b>  go</b></p><p><b>  6.2數(shù)據(jù)更新操作</b></p><p>  SET ANSI_NULLS ON</p><p><b>  GO</b></p><p>  SET QUOTED_IDENTIFIER

105、 ON</p><p><b>  GO</b></p><p><b>  --添加用戶</b></p><p>  Create proc up_insert_user </p><p>  @姓名 varchar(50), </p><p>  @地址 varchar

106、(100), </p><p><b>  @電話 int,</b></p><p>  @信用 char(10),</p><p><b>  @預(yù)付款 int,</b></p><p>  @rtn varchar(50) output </p><p><

107、b>  as </b></p><p><b>  declare </b></p><p>  @tmp姓名 varchar(50), </p><p>  @tmp地址 varchar(100), </p><p>  @tmp電話 int,</p><p>  

108、@tmp信用 char(10),</p><p>  @tmp預(yù)付款 int</p><p>  if exists(select * from 用戶信息 where 姓名=@姓名) </p><p><b>  begin </b></p><p>  select @tmp姓名=姓名,@tmp地址=地址,@tmp

109、電話=電話, @tmp信用=信用, @tmp預(yù)付款=預(yù)付款 from 用戶信息 where 姓名=@姓名 </p><p>  if ((@tmp姓名=@姓名) and (@tmp地址=@地址) and (@tmp電話=@電話) and (@tmp信用=@信用) and (@tmp預(yù)付款=@預(yù)付款) ) </p><p><b>  begin </b><

110、/p><p>  set @rtn='該用戶已經(jīng)存在' --有相同的數(shù)據(jù),直接返回值 </p><p><b>  end </b></p><p><b>  else </b></p><p><b>  begin </b></p>&l

111、t;p>  update 用戶信息 set 姓名=@姓名,地址=@地址,電話=@電話, 信用=@信用, 預(yù)付款=@預(yù)付款 where 姓名=@姓名 </p><p>  set @rtn='更新該用戶信息成功' --有主鍵相同的數(shù)據(jù),進(jìn)行更新處理 </p><p><b>  end </b></p><p><

112、;b>  end </b></p><p><b>  else </b></p><p><b>  begin </b></p><p>  insert into 用戶信息(姓名,地址,電話,信用,預(yù)付款) values(@姓名,@地址,@電話 ,@信用 ,@預(yù)付款 ) </p>

113、<p>  set @rtn='成功添加新用戶' --沒有相同的數(shù)據(jù),進(jìn)行插入處理 </p><p><b>  end </b></p><p><b>  go</b></p><p><b>  --添加產(chǎn)品</b></p><p>  C

114、reate proc up_insert_proc </p><p>  @名稱 varchar(50), </p><p>  @規(guī)格 varchar(100), </p><p>  @單價(jià) decimal(18,2), </p><p><b>  @庫存 int,</b></p><

115、p>  @rtn varchar(50) output </p><p><b>  as </b></p><p><b>  declare </b></p><p>  @tmp名稱 varchar(50), </p><p>  @tmp規(guī)格 varchar(100), &

116、lt;/p><p>  @tmp單價(jià) decimal(18,2), </p><p>  @tmp庫存 int</p><p>  if exists(select * from 產(chǎn)品 where 名稱=@名稱) </p><p><b>  begin </b></p><p>  sel

117、ect @tmp名稱=名稱,@tmp規(guī)格=規(guī)格,@tmp單價(jià)=單價(jià), @tmp庫存=庫存 from 產(chǎn)品 where 名稱=@名稱 </p><p>  if ((@tmp名稱=@名稱) and (@tmp規(guī)格=@規(guī)格)) </p><p><b>  begin </b></p><p>  set @rtn='該產(chǎn)品已經(jīng)存在&

118、#39; --有相同的數(shù)據(jù),直接返回值 </p><p><b>  end </b></p><p><b>  else </b></p><p><b>  begin </b></p><p>  update 產(chǎn)品 set 名稱=@名稱,規(guī)格=@規(guī)格,單價(jià)=@

119、單價(jià), 庫存=@庫存 where 名稱=@名稱 </p><p>  set @rtn='更新該產(chǎn)品信息成功' --有主鍵相同的數(shù)據(jù),進(jìn)行更新處理 </p><p><b>  end </b></p><p><b>  end </b></p><p><b>

120、  else </b></p><p><b>  begin </b></p><p>  insert into 產(chǎn)品(名稱,規(guī)格,單價(jià),庫存) values(@名稱,@規(guī)格,@單價(jià),@庫存) </p><p>  set @rtn='添加產(chǎn)品成功' --沒有相同的數(shù)據(jù),進(jìn)行插入處理 </p>

121、<p><b>  end</b></p><p><b>  go</b></p><p><b>  --添加發(fā)票</b></p><p>  Create proc up_insert_bill </p><p>  @日期 datetime, <

122、/p><p>  @用戶 varchar(50), </p><p>  @產(chǎn)品 varchar(50),</p><p>  @單價(jià) decimal(18,2), </p><p><b>  @數(shù)量 int,</b></p><p>  @總金額 decimal(18,2),</p&

123、gt;<p>  @rtn varchar(50) output </p><p><b>  as </b></p><p><b>  declare </b></p><p>  @tmp日期 datetime, </p><p>  @tmp用戶 varchar(50)

124、, </p><p>  @tmp產(chǎn)品 varchar(50),</p><p>  @tmp單價(jià) decimal(18,2), </p><p>  @tmp數(shù)量 int,</p><p>  @tmp總金額 decimal(18,2) </p><p>  if exists(select * from 發(fā)

125、票 where 用戶=@用戶) </p><p><b>  begin </b></p><p>  select @tmp日期=日期,@tmp用戶=用戶,@tmp產(chǎn)品=產(chǎn)品,@tmp單價(jià)=單價(jià),@tmp數(shù)量=數(shù)量,@tmp總金額=總金額 from 發(fā)票 where 用戶=@用戶 </p><p>  if ((@tmp日期=@日期)

126、and (@tmp用戶=@用戶) and (@tmp產(chǎn)品=@產(chǎn)品) and (@tmp單價(jià)=@單價(jià)) and (@tmp數(shù)量=@數(shù)量)) </p><p><b>  begin </b></p><p>  set @rtn='該發(fā)票已經(jīng)存在' --有相同的數(shù)據(jù),直接返回值 </p><p><b>  end

127、 </b></p><p><b>  else </b></p><p><b>  begin </b></p><p>  declare @i int</p><p>  select @i=庫存 from 產(chǎn)品 where 名稱=@產(chǎn)品</p><p&

128、gt;  update 產(chǎn)品 set 庫存=(@i-@數(shù)量) where 名稱=@產(chǎn)品</p><p>  update 發(fā)票 set 日期=@日期,用戶=@用戶,產(chǎn)品=@產(chǎn)品,單價(jià)=@單價(jià),數(shù)量=@數(shù)量,總金額=@總金額 where 用戶=@用戶 </p><p>  set @rtn='更新該發(fā)票成功' --有主鍵相同的數(shù)據(jù),進(jìn)行更新處理 </p>&

129、lt;p><b>  end </b></p><p><b>  end </b></p><p><b>  else </b></p><p><b>  begin </b></p><p>  declare @j int</

130、p><p>  select @j=庫存 from 產(chǎn)品 where 名稱=@產(chǎn)品</p><p>  update 產(chǎn)品 set 庫存=(@j-@數(shù)量) where 名稱=@產(chǎn)品</p><p>  insert into 發(fā)票(日期,用戶,產(chǎn)品,單價(jià),數(shù)量,總金額) values(@日期,@用戶,@產(chǎn)品,@單價(jià),@數(shù)量,@總金額) </p><

131、p>  set @rtn='添加該發(fā)票成功' --沒有相同的數(shù)據(jù),進(jìn)行插入處理 </p><p><b>  end </b></p><p><b>  go</b></p><p><b>  6.3數(shù)據(jù)維護(hù)操作</b></p><p>  打開數(shù)據(jù)

132、庫企業(yè)窗體,連接到數(shù)據(jù)庫后打開管理的下拉列表,找到維護(hù)計(jì)劃,右鍵打開維護(hù)計(jì)劃向?qū)В瑒?chuàng)建一個(gè)名為manage_newPlan的維護(hù)計(jì)劃(計(jì)劃類型按需),下一步在維護(hù)任務(wù)選項(xiàng)中選擇檢查數(shù)據(jù)完整性、收縮數(shù)據(jù)庫、備份數(shù)據(jù)庫(完整)。下一步中選擇數(shù)據(jù)庫均選manage_new這個(gè)數(shù)據(jù)庫,其它默認(rèn)即可,直至完成。由此便創(chuàng)建了一個(gè)自動(dòng)維護(hù)計(jì)劃。</p><p><b>  6.4其它</b></p&

133、gt;<p>  6.4.1 創(chuàng)建刪除操作的存儲(chǔ)過程</p><p>  SET ANSI_NULLS ON</p><p><b>  GO</b></p><p>  SET QUOTED_IDENTIFIER ON</p><p><b>  GO</b></p>

134、<p><b>  --刪除用戶</b></p><p>  CREATE PROCEDURE del_use</p><p>  @姓名 varchar(50),</p><p>  @rtn varchar(50) output</p><p><b>  AS</b></p&g

135、t;<p><b>  BEGIN</b></p><p>  SET NOCOUNT ON;</p><p>  if(exists(select * from 用戶信息 where 姓名=@姓名))</p><p><b>  begin</b></p><p>  delete

136、from 用戶信息 where 姓名=@姓名</p><p>  select @rtn='刪除用戶成功'</p><p><b>  end</b></p><p><b>  else</b></p><p><b>  begin</b></p>

137、;<p>  select @rtn='該用戶不存在'</p><p><b>  end</b></p><p><b>  END</b></p><p><b>  GO</b></p><p><b>  --刪除產(chǎn)品</b

138、></p><p>  CREATE PROCEDURE del_proc</p><p>  @名稱 varchar(50),</p><p>  @rtn varchar(50) output</p><p><b>  AS</b></p><p><b>  BEGIN&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)論