數(shù)據(jù)庫課程設(shè)計(jì)-中小型企業(yè)進(jìn)銷存管理系統(tǒng)_第1頁
數(shù)據(jù)庫課程設(shè)計(jì)-中小型企業(yè)進(jìn)銷存管理系統(tǒng)_第2頁
數(shù)據(jù)庫課程設(shè)計(jì)-中小型企業(yè)進(jìn)銷存管理系統(tǒng)_第3頁
數(shù)據(jù)庫課程設(shè)計(jì)-中小型企業(yè)進(jìn)銷存管理系統(tǒng)_第4頁
數(shù)據(jù)庫課程設(shè)計(jì)-中小型企業(yè)進(jìn)銷存管理系統(tǒng)_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1. 需求分析1.1 問題的提出傳統(tǒng)的信息傳遞和管理方式不僅效率低, 可靠性、安全性和保密性也無法滿足要求, 而且數(shù)據(jù)統(tǒng)計(jì)時(shí)間嚴(yán)重滯后, 往往是當(dāng)領(lǐng)導(dǎo)了解到企業(yè)的 “進(jìn)、銷、存”出現(xiàn)問題時(shí), 早已產(chǎn)生了嚴(yán)重的后果。即使是沒有分公司的企業(yè),使用傳統(tǒng)的手工放肆管理也存在同樣的問題:信息化不足,計(jì)算機(jī)使用率低,大量的日常工作皆是手工處理,導(dǎo)致工作效率低落,企業(yè)內(nèi)部溝通不良等等問題很難克服,倉庫管理很不合理,不能及時(shí)根據(jù)需要調(diào)整庫存。而且在手工管理的情況下,銷售人員很難對客戶做出正確的供貨承諾,同時(shí)企業(yè)的生產(chǎn)部門也缺少一份準(zhǔn)確的生產(chǎn)計(jì)劃,目前的生產(chǎn)狀況和市場的需求很難正確反映到生產(chǎn)中去。這在激烈的市場

2、中是非常不利的。1.2 問題分析傳統(tǒng)的信息傳遞和管理方式不僅效率低, 可靠性、安全性和保密性也無法滿足要求, 而且數(shù)據(jù)統(tǒng)計(jì)時(shí)間嚴(yán)重滯后, 往往是當(dāng)領(lǐng)導(dǎo)了解到企業(yè)的 “進(jìn)、銷、存”出現(xiàn)問題時(shí), 早已產(chǎn)生了嚴(yán)重的后果。使用傳統(tǒng)的手工放肆管理也存在同樣的問題:信息化不足,計(jì)算機(jī)使用率低,大量的日常工作皆是手工處理,導(dǎo)致工作效率低落,企業(yè)內(nèi)部溝通不良等等問題很難克服,倉庫管理很不合理,不能及時(shí)根據(jù)需要調(diào)整庫存。而且在手工管理的情況下,銷售人員很難對客戶做出正確的供貨承諾,同時(shí)企業(yè)的生產(chǎn)部門也缺少一份準(zhǔn)確的生產(chǎn)計(jì)劃,目前的生產(chǎn)狀況和市場的需求很難正確反映到生產(chǎn)中去。這在激烈的市場中是非常不利的。通過本次

3、數(shù)據(jù)庫的課程設(shè)計(jì)具體要求,結(jié)合當(dāng)前社會(huì)中小型企業(yè)進(jìn)銷存數(shù)據(jù)管理的一些普遍問題,我們認(rèn)為本次設(shè)計(jì)的數(shù)據(jù)庫系統(tǒng)需要有以下功能:(1)要求系統(tǒng)具有良好的可視化界面。(2)如果系統(tǒng)的使用對象(包括用戶和系統(tǒng)管理員)較多,則要求有較好的權(quán)限管理。(3)方便的數(shù)據(jù)查詢,可能需要建立某些索引,支持多條件查詢。(4)每一次進(jìn)貨和銷售必須有對應(yīng)的唯一編號作為記錄。(5)保證采購部門與客戶和供應(yīng)商往來賬本明細(xì),絕不存在假賬、漏賬、差賬等情況。(6)對商品的存放管理,包括庫存數(shù)量以及存放的倉庫等。(7)當(dāng)外界環(huán)境(停電、網(wǎng)絡(luò)病毒)干擾本系統(tǒng)時(shí),系統(tǒng)可以自動(dòng)保護(hù)原始數(shù)據(jù)的安全。(8)在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡單、

4、數(shù)據(jù)穩(wěn)定性強(qiáng)。(9)若采購部門臨時(shí)退訂或者是客戶臨時(shí)退單,系統(tǒng)也應(yīng)能做出相應(yīng)反饋。 以訂單為依據(jù)進(jìn)行生產(chǎn)的實(shí)業(yè)公司的主要流程是:接到一張銷售訂單,由銷售部門轉(zhuǎn)化為采購訂單,轉(zhuǎn)給采購部門,采購部門根據(jù)訂單上的產(chǎn)品、數(shù)量,技術(shù)部已經(jīng)配好的物料清單,及各車間半成品儲存量,匯總材料需求,然后根據(jù)庫存情況決定請購及預(yù)約情況,采購部門根據(jù)請購單下采購單,然后材料入庫,在手工操作的條件下,各個(gè)部門之間的溝通困難,比如,當(dāng)采購部下完采購訂單之后,倉庫是否如期到貨,必須去倉庫詢問,而且即使詢問了,有時(shí)候因?yàn)橛唵屋^多材料有可能重復(fù),而無法確定是哪一張采購單到貨,哪一張沒有到貨,再例如,銷售部門下過內(nèi)部訂單之后,就

5、容易了解到這個(gè)單子上的這批貨物到底處于什么狀態(tài),是已發(fā)完,還是未發(fā),生產(chǎn)是否完畢等,要無數(shù)次的詢問倉庫和生產(chǎn)部門才能了解到部分情況,等等,這一系列的問題迫待解決,隨著經(jīng)濟(jì)的全球化以及中國經(jīng)濟(jì)改革的逐漸深化,制造業(yè)面臨著越來越激烈的競爭,改善企業(yè)內(nèi)部以及整個(gè)供應(yīng)鏈各個(gè)環(huán)節(jié)的管理、調(diào)度及資源配置,迅速適應(yīng)客戶的新需求和市場新機(jī)遇的能力,是中國企業(yè)贏得競爭勝利的決定性因素,如何快速有效地實(shí)現(xiàn)跟單,如何有效的控制庫存,這一切都是本進(jìn)銷存管理系統(tǒng)所力求實(shí)現(xiàn)的功能。從根本上說,企業(yè)就是一個(gè)利用資源(人、財(cái)、物、時(shí)間),為客戶創(chuàng)造價(jià)值的組織,企業(yè)資源計(jì)劃就是對這些資源進(jìn)行計(jì)劃、調(diào)度、控制、衡量、改進(jìn)的管理技

6、術(shù)和信息系統(tǒng)?,F(xiàn)今的企業(yè)并不只是人力資源、資金和產(chǎn)品的組合,它還應(yīng)該包括供應(yīng)、銷售、市場營銷、客戶服務(wù)、需求預(yù)測,以及其他更多的東西。如果一個(gè)企業(yè)資源計(jì)劃系統(tǒng)系統(tǒng)真正想要最大限度地提高其生產(chǎn)能力,它必須能夠非常融洽地和其他關(guān)鍵性的商務(wù)領(lǐng)域進(jìn)行交流。2系統(tǒng)設(shè)計(jì)目標(biāo)21 系統(tǒng)設(shè)計(jì)的長遠(yuǎn)目標(biāo)1 系統(tǒng)運(yùn)行集成化:這是系統(tǒng)成功在技術(shù)解決方案方面最基本的表現(xiàn)。系統(tǒng)是對企業(yè)物流、資金流、信息流進(jìn)行一體化管理的軟件系統(tǒng),其核心管理思想就是實(shí)現(xiàn)對“供應(yīng)鏈(Supply Chain)”的管理。軟件的應(yīng)用將跨越多個(gè)部門甚至多個(gè)企業(yè)。為了達(dá)到預(yù)期設(shè)定的應(yīng)用目標(biāo),最基本的要求是系統(tǒng)能夠運(yùn)行起來,實(shí)現(xiàn)集成化應(yīng)用,建立企業(yè)

7、決策完善的數(shù)據(jù)體系和信息共享機(jī)制。 一般來說,如果系統(tǒng)僅在財(cái)務(wù)部門應(yīng)用,只能實(shí)現(xiàn)財(cái)務(wù)管理規(guī)范化、改善應(yīng)收帳款和資金管理;僅在銷售部門應(yīng)用,只能加強(qiáng)和改善營銷管理;僅在庫存管理部門應(yīng)用,只能幫助掌握存貨信息;僅在生產(chǎn)部門應(yīng)用只能輔助制定生產(chǎn)計(jì)劃和物資需求計(jì)劃。只有集成一體化運(yùn)行起來,才有可能達(dá)到:降低庫存,提高資金利用率和控制經(jīng)營風(fēng)險(xiǎn);控制產(chǎn)品生產(chǎn)成本,縮短產(chǎn)品生產(chǎn)周期;提高產(chǎn)品質(zhì)量和合格率;減少財(cái)務(wù)壞帳、呆帳金額等。這些目標(biāo)能否真正達(dá)到,還要取決于企業(yè)業(yè)務(wù)流程重組的實(shí)施效果。2業(yè)務(wù)流程合理化:這是系統(tǒng)成功在改善管理效率方面的體現(xiàn)。系統(tǒng)成功的前提是必須對企業(yè)實(shí)施業(yè)務(wù)流程重組,因此,企業(yè)資源計(jì)劃應(yīng)

8、用成功也即意味著企業(yè)業(yè)務(wù)處理流程趨于合理化,并實(shí)現(xiàn)了企業(yè)資源計(jì)劃應(yīng)用的以下幾個(gè)最終目標(biāo):企業(yè)競爭力得到大幅度提升;企業(yè)面對市場的響應(yīng)速度大大加快;客戶滿意度顯著改善。3績效監(jiān)控動(dòng)態(tài)化:企業(yè)資源計(jì)劃的應(yīng)用,將為企業(yè)提供豐富的管理信息。如何用好這些信息并在企業(yè)管理和決策過程中真正起到作用,是衡量企業(yè)資源計(jì)劃應(yīng)用成功的另一個(gè)標(biāo)志。在企業(yè)資源計(jì)劃系統(tǒng)完全投入實(shí)際運(yùn)行后,企業(yè)應(yīng)根據(jù)管理需要,利用企業(yè)資源計(jì)劃系統(tǒng)提供的信息資源設(shè)計(jì)出一套動(dòng)態(tài)監(jiān)控管理績效變化的報(bào)表體系,以期即時(shí)反饋和糾正管理中存在的問題。這項(xiàng)工作,一般是在企業(yè)資源計(jì)劃系統(tǒng)實(shí)施完成后由企業(yè)設(shè)計(jì)完成。企業(yè)如未能利用企業(yè)資源計(jì)劃系統(tǒng)提供的信息資源

9、建立起自己的績效監(jiān)控系統(tǒng),將意味著企業(yè)資源計(jì)劃系統(tǒng)應(yīng)用沒有完全成功。4合理改善持續(xù)化:隨著企業(yè)資源計(jì)劃系統(tǒng)的應(yīng)用和企業(yè)業(yè)務(wù)流程的合理化,企業(yè)管理水平將會(huì)明顯提高。為了衡量企業(yè)管理水平的改善程度,可以依據(jù)管理咨詢公司提供的企業(yè)管理評價(jià)指標(biāo)體系對企業(yè)管理水平進(jìn)行綜合評價(jià)。評價(jià)過程本身并不是目的,為企業(yè)建立一個(gè)可以不斷進(jìn)行自我評價(jià)和不斷改善管理的機(jī)制,才是真正目的。這也是ERP 應(yīng)用成功的一個(gè)經(jīng)常不被人們重視的標(biāo)志。22 系統(tǒng)設(shè)計(jì)近期目標(biāo)1.在提高企業(yè)經(jīng)濟(jì)效益、增強(qiáng)企業(yè)市場競爭力方面:提高客戶服務(wù)效益, 降低客戶服務(wù)成本;提高物料管理效益, 降低物料管理成本;提高生產(chǎn)管理效益, 降低生產(chǎn)管理成本;提

10、高質(zhì)量效益, 降低質(zhì)量成本;提高采購效益, 降低采購成本;提高生產(chǎn)效益,降低生產(chǎn)成本;提高用料效率,降低用料成本;提高庫存效率,降低庫存成本。2. 在系統(tǒng)應(yīng)用方面:降低企業(yè)信息系統(tǒng)的總體擁有與使用成本,增強(qiáng)企業(yè)活力:提高處理效率,降低硬件成本;提供友好界面,降低培訓(xùn)成本;提供靈活接口,降低擴(kuò)充成本;提高使用效率,降低作業(yè)成本;提高溝通效率,降低溝通成本;提高維護(hù)效率,降低維護(hù)成本;加強(qiáng)系統(tǒng)糾錯(cuò),降低失誤成本;提高數(shù)據(jù)安全,降低保密成本。系統(tǒng)設(shè)計(jì)近期的目標(biāo)是實(shí)現(xiàn)企業(yè)進(jìn)銷存管理系統(tǒng)的系統(tǒng)化,規(guī)范化和自動(dòng)化。(1)建立基本資料信息庫,規(guī)范所有資料信息。(2)物料控制半自動(dòng)化,加強(qiáng)了各個(gè)部門之間的聯(lián)系

11、。(3)高庫存管理的服務(wù)水平,最大限度地降低庫存量,包括中間庫存和在制品的庫存,以減少在庫存上的資金積壓。(4)最大限度的保證訂貨任務(wù)的按期完成。(5)提高計(jì)劃的可能性,實(shí)現(xiàn)均衡生產(chǎn):(6)集成管理職能,提高管理效率。3系統(tǒng)總體設(shè)計(jì)31 系統(tǒng)設(shè)計(jì)思想此系統(tǒng)為中小型企業(yè)量身定做,以訂單貫穿始終的進(jìn)銷存系統(tǒng),系統(tǒng)設(shè)計(jì)如下:1. 以訂單流為主線,以銷售訂購,將物流、訂單流、信息流有機(jī)結(jié)合的完美系統(tǒng);2. 能對不同產(chǎn)品進(jìn)行分類管理及相應(yīng)的貨位管理;3. 是真正的B/S架構(gòu),簡單易用的應(yīng)用級系統(tǒng);4. 模塊化處理,方便升級更新;5.系統(tǒng)客戶端運(yùn)行在windows 平臺下,服務(wù)端可以在Windows 平臺

12、或UNIX 平臺下。系統(tǒng)還應(yīng)該有個(gè)較好的圖形用戶界面。系統(tǒng)應(yīng)該有很好的可擴(kuò)展性。頂層數(shù)據(jù)流程圖,表示系統(tǒng)從客戶那里接受訂購要求,把貨發(fā)給顧客。當(dāng)貨存不足時(shí),企業(yè)便向供貨商發(fā)出訂貨要求,以滿足銷售的需要。但是該圖沒有反映數(shù)據(jù)的具體流向,只是高度概括地反映了企業(yè)的業(yè)務(wù),需要做進(jìn)一步擴(kuò)展。頂層數(shù)據(jù)流程圖如圖3-3所示: 如圖3-4所示是擴(kuò)展后的第二層數(shù)據(jù)流程圖。主要外部項(xiàng)有兩個(gè):客戶和供應(yīng)商。當(dāng)顧客的訂貨要求被接受以后,就要按照顧客所購商品以及需要的數(shù)量查找?guī)齑媪?,確定是否能夠滿足顧客的訂貨要求。如果能夠完全滿足,就給庫存部門發(fā)銷售出庫信息,給客戶發(fā)貨,并修改相應(yīng)的商品庫存量。如果只能滿足一部分或完

13、全不能滿足顧客要求,就把不能滿足的商品記錄下來,并通知生產(chǎn)部門進(jìn)行生產(chǎn)。如果原料不足則向供應(yīng)商發(fā)出采購請求,供應(yīng)商接到訂貨要求,把原料發(fā)過來,庫存部門進(jìn)行入庫,修改庫存量,并進(jìn)行付款。 根據(jù)以上對系統(tǒng)功能的需求分析,進(jìn)銷存管理系統(tǒng)的模塊可包含以下功能: 采購管理模塊:進(jìn)行商品采購入庫,商品采購?fù)素?,進(jìn)/退單據(jù)錄入,歷史采購查詢,原料采購查詢,業(yè)務(wù)員采購查詢,采購單完成情況銷售管理模塊:進(jìn)行成品銷售,銷售單據(jù)和當(dāng)前庫存查詢,與客戶的往來帳務(wù),庫存查詢及訂單審核,產(chǎn)生缺貨數(shù)量庫存管理模塊:進(jìn)行入庫劃碼,出庫劃碼,出/入庫單據(jù)錄入,劃碼單查詢,出入庫統(tǒng)計(jì),實(shí)時(shí)庫存數(shù)量查詢基本信息設(shè)置:商品信息, 供

14、貨商, 客戶, 員工, 倉庫等基本參數(shù)的設(shè)置及信息的添加。3.2.3 E-R圖 圖2-3 系統(tǒng)結(jié)構(gòu)圖3.4 各功能模塊分析3.4.1 采購管理新增采購訂單、采購訂單查詢、采購單查詢、采購?fù)素洝⒉少徝骷?xì)表、貨品采購匯總表、供應(yīng)商采購匯總表、采購訂單完成情況、采購覆蓋采購的各個(gè)環(huán)節(jié)。企業(yè)通過虛擬的在線貨品目錄,迅速而實(shí)時(shí)的訪問貨品信息;通過價(jià)格和品質(zhì)的比較,選定產(chǎn)品供應(yīng)商。采購包括采購訂單、新建采購、供應(yīng)商管理和添加供應(yīng)商。采購訂單能夠查詢所有采購訂單以其查詢特定條件的采購訂單。新建采購能夠直接創(chuàng)建一條采購訂單。供應(yīng)商管理能夠查看、查詢、編輯、添加以及刪除供應(yīng)商信息。添加供應(yīng)商可以添加一個(gè)供應(yīng)商的

15、信息。新增銷售訂單、銷售訂單查詢、新增銷售單、銷售單查詢、銷售退貨、銷售明細(xì)表、貨品銷售匯總表、客戶銷售匯總表、銷售訂單完成情況、銷售覆蓋企業(yè)銷售的各個(gè)環(huán)節(jié)。通過銷售訂單錄入與變更。根據(jù)貨品報(bào)價(jià)和銷售數(shù)量自動(dòng)開出銷售發(fā)票,根據(jù)發(fā)貨單產(chǎn)生結(jié)算憑證和收貨單。銷售包括銷售訂單、新建銷售、客戶管理和添加客戶。銷售訂單能夠查詢所有銷售訂單以其查詢特定條件的銷售訂單。新建銷售能夠直接創(chuàng)建一條銷售訂單??蛻艄芾砟軌虿榭础⒉樵?、編輯、添加以及刪除客戶信息。添加客戶可以添加一個(gè)客戶的信息。新增入庫單、新增出庫單、倉庫調(diào)撥、庫存盤點(diǎn)、貨品調(diào)價(jià)以及業(yè)務(wù)審核等期末業(yè)務(wù)處理功能,業(yè)務(wù)期末結(jié)算為財(cái)務(wù)期末結(jié)算做了必要的鋪墊

16、作用。庫存包括庫存數(shù)據(jù)、采購入庫、銷售出庫、新建調(diào)劑和配置倉庫。庫存能夠查詢所有倉庫或者指定某個(gè)倉庫的商品庫存情況,也可以查詢特定商品的庫存情況。采購入庫是在采購?fù)瓿珊?,把商品登記入庫。銷售出庫是在銷售完成后,把商品登記出庫。新建調(diào)劑是將商品在不同倉庫之間調(diào)劑。配置倉庫可以初始化倉庫信息以及編輯、更改和刪除倉庫信息。往來單位資料、貨品資料、員工信息、倉庫資料、計(jì)量單位、賬戶信息、公司信息、用戶可以快速、直觀地查詢所需要的數(shù)據(jù)資料。操作員管理、系統(tǒng)設(shè)置、數(shù)據(jù)初始化系統(tǒng)管理是整個(gè)系統(tǒng)的門戶,在系統(tǒng)的安全性上起到了不可估量的作用。各種信息要求盡量全面詳細(xì),使管理變得更輕松更有效。系統(tǒng)設(shè)置包括系統(tǒng)信息

17、和管理權(quán)限。系統(tǒng)信息用于設(shè)置和顯示系統(tǒng)時(shí)區(qū)、用戶信息等。管理權(quán)限可以管理系統(tǒng)用戶的權(quán)限4、代碼實(shí)現(xiàn)根據(jù)需求實(shí)現(xiàn)代碼,使用平臺為Java, 編譯器為eclipse ,數(shù)據(jù)庫為SQL Server 2008,主要負(fù)責(zé)邏輯代碼實(shí)現(xiàn)。部分代碼如下:4.1數(shù)據(jù)庫連接和對檢驗(yàn)表查詢的相關(guān)相關(guān)代碼:package zzk.Test1;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;class DaoConnString numberone=new String30;String numbertw

18、o=new String30;String pass=new String30;String Goods_Name=new String30;float price=new float30;int i=0;static int n;public DaoConn(/System.out.println("3"String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver"/SQL數(shù)據(jù)庫引擎 String connectDB="jdbc:sqlserver:/127.0.0.1:1433;D

19、atabaseName=中小型企業(yè)進(jìn)銷存管理系統(tǒng)"/數(shù)據(jù)源注意IP 地址和端口號,數(shù)據(jù)庫名字!tryClass.forName(JDriver;/加載數(shù)據(jù)庫引擎,返回給定字符串名的類catch(ClassNotFoundException e/e.printStackTrace(;System.out.println("加載數(shù)據(jù)庫引擎失敗"System.exit(0;System.out.println("數(shù)據(jù)庫驅(qū)動(dòng)成功"tryString user="毛建國"/你自己創(chuàng)建的用戶名字和密碼! String password=

20、"123"Connection con=DriverManager.getConnection(connectDB,user,password;/連接數(shù)據(jù)庫對象System.out.println("連接數(shù)據(jù)庫成功"Statement stmt=con.createStatement(;/創(chuàng)建SQL 命令對象/創(chuàng)建表switch(ncase 1:/ System.out.println("6"System.out.println("查詢"System.out.println("開始讀取數(shù)據(jù)"Re

21、sultSet rs1=stmt.executeQuery("SELECT * FROM 檢驗(yàn) "/返回SQL 語句查詢結(jié)果集(集合/循環(huán)輸出每一條記錄while(rs1.next(/輸出每個(gè)字段numberonei=rs1.getString("檢驗(yàn)單編號"passi=rs1.getString("合格與否"i+;/ System.out.println(rs1.getString("檢驗(yàn)單編號"+"t"+rs1.getString("合格與否"System.out.pri

22、ntln("讀取完畢"/關(guān)閉連接stmt.close(;/關(guān)閉命令對象連接con.close(;/關(guān)閉數(shù)據(jù)庫連接break;case 2:System.out.println("查詢"System.out.println("開始讀取數(shù)據(jù)"ResultSet rs2=stmt.executeQuery("SELECT * FROM 商品 "/返回SQL 語句查詢結(jié)果集(集合/循環(huán)輸出每一條記錄while(rs2.next(/輸出每個(gè)字段numbertwoi=rs2.getString("商品編號"

23、Goods_Namei=rs2.getString("商品名稱"pricei=rs2.getFloat("成本"i+;System.out.println(rs2.getString("商品編號"+"t"+rs2.getString("商品名稱"+"t"+rs2.getFloat("成本" System.out.println("讀取完畢"/關(guān)閉連接stmt.close(;/關(guān)閉命令對象連接con.close(;/關(guān)閉數(shù)據(jù)庫連接brea

24、k;catch(SQLException ee.printStackTrace(;/System.out.println("數(shù)據(jù)庫連接錯(cuò)誤"System.exit(0;界面截圖: 4.2數(shù)據(jù)庫登陸界面相關(guān)相關(guān)代碼:package zzk.Test1;import java.awt.*;import java.awt.event.*;import java.sql.Connection;import javax.swing.*;import javax.swing.event.AncestorListener;public class LoginFrame extends J

25、FrameJFrame jf=new JFrame("登錄系統(tǒng)"JPanel contentPane=new JPanel(;JPanel p1=new JPanel(;JPanel p2=new JPanel(;JPanel p3=new JPanel(;JPanel p4=new JPanel(;JPanel p5=new JPanel(;String username;static String passwd;JLabel name=new JLabel("用戶名:"static JTextField nametext=new JTextField

26、(8;JLabel pwd=new JLabel("密碼:"JPasswordField password=new JPasswordField(8;JButton login=new JButton("登錄"LoginFrame(String ssuper(s;jf.setContentPane(contentPane;jf.setSize(500,400;jf.setBackground(Color.gray;setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE; jf.setResizable(false;jf

27、.setVisible(true;init(;void init(contentPane.setLayout(new GridLayout(7,0;contentPane.add(p1;contentPane.add(p2;contentPane.add(p3;contentPane.add(p4;contentPane.add(p5;JLabel wel=new JLabel("歡迎進(jìn)入企業(yè)進(jìn)銷存管理系統(tǒng)" wel.setFont(new Font("斜體",Font.ITALIC,35; wel.setForeground(Color.blue;JL

28、abel role=new JLabel("用戶登錄:"role.setFont(new Font("斜體",Font.BOLD,15; role.setForeground(Color.black;p1.add(wel;/ 布局p2.setLayout(new GridLayout(1,4;CheckboxGroup cbg=new CheckboxGroup(;p2.add(role;p2.add(new Checkbox("倉庫管理員",cbg,true; / p2.add(new JLabel(;p2.add(new Chec

29、kbox("采購管理員",cbg,false; p2.add(new Checkbox("銷售管理員",cbg,false;p3.add(name;p3.add(nametext;p4.add(pwd;p4.add(password;p5.add(login;login.addActionListener(new ButtonListener(;p1.setOpaque(false;p2.setOpaque(false;p3.setOpaque(false;p4.setOpaque(false;p5.setOpaque(false;class Butto

30、nListener implements ActionListenerpublic void actionPerformed(ActionEvent eif(e.getSource(=loginTestFrame tf=new TestFrame(;System.out.println("1"public static void main(String args new LoginFrame("歡迎登陸"界面截圖: 1. 供應(yīng)商表:create table 供應(yīng)商(供應(yīng)商編號 char(20 primary key,供應(yīng)商名稱 char(20 not n

31、ull,供應(yīng)商聯(lián)系人 char(8,地址 char(20,固話 char(18,手機(jī) char(11 not null,Email char(20;供應(yīng)商表截圖: 2. 客戶表:create table 客戶(客戶編號 char(20 primary key,客戶名稱 char(20,客戶聯(lián)系人 char(8,地址 char(20,固話 char(18,手機(jī) char(11 not null,Email char(20;客戶表截圖: 3. 商品表:create table 商品(商品編號 char(20 primary key,商品名稱 char(20,成本 float;商品表截圖: 4. 部

32、門表:create table 部門(部門編號 char(10 primary key,部門名稱 char(10 not null,部門經(jīng)理 char(6,固話 char(20;部門表截圖: 5. 倉庫表:create table 倉庫(倉庫編號 char(10 primary key,倉庫主任 char(10 not null,倉庫地址 char(20,固話 char(20;倉庫表截圖: 6. 職工表:create table 職工(職工編號 char(20 primary key,姓名 char(10 not null,年齡 int not null,職稱 char(10 not null

33、,領(lǐng)導(dǎo)編號 char(20,部門編號 char(10,foreign key (領(lǐng)導(dǎo)編號 references 職工(職工編號,foreign key (部門編號 references 部門(部門編號;職工表截圖: 7. 采購表:create table 采購(采購單號 char(20 primary key,供應(yīng)商編號 char(20,商品編號 char(20,部門編號 char(10,采購員編號 char(20,采購數(shù)量 int not null,采購單價(jià) float not null,采購日期 datetime,foreign key (供應(yīng)商編號 references 供應(yīng)商(供應(yīng)商編

34、號, foreign key (商品編號 references 商品(商品編號, foreign key (部門編號 references 部門(部門編號, foreign key (采購員編號 references 職工(職工編號 ;采購表截圖: 8. 銷售表:create table 銷售(銷售單號 char(20 primary key,客戶編號 char(20,商品編號 char(20,部門編號 char(10,銷售員編號 char(20,銷售數(shù)量 int not null,銷售單價(jià) float not null,銷售日期 datetime,foreign key (客戶編號 refe

35、rences 客戶(客戶編號, foreign key (商品編號 references 商品(商品編號, foreign key (部門編號 references 部門(部門編號, foreign key (銷售員編號 references 職工(職工編號 ;銷售表截圖: 9. 庫存表:create table 庫存( 商品編號 char(20, 倉庫編號 char(10, 庫存數(shù)量 int not null,primary key(商品編號, 倉庫編號 ;庫存表截圖: 10. 檢驗(yàn)表:create table 檢驗(yàn)(檢驗(yàn)單編號 char(20 primary key, 合格與否 char(

36、8 not null,foreign key (檢驗(yàn)單編號 references 采購(采購單號 ;檢驗(yàn)表截圖: 11. 退單表:create table 退單(退貨單號 char(20 primary key, 退貨數(shù)量 int not null, 退貨日期 datetime, 退貨原因 char(20,foreign key (退貨單號 references 銷售(銷售單號 ;退單表截圖: 5、最終實(shí)現(xiàn)5.1 觸發(fā)器:【采購表】(1)創(chuàng)建采購表的插入的觸發(fā)器:create trigger t_purchase on 采購 for insert asbegindeclare 采購 char(

37、20select 采購=采購單號 from inserted if exists (select *from 采購where 采購. 采購單號=采購 update 部門 set 業(yè)務(wù)記錄次數(shù)=業(yè)務(wù)記錄次數(shù)+1 where 部門編號='01' end在采購表插入元組:insert into 采購 values('20120031','20090033','20130020','01','20110028',20,20,'2013-07-07 18:00:00' 插入前: 在采購表插入元

38、組插入后: (2)創(chuàng)建采購表的刪除的觸發(fā)器:create trigger t_purchase_down5 on 采購 for delete asbeginupdate 部門 set 業(yè)務(wù)記錄次數(shù)=業(yè)務(wù)記錄次數(shù)-1 where 部門編號='01' end在采購表刪除元組:delete from 采購 where 采購單號 ='20120031' 在采購表刪除元組后:(3)創(chuàng)建采購表的插入的觸發(fā)器create trigger t_store on 采購 創(chuàng)建采購表的插入的觸發(fā)器 for insert as begindeclare 采購 char(20,商品編號

39、char(20select 采購=采購數(shù)量,商品編號=商品編號 from insertedupdate 庫存 set 庫存數(shù)量=庫存數(shù)量+采購 where 商品編號=商品編號 end在采購表插入元組:insert into 采購 values ('20120031','20090033','20130020','01','20110028',20,20,'2013-07-07 18:00:00'在采購表插入元組之后: 【銷售表】(1)創(chuàng)建銷售表的插入的觸發(fā)器:create trigger t_sel

40、l on 銷售 for insert as begindeclare 銷售 char(20select 銷售=銷售單號 from inserted if exists (select *from 銷售where 銷售. 銷售單號=銷售 update 部門 set 業(yè)務(wù)記錄次數(shù)=業(yè)務(wù)記錄次數(shù)+1 where 部門編號='02' end在銷售表插入元組:insert into 銷售 values('20100031','0002','20130001','02','20110003',10,20,

41、9;2013-07-07 08:00:00'在銷售表插入元組之后: (2)創(chuàng)建銷售表的刪除的觸發(fā)器:create trigger t_sell_down5 on 銷售 for delete as beginupdate 部門 set 業(yè)務(wù)記錄次數(shù)=業(yè)務(wù)記錄次數(shù)-1 where 部門編號='02' end在銷售表刪除元組:delete from 銷售 where 銷售單號 ='20100031'在銷售表刪除元組之后: (3)創(chuàng)建銷售表的插入的觸發(fā)器:create trigger t_sell on 銷售 for inserted as begindecla

42、re 銷售 char(20,商品編號 char(20select 銷售=銷售數(shù)量,商品編號=商品編號 from insertedupdate 庫存 set 庫存數(shù)量=庫存數(shù)量-銷售 where 商品編號=商品編號 end在銷售表插入元組: insert into 銷售 values('20100031','0002','20130001','02','20110003',10,20,'2013-07-07 08:00:00'在銷售表插入元組之后: 5.2 視圖:(1)create view Good

43、s1(商品名稱, 銷售單價(jià), 庫存數(shù)量 asselect 商品名稱, 銷售單價(jià), 庫存數(shù)量 from 商品, 銷售, 庫存where 商品. 商品編號=銷售. 商品編號 and 商品. 商品編號=庫存. 商品編號; select *from Goods1; (2)create view Goods2(商品編號, 商品名稱, 采購單價(jià), 庫存數(shù)量, 供應(yīng)商編號 asselect 商品. 商品編號, 商品名稱, 采購單價(jià), 庫存數(shù)量, 供應(yīng)商編號 from 商品, 采購, 庫存where 商品. 商品編號=采購. 商品編號 and 商品. 商品編號=庫存. 商品編號; select *from G

44、oods2; (3)create view Suppliers1(供應(yīng)商編號, 供應(yīng)商名稱, 供應(yīng)商聯(lián)系人, 商品名稱, 固話, 手機(jī), 地址 asselect 供應(yīng)商. 供應(yīng)商編號, 供應(yīng)商名稱, 供應(yīng)商聯(lián)系人, 商品名稱, 固話, 手機(jī), 地址 from 采購, 供應(yīng)商, 商品where 采購. 供應(yīng)商編號=供應(yīng)商. 供應(yīng)商編號 and 商品. 商品編號=采購. 商品編號;select *from Suppliers1; (4)create view Customer1(客戶名稱, 客戶聯(lián)系人, 固話, 手機(jī), 地址 asselect 客戶名稱, 客戶聯(lián)系人, 固話, 手機(jī), 地址 fro

45、m 客戶; select *from Customer1; (5)create view CusBuy(客戶名稱, 商品名稱, 銷售數(shù)量, 銷售日期 asselect 客戶名稱, 商品名稱, 銷售數(shù)量, 銷售日期 from 客戶, 銷售, 商品where 客戶. 客戶編號=銷售. 客戶編號 and 商品. 商品編號=銷售. 商品編號;select *from CusBuy; (6)create view PreIncome(商品編號, 商品名稱, 采購單價(jià), 銷售單價(jià), 銷售數(shù)量 asselect 商品. 商品編號, 商品名稱, 采購單價(jià), 銷售單價(jià), 銷售數(shù)量 from 采購, 銷售, 商品

46、where 采購. 商品編號=商品. 商品編號 and 商品. 商品編號=銷售. 商品編號;select *from PreIncome; 5.3 索引:1. 供應(yīng)商表:按供應(yīng)商名稱升序建非聚簇索引;create index 供應(yīng)商 on 供應(yīng)商(供應(yīng)商名稱 asc;原因:在實(shí)際生活中大多數(shù)情況我們是知道供應(yīng)商名稱而不一定能知道供應(yīng)商編號,所以可以針對供應(yīng)商名稱建立輔助索引方便查詢。2. 客戶表:按客戶名稱升序建非聚簇索引;create index 客戶 on 客戶(客戶名稱 asc;原因:在實(shí)際生活中大多數(shù)情況我們是知道客戶名稱而不一定能知道客戶編號,所以可以針對客戶名稱建立輔助索引方便查詢。3. 商品表:按商品名稱升序建非聚簇索引;create index 商品 on 商品(商品名稱 asc;原因:在實(shí)際生活中大多數(shù)情況我們是知道商品名稱而不一定能知道商品編號,所以可以針對商品名稱建立輔助索引方便查詢。4. 部門表:按部門名稱升序建非聚簇索引;create index 部門 on 部門(部門名稱 asc;原因:在實(shí)際生活中大多數(shù)情況我們是知道部門名稱而不一定能知道部門編號,所以可以針對部門名稱建立輔助索引方便查詢。5. 倉庫表:按倉庫地址升序建非聚簇索引;create

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論