圖書進(jìn)銷存管理的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
圖書進(jìn)銷存管理的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
圖書進(jìn)銷存管理的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
圖書進(jìn)銷存管理的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
圖書進(jìn)銷存管理的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、需求分析1.1需求調(diào)查 通過對(duì)用戶的調(diào)查,書店進(jìn)貨銷存管理系統(tǒng)有如下需求:1) l實(shí)現(xiàn)圖書分類號(hào)、出版社、主編等信息的管理;2) l實(shí)現(xiàn)進(jìn)貨、入庫管理;3) 實(shí)現(xiàn)退貨、入庫管理4) l實(shí)現(xiàn)銷售、出庫管理;5) l查詢某段時(shí)間內(nèi)各種圖書的進(jìn)貨、銷售、退貨情況;6) l查詢各類圖書的庫存總數(shù);7) l當(dāng)圖書入庫時(shí)自動(dòng)修改相應(yīng)圖書的總量和存放倉庫中該圖書的數(shù)量;8) l一單可以處理多種圖書(比如銷售設(shè)置銷售單及其明細(xì)兩個(gè)表);9) 可以對(duì)銷售額,銷售總量進(jìn)行查詢10) 建立數(shù)據(jù)庫相關(guān)表之間的參照完整性約束。圖書進(jìn)銷存管理進(jìn)貨管理退貨管理統(tǒng)計(jì)管理銷售管理查詢管理1.2 系統(tǒng)功能分析 圖11.進(jìn)貨管

2、理模塊:書店的圖書一直在更新,當(dāng)貨源不足、新書上映時(shí)都需要進(jìn)貨。進(jìn)貨管理模塊主要實(shí)現(xiàn)查詢圖書數(shù)量,當(dāng)數(shù)量不足時(shí)進(jìn)行圖書訂購(gòu),根據(jù)供應(yīng)商選擇便宜的書籍,進(jìn)貨后進(jìn)行圖書入庫操作,并輸出進(jìn)貨單,將圖書數(shù)量進(jìn)行更新。2.退貨管理模塊:顧客把已買的書籍退還給書店。輸出一份退貨單并自動(dòng)修改庫存量,把本次退貨的信息添加到退貨庫中。3.統(tǒng)計(jì)管理模塊:根據(jù)銷售情況輸出統(tǒng)計(jì)的報(bào)表。一般內(nèi)容為每月的銷售總額、銷售總量及排行榜等信息。4.銷售管理模塊:輸入顧客要買書籍的信息,自動(dòng)顯示此書的庫存量,如果可以銷售,打印銷售單并修改庫存,同時(shí)把此次銷售的有關(guān)信息添加到日銷售庫中。5.查詢管理模塊:允許用戶設(shè)置條件進(jìn)行進(jìn)貨、

3、退貨、統(tǒng)計(jì)、銷售和庫存書籍的信息查詢。1.3 面對(duì)用戶需求分析在圖書進(jìn)銷存管理系統(tǒng)中,最主要的功能就是對(duì)圖書進(jìn)貨、銷售、庫存的管理以及查詢功能。因此,可以將圖書進(jìn)銷存管理系統(tǒng)分為進(jìn)貨、銷售、庫存三個(gè)子系統(tǒng)。而在所設(shè)計(jì)的圖書進(jìn)銷存管理系統(tǒng)中,主要有兩類用戶,即圖書管理員、書店管理員。各類用戶在該系統(tǒng)中的需求不同,權(quán)限也不同。因此,為了更明確,更系統(tǒng)的了解用戶需求,我們還可以將管理系統(tǒng)再細(xì)分為圖書管理系統(tǒng),書店管理系統(tǒng)。同樣,將查詢系統(tǒng)也按用戶職能進(jìn)行細(xì)分,即圖書查詢系統(tǒng),書店查詢系統(tǒng)。這樣細(xì)分后,看似把系統(tǒng)需求繁雜化了。其實(shí)不然,細(xì)分后使各用戶需求更加明確了,并且能更好的把握系統(tǒng)需求。二、面向?qū)?/p>

4、象分析和設(shè)計(jì) 類和對(duì)象設(shè)計(jì)如下: 進(jìn)貨訂單訂單號(hào):int圖書號(hào):int圖書價(jià)格:int圖書數(shù)量:int進(jìn)貨日期:char添加()修改()刪除()查詢()庫存圖書號(hào):int圖書數(shù)量:int查詢()添加()修改() 供應(yīng)商供應(yīng)商名稱:char供應(yīng)圖書號(hào):int圖書價(jià)格: int添加()刪除()查詢()修改()銷售訂單訂單號(hào):int圖書號(hào):int圖書價(jià)格:int圖書數(shù)量:int銷售日期:char添加()修改()刪除()修改()圖書類別類別號(hào):int類別名稱:char查詢()增加()修改()圖書信息表圖書號(hào):int作者:char出版社:char價(jià)格:int類別號(hào):int查詢()添加()刪除()修改()

