課程設(shè)計(jì)--倉(cāng)庫(kù)管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  數(shù)據(jù)庫(kù)設(shè)計(jì)與管理課程設(shè)計(jì)</p><p>  課程設(shè)計(jì)名稱 倉(cāng)庫(kù)管理系統(tǒng) </p><p><b>  概述</b></p><p>  本設(shè)計(jì)的題目是:倉(cāng)庫(kù)管理系統(tǒng)</p><p>  我們?nèi)齻€(gè)人共同合作進(jìn)行選定了這個(gè)倉(cāng)庫(kù)管理系統(tǒng)的課題,并對(duì)此進(jìn)行需求分析。小組分工是:供應(yīng)商表和貨物表

2、由娜娜負(fù)責(zé),客戶表和倉(cāng)庫(kù)表有范瑩瑩負(fù)責(zé),用戶表,供應(yīng)表和取貨表由田德芳負(fù)責(zé)。每人也負(fù)責(zé)該表的關(guān)系模型和E-R圖制作。規(guī)則和默認(rèn)值由范瑩瑩負(fù)責(zé),約束由田德芳負(fù)責(zé),觸發(fā)器和存儲(chǔ)過(guò)程由娜娜負(fù)責(zé)。最終的報(bào)告由我們匯總之后共同完成。</p><p><b>  二、需求分析</b></p><p>  由于貨物的種類數(shù)量的紛繁復(fù)雜,比較難管理,給工作人員的工作帶來(lái)諸多不便.此系

3、統(tǒng)的開(kāi)發(fā)就是專門(mén)解決工作人員在這些煩瑣的問(wèn)題。此系統(tǒng)適用于倉(cāng)庫(kù),它是比較完善的系統(tǒng)管理軟件。此系統(tǒng)的采用方便了倉(cāng)庫(kù)管理人員對(duì)倉(cāng)庫(kù)的管理,對(duì)管理人員的工作起到重要作用。通過(guò)本系統(tǒng)軟件,能幫助工作人員利用計(jì)算機(jī),快速方便的對(duì)倉(cāng)庫(kù)的貨物進(jìn)行管理、輸入、輸出、查找等操作,將貨物的管理具體化、直觀化、合理化。倉(cāng)庫(kù)管理的方法也日新月異,以前全是由人管理的方法現(xiàn)存在很多的缺點(diǎn):管理效率低,勞動(dòng)強(qiáng)度大,信息處理速度低而且準(zhǔn)確率也不夠令人滿意。為了提高倉(cāng)

4、庫(kù)管理效率,減輕勞動(dòng)強(qiáng)度提高,信息處理速度和準(zhǔn)確性;為倉(cāng)庫(kù)管理員提供更方便、科學(xué)的服務(wù)項(xiàng)目。為倉(cāng)庫(kù)管理員提供的一種更先進(jìn)、科學(xué)的服務(wù)系統(tǒng)。于是我們便選擇了由計(jì)算機(jī)來(lái)設(shè)計(jì)一個(gè)倉(cāng)庫(kù)管理系統(tǒng)的方案。讓計(jì)算機(jī)對(duì)倉(cāng)庫(kù)進(jìn)行自動(dòng)管理,倉(cāng)庫(kù)管理員可以直接在計(jì)算機(jī)上實(shí)現(xiàn)倉(cāng)庫(kù)的信息管理,并能在一定程度上實(shí)現(xiàn)自動(dòng)化。我們?cè)诂F(xiàn)行系統(tǒng)初步調(diào)查的基礎(chǔ)上提出了新系統(tǒng)目標(biāo),即新系統(tǒng)建立后所要求達(dá)到的運(yùn)行指標(biāo),這是系統(tǒng)開(kāi)發(fā)和評(píng)價(jià)的依據(jù)。 </p><

5、p>  據(jù)我們分析需要我們完成的倉(cāng)庫(kù)管理系統(tǒng)的主要功能是: </p><p>  ? 倉(cāng)庫(kù)各種信息的輸入,包括入庫(kù),出庫(kù),還原,需求信息的輸入等 </p><p>  ? 倉(cāng)庫(kù)管理的各種信息查詢,修改和維護(hù) </p><p>  ? 在庫(kù)存管理中加入最高儲(chǔ)備和最低儲(chǔ)備字段,對(duì)倉(cāng)庫(kù)的物質(zhì)設(shè)備實(shí)現(xiàn)報(bào)警 </p><p>  ? 企業(yè)各個(gè)部門(mén)

6、的物質(zhì)需求管理 </p><p>  通過(guò)該系統(tǒng)所記錄的數(shù)據(jù),可以使倉(cāng)庫(kù)管理者對(duì)貨物的進(jìn)出情況管理的更清楚,使倉(cāng)庫(kù)管理系統(tǒng)更完善,。減輕工作人員的工作負(fù)擔(dān),使工作簡(jiǎn)化,從而對(duì)貨物進(jìn)行更井井有條的管理。</p><p>  首先要制作一個(gè)倉(cāng)庫(kù)設(shè)備信息的存儲(chǔ)庫(kù),以用來(lái)存儲(chǔ)設(shè)備信息。作為主題工作后臺(tái)。接下來(lái)將要再建立一個(gè)主表,也就是設(shè)備信息表,作為前臺(tái)功能展開(kāi),以完成各方面操作。最后新系統(tǒng)要在友

7、好的界面中,達(dá)到用預(yù)期,并要在良好的可靠性、高速的效率、易使用的目的在安全性和穩(wěn)定性前提下,給用戶們提供各種方便的操作。</p><p>  三、數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p><b>  1、關(guān)系模型</b></p><p>  供應(yīng)商表(供應(yīng)商號(hào),公司名稱,聯(lián)系人,地址,電話)主鍵是供應(yīng)商號(hào)</p><p>  

8、貨物表(貨物號(hào),名稱,規(guī)格,型號(hào),數(shù)量,標(biāo)準(zhǔn)價(jià)格,貨物重量,銷售價(jià)格)主鍵和貨物號(hào)</p><p>  客戶表(客戶號(hào),名稱,聯(lián)系人,地址,電話,手機(jī),)主鍵是客戶號(hào)</p><p>  倉(cāng)庫(kù)表(倉(cāng)庫(kù)號(hào),名稱,面積,類型,管理員,地址,電話,用戶號(hào))主鍵是倉(cāng)庫(kù)號(hào)</p><p>  用戶表(用戶號(hào),姓名,職位,權(quán)限,用戶名,密碼)主鍵是用戶號(hào)</p>

9、<p>  供應(yīng)表(貨物號(hào),供應(yīng)商號(hào))主鍵是貨物號(hào)和供應(yīng)商號(hào)</p><p>  取貨表(客戶號(hào),倉(cāng)庫(kù)號(hào))主鍵是客戶號(hào)和倉(cāng)庫(kù)號(hào)</p><p>  儲(chǔ)貨表(貨物號(hào),倉(cāng)庫(kù)號(hào))主鍵是貨物好和倉(cāng)庫(kù)號(hào)</p><p>  2、 總體系統(tǒng)E-R圖</p><p>  圖2.7 總體系統(tǒng)結(jié)構(gòu)E-R圖</p><p>  

10、四、數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì) </p><p><b>  1表的建立</b></p><p>  表1.1供應(yīng)商表(supply)</p><p>  表1.2貨物表(goods)</p><p>  表1.3 客戶表(costom)</p><p>

11、  表1.4用戶表(users)</p><p>  表1.5倉(cāng)庫(kù)表(warehouse)</p><p>  表1.6供應(yīng)表(gs)</p><p>  表1.7 取貨表(wc)</p><p>  表1.8儲(chǔ)貨表(gw)</p><p>  五、數(shù)據(jù)庫(kù)的物理實(shí)現(xiàn)</p><p><b&

12、gt; ?。?)建立數(shù)據(jù)庫(kù)</b></p><p>  Create database ingoods</p><p><b>  (2)建立供應(yīng)商表</b></p><p>  use [ingoods]</p><p><b>  go</b></p><p>

13、;  create table supply(</p><p>  SID int primary key not null,</p><p>  Sname char(20) not null,</p><p>  Scon char(6)not null,</p><p>  Sdr char(30),</p><p&

14、gt;  Stele int)</p><p><b>  (3)建立貨物表</b></p><p>  use [ingoods]</p><p><b>  go</b></p><p>  create table goods(</p><p>  GID int pr

15、imary key not null,</p><p>  Gname char(20)not null,</p><p>  Gsta char(8)not null,</p><p>  Gtype char(8)not null,</p><p>  Gpty int not null,</p><p>  GS

16、P int not null,</p><p>  GDP int ,)</p><p><b>  (4)建立客戶表</b></p><p>  use [ingoods]</p><p><b>  go </b></p><p>  create table cost

17、om(</p><p>  CID int primary key not null,</p><p>  Ccon char(6) not null,</p><p>  Cdr char(20)not null,</p><p>  Ctele int not null,</p><p>  Chand int n

18、ot null,)</p><p><b>  (5)建立倉(cāng)庫(kù)表</b></p><p>  use [ingoods]</p><p><b>  go </b></p><p>  create table warehouse(</p><p>  WID int pri

19、mary key not null,</p><p>  Wname char(20)not null,</p><p><b>  Wsq int ,</b></p><p>  Wtype char(8)not null,</p><p>  Wad char(6)not null,</p><

20、p>  Wdr char(20)not null,</p><p>  Wtele int not null)</p><p><b>  (6)建立用戶表</b></p><p>  use [ingoods]</p><p><b>  go </b></p><p&g

21、t;  create table users(</p><p>  UID int primary key not null,</p><p>  Uname char(8)not null,</p><p>  Upos char(10)not null,</p><p>  Ula char(8)not null,</p>

22、<p>  Usub char(15)not null,</p><p>  Ukey int not null)</p><p><b>  (7)創(chuàng)建供應(yīng)表</b></p><p>  USE ingoods</p><p>  CREATE TABLE 供應(yīng)表</p><p>&l

23、t;b>  (GID INT,</b></p><p><b>  SID INT,</b></p><p>  CONSTRAINT g_s_key PRIMARY KEY (GID,SID))</p><p><b>  (8)創(chuàng)建取貨表</b></p><p>  USE i

24、ngoods</p><p>  CREATE TABLE 取貨表</p><p><b>  (WID INT,</b></p><p><b>  CID INT,</b></p><p>  CONSTRAINT W_C_key PRIMARY KEY (WID,CID))</p>

25、<p><b>  (9)創(chuàng)建存貨表</b></p><p>  USE ingoods</p><p>  CREATE TABLE 存貨表</p><p><b>  (WID INT,</b></p><p><b>  GID INT,</b></p

26、><p>  CONSTRAINT W_G_key PRIMARY KEY (WID,GID))</p><p><b> ?。?0)規(guī)則</b></p><p>  為貨物表的GSP創(chuàng)建規(guī)則:GSP列插入的數(shù)字大于等于零</p><p>  CREATE RULE GSP_rule</p><p>

27、  AS @GSP>=0</p><p>  EXEC sp_bindrule GSP_rule,'goods.GSP'</p><p><b> ?。?1)默認(rèn)值</b></p><p>  為倉(cāng)庫(kù)表的Wdr設(shè)置默認(rèn)值為一號(hào)樓:</p><p>  CREATE DEFAULT Wdr </

28、p><p><b>  AS '一號(hào)樓'</b></p><p><b> ?。?2)約束</b></p><p>  1)為用戶表添加具有默認(rèn)值為空的列:</p><p>  ALTER TABLE users</p><p>  ADD denglu date

29、time</p><p>  DEFAULT (getdate()) WITH VALUES</p><p>  2)定義列的外鍵約束:</p><p>  ALTER TABLE 供應(yīng)表</p><p><b>  ADD </b></p><p>  CONSTRAINT FK_GID<

30、;/p><p>  FOREIGN KEY(GID)REFERENCES goods(GID)</p><p>  ALTER TABLE 供應(yīng)表</p><p><b>  ADD </b></p><p>  CONSTRAINT FK_SID</p><p>  FOREIGN KEY(SID

31、)REFERENCES supply(SID)</p><p>  ALTER TABLE 取貨表</p><p><b>  ADD </b></p><p>  CONSTRAINT FK_WID</p><p>  FOREIGN KEY(WID)REFERENCES warehouse(WID)</p&g

32、t;<p>  ALTER TABLE 取貨表</p><p><b>  ADD </b></p><p>  CONSTRAINT FK_CID</p><p>  FOREIGN KEY(CID)REFERENCES costom(CID)</p><p><b>  3)檢查約束<

33、/b></p><p>  對(duì)于表goods中的GSP列制定規(guī)則要求該列數(shù)據(jù)都大于等于0</p><p>  ALTER TABLE goods</p><p>  WITH NOCHECK</p><p>  ADD CONSTRAINT CK_sta</p><p>  CHECK (GSP>=0)&l

34、t;/p><p>  當(dāng)在GSP列輸入-5時(shí)報(bào)錯(cuò):</p><p><b> ?。?3)索引</b></p><p>  在warehouse表中按電話的降序建立唯一索引:</p><p>  create unique index wartele on warehouse(Wtele desc)</p>&

35、lt;p><b> ?。?4)存儲(chǔ)過(guò)程</b></p><p><b>  1)查詢</b></p><p>  將ingoods數(shù)據(jù)庫(kù)中表supply和供應(yīng)表的等值的查詢出來(lái):</p><p>  CREATE PROCEDURE supply_info1 AS</p><p>  SELE

36、CT g.Sname,g.Stele</p><p>  FROM supply g INNER JOIN 供應(yīng)表 gc</p><p>  ON g.SID=gc.SID</p><p><b>  2)增加</b></p><p>  向表warehouse添加一行數(shù)據(jù):’1021’,’1021庫(kù)’,’50’,’小型

37、’,’夏蘭’,’2’,’2342432’,并執(zhí)行該語(yǔ)句增加數(shù)據(jù)。</p><p>  CREATE PROC ware1 @WID int,@Wname char(20),@Wtype int,@Wsq char(8),</p><p>  @Wad char(6),@Wdr char(20),@Wtele intAS</p><p>  INSERT into w

38、arehouse</p><p>  VALUES('1021','1021庫(kù)','50','小型','夏蘭','一號(hào)樓2室','2342432')</p><p>  exec ware1 '1021','1021庫(kù)','50',

39、'小型','夏蘭','一號(hào)樓2室','2342432'</p><p><b>  3)修改</b></p><p>  將supply表中的Stele數(shù)據(jù)更新為:3454367</p><p>  CREATE PROC xiu1 @Stele int as</p>

40、<p>  update supply</p><p>  SET Stele='123'+Stele</p><p>  WHERE Stele=3454367</p><p><b>  圖2.9</b></p><p><b>  執(zhí)行</b></p>

41、<p><b>  圖3.0</b></p><p><b>  4)刪除</b></p><p>  刪除取貨表中WID為1001的數(shù)據(jù):</p><p>  CREATE PROC shan1 @SID int as</p><p>  delete from 取貨表</p&g

42、t;<p>  WHERE WID='1001 '</p><p><b>  圖3.1</b></p><p>  執(zhí)行語(yǔ)句將取貨表中的WID=1001的一行刪除:</p><p><b>  圖3.2</b></p><p><b> ?。?5)觸發(fā)器&l

43、t;/b></p><p>  為表goods創(chuàng)建一個(gè)名為test_tr的觸發(fā)器,當(dāng)執(zhí)行添加,更新或刪除時(shí),激活該觸發(fā)器。</p><p>  CREATE TRIGGER test_tr</p><p>  ON goods FOR INSERT,UPDATE,DELETE</p><p><b>  AS</b>

44、;</p><p>  SELECT*FROM inserted</p><p>  SELECT*FROM deleted</p><p><b>  圖3.3</b></p><p>  當(dāng)goods執(zhí)行以下插入操作:</p><p>  INSERT INTO goods(GID,Gname

45、,Gsta,Gtype,Gpty,GSP,GDP)</p><p>  VALUES('-11','小剪子','小','小','23','200','300')</p><p><b>  (16)函數(shù)</b></p><p><

46、;b>  1)用戶定義函數(shù)</b></p><p>  CREATE FUNCTION goodsfun(@GID INT)</p><p>  RETURNS TABLE</p><p><b>  AS</b></p><p>  RETURNS TABLE</p><p>

47、  RETURN(SELECT Gname,Gpry,GSP,GDP</p><p>  FROM goods</p><p>  WHERE GID=@GID)</p><p>  通過(guò)調(diào)用創(chuàng)建的用戶定義函數(shù)goodfun執(zhí)行用戶定義函數(shù):</p><p><b>  2)程序控制語(yǔ)句</b></p>&

48、lt;p>  對(duì)于goods表,如果平均庫(kù)存少于5,WHILE循環(huán)將各記錄庫(kù)存增加1倍,再判斷最高庫(kù)存是否少于或等于300,是則WHILE循環(huán)重新啟動(dòng)并在此將各記錄庫(kù)存增加1倍。當(dāng)循環(huán)不斷地將庫(kù)存增加直到最高庫(kù)存超過(guò)300時(shí),然后退出WHILE循環(huán)。</p><p>  WHILE(SELECT avg(Gpty) FROM goods)<5</p><p><b>

49、  BEGIN</b></p><p>  UPDATE goods </p><p>  SET Gpty=Gpty*2</p><p>  SELECT max(Gpty)FROM goods</p><p>  IF(SELECT max(Gpty)FROM goods)>300</p><p>

50、;<b>  BEGIN </b></p><p>  PRINT'庫(kù)存過(guò)多,應(yīng)該該減少庫(kù)存!'</p><p><b>  BREAK</b></p><p><b>  END</b></p><p><b>  ELSE</b><

51、;/p><p><b>  CONTINUE</b></p><p><b>  END</b></p><p><b>  圖3.4</b></p><p><b>  六、設(shè)計(jì)體會(huì)</b></p><p>  一周的課程設(shè)計(jì),就要畫(huà)

52、上句號(hào)了,雖然在這期間有些不盡人意的事情發(fā)生,但總的來(lái)說(shuō),結(jié)果還算好的。我們的辛苦有了結(jié)果??粗@滿滿的程序運(yùn)行出的結(jié)果,心中有著說(shuō)不出的感覺(jué),像是完成了一項(xiàng)偉大任務(wù),松了口氣的同時(shí),也感覺(jué)到了濃濃的喜悅,</p><p>  這次的課程設(shè)計(jì)不僅檢驗(yàn)了我所學(xué)習(xí)的知識(shí),也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。從課程設(shè)計(jì)的開(kāi)始,我們便團(tuán)結(jié)一致,彼此協(xié)助,相互探討,相互學(xué)習(xí),相互監(jiān)督,盡每個(gè)

53、人的能力,把可以做的做到滿意,雖然中間有過(guò)爭(zhēng)吵,有過(guò)無(wú)奈,但在之后又能夠平心靜氣的坐在一起討論,這又讓我理解了合作與寬容的意義,最這次的課程設(shè)計(jì)又有了更深層次的理解。</p><p>  課程設(shè)計(jì)是我們專業(yè)課程知識(shí)綜合應(yīng)用的實(shí)踐訓(xùn)練,很大程度的提高了我們實(shí)戰(zhàn)能力,把理論與實(shí)踐結(jié)合起來(lái),這樣更可以幫助我們理解所學(xué)的知識(shí)。學(xué)習(xí)不能紙上談兵,應(yīng)用于實(shí)際中才有意義。這次的實(shí)習(xí)就充分的把倆者結(jié)合在一起,讓我們學(xué)以致用。不僅

54、如此,我們?cè)谟?jì)算的過(guò)程中,遇到了各種各樣的困難,這也使我們體會(huì)到了團(tuán)隊(duì)之間合作的重要性,分步討論,循序漸進(jìn),慢慢的解決,仔細(xì)的思考。鞏固了知識(shí),扎實(shí)了基礎(chǔ)。使我們?cè)跔?zhēng)相討論,各抒己見(jiàn)忙碌的同時(shí),溫故知新。努力的發(fā)揮出個(gè)人的水平,使這難得的一次機(jī)會(huì),幫助我們進(jìn)步,我們使用不同的方法,通過(guò)不同的途徑,這樣我們也可以達(dá)到同一目的 ,希望這樣可以使我們的課程設(shè)計(jì)能使我們自己滿意,也能夠達(dá)到老師的標(biāo)準(zhǔn)。</p><p> 

55、 這次的課程設(shè)計(jì)對(duì)于大學(xué)生活來(lái)說(shuō),是一項(xiàng)不可多得機(jī)會(huì),對(duì)于社會(huì)來(lái)說(shuō),我們還什么都不會(huì),什么都不懂,所以這種設(shè)計(jì)對(duì)于我們未來(lái)的工作和生活來(lái)說(shuō)都是一種鍛煉。我們?cè)谛@之中還不能夠接觸到很多的實(shí)際生活中的問(wèn)題,這次課程設(shè)計(jì)讓我了解了一個(gè)企業(yè)經(jīng)營(yíng)方面的一些數(shù)據(jù)庫(kù)知識(shí),為未來(lái)奠定了基礎(chǔ),希望在將來(lái)我還可以有這樣的機(jī)會(huì),讓我取得更多的進(jìn)步,學(xué)到更多的知識(shí)。最后感謝老師給予我們的幫助,耐心的指引我們向前。</p><p>  

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論