5、圖 2三、數(shù)據(jù)流圖四、概念和邏輯結(jié)構(gòu)設(shè)計(jì)圖書圖書號(hào)作者出版號(hào)價(jià)格類別號(hào)書名4.1局部E-R圖圖書類別類別號(hào)類別名稱進(jìn)貨訂單進(jìn)貨日期圖書數(shù)量圖書價(jià)格圖書號(hào)訂單號(hào)庫存圖書號(hào)圖書數(shù)量銷售訂單銷售日期圖書數(shù)量圖書價(jià)格圖書號(hào)訂單號(hào)供書商供應(yīng)商名稱供應(yīng)圖書號(hào)圖書價(jià)格圖 3mnn1nnnnm圖書類別分類圖書購(gòu)買訂單填寫供應(yīng)商存放倉庫數(shù)量管理管理員存放數(shù)量1銷售訂單填寫顧客mn4.2全局E-R圖:mn1圖 44.3類和對(duì)象向關(guān)系模式轉(zhuǎn)換圖書表(圖書號(hào),圖書名,作者,價(jià)格,類別號(hào),出版社)圖書類別表(類別名,類別號(hào))供應(yīng)商表(供應(yīng)商名稱,供應(yīng)圖書號(hào),圖書價(jià)格)進(jìn)貨訂單表(訂單號(hào),圖書號(hào),圖書數(shù)量,進(jìn)貨價(jià)格,進(jìn)貨

6、日期)銷售訂單表(訂單號(hào),圖書號(hào),圖書數(shù)量,銷售價(jià)格,銷售日期)庫存表(圖書號(hào),圖書數(shù)量)五、數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)5.1存取方法設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)是多用戶共享的系統(tǒng),對(duì)同一個(gè)關(guān)系要建立多條存儲(chǔ)路徑才能滿足多用戶的多種應(yīng)用要求。對(duì)于系統(tǒng)來說,為了提高某些屬性的查詢速度,可以選擇聚簇存取的方法,即把這些屬性上具有相同值的元組集中放在連續(xù)的物理塊上。這樣會(huì)大大提高查詢速度。因此,該系統(tǒng)中選擇聚簇存取方法。5.2存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)書店進(jìn)貨、銷售管理系統(tǒng)是一個(gè)大型復(fù)雜的計(jì)算機(jī)網(wǎng)絡(luò)信息系統(tǒng),采用基于瀏覽器/服務(wù)器(B/S),客戶端/服務(wù)器(C/S)混合的應(yīng)用體系結(jié)構(gòu)來建設(shè)。數(shù)據(jù)庫管理系統(tǒng)采用Microsoft 公司推

7、出的SQL Server 2014 或以上版本,并用SQL進(jìn)行數(shù)據(jù)庫的建立和數(shù)據(jù)庫中數(shù)據(jù)的維護(hù)和查詢。5.3物理設(shè)計(jì)實(shí)現(xiàn)該設(shè)計(jì)的環(huán)境為Windows 10專業(yè)版 + MS SQL Server 20141、 建立圖書進(jìn)銷存管理系統(tǒng)數(shù)據(jù)庫create database 圖書系統(tǒng)2、 建立圖書表use 圖書系統(tǒng)create table 圖書表(圖書號(hào) nvarchar(20) primary key,圖書名 nvarchar(20),作者 nvarchar(15)價(jià)格 float,類別號(hào) nvarchar(20),出版社 char(20),);3、 建立圖書類別表create table 圖書類別

8、表(類別號(hào) nvarchar(15) primary key,類別名 nvarchar(15),);4、 建立進(jìn)貨訂單表create table 進(jìn)貨訂單表(訂單號(hào) char(20) primary key,圖書號(hào) nvarchar(20),圖書數(shù)量 int,圖書價(jià)格 float,進(jìn)貨日期 datetime,)5、建立銷售訂單表create table 銷售訂單表(訂單號(hào) char(20) primary key,圖書號(hào) nvarchar(20),圖書數(shù)量 int,圖書價(jià)格 float,銷售日期 datetime,);6、建立庫存表create table 庫存表(圖書號(hào) nvarchar(2

9、0) primary key,圖書數(shù)量 int,);7、建立供應(yīng)商表create table 供應(yīng)商(供應(yīng)商名稱 char(20) ,供應(yīng)圖書號(hào) nvarchar(20),圖書價(jià)格 float,Primary key(供應(yīng)商名稱,供應(yīng)圖書號(hào));六、數(shù)據(jù)庫完整性設(shè)計(jì)6.1 主鍵及唯一性索引表名主鍵建立唯一性索引圖書表(圖書號(hào))create unique index 圖書號(hào)on圖書表(圖書號(hào))圖書類別表(類別名稱)create unique index 類別號(hào)on 圖書類別(類別號(hào))進(jìn)貨訂單表(訂單號(hào))create unique index 訂單號(hào)on 進(jìn)貨訂單(訂單號(hào))銷售訂單表(訂單號(hào))cre

10、ate unique index 訂單號(hào)on 銷售訂單(訂單號(hào))庫存表(圖書號(hào))create unique index 圖書號(hào)on 庫存(圖書號(hào))供應(yīng)商表(供應(yīng)商名稱、供應(yīng)圖書號(hào))create index 供應(yīng)商名稱on 供應(yīng)商(供應(yīng)商名稱)圖 56.2 參照完整性設(shè)計(jì)1、圖書表中將類別號(hào)設(shè)計(jì)為圖書類別的外鍵alter table 圖書表 add foreign key (類別號(hào)) references 圖書類別表(類別號(hào));2、進(jìn)貨訂單表中將屬性圖書號(hào)為圖書表的外鍵ALTER TABLE 進(jìn)貨訂單表 add foreign key (圖書號(hào)) references 圖書表(圖書號(hào));3、銷售

11、訂單表中將屬性圖書號(hào)為圖書表的外鍵ALTER TABLE 銷售訂單表 add foreign key (圖書號(hào)) references 圖書表(圖書號(hào));4、庫存表中將屬性圖書號(hào)為圖書表的外鍵ALTER TABLE 庫存表 add foreign key (圖書號(hào)) references 圖書表(圖書號(hào));6.3觸發(fā)器設(shè)計(jì)6.3.1入庫Create Trigger入庫1 On 進(jìn)貨訂單表 FOR InsertAs declare n int Select n=圖書號(hào) from inserted declare num int Select num=圖書數(shù)量 From inserted Upda

12、te 圖書表 set 數(shù)量=數(shù)量+num Where 圖書號(hào)=n6.3.2出庫Create Trigger 出庫On 銷售訂單表FOR InsertAs beginupdate 庫存表set 庫存表.圖書數(shù)量-=銷售訂單表.圖書數(shù)量from 庫存表,銷售訂單表where 庫存表.圖書號(hào)=銷售訂單表.圖書號(hào);end;6.4存儲(chǔ)過程查詢某段時(shí)間內(nèi)各種圖書的進(jìn)貨和銷售情況SELECT 進(jìn)貨訂單表.訂單號(hào),進(jìn)貨訂單表.圖書數(shù)量,進(jìn)貨日期,銷售訂單表.訂單號(hào),銷售訂單表.圖書數(shù)量,銷售日期from 進(jìn)貨訂單表,銷售訂單表 where 銷售日期 >= '2016-01-03' and

13、 銷售日期 <= '2016-06-07' and 進(jìn)貨日期 >= '2016-01-03' and 進(jìn)貨日期 <= '2016-06-07'七、 數(shù)據(jù)庫視圖設(shè)計(jì)1、建立查詢每?jī)?cè)圖書銷售總數(shù)的視圖Create view 月銷數(shù)量ASselect sum(圖書數(shù)量) as 圖書總數(shù),銷售訂單表.圖書號(hào) FROM 銷售訂單表 group by 銷售訂單表.圖書號(hào);2、 選擇供應(yīng)商Create view 選擇供應(yīng)商ASSelect s1.供應(yīng)商名稱,s1.供應(yīng)圖書號(hào),s1.圖書價(jià)格 From 供應(yīng)商 s1,供應(yīng)商 s2Where s1

14、.供應(yīng)圖書號(hào)=s2.供應(yīng)圖書號(hào) AND s1.圖書價(jià)格<=s2.圖書價(jià)格;3、 建立銷售訂單應(yīng)付總金額create view 應(yīng)付金額asselect 圖書數(shù)量*圖書價(jià)格 AS 總數(shù), 訂單號(hào)from 銷售訂單表;4、 建立書店總銷售create view 總售出金額asselect sum(圖書數(shù)量*圖書價(jià)格) 總數(shù)from 銷售訂單表;八、 數(shù)據(jù)庫存儲(chǔ)過程設(shè)計(jì)1、存儲(chǔ)過程查詢某段時(shí)間內(nèi)各種圖書的進(jìn)貨和銷售情況ALTER procedure 圖書進(jìn)貨銷售情況 as begin SELECT 進(jìn)貨訂單表.訂單號(hào),進(jìn)貨訂單表.圖書數(shù)量,進(jìn)貨日期,銷售訂單表.訂單號(hào),銷售訂單表.圖書數(shù)量,銷售日期 from 進(jìn)貨訂單表,銷售訂單表 where 銷售日期 >= '2014-1-1' and 銷售日期 <= '2014-12-31' and 進(jìn)貨日期 >= '2014-1-1' and 進(jìn)貨日期 <= '2014-12-31' end;九、程序截圖 十、總結(jié) 通過這次數(shù)據(jù)庫課程設(shè)計(jì),我深刻的體會(huì)到作為DBA要考慮到方方面面的問題。剛開始我根本不知道從哪下手,根據(jù)關(guān)系模式,從SQL中慢慢建表。剛開始用英文定義的,可是由于沒有連續(xù)的時(shí)間,英文易

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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)論