供應(yīng)管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)論文_第1頁(yè)
供應(yīng)管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)論文_第2頁(yè)
供應(yīng)管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)論文_第3頁(yè)
供應(yīng)管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)論文_第4頁(yè)
供應(yīng)管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)論文_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE PAGE1供應(yīng)管理系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)TOC\o"1-3"\h\z摘要 2Abstract 31系統(tǒng)概況 41.1系統(tǒng)開(kāi)發(fā)背景 41.2系統(tǒng)開(kāi)發(fā)意義 42系統(tǒng)需求分析 42.1系統(tǒng)功能劃分 52.2子系統(tǒng)業(yè)務(wù)流程 62.3系統(tǒng)數(shù)據(jù)流圖 93系統(tǒng)設(shè)計(jì) 123.1系統(tǒng)功能設(shè)計(jì) 123.1.1倉(cāng)庫(kù)管理子系統(tǒng) 133.1.2合同管理子系統(tǒng) 143.1.3供應(yīng)人員管理子系統(tǒng) 143.1.4供應(yīng)商管理子系統(tǒng) 153.2數(shù)據(jù)庫(kù)設(shè)計(jì) 153.2.1數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí) 153.2.2數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì) 164系統(tǒng)實(shí)現(xiàn) 194.1系統(tǒng)開(kāi)發(fā)工具介紹 194.1.1數(shù)據(jù)庫(kù)工具(MSSQLServer2000)介紹 194.1.2VB.NET介紹 194.2系統(tǒng)實(shí)現(xiàn) 244.2.1數(shù)據(jù)庫(kù)實(shí)現(xiàn) 244.2.2程序界面設(shè)計(jì)與實(shí)現(xiàn)方法 264.2.3系統(tǒng)測(cè)試 305結(jié)束語(yǔ) 30參考文獻(xiàn) 31摘要供應(yīng)管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。因此本人結(jié)合實(shí)際的要求,對(duì)MSSQLServer2000數(shù)據(jù)庫(kù)管理系統(tǒng)、SQL語(yǔ)言原理、VB.NET應(yīng)用程序設(shè)計(jì),VB.NET數(shù)據(jù)庫(kù)技術(shù)進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用,主要完成對(duì)供應(yīng)管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫(kù)模式分析,并由此設(shè)計(jì)了數(shù)據(jù)庫(kù)結(jié)構(gòu)和應(yīng)用程序。系統(tǒng)運(yùn)行結(jié)果證明,本文所設(shè)計(jì)的供應(yīng)管理系統(tǒng)可以滿(mǎn)足客戶(hù)的要求。供應(yīng)管理系統(tǒng)分為8個(gè)子系統(tǒng):倉(cāng)庫(kù)管理,供應(yīng)商管理,票據(jù)管理,出入庫(kù)管理,合同管理,比價(jià)采購(gòu),招標(biāo)采購(gòu),采購(gòu)計(jì)劃管理。我主要負(fù)責(zé)倉(cāng)庫(kù)管理,出入庫(kù)管理,合同管理,供應(yīng)商管理的設(shè)計(jì)與實(shí)現(xiàn)。論文首先對(duì)數(shù)據(jù)庫(kù)有關(guān)知識(shí)和開(kāi)發(fā)工具作加以介紹。接下來(lái)對(duì)該系統(tǒng)的開(kāi)發(fā)過(guò)程及功能實(shí)現(xiàn)作了簡(jiǎn)要的說(shuō)明,具體劃分了三類(lèi)用戶(hù)的操作權(quán)限,設(shè)計(jì)了了幾個(gè)操作界面。實(shí)現(xiàn)了數(shù)據(jù)庫(kù)表的瀏覽,記錄的添加、刪除和修改,報(bào)表的生成,實(shí)現(xiàn)了多數(shù)據(jù)庫(kù)表的連接操作,實(shí)現(xiàn)了多條件查詢(xún)。關(guān)鍵字:需求分析,倉(cāng)庫(kù)管理,合同管理,子系統(tǒng)AbstractAccommodationmanagementsystemisatypicalmanaginginformationsystem.Developingitmainlyincludestworespects.Oneisthesetting-upandmaintenanceofthebackgrounddatabaseandtheotheristhedevelopingoftheforegroundapplication.Theformerdemandstosetupastorehousewhichhasstrongerconsistencyandintegralityofthedataandbettersecurityofthedata.Forthelatter,thecompletefunctionandthecharacteristicofusingeasilyarenecessary.Socombiningtherealdemand,IdeeplystudiedtheMSSQLServer2000databasemanagementsystem,SQLlanguageprincipleandVB.NETdatabasetechnology.Throughtheprocessingofstudy,Imainlyfinisheddemandanalysis,functionmoduledividinganddatabasemodeanalysisoftheaccommodationmanagementsystemandhasdesignedstructureofthedatabaseandapplicationprogram.Systematicoperationresultprovedthatsupplythissystemwhichthistextintroducescanmeetdemandofcustomers.Accommodationmanagementsystemisdividedinto8subsystems:Thewarehousemanagement,suppliermanagement,notemanagement,discrepancylibrarymanagement,thecontractmanagement,comparisonshopping,requestforproposalpurchase,theplanofpurchasemanagement.Iammainlyresponsiblefordesigningandimplementingthewarehousemanagement,thediscrepancylibrarymanagement,thecontractmanagementandsuppliermanagement.InchapterfirstlyGivingtheintroductiontotherelevantknowledgeofthedatabaseandDoingthebriefillustrationtothedevelopinginstrument.Afterdoingthat,itdoesthebriefexplanationtothedevelopmentcourseandfunctionofthissystemanddividestheoperationauthoritiesofthreekindsofusersconcretelyanddesignseveraloperatedinterfaces.Andithasrealizedlookingaroundofthedatabaseform,adding,deletingandrevisinginformationandformulatingofreportforms.Atlast,IgivewhatIhaslearnedintheprocessofwork.Keyword:demandanalysis,warehousemanagement,contractmanagement,subsystem1系統(tǒng)概況1.1系統(tǒng)開(kāi)發(fā)背景山東?;瘓F(tuán)是1995年8月由原濰坊純堿廠和山東羊口鹽場(chǎng)兩個(gè)國(guó)有大(一)企業(yè)為龍頭組建的,以發(fā)展海洋化工新興產(chǎn)業(yè)為主導(dǎo),集科、工、貿(mào)等為一體的現(xiàn)代化特大型企業(yè),現(xiàn)為“全國(guó)120家建立現(xiàn)代企業(yè)制度試點(diǎn)企業(yè)集團(tuán)”和“山東省重點(diǎn)培育的23家大型骨干企業(yè)集團(tuán)”之一?,F(xiàn)有職工2萬(wàn)余人,擁有資產(chǎn)總額110多億元,下設(shè)24個(gè)分、子公司和一個(gè)國(guó)家級(jí)技術(shù)中心,建有企業(yè)博士后工作站。?;瘓F(tuán)主要產(chǎn)品有40多種,其中純堿、原鹽、溴素、三聚氰胺、兩鈉、氯化鈣等10種產(chǎn)品產(chǎn)量及市場(chǎng)占有率均居全國(guó)首位,是全國(guó)最大的海洋化工生產(chǎn)基地和出口創(chuàng)匯基地。企業(yè)先后榮獲全國(guó)“五一”勞動(dòng)獎(jiǎng)狀、山東省管理創(chuàng)新優(yōu)秀企業(yè)、山東省文明單位、山東省思想政治工作優(yōu)秀企業(yè)、山東省資源節(jié)約綜合利用工作先進(jìn)企業(yè)等一系列榮譽(yù)稱(chēng)號(hào)。為了進(jìn)一步提高經(jīng)濟(jì)效益和工作效率,?;就顿Y開(kāi)發(fā)《?;瘓F(tuán)供銷(xiāo)管理系統(tǒng)》,實(shí)現(xiàn)公司辦公信息化、多元化的發(fā)展。1.2系統(tǒng)開(kāi)發(fā)意義隨著社會(huì)經(jīng)濟(jì)的迅速發(fā)展和科學(xué)技術(shù)的全面進(jìn)步,計(jì)算機(jī)事業(yè)的飛速發(fā)展,以計(jì)算機(jī)與通信技術(shù)為基礎(chǔ)的信息系統(tǒng)正處于蓬勃發(fā)展的時(shí)期。隨著經(jīng)濟(jì)文化水平的顯著提高,人們對(duì)工作環(huán)境的要求也越來(lái)越高。供應(yīng)管理作為公司正常運(yùn)轉(zhuǎn)的基石,在現(xiàn)代企業(yè)中越來(lái)越受到重視。在計(jì)算機(jī)飛速發(fā)展的今天,將計(jì)算機(jī)這一信息處理利器應(yīng)用于營(yíng)銷(xiāo)的日常管理已是勢(shì)必所然,而且這也將為供應(yīng)管理帶來(lái)前所未有的改變,它可以帶來(lái)意想不到的效益,同時(shí)也會(huì)為企業(yè)的飛速發(fā)展提供無(wú)限潛力。采用計(jì)算機(jī)管理信息系統(tǒng)已成為供應(yīng)管理科學(xué)化和現(xiàn)代化的重要標(biāo)志,它給企業(yè)管理來(lái)了明顯的經(jīng)濟(jì)效益和社會(huì)效益。主要體現(xiàn)在:極大提高了工作人員的工作效率,大大減少了以往入出存流程繁瑣,雜亂,周期長(zhǎng)的弊端?;诠?yīng)管理的全面自動(dòng)化,可以減少工作的漏洞,可以節(jié)約不少管理開(kāi)支,增加企業(yè)收入。供應(yīng)的管理的操作自動(dòng)化和信息的電子化,全面提高了供應(yīng)的管理水平。隨著我國(guó)改革開(kāi)放的不斷深入,經(jīng)濟(jì)飛速的發(fā)展,企業(yè)要想生存、發(fā)展,要想在激烈的市場(chǎng)競(jìng)爭(zhēng)中立于不敗之地,沒(méi)有現(xiàn)代化的管理是萬(wàn)萬(wàn)不行的,營(yíng)銷(xiāo)管理的全面自動(dòng)化、信息化則是其中極其重要的部分。為了加快營(yíng)銷(xiāo)管理自動(dòng)化的步伐,提高營(yíng)銷(xiāo)的管理業(yè)務(wù)處理效率,建立營(yíng)銷(xiāo)管理系統(tǒng)已變得十分必要。通過(guò)對(duì)?;竟?yīng)管理日常工作的詳細(xì)調(diào)查,搜集了大量的資料,從系統(tǒng)結(jié)構(gòu)的組織,功能的實(shí)現(xiàn),技術(shù)的要求以及可行性等多方面進(jìn)行考慮,認(rèn)為本課題是一個(gè)適應(yīng)現(xiàn)今供應(yīng)管理需求的計(jì)算機(jī)信息管理系統(tǒng),具有一定的實(shí)際開(kāi)發(fā)價(jià)值和使用價(jià)值。2系統(tǒng)需求分析在需求分析之前粗略的了解了用戶(hù)的需求,也提出了可行的方案,但許多的細(xì)節(jié)還是被忽略了,然而在最終的系統(tǒng)中我們不能忽略任何一個(gè)微小的細(xì)節(jié),我們要準(zhǔn)確回答“系統(tǒng)該做什么”這個(gè)問(wèn)題。在需求分析階段我們必須確定系統(tǒng)必須完成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的工作。確定對(duì)系統(tǒng)的綜合要求,這一步包括:分析系統(tǒng)的數(shù)據(jù)要求,導(dǎo)出系統(tǒng)的邏輯模型,修正系統(tǒng)開(kāi)發(fā)計(jì)劃,用戶(hù)復(fù)查。2.1系統(tǒng)功能劃分供應(yīng)管理系統(tǒng)需要滿(mǎn)足管理人員,決策人員和執(zhí)行人員的需求。涉及的部門(mén)包括材料科,原料科,備件科,物管科。管理人員的需求是憑借合法身份登陸到管理界面,從而對(duì)信息進(jìn)行錄入,修改,刪除,并協(xié)助決策人員做出決策,如倉(cāng)庫(kù)管理人員,要對(duì)倉(cāng)庫(kù)里的物資進(jìn)行安全庫(kù)存檢查,以防有缺貨事件發(fā)生,要對(duì)每次的商品入庫(kù)進(jìn)行登記,錄入商品的供應(yīng)商,質(zhì)量,入庫(kù)時(shí)間,商品量等信息,并調(diào)整庫(kù)存量,并修改合同執(zhí)行情況。出庫(kù)管理,同樣要記錄商品名稱(chēng),商品量,出庫(kù)時(shí)間等信息,并修改庫(kù)存,同時(shí)檢驗(yàn)庫(kù)存量是否處于安全庫(kù)存。同時(shí)還可以查詢(xún)?nèi)必浳镔Y,以幫助生成采購(gòu)清單。合同管理要求對(duì)合同的簽訂時(shí)間,發(fā)貨時(shí)間,結(jié)束時(shí)間,以及合同涉及的物資名稱(chēng),物資量,做相應(yīng)的紀(jì)錄。并監(jiān)督執(zhí)行情況。并且可以對(duì)合同的信息進(jìn)行查詢(xún),修改。供應(yīng)商管理要對(duì)供應(yīng)商的基本信息以及其提供的產(chǎn)品,信譽(yù)情況作相應(yīng)的紀(jì)錄。并且可以查詢(xún)某個(gè)供應(yīng)商的交往紀(jì)錄。對(duì)決策人員要求系統(tǒng)生成的信息輔助其做出最合理的決策,如采購(gòu)時(shí)要根據(jù)供應(yīng)商的地址,報(bào)價(jià),信譽(yù)情況等做出選擇,避免損失。對(duì)于執(zhí)行人員要根據(jù)管理系統(tǒng)提供的信息做出計(jì)劃,協(xié)助決策人員。如采購(gòu)時(shí)要分招標(biāo)采購(gòu)和比價(jià)采購(gòu)。執(zhí)行人員根據(jù)系統(tǒng)提供的信息,做出采購(gòu)計(jì)劃,報(bào)決策層。供應(yīng)管理系統(tǒng)目的是幫助管理人員,執(zhí)行人員以及決策人員提高工作的效率的。下面介紹系統(tǒng)的模塊化分,整個(gè)供應(yīng)管理系統(tǒng)分八個(gè)子系統(tǒng),如圖所是:海化供應(yīng)?;?yīng)管理信息系統(tǒng)倉(cāng)庫(kù)管理采購(gòu)員管理供應(yīng)商管理票據(jù)管理比價(jià)模塊招標(biāo)模塊采購(gòu)計(jì)劃模塊出入庫(kù)管理圖2.1系統(tǒng)模塊組成倉(cāng)庫(kù)管理:庫(kù)存管理是指根據(jù)物資類(lèi)別,形狀,特點(diǎn)分類(lèi)存放。保管員統(tǒng)計(jì)各種物資情況,并登記入帳,年末進(jìn)行物資盤(pán)點(diǎn)。主要功能包括:登記退貨物資,登記報(bào)廢物資,登記淘汰物資,登記多余積壓物資,登記物資臺(tái)帳,統(tǒng)計(jì)庫(kù)存物資(包括原料,材料,備品備件,包裝物),物資清倉(cāng)盤(pán)點(diǎn)(包括原料,材料,備品備件,包裝物),庫(kù)存統(tǒng)計(jì)分析。供應(yīng)商管理;對(duì)供應(yīng)商基本信息,資質(zhì)情況,供貨情況,售后服務(wù)等統(tǒng)一管理。主要功能包括:供應(yīng)商基本信息登記,供應(yīng)商產(chǎn)品信息登記,供應(yīng)商綜合評(píng)價(jià),供應(yīng)商交往紀(jì)錄登記,供應(yīng)商資質(zhì)信息維護(hù),收集管理資信信息,供應(yīng)商績(jī)效評(píng)估,供應(yīng)商售后服務(wù),供應(yīng)商聯(lián)系信息。供應(yīng)商查詢(xún)。票據(jù)管理:票據(jù)管理是指對(duì)入庫(kù)單,領(lǐng)料單的財(cái)務(wù)簽證,付款發(fā)票,供應(yīng)商付款情況等進(jìn)行管理。主要實(shí)現(xiàn)功能:提包用款計(jì)劃(向財(cái)務(wù)部提交用款計(jì)劃),貸款申請(qǐng)登記,付款結(jié)算登記,生成應(yīng)付發(fā)票登記,發(fā)票撤換登記。出入庫(kù)管理:出入庫(kù)管理指管理員在確認(rèn)采購(gòu)物資質(zhì)量合格,數(shù)量無(wú)誤后,辦理入庫(kù)手續(xù),物資憑領(lǐng)料單及銷(xiāo)售發(fā)票出庫(kù),日清月結(jié)。主要功能包括:登記發(fā)貨,登記入庫(kù),維護(hù)發(fā)貨紀(jì)錄,統(tǒng)計(jì)出入庫(kù)物資,查詢(xún)?cè)谕疚镔Y。合同管理:負(fù)責(zé)采購(gòu)合同的整理維護(hù)歸檔及合同執(zhí)行情況的查詢(xún)。主要功能:登記訂貨合同,查詢(xún)合同執(zhí)行情況,合同歸檔。比價(jià)采購(gòu):是采購(gòu)的一種方式零星物資進(jìn)行多家詢(xún)價(jià)比價(jià)采購(gòu)。要求科長(zhǎng),總計(jì)劃員,本職業(yè)務(wù)的計(jì)劃員參與。招標(biāo)采購(gòu):是采購(gòu)的一種方式,大宗物資按《招標(biāo)投標(biāo)法》進(jìn)行招標(biāo)采購(gòu),遵循公開(kāi),公平,公正的原則。由采購(gòu)科室,使用單位,職能部門(mén),監(jiān)督部門(mén)共同參與。采購(gòu)計(jì)劃管理:分年,季,月,追加四種。是使用單位根據(jù)使用和消耗提包采購(gòu)計(jì)劃給供應(yīng)處。供應(yīng)處根據(jù)庫(kù)存情況編制采購(gòu)計(jì)劃,使計(jì)劃達(dá)到準(zhǔn)確無(wú)誤,并落實(shí)到實(shí)處。主要功能:接受需求計(jì)劃,查詢(xún)庫(kù)存物資,采購(gòu)資金預(yù)算,平衡采購(gòu)計(jì)劃,聲稱(chēng)采購(gòu)計(jì)劃,整理采購(gòu)計(jì)劃,審核采購(gòu)計(jì)劃,批準(zhǔn)采購(gòu)計(jì)劃,分配采購(gòu)計(jì)劃。原料科,材料科,備件科采購(gòu)采購(gòu)計(jì)劃分發(fā)表2.2子系統(tǒng)業(yè)務(wù)流程原料科,材料科,備件科采購(gòu)采購(gòu)計(jì)劃分發(fā)表采購(gòu)計(jì)劃管理采購(gòu)計(jì)劃管理查詢(xún)庫(kù)存物資,進(jìn)行庫(kù)存分析查詢(xún)庫(kù)存物資,進(jìn)行庫(kù)存分析供應(yīng)處長(zhǎng)簽字供應(yīng)處長(zhǎng)簽字進(jìn)行資金預(yù)算進(jìn)行資金預(yù)算物資管理科匯總物資管理科匯總制定采購(gòu)計(jì)劃制定采購(gòu)計(jì)劃原料,材料,備件科長(zhǎng)簽字原料,材料,備件科長(zhǎng)簽字月份采購(gòu)計(jì)劃表月份采購(gòu)計(jì)劃表圖2.2采購(gòu)計(jì)劃模塊業(yè)務(wù)流程保管員保管員質(zhì)檢處時(shí)間延誤基本合格不合格合格車(chē)間保管員統(tǒng)計(jì)出入庫(kù)物資發(fā)貨記錄維護(hù)登記發(fā)貨紀(jì)錄保管員出貨審核領(lǐng)料單逾期貨物催交查詢(xún)?cè)谕疚镔Y查詢(xún)合同執(zhí)行情況退貨賠償損失不合格處置單賠償損失折扣辦理入庫(kù)入庫(kù)單是否合格內(nèi)在質(zhì)量檢查到貨登記表:給采購(gòu)員存物資到待檢驗(yàn)庫(kù)區(qū)到貨物資外在質(zhì)量檢查出入庫(kù)管理保管員保管員質(zhì)檢處時(shí)間延誤基本合格不合格合格車(chē)間保管員統(tǒng)計(jì)出入庫(kù)物資發(fā)貨記錄維護(hù)登記發(fā)貨紀(jì)錄保管員出貨審核領(lǐng)料單逾期貨物催交查詢(xún)?cè)谕疚镔Y查詢(xún)合同執(zhí)行情況退貨賠償損失不合格處置單賠償損失折扣辦理入庫(kù)入庫(kù)單是否合格內(nèi)在質(zhì)量檢查到貨登記表:給采購(gòu)員存物資到待檢驗(yàn)庫(kù)區(qū)到貨物資外在質(zhì)量檢查出入庫(kù)管理 圖2.3出入庫(kù)模塊業(yè)務(wù)流程登記人員處罰情況登記人員檢查情況登記人員考核情況登記人員培訓(xùn)情況登記人員基本信息供應(yīng)人員管理供應(yīng)商管理登記人員處罰情況登記人員檢查情況登記人員考核情況登記人員培訓(xùn)情況登記人員基本信息供應(yīng)人員管理供應(yīng)商管理收集供應(yīng)商基本信息收集供應(yīng)商基本信息登記供應(yīng)商產(chǎn)品信息登記供應(yīng)商產(chǎn)品信息查詢(xún)供應(yīng)商交往紀(jì)錄查詢(xún)供應(yīng)商交往紀(jì)錄圖2.5供應(yīng)商人員管理業(yè)務(wù)流程供應(yīng)商綜合評(píng)價(jià)供應(yīng)商綜合評(píng)價(jià)維護(hù)供應(yīng)商資質(zhì)信息維護(hù)供應(yīng)商資質(zhì)信息維護(hù)供應(yīng)商資信信息維護(hù)供應(yīng)商資信信息供應(yīng)商績(jī)效評(píng)估供應(yīng)商績(jī)效評(píng)估登記供應(yīng)商售后服務(wù)情況登記供應(yīng)商售后服務(wù)情況圖2.4供應(yīng)商管理模塊業(yè)務(wù)流程2.3系統(tǒng)數(shù)據(jù)流圖按照上面的業(yè)務(wù)流程理出的流程順序,將相應(yīng)的數(shù)據(jù)處理過(guò)程繪制成一套完整的數(shù)據(jù)流程圖。數(shù)據(jù)流成圖可以幫助核對(duì)相應(yīng)的數(shù)據(jù)和報(bào)表,模型等。如果有問(wèn)題,則定會(huì)在制圖和整理過(guò)程中暴露無(wú)疑。下面介紹系統(tǒng)的數(shù)據(jù)流程。供應(yīng)管理系統(tǒng)供應(yīng)管理系統(tǒng)銷(xiāo)售管理質(zhì)量計(jì)量生產(chǎn)系統(tǒng)供應(yīng)商出口計(jì)劃表貨物檢驗(yàn)報(bào)告單需求計(jì)劃報(bào)貨單報(bào)價(jià)表公司領(lǐng)導(dǎo)財(cái)務(wù)管理供應(yīng)商供應(yīng)處領(lǐng)導(dǎo)質(zhì)量計(jì)量存貨盤(pán)點(diǎn)招標(biāo)比價(jià)效益匯總支付計(jì)劃表付款申請(qǐng)表定貨單收貨登記表供應(yīng)商信息表合同進(jìn)度報(bào)表采購(gòu)計(jì)劃表采購(gòu)計(jì)劃表)圖2.6系統(tǒng)數(shù)據(jù)流圖(0層)用戶(hù)用戶(hù)2事務(wù)處理事務(wù)請(qǐng)求3倉(cāng)庫(kù)管理4合同管理5供商應(yīng)管理理合同管理請(qǐng)求供應(yīng)商管理請(qǐng)求倉(cāng)庫(kù)數(shù)據(jù)庫(kù)合同數(shù)據(jù)庫(kù)倉(cāng)庫(kù)信息合同信息供應(yīng)商信息倉(cāng)庫(kù)管理請(qǐng)求3系統(tǒng)規(guī)定查詢(xún)處理系統(tǒng)各項(xiàng)規(guī)定庫(kù)系統(tǒng)規(guī)定系統(tǒng)規(guī)定查詢(xún)條件系統(tǒng)規(guī)定查詢(xún)結(jié)果供應(yīng)商數(shù)據(jù)庫(kù)初次分解0層DFD圖得出1層DFD圖:圖2.7系統(tǒng)數(shù)據(jù)流圖(1層)下面詳細(xì)介紹倉(cāng)庫(kù)管理的細(xì)化數(shù)據(jù)流圖倉(cāng)庫(kù)管理請(qǐng)求倉(cāng)庫(kù)管理請(qǐng)求3.1倉(cāng)庫(kù)管理事務(wù)處理2接收事務(wù)用戶(hù)3.2貨物資料錄入\修改3.3貨物資料查詢(xún)倉(cāng)庫(kù)數(shù)據(jù)庫(kù)事務(wù)請(qǐng)求錄入資料請(qǐng)求查詢(xún)資料請(qǐng)求貨物資料貨物資料貨物資料查詢(xún)結(jié)果圖2.8倉(cāng)庫(kù)管理數(shù)據(jù)流圖(2層)用戶(hù)事務(wù)請(qǐng)求用戶(hù)事務(wù)請(qǐng)求2.1事務(wù)處理出庫(kù)物資3.2.2錄入出庫(kù)物資出庫(kù)物資入庫(kù)物資3.2.1錄入入庫(kù)物資入庫(kù)物資出庫(kù)物資明細(xì)表入庫(kù)物資明細(xì)表出庫(kù)物資修改庫(kù)存量入庫(kù)物資庫(kù)存量庫(kù)存量表修改合同執(zhí)行情況入庫(kù)物資入庫(kù)物資合同執(zhí)行監(jiān)察表 圖2.9倉(cāng)庫(kù)管理數(shù)據(jù)流圖(3層)登陸界面細(xì)化后的數(shù)據(jù)流圖錯(cuò)誤信息用戶(hù)權(quán)限1.3權(quán)限處理系統(tǒng)初始化信息用戶(hù)數(shù)據(jù)庫(kù)用戶(hù)系統(tǒng)1.1接收登錄事務(wù)用戶(hù)資料1.2用戶(hù)密碼驗(yàn)證登錄請(qǐng)求用戶(hù)ID,密碼錯(cuò)誤信息用戶(hù)權(quán)限1.3權(quán)限處理系統(tǒng)初始化信息用戶(hù)數(shù)據(jù)庫(kù)用戶(hù)系統(tǒng)1.1接收登錄事務(wù)用戶(hù)資料1.2用戶(hù)密碼驗(yàn)證登錄請(qǐng)求用戶(hù)ID,密碼圖2.10登陸數(shù)據(jù)流圖下面詳細(xì)介紹合同管理的細(xì)化數(shù)據(jù)流圖合同管理請(qǐng)求合同管理請(qǐng)求4.1合同管理事務(wù)處理2.2接收事務(wù)用戶(hù)4.2合同資料錄入\修改4.3合同信息查詢(xún)合同資料數(shù)據(jù)庫(kù)事務(wù)請(qǐng)求錄入資料請(qǐng)求查詢(xún)資料請(qǐng)求合同資料合同資料合同資料查詢(xún)結(jié)果 圖2.11合同管理數(shù)據(jù)流圖(2層)用戶(hù)事務(wù)請(qǐng)求2.3事務(wù)處理合同信息4.3.1查詢(xún)合同信息合同信息合同信息4.2.1錄入/修改合同信息合同信息合同基本信息表合同基本信息表合同執(zhí)行合同執(zhí)行監(jiān)察表4.3.2查詢(xún)逾期合同逾期合同信息逾期合同表4.3.3查詢(xún)合同產(chǎn)品合同產(chǎn)品合同表(附表)產(chǎn)品信息合同產(chǎn)品4.3.4查詢(xún)合同條件合同條件表合同條件用戶(hù)事務(wù)請(qǐng)求2.3事務(wù)處理合同信息4.3.1查詢(xún)合同信息合同信息合同信息4.2.1錄入/修改合同信息合同信息合同基本信息表合同基本信息表合同執(zhí)行合同執(zhí)行監(jiān)察表4.3.2查詢(xún)逾期合同逾期合同信息逾期合同表4.3.3查詢(xún)合同產(chǎn)品用戶(hù)事務(wù)請(qǐng)求2.3事務(wù)處理合同信息4.3.1查詢(xún)合同信息合同信息合同信息4.2.1錄入/修改合同信息合同信息合同基本信息表合同基本信息表合同執(zhí)行合同執(zhí)行監(jiān)察表4.3.2查詢(xún)逾期合同逾期合同信息逾期合同表4.3.3查詢(xún)合同產(chǎn)品合同產(chǎn)品合同表(附表)產(chǎn)品信息合同產(chǎn)品4.3.4查詢(xún)合同條件合同條件表合同條件用戶(hù)事務(wù)請(qǐng)求2.3事務(wù)處理合同信息4.3.1查詢(xún)合同信息合同信息合同信息4.2.1錄入/修改合同信息合同信息合同基本信息表合同基本信息表合同執(zhí)行合同執(zhí)行監(jiān)察表4.3.2查詢(xún)逾期合同逾期合同信息逾期合同表4.3.3查詢(xún)合同產(chǎn)品合同產(chǎn)品合同表(附表)產(chǎn)品信息合同產(chǎn)品4.3.4查詢(xún)合同條件合同條件表合同條件圖2.12合同管理數(shù)據(jù)流圖(3層)3系統(tǒng)設(shè)計(jì)3.1系統(tǒng)功能設(shè)計(jì)供應(yīng)管理系統(tǒng)的功能結(jié)構(gòu)如圖所示供應(yīng)管理系統(tǒng)供應(yīng)管理系統(tǒng)供應(yīng)處人員管理模塊招標(biāo)采購(gòu)模塊比價(jià)采購(gòu)模塊采購(gòu)計(jì)劃管理模塊合同管理模塊票據(jù)管理模塊倉(cāng)庫(kù)管理模塊供應(yīng)處人員管理模塊招標(biāo)采購(gòu)模塊比價(jià)采購(gòu)模塊采購(gòu)計(jì)劃管理模塊合同管理模塊票據(jù)管理模塊倉(cāng)庫(kù)管理模塊圖3.0功能結(jié)構(gòu)圖由于模塊比較多,在畢業(yè)設(shè)計(jì)中主要分析設(shè)計(jì)了倉(cāng)庫(kù)管理子模塊,合同管理子模塊,供應(yīng)人員管理模塊和供應(yīng)商管理模塊。下面詳細(xì)介紹各模塊概況3.1.1倉(cāng)庫(kù)管理子系統(tǒng)(1)系統(tǒng)目標(biāo)開(kāi)發(fā)意義此次在《供應(yīng)管理系統(tǒng)》中開(kāi)發(fā)《倉(cāng)庫(kù)管理》子系統(tǒng)的目的是打破原有的僵硬的倉(cāng)庫(kù)管理方式,依靠計(jì)算機(jī)這個(gè)信息時(shí)代重要和出色的幫手使倉(cāng)庫(kù)管理者從繁瑣的管理工作中解脫出來(lái),提高工作效率.(2)子系統(tǒng)功能介紹整個(gè)《倉(cāng)庫(kù)管理》子系統(tǒng)按照內(nèi)容上劃分分為3塊:入庫(kù)管理,出庫(kù)管理,庫(kù)存管理。如圖3.1所示:倉(cāng)庫(kù)管理倉(cāng)庫(kù)管理入庫(kù)管理出庫(kù)管理庫(kù)存管理圖3.1模塊組成功能示意圖倉(cāng)庫(kù)管理倉(cāng)庫(kù)管理入庫(kù)管理出庫(kù)管理庫(kù)存管理錄入與查詢(xún)?nèi)霂?kù)物資信息修改入庫(kù)物資庫(kù)存表錄入與查詢(xún)出庫(kù)物資信息修改出庫(kù)物資庫(kù)存表查詢(xún)倉(cāng)庫(kù)物資信息修改庫(kù)存表 圖3.2功能示意圖子模塊功能詳細(xì)說(shuō)明對(duì)每次準(zhǔn)備入庫(kù)的物資經(jīng)質(zhì)量檢查部門(mén)確認(rèn)合格后,經(jīng)出納人員同意,辦理入庫(kù)手續(xù),錄入物資的基本信息(物資編號(hào),物資名稱(chēng),物資數(shù)量,合同編號(hào),入庫(kù)時(shí)間,出納員)。同時(shí)根據(jù)物資名稱(chēng)查詢(xún)庫(kù)存表修改庫(kù)存量及修改合同執(zhí)行情況檢查表。如果合同執(zhí)行完成既合同貨物全部到達(dá)則提醒管理員。對(duì)于出庫(kù)情況,同樣要錄入(物資編號(hào),物資名稱(chēng),物資數(shù)量,出庫(kù)時(shí)間,出納員),同時(shí)修改庫(kù)存表,在修改庫(kù)存表之前檢查出庫(kù)請(qǐng)求是否符合要求,如果出庫(kù)請(qǐng)求高于庫(kù)存量則拒絕請(qǐng)求。同時(shí)對(duì)庫(kù)存量進(jìn)行檢查既貨物出庫(kù)后庫(kù)存量是否低于安全庫(kù)存(庫(kù)存量減去出庫(kù)請(qǐng)求),如果低于安全庫(kù)存則生成采購(gòu)計(jì)劃,通知采購(gòu)部門(mén)。系統(tǒng)可以隨時(shí)對(duì)庫(kù)存量低于安全庫(kù)存的物資進(jìn)行查詢(xún)。以時(shí)間為條件可以查詢(xún)當(dāng)天的出入庫(kù)情況,合同執(zhí)行情況。可以以貨物名為條件,檢查該貨物的庫(kù)存量。這些操作只限于具有合法身份的出納員。系統(tǒng)可以對(duì)入庫(kù)操作,出庫(kù)操作錄入錯(cuò)誤信息的物資進(jìn)行修改。3.1.2合同管理子系統(tǒng)合同管理子系統(tǒng)主要是把合同的基本信息錄入數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改和查詢(xún)。檢測(cè)合同的執(zhí)行情況。合同管理人員對(duì)訂貨合同的基本信息(合同編號(hào),貨物名稱(chēng),簽訂時(shí)間,發(fā)貨時(shí)間,結(jié)貨時(shí)間,合同數(shù)額,合同金額)進(jìn)行錄入合同表。并且利用系統(tǒng)把合同的物資輸入到合同監(jiān)視表中。每一次入庫(kù)操作都更改合同執(zhí)行監(jiān)視表的合同余量。當(dāng)合同余量為零時(shí),合同執(zhí)行完成,在合同監(jiān)視表中刪除該合同,完成合同歸檔。在合同執(zhí)行期間,合同管理人員可以通過(guò)對(duì)合同監(jiān)視表查詢(xún)合同執(zhí)行情況。進(jìn)行合同基本信息的查詢(xún)同時(shí)顯示合同的執(zhí)行情況既收到貨物的情況。查詢(xún)合同信息可以根據(jù)合同的編號(hào)為主線。同時(shí)也可以以合同物資為條件查詢(xún)某一特定物資的以往簽約合同紀(jì)錄。系統(tǒng)支持對(duì)錄入的錯(cuò)誤信息進(jìn)行修改。3.1.3供應(yīng)人員管理子系統(tǒng)功能示意圖:供應(yīng)人員管理供應(yīng)人員管理基本信息培訓(xùn)情況考核情況圖3.3功能示意圖(2)子模塊功能詳細(xì)說(shuō)明人員管理人員把供應(yīng)處人員的基本信息(姓名,年齡,性別,住址,身份證號(hào),電話(huà),工作年限,獎(jiǎng)懲情況)錄入數(shù)據(jù)庫(kù)。該公司會(huì)對(duì)個(gè)人其進(jìn)行不定期的培訓(xùn),該系統(tǒng)要把培訓(xùn)的基本情況(培訓(xùn)地點(diǎn),時(shí)間,培訓(xùn)項(xiàng)目)。同時(shí)供應(yīng)處員工的出勤情況,業(yè)務(wù)考核情況要紀(jì)錄到數(shù)據(jù)庫(kù)中。對(duì)以上錄入的信息進(jìn)行查詢(xún)。以身份證號(hào)為主線,查詢(xún)供應(yīng)處人員的基本信息和曾經(jīng)受培訓(xùn)的情況和獎(jiǎng)懲情況。供應(yīng)處人員的信息是不斷變化的。供應(yīng)處人員的身份證可能更換,家庭住址變化,電話(huà)發(fā)生變化,這些信息也要及時(shí)在數(shù)據(jù)庫(kù)中及時(shí)更改。3.1.4供應(yīng)商管理子系統(tǒng)功能示意圖:供應(yīng)商管理供應(yīng)商管理產(chǎn)品信息供應(yīng)商信息產(chǎn)品信息供應(yīng)商信息圖3.4功能示意圖(2)子模塊功能詳細(xì)說(shuō)明對(duì)供應(yīng)商基本信息(名稱(chēng),地址,電話(huà),傳真,信譽(yù)情況,主要產(chǎn)品)進(jìn)行錄入供應(yīng)商表。同時(shí)對(duì)其產(chǎn)品的詳細(xì)信息進(jìn)行記錄。對(duì)以上錄入的信息進(jìn)行查詢(xún)。以供應(yīng)商名稱(chēng)為主線,查詢(xún)供應(yīng)商的基本信息及交往記錄和其主要產(chǎn)品的情況。供應(yīng)商的信息是不斷變化的。供應(yīng)商的電話(huà),傳真可能變化,其生產(chǎn)的主要產(chǎn)品可能變化,公司地址可能變化,這些信息都要在數(shù)據(jù)庫(kù)中更改。在完成系統(tǒng)功能設(shè)計(jì)后,下面介紹數(shù)據(jù)庫(kù)的設(shè)計(jì)。3.2數(shù)據(jù)庫(kù)設(shè)計(jì)3.2.1數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)一個(gè)成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫(kù)是其中一個(gè)非常重要的條件和關(guān)鍵技術(shù)。信息管理系統(tǒng)所涉及的數(shù)據(jù)庫(kù)設(shè)計(jì)分五個(gè)步驟:數(shù)據(jù)庫(kù)需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)與加載測(cè)試。(1)數(shù)據(jù)庫(kù)需求分析的任務(wù)是將業(yè)務(wù)管理單證流化為數(shù)據(jù)流,劃分主題之間的邊界,繪制出DFD圖,并完成相應(yīng)的數(shù)據(jù)字典。(2)概念設(shè)計(jì)的任務(wù)是從DFD出發(fā),繪制出本主題的實(shí)體-關(guān)系圖,并列出各個(gè)實(shí)體與關(guān)系的綱要表。(3)邏輯設(shè)計(jì)的任務(wù)是從E-R圖與對(duì)應(yīng)的綱要表出發(fā),確定各個(gè)實(shí)體及關(guān)系的表名屬性。(4)物理設(shè)計(jì)的任務(wù)是確定所有屬性的類(lèi)型、寬度與取值范圍,設(shè)計(jì)出基本表的主鍵,將所有的表名與字段名英文化(現(xiàn)在很多軟件能支持中文字段,如MSSQLServer,我就是用的中文字段名),實(shí)現(xiàn)物理建庫(kù),完成數(shù)據(jù)庫(kù)物理設(shè)計(jì)字典。(5)加載測(cè)試工作貫穿于程序測(cè)試工作的全過(guò)程,整個(gè)錄入、修改、查詢(xún)、處理工作均可視為對(duì)數(shù)據(jù)庫(kù)的加載測(cè)試工作。要設(shè)計(jì)出一個(gè)好的信息管理系統(tǒng)數(shù)據(jù)庫(kù),除滿(mǎn)足系統(tǒng)所要求的功能外,還必須遵守下列原則:基本表的個(gè)數(shù)越少越好。主鍵的個(gè)數(shù)越少越好。鍵是表間連接的工具,主鍵越少,表間的連接就越簡(jiǎn)單。字段的個(gè)數(shù)越少越好。所有基本表的設(shè)計(jì)均應(yīng)盡量符合第三范式。信息系統(tǒng)的主要任務(wù)是通過(guò)大量的數(shù)據(jù)獲得管理所需要的信息,這就必須存儲(chǔ)和管理大量的數(shù)據(jù)。因此建立一個(gè)良好的數(shù)據(jù)組織結(jié)構(gòu)和數(shù)據(jù)庫(kù),使整個(gè)系統(tǒng)都可以迅速、方便、準(zhǔn)確地調(diào)用和管理所需的數(shù)據(jù),是衡量信息系統(tǒng)開(kāi)發(fā)工作好壞的主要指標(biāo)之一。數(shù)據(jù)庫(kù)設(shè)計(jì)主要是進(jìn)行數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì),即將數(shù)據(jù)按一定的分類(lèi)、分組系統(tǒng)和邏輯層次組織起來(lái),是面向用戶(hù)的。數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)需要綜合企業(yè)各個(gè)部門(mén)的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個(gè)數(shù)據(jù)之間的關(guān)系,按照DBMS提供的功能和描述工具,設(shè)計(jì)出規(guī)模適當(dāng)、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿(mǎn)足多種查詢(xún)要求的數(shù)據(jù)模型。數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟是:(1)數(shù)據(jù)庫(kù)結(jié)構(gòu)定義:目前的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)有的是支持聯(lián)機(jī)事務(wù)處理CLTP(負(fù)責(zé)對(duì)事務(wù)數(shù)據(jù)進(jìn)行采集、處理、存儲(chǔ))的操作型DBMS,有的可支持?jǐn)?shù)據(jù)倉(cāng)庫(kù)、有聯(lián)機(jī)分析處理CLAP(指為支持決策的制定對(duì)數(shù)據(jù)的一種加工操作)功能的大型DBMS,有的數(shù)據(jù)庫(kù)是關(guān)系型的、有的可支持面向?qū)ο髷?shù)據(jù)庫(kù)。針對(duì)選擇的DBMS,進(jìn)行數(shù)據(jù)庫(kù)結(jié)構(gòu)定義。(2)數(shù)據(jù)表定義:數(shù)據(jù)表定義指定義數(shù)據(jù)庫(kù)中數(shù)據(jù)表的結(jié)構(gòu),數(shù)據(jù)表的邏輯結(jié)構(gòu)包括:屬性名稱(chēng)、類(lèi)型、表示形式、缺省值、校驗(yàn)規(guī)則、是否關(guān)鍵字、可否為空等。關(guān)系型數(shù)據(jù)庫(kù)要盡量按關(guān)系規(guī)范化要求進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),但為使效率高,規(guī)范化程度應(yīng)根據(jù)應(yīng)用環(huán)境和條件來(lái)決定。數(shù)據(jù)表設(shè)計(jì)不僅要滿(mǎn)足數(shù)據(jù)存儲(chǔ)的要求,還要增加一些如反映有關(guān)信息、操作責(zé)任、中間數(shù)據(jù)的字段或臨時(shí)數(shù)據(jù)表。(3)存儲(chǔ)設(shè)備和存儲(chǔ)空間組織:確定數(shù)據(jù)的存放地點(diǎn)、存儲(chǔ)路徑、存儲(chǔ)設(shè)備等,備份方案,對(duì)多版本如何保證一致性和數(shù)據(jù)的完整性。(4)數(shù)據(jù)使用權(quán)限設(shè)置:針對(duì)用戶(hù)的不同使用要求,確定數(shù)據(jù)的用戶(hù)使用權(quán)限,確保數(shù)據(jù)安全。(5)數(shù)據(jù)字典設(shè)計(jì):用數(shù)據(jù)字典描述數(shù)據(jù)庫(kù)的設(shè)計(jì),便于維護(hù)和修改。3.2.2數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)對(duì)于數(shù)據(jù)庫(kù)的設(shè)計(jì)主要是沿著先概念結(jié)構(gòu)設(shè)計(jì)再邏輯結(jié)構(gòu)設(shè)計(jì)的順序。在概念設(shè)計(jì)階段中,設(shè)計(jì)人員從用戶(hù)的角度看待數(shù)據(jù)及處理要求和約束,產(chǎn)生一個(gè)反映用戶(hù)觀點(diǎn)的概念模式。然后再把概念模式轉(zhuǎn)換成邏輯模式。將概念設(shè)計(jì)從設(shè)計(jì)過(guò)程中獨(dú)立開(kāi)來(lái),使各階段的任務(wù)相對(duì)單一化,設(shè)計(jì)復(fù)雜程度大大降低,不受特定DBMS的限制。利用ER方法進(jìn)行數(shù)據(jù)庫(kù)的概念設(shè)計(jì),可分成三步進(jìn)行:首先設(shè)計(jì)局部ER模式,然后把各局部ER模式綜合成一個(gè)全局模式,最后對(duì)全局ER模式進(jìn)行優(yōu)化,得到最終的模式,即概念模式。(1)設(shè)計(jì)局部ER模式實(shí)體和屬性的定義倉(cāng)庫(kù)(倉(cāng)庫(kù)編號(hào),倉(cāng)庫(kù)地址,倉(cāng)庫(kù)容量,安全庫(kù)存)商品(商品編號(hào),商品名稱(chēng),計(jì)量單位,安全庫(kù)存,數(shù)量,單價(jià))人員(編號(hào),姓名,性別,身份證號(hào),聯(lián)系電話(huà),密碼)身份(身份編號(hào),身份描述,權(quán)限)供應(yīng)商(名稱(chēng),地址,產(chǎn)品,聯(lián)系電話(huà),信譽(yù))合同(合同編號(hào),簽訂時(shí)間,發(fā)貨時(shí)間,結(jié)貨時(shí)間,合同數(shù)額,合同金額)ER模型的“聯(lián)系”用于刻畫(huà)實(shí)體之間的關(guān)聯(lián)。一種完整的方式是對(duì)局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類(lèi)型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類(lèi)型之間是否存在聯(lián)系。若有聯(lián)系,進(jìn)一步確定是1:N,M:N,還是1:1等。還要考察一個(gè)實(shí)體類(lèi)型內(nèi)部是否存在聯(lián)系,兩個(gè)實(shí)體類(lèi)型之間是否存在聯(lián)系,多個(gè)實(shí)體類(lèi)型之間是否存在聯(lián)系。解釋如下:一個(gè)人員對(duì)應(yīng)一種身份,一種身份對(duì)應(yīng)多個(gè)人員一種商品對(duì)應(yīng)一個(gè)倉(cāng)庫(kù),一個(gè)倉(cāng)庫(kù)對(duì)應(yīng)多種商品一份合同對(duì)應(yīng)一個(gè)供應(yīng)商,一個(gè)供應(yīng)商對(duì)應(yīng)多份合同一個(gè)商品對(duì)應(yīng)多個(gè)供應(yīng)商,一個(gè)供應(yīng)商對(duì)應(yīng)多種產(chǎn)品一份合同對(duì)應(yīng)一個(gè)簽訂人員,一個(gè)人員對(duì)應(yīng)多個(gè)合同(2)設(shè)計(jì)全局ER模式結(jié)構(gòu)不僅要支持所有局部ER模式,而且必須合理地表示一個(gè)完整、一致的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)。倉(cāng)庫(kù)倉(cāng)庫(kù)商品供應(yīng)商合同管理人員簽訂身份屬于屬于屬于供應(yīng)簽訂mm m mn nn1 1 n111n nn nn n1 1 圖2.5概念模型1)確定公共實(shí)體類(lèi)型為了給多個(gè)局部ER模式的合并提供開(kāi)始合并的基礎(chǔ),首先要確定各局部結(jié)構(gòu)中的公共實(shí)體類(lèi)型。在這一步中我們僅根據(jù)實(shí)體類(lèi)型名和鍵來(lái)認(rèn)定公共實(shí)體類(lèi)型。一般把同名實(shí)體類(lèi)型作為公共實(shí)體類(lèi)型的一類(lèi)候選,把具有相同鍵的實(shí)體類(lèi)型作為公共實(shí)體類(lèi)型的另一類(lèi)候選。2)局部ER模式的合并合并的原則是:首先進(jìn)行兩兩合并;先和合并那些現(xiàn)實(shí)世界中有聯(lián)系的局部結(jié)構(gòu);合并從公共實(shí)體類(lèi)型開(kāi)始,最后再加入獨(dú)立的局部結(jié)構(gòu)。3)消除沖突沖突分為三類(lèi):屬性沖突、結(jié)構(gòu)沖突、命名沖突。設(shè)計(jì)全局ER模式的目的不在于把若干局部ER模式形式上合并為一個(gè)ER模式,而在于消除沖突,使之成為能夠被所有用戶(hù)共同理解和接受的同一的概念模型。3)全局ER模式的優(yōu)化在得到全局ER模式后,為了提高數(shù)據(jù)庫(kù)系統(tǒng)的效率,還應(yīng)進(jìn)一步依據(jù)處理需求對(duì)ER模式進(jìn)行優(yōu)化。一個(gè)好的全局ER模式,除能準(zhǔn)確、全面地反映用戶(hù)功能需求外,還應(yīng)滿(mǎn)足下列條件:實(shí)體類(lèi)型的個(gè)數(shù)要盡可能的少;實(shí)體類(lèi)型所含屬性個(gè)數(shù)盡可能少;實(shí)體類(lèi)型間聯(lián)系無(wú)冗余。(3)關(guān)系數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì) 由于概念設(shè)計(jì)的結(jié)果是ER圖,DBMS一般采用關(guān)系型(本人所使用的MSSQLServer就是關(guān)系型的DBMS),因此數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)過(guò)程就是把ER圖轉(zhuǎn)化為關(guān)系模式的過(guò)程。由于關(guān)系模型所具有的優(yōu)點(diǎn),邏輯設(shè)計(jì)可以充分運(yùn)用關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論,使設(shè)計(jì)過(guò)程形式化地進(jìn)行。設(shè)計(jì)結(jié)果是一組關(guān)系模式的定義。1)導(dǎo)出初始關(guān)系模式倉(cāng)庫(kù)(倉(cāng)庫(kù)編號(hào),倉(cāng)庫(kù)地址,倉(cāng)庫(kù)容量)商品(商品編號(hào),商品名稱(chēng),計(jì)量單位,安全庫(kù)存,數(shù)量,單價(jià),供應(yīng)商,)人員(編號(hào),姓名,性別,身份證號(hào),聯(lián)系電話(huà),密碼,身份標(biāo)示,權(quán)限)身份(身份標(biāo)示,身份描述,權(quán)限)供應(yīng)商(名稱(chēng),地址,產(chǎn)品,聯(lián)系電話(huà),信譽(yù),產(chǎn)品)合同(合同編號(hào),簽訂時(shí)間,發(fā)貨時(shí)間,結(jié)貨時(shí)間,商品名稱(chēng),簽約人,合同數(shù)額,合同金額)2)產(chǎn)生子模式子模式是用戶(hù)所用到的那部分?jǐn)?shù)據(jù)的描述。除了指出用戶(hù)用到的數(shù)據(jù)外,還應(yīng)指出數(shù)據(jù)與概念模式中相應(yīng)數(shù)據(jù)的聯(lián)系,即指出概念模式與子模式之間的對(duì)應(yīng)性。如:入庫(kù)子模式(貨物編號(hào),貨物名稱(chēng),入庫(kù)數(shù)量,入庫(kù)時(shí)間,合同編號(hào),供應(yīng)商,出納員)4系統(tǒng)實(shí)現(xiàn)4.1系統(tǒng)開(kāi)發(fā)工具介紹4.1.1數(shù)據(jù)庫(kù)工具(MSSQLServer2000)介紹SQLServer2000是微軟公司最新推出的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),其同時(shí)也是一種網(wǎng)絡(luò)數(shù)據(jù)庫(kù)管理系統(tǒng)。主要任務(wù)是存儲(chǔ)數(shù)據(jù),管理數(shù)據(jù)和提供數(shù)據(jù)以滿(mǎn)足客戶(hù)端連接和存儲(chǔ)數(shù)據(jù)的需要。其主要特點(diǎn)如下:①真正的客戶(hù)機(jī)/服務(wù)器體系結(jié)構(gòu)②圖形化用戶(hù)界面,使系統(tǒng)管理工具更加直觀、簡(jiǎn)單。③豐富的編程接口工具,為用戶(hù)進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。④使用了最先進(jìn)的數(shù)據(jù)庫(kù)架構(gòu),與WindowsNT/2000平臺(tái)緊密集成,多線程體系結(jié)構(gòu)設(shè)計(jì),提高了系統(tǒng)對(duì)用戶(hù)并發(fā)訪問(wèn)的響應(yīng)速度。⑤具有完全Web功能,通過(guò)對(duì)高端硬件平臺(tái),網(wǎng)絡(luò)和存儲(chǔ)技術(shù)的支持,為Web站和企業(yè)應(yīng)用最大限度地提供了可擴(kuò)展性和高可靠性,能在Internet商業(yè)領(lǐng)域快速建立并應(yīng)用。⑥增強(qiáng)了安全性,保護(hù)防火墻內(nèi)外地?cái)?shù)據(jù),支持基于角色地安全并擁有安全審計(jì)工具,SQLServer2000數(shù)據(jù)庫(kù)服務(wù)器地自動(dòng)調(diào)整和自動(dòng)管理技術(shù)在數(shù)據(jù)庫(kù)領(lǐng)域中處于領(lǐng)先的地位。4.1.2VB.NET介紹MicrosoftVisualBasic.NET是MicrosoftVisualBasic的后續(xù)版本,它是基于.NET框架重新設(shè)計(jì)的,可以用它來(lái)輕松地創(chuàng)建用于MicrosoftWindows操作系統(tǒng)和Web的下一代應(yīng)用程序。使用VisualBasic.NET,可視化開(kāi)發(fā)Web應(yīng)用程序、Web服務(wù)、Windows應(yīng)用程序和服務(wù)器端組件將變得輕而易舉。VisualBasic.NET是基于.NET框架直接創(chuàng)建的,因此可以使用所有的平臺(tái)特性,并能夠與其他.NET語(yǔ)言協(xié)同工作。 VB.NET一個(gè)引人注目的變化是它的窗體引擎。Microsoft放棄了原來(lái)的窗體引擎,現(xiàn)在它給我們提供的是WindowsForms窗體引擎。所有基于CLR的語(yǔ)言都使用WindowsForms引擎,與VB6的窗體引擎相比,WindowsForms有著許多突出的優(yōu)點(diǎn)。例如,WindowsForms支持創(chuàng)建那些自動(dòng)改變組件大小的窗體,允許把控件指定到窗體的特定位置。窗體成了類(lèi),類(lèi)里面包含了構(gòu)造窗體的全部代碼,由于這些代碼允許用戶(hù)深入控制VB.NET構(gòu)造窗體的幕后細(xì)節(jié),有經(jīng)驗(yàn)的用戶(hù)能夠利用這些代碼實(shí)現(xiàn)各種高級(jí)功能。(1)傳統(tǒng)開(kāi)發(fā)工具的不足隨著技術(shù)的不斷進(jìn)步,用戶(hù)對(duì)系統(tǒng)功能的要求越來(lái)越高,應(yīng)用開(kāi)發(fā)人員使用傳統(tǒng)的開(kāi)發(fā)工具很難滿(mǎn)足這些要求。這主要表現(xiàn)在:·開(kāi)發(fā)方法陳舊,兼容性差,難以適應(yīng)變化·功能弱,性能較低·大多數(shù)應(yīng)用程序只能使用特定的數(shù)據(jù)庫(kù)接口,移植相當(dāng)困難。(2)VB.NET特點(diǎn)VB.NET提供了完善的面向?qū)ο缶幊讨С?,是一種真正的OO語(yǔ)言。VB.NET不僅允許覆蓋(Override)方法或?qū)傩?,而且還支持方法重載(Overload)。在VB.NET中,窗體以類(lèi)模塊形式出現(xiàn)。它意味著類(lèi)本身包含了所有構(gòu)造窗體所必需的代碼。這個(gè)變化帶來(lái)了許多強(qiáng)大的新功能,比如繼承這些窗體的能力。Microsoft稱(chēng)這種技術(shù)為“可視化繼承”(VisualInheritance)。而且提供了ADO.NET技術(shù),使操作數(shù)據(jù)庫(kù)更加方便,快速,簡(jiǎn)潔。ADO.NET的好處:互操作性ADO.NET應(yīng)用程序可以利用XML的靈活性和廣泛接受性。由于XML是用于在網(wǎng)絡(luò)中傳輸數(shù)據(jù)集的格式,因此可以讀取XML格式的任何組件都可以處理數(shù)據(jù)。作為一項(xiàng)工業(yè)標(biāo)準(zhǔn),XML正是在謹(jǐn)記這種互操作性的情況下設(shè)計(jì)的。可維護(hù)性在已部署系統(tǒng)的生存期中,適度的更改是可能的,但由于十分困難,所以很少?lài)L試進(jìn)行實(shí)質(zhì)的結(jié)構(gòu)更改。這是很遺憾的,因?yàn)樵谑录淖匀贿^(guò)程中,這種實(shí)質(zhì)上的更改會(huì)變得很有必要。該問(wèn)題并不是要設(shè)計(jì)三層應(yīng)用程序。相反,它是要在應(yīng)用程序部署以后增加層數(shù)。如果原始應(yīng)用程序使用數(shù)據(jù)集以ADO.NET實(shí)現(xiàn),則該轉(zhuǎn)換很容易進(jìn)行。當(dāng)用兩層替換單個(gè)層時(shí),將安排這兩層交換信息。由于這些層可以通過(guò)XML格式的數(shù)據(jù)集傳輸數(shù)據(jù),所以通信相對(duì)較容易。可編程性VisualStudio中的ADO.NET數(shù)據(jù)組件以不同方式封裝數(shù)據(jù)訪問(wèn)功能,幫助程序員加快編程速度并減少犯錯(cuò)幾率。同樣,由這些工具生成的ADO.NET數(shù)據(jù)類(lèi)導(dǎo)致類(lèi)型化數(shù)據(jù)集。最后,已聲明類(lèi)型的數(shù)據(jù)集的代碼更安全,原因在于它提供對(duì)類(lèi)型的編譯時(shí)檢查。性能對(duì)于不連接的應(yīng)用程序,ADO.NET數(shù)據(jù)庫(kù)提供的性能優(yōu)于ADO不連接的記錄集。當(dāng)使用COM封送在層間傳輸不連接的記錄集時(shí),會(huì)因?qū)⒂涗浖瘍?nèi)的值轉(zhuǎn)換為COM可識(shí)別的數(shù)據(jù)類(lèi)型而導(dǎo)致顯著的處理開(kāi)銷(xiāo)。在ADO.NET中,這種數(shù)據(jù)類(lèi)型轉(zhuǎn)換則沒(méi)有必要??缮炜s性因?yàn)閃eb可以極大增加對(duì)數(shù)據(jù)的需求,所以可縮放性變得很關(guān)鍵。Internet應(yīng)用程序具有無(wú)限的潛在用戶(hù)供應(yīng)。盡管應(yīng)用程序可以很好地為十幾個(gè)用戶(hù)服務(wù),但它可能不能向成百上千個(gè)(或幾百萬(wàn)個(gè))用戶(hù)提供同樣好的服務(wù)。使用數(shù)據(jù)庫(kù)鎖和數(shù)據(jù)庫(kù)連接之類(lèi)資源的應(yīng)用程序不能很好地為大量用戶(hù)服務(wù),因?yàn)橛脩?hù)對(duì)這些有限資源的需求最終將超出其供應(yīng)。由于所有ADO.NET應(yīng)用程序都使用對(duì)數(shù)據(jù)的不連接訪問(wèn),因此它不會(huì)在較長(zhǎng)持續(xù)時(shí)間內(nèi)保留數(shù)據(jù)庫(kù)鎖或活動(dòng)數(shù)據(jù)庫(kù)連接。(3).NET數(shù)據(jù)組件圖4.1.NET數(shù)據(jù)組件(4).NET連接層 設(shè)計(jì)ADO.NET組件的目的是為了從數(shù)據(jù)操作中分解出數(shù)據(jù)訪問(wèn)。ADO.NET的兩個(gè)核心組件會(huì)完成此任務(wù):DataSet和.NETFramework數(shù)據(jù)提供程序,后者是一組包括Connection(數(shù)據(jù)連接)、Command(數(shù)據(jù)命令)、DataReader(數(shù)據(jù)讀取器)和DataAdapter(數(shù)據(jù)適配器)對(duì)象在內(nèi)的組件。其中.NET數(shù)據(jù)提供程序是連接層(connectedlayer),DataSet對(duì)象是非連接層(disconnectedlayer)。1)Connection類(lèi) 若要在數(shù)據(jù)存儲(chǔ)區(qū)和應(yīng)用程序之間移動(dòng)數(shù)據(jù),必須首先擁有到該數(shù)據(jù)存儲(chǔ)區(qū)的連接。可以使用Connection對(duì)象來(lái)連接到指定的數(shù)據(jù)源。要用目標(biāo)數(shù)據(jù)源的數(shù)據(jù)填充DataReader或DataSet對(duì)象,就要求有一個(gè)Connection對(duì)象。同理,要從客戶(hù)端.NET應(yīng)用程序執(zhí)行數(shù)據(jù)庫(kù)的任何命令或存儲(chǔ)過(guò)程,還要求有一個(gè)激活的Connection對(duì)象。和大多數(shù)其他.NET對(duì)象不同的使,Connection對(duì)象在離開(kāi)作用域時(shí)并不自動(dòng)銷(xiāo)毀,這意味著必須在應(yīng)用程序中顯式地關(guān)閉任何打開(kāi)的ADO.NETConnection對(duì)象。如果打開(kāi)了多個(gè)使用同一連接字符串的Connection對(duì)象,它們都將自動(dòng)添加到同一個(gè)連接池中。若要連接到MicrosoftSQLServer7.0版或更高版本,使用SQLServer.NETFramework數(shù)據(jù)提供程序的SqlConnection對(duì)象。若要使用用于SQLServer的OLEDB提供程序(SQLOLEDB)連接到OLEDB數(shù)據(jù)源或者連接到MicrosoftSQLServer6.x版或較早版本,使用OLEDB.NETFramework數(shù)據(jù)提供程序的OleDbConnection對(duì)象。若要連接到ODBC數(shù)據(jù)源,使用ODBC.NETFramework數(shù)據(jù)提供程序的OdbcConnection對(duì)象。若要連接到Oracle數(shù)據(jù)源,使用Oracle.NETFramework數(shù)據(jù)提供程序的OracleConnection對(duì)象。2)Command類(lèi) 當(dāng)需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)時(shí)要用到命令對(duì)象(commandobject),可以使用Command構(gòu)造函數(shù)來(lái)創(chuàng)建命令,該構(gòu)造函數(shù)采用在數(shù)據(jù)源、Connection對(duì)象和Transaction對(duì)象中執(zhí)行的SQL語(yǔ)句的可選參數(shù)。也可以使用Connection的CreateCommand方法來(lái)創(chuàng)建用于特定Connection對(duì)象的命令。可以使用CommandText屬性來(lái)查詢(xún)和修改Command對(duì)象的SQL語(yǔ)句。Command對(duì)象公開(kāi)了幾個(gè)可用于執(zhí)行所需操作的Execute方法。當(dāng)以數(shù)據(jù)流的形式返回結(jié)果時(shí),使用ExecuteReader可返回DataReader對(duì)象。使用ExecuteScalar可返回單個(gè)值。使用ExecuteNonQuery可執(zhí)行不返回行的命令。在ADO.NET中,兩個(gè)重要的命令類(lèi)是OleDbCommand(用于SQLServer)和SqlCommand(用于任意其他OLEDB數(shù)據(jù)源)。3)DataReader類(lèi) 可以使用ADO.NETDataReader從數(shù)據(jù)庫(kù)中檢索只讀、只進(jìn)的數(shù)據(jù)流。查詢(xún)結(jié)果在查詢(xún)執(zhí)行時(shí)返回,在并存儲(chǔ)在客戶(hù)端的網(wǎng)絡(luò)緩沖區(qū)中,直到您使用DataReader的Read方法對(duì)它們發(fā)出請(qǐng)求。使用DataReader可以提高應(yīng)用程序的性能,因?yàn)橐坏?shù)據(jù)可用,DataReader方法就立即檢索該數(shù)據(jù),而不是等待返回查詢(xún)的全部結(jié)果;并且在默認(rèn)情況下,該方法一次只在內(nèi)存中存儲(chǔ)一行,從而降低了系統(tǒng)開(kāi)銷(xiāo)。數(shù)據(jù)讀取器應(yīng)該用于需要在內(nèi)存消耗上開(kāi)銷(xiāo)最小的情形,如果想返回幾十萬(wàn)行數(shù)據(jù),就不會(huì)使用DataReader對(duì)象,因?yàn)榭赡苁冀K無(wú)法循環(huán)遍歷所有行。同Connection和Command類(lèi)一樣,有兩種重要的常規(guī)DataReader類(lèi):SqlDataReader用于MSSQLServer7或更高版本,而OleDbDataReader則用于其他數(shù)據(jù)源。4)DataAdapter類(lèi) 數(shù)據(jù)適配器的主要用途是在DataSet對(duì)象和激活的Connection對(duì)象代表的數(shù)據(jù)源之間建立一條連接。DataAdapter類(lèi)包括的屬性允許用戶(hù)指定將實(shí)際用來(lái)在DataSet和目標(biāo)數(shù)據(jù)庫(kù)之間交互的SQL語(yǔ)句。換句話(huà)說(shuō),DataAdapter既負(fù)責(zé)填充DataSet對(duì)象,又負(fù)責(zé)把對(duì)DataSet的修改發(fā)送回?cái)?shù)據(jù)源。比如,DataAdapter類(lèi)提供了SelectCommand屬性,控制將被檢索的數(shù)據(jù):InsertCommand屬性指明DataSet中的新數(shù)據(jù)如何添加到數(shù)據(jù)庫(kù);UpdateCommand屬性控制DataSet中修改的行如何發(fā)送到數(shù)據(jù)庫(kù);DeleteCommand屬性控制如何從數(shù)據(jù)庫(kù)中刪除在DataSet中刪掉的行。在許多應(yīng)用程序中,這意味著從數(shù)據(jù)庫(kù)將數(shù)據(jù)讀入數(shù)據(jù)集,然后從數(shù)據(jù)集將已更改數(shù)據(jù)寫(xiě)回?cái)?shù)據(jù)庫(kù)。然而,數(shù)據(jù)適配器可以在任意源和數(shù)據(jù)集之間移動(dòng)數(shù)據(jù)。例如,可能會(huì)有在MicrosoftExchange服務(wù)器和數(shù)據(jù)集之間移動(dòng)數(shù)據(jù)的適配器。數(shù)據(jù)適配器用Connection對(duì)象連接數(shù)據(jù)源,然后再用Command對(duì)象從數(shù)據(jù)源中檢索數(shù)據(jù)并將數(shù)據(jù)送還給數(shù)據(jù)源。除了DataReader類(lèi)以外,ADO.NET中的所有數(shù)據(jù)訪問(wèn)都要經(jīng)過(guò)數(shù)據(jù)適配器。共有兩種DataAdapter類(lèi):OleDbDataAdapter類(lèi)與SqlDataAdapter類(lèi)。(5)NET非連接層DataSet類(lèi) ADO.NETDataSet是ADO.NET的斷開(kāi)式結(jié)構(gòu)的核心組件。DataSet的設(shè)計(jì)目的很明確:為了實(shí)現(xiàn)獨(dú)立于任何數(shù)據(jù)源的數(shù)據(jù)訪問(wèn)。因此,它可以用于多種不同的數(shù)據(jù)源,用于XML數(shù)據(jù),或用于管理應(yīng)用程序本地的數(shù)據(jù)。DataSet包含一個(gè)或多個(gè)DataTable對(duì)象的集合,這些對(duì)象由數(shù)據(jù)行和數(shù)據(jù)列以及主鍵、外鍵、約束和有關(guān)DataTable對(duì)象中數(shù)據(jù)的關(guān)系信息組成。DataSet類(lèi)處理Tables集合(包括數(shù)據(jù)類(lèi)型為DataTable的對(duì)象)和Relations集合(包括數(shù)據(jù)類(lèi)型為DataRelation的對(duì)象),DataTable類(lèi)處理Rows集合(包含數(shù)據(jù)類(lèi)型為DataRow的對(duì)象)和Columns集合(包含數(shù)據(jù)類(lèi)型為DataColumn的對(duì)象)。關(guān)于DataSet類(lèi)需要注意的是,DataSet類(lèi)可與所有類(lèi)型的數(shù)據(jù)源共同工作,不存在SqlDataSet或OleDbDataSet類(lèi)。 DataSet就是小型表或記錄集以及他們之間關(guān)系的集合。它是一個(gè)縮小的關(guān)系數(shù)據(jù)庫(kù),在該數(shù)據(jù)庫(kù)中,數(shù)據(jù)保留在內(nèi)存中。這個(gè)“虛擬”的本地關(guān)系數(shù)據(jù)庫(kù)完全與數(shù)據(jù)的原始來(lái)源斷開(kāi),但它還是非常有用的相關(guān)功能。DataSet包含數(shù)據(jù)的本地副本,不管是在客戶(hù)端工作站、Web服務(wù)器還是在遠(yuǎn)程Internet客戶(hù)端,它都可用于進(jìn)行本地處理。所有的數(shù)據(jù)操作都可以在這個(gè)本地副本中完成,而不需要與原來(lái)的數(shù)據(jù)存儲(chǔ)器一直保持連接。這是一個(gè)主要的優(yōu)勢(shì)所在。由于適用于基于XML的技術(shù),因此一旦數(shù)據(jù)被放置在DataSet中,就與原始的元數(shù)據(jù)無(wú)關(guān)。DataSet的這種設(shè)計(jì)改正了在VB6中使用Recordset的許多缺點(diǎn)。特別是Recordset不能很好地處理分層的數(shù)據(jù)機(jī)構(gòu),而DataSet是為了使用分層數(shù)據(jù)而設(shè)計(jì)的。這種功能是對(duì)ADO的主要改進(jìn)。ADO.NET中所使用的數(shù)據(jù)通常從像SQLServer或Oracle這樣的傳統(tǒng)關(guān)系數(shù)據(jù)存儲(chǔ)器開(kāi)始。然后,用ADO.NET中的數(shù)據(jù)提供者提取數(shù)據(jù)。數(shù)據(jù)提供者是接口技術(shù),可用來(lái)連接數(shù)據(jù)庫(kù)以及從數(shù)據(jù)庫(kù)中放入和提取數(shù)據(jù)。只要數(shù)據(jù)提供者提取了數(shù)據(jù)并放置在DataSet中,就沒(méi)有必要繼續(xù)與數(shù)據(jù)庫(kù)相連接。然后可以用不同的方式處理該數(shù)據(jù)。其中最普通的操作之一是在DataSet中指定關(guān)系。接著代碼和所綁定的控件能改變DataSet中的數(shù)據(jù),如添加新行、改變或刪除原來(lái)的數(shù)據(jù)等。這些變化完成之后,然后數(shù)據(jù)提供者來(lái)解決這些變化。數(shù)據(jù)提供者查找DataSet中被變化的或被添加的數(shù)據(jù),并把這些變化或附加的內(nèi)容放置在原來(lái)的數(shù)據(jù)庫(kù)存儲(chǔ)器中。如果出現(xiàn)并發(fā)問(wèn)題或是像數(shù)據(jù)庫(kù)脫機(jī)諸如此類(lèi)的問(wèn)題,數(shù)據(jù)提供者會(huì)給出適當(dāng)?shù)腻e(cuò)誤提示。DataSet要發(fā)揮功能,它至少在自身的Tables集合中包含一個(gè)DataTable對(duì)象;要包含任意數(shù)據(jù),DataTable的Rows集合必須有一些由Column集合描述的行布局。DataTable對(duì)象模型的所有其他元素都是可選的。在Tables、Columns、Constraints和Relations集合中描述DataSet的相關(guān)結(jié)構(gòu)和功能。這些表的布局,包括如數(shù)據(jù)類(lèi)型之類(lèi)大額信息在Tables和Columns中,特定表的約束在Constraints中,表之間的關(guān)系在Relations中。1)DataTable類(lèi)DataTable類(lèi)在.NETFramework中位于System.Data.DataTable命名空間。該類(lèi)代表內(nèi)存的一個(gè)數(shù)據(jù)表,這些數(shù)據(jù)包含在DataSet對(duì)象中。通過(guò)從DataAdapter向DataSet對(duì)象返回結(jié)果集,可以自動(dòng)創(chuàng)建DataTable對(duì)象。也可以通過(guò)把DataColumnst對(duì)象添加到DataTable的DataColumns集合,以編程方式創(chuàng)建DataTable對(duì)象。DataSet中的每個(gè)DataTable對(duì)象都可以綁定到.NETFramework的WinForm和WebForm類(lèi)中的數(shù)據(jù)認(rèn)知的用戶(hù)界面對(duì)象。當(dāng)修改DataTable對(duì)象中包含的數(shù)據(jù)時(shí),會(huì)觸發(fā)ColumnChanging、ColulmnChanged、RowChanging和RowChanged事件。當(dāng)從DataTable對(duì)象中刪除數(shù)據(jù)時(shí),會(huì)觸發(fā)RowDelete和RowDeleted事件。在DataTable中添加新行的方法是調(diào)用DataTable的NewRow方法并給它傳遞一個(gè)DataRow對(duì)象。在DataTable中最大可以存儲(chǔ)16,777,216行數(shù)據(jù)。DataTable還是創(chuàng)建DataView對(duì)象的基礎(chǔ)。2)DataColumn類(lèi)DataColumn類(lèi)位于.NETFramework的System.DataColumn命名空間中。該類(lèi)代表DataTable對(duì)象中列的模式。DataColumn類(lèi)所包含的幾個(gè)屬性用來(lái)定義DataColumn對(duì)象中所含的數(shù)據(jù)類(lèi)型。例如,DataType屬性控制DataColumn對(duì)象中能存儲(chǔ)的數(shù)據(jù)類(lèi)型,DataValue屬性包含DataColumn的值,AllowDBNull屬性指定DataColumn是否能包含NULL值,MaxLength屬性設(shè)置Text數(shù)據(jù)類(lèi)型的最大長(zhǎng)度,Table屬性指定DataColumn所屬的DataTable對(duì)象。可以把DataColumn對(duì)象和UniqueConstraint對(duì)象關(guān)聯(lián)起來(lái),讓DataColumn對(duì)象包含惟一值。另外,還可以讓一個(gè)DataColumn對(duì)象和另一個(gè)DataColumn對(duì)象相關(guān),其方法是創(chuàng)建一個(gè)DataRelation對(duì)象,并把它添加到DataSet的DataRelationCollection。3)DataRow類(lèi)DataRow類(lèi)位于.NETFramework的System.Data.DataRow命名空間,它代表DataTable對(duì)象中的一行數(shù)據(jù)。DataRow類(lèi)和DataColumn類(lèi)代表組成DataTable類(lèi)的主要對(duì)象。DataRow對(duì)象用來(lái)在DataTable中插入、更新和刪除行。在DataTable中添加行又兩種方法:或者用NewRow方法創(chuàng)建一個(gè)新的DataRow對(duì)象,或者在DataSet的DataRowCollection中添加一個(gè)DataRow對(duì)象。更新DataRow對(duì)象只需修改它的DataValue屬性即可。刪除DataRow對(duì)象需要執(zhí)行它的Delete方法或調(diào)用DataSet的DataRowCollection對(duì)象的Remove方法。4)Constraints類(lèi)Contraints類(lèi)在.NETFramework中位于System.Data.Contraint命名空間,它代表可應(yīng)用于DataColumn對(duì)象的一套數(shù)據(jù)完整性規(guī)則。Constraint類(lèi)沒(méi)有基類(lèi)構(gòu)造函數(shù)。約束對(duì)象是使用ForeignKeyContraint構(gòu)造函數(shù)或UniqueConstraint構(gòu)造函數(shù)創(chuàng)建的。當(dāng)使用DataAdapter填充DataSet時(shí),Constraint不會(huì)被自動(dòng)添加到DataTable中。如果想在操作的DataTable中使用Constraints,必須在代碼中創(chuàng)建和托管Constraints。5)DataRelation類(lèi) 位于.NETFramework的System.Data.DataRelation命名空間中的DataRelation類(lèi)的作用是代表DataSet中兩個(gè)DataTable對(duì)象之間的父子關(guān)系。例如,可以創(chuàng)建一個(gè)DataRelation對(duì)象,代表OrderHeader表中的OrderIDDataColumn與OrderDetail表中對(duì)應(yīng)的OrderIDDataColumn的關(guān)系。DataRelation對(duì)象的基本功能是便于導(dǎo)航和從相關(guān)DataTable中檢索數(shù)據(jù)。為了在兩個(gè)DataTable對(duì)象之間創(chuàng)建關(guān)系,這兩個(gè)DataTables都必須包含具有匹配特性的DataColumn對(duì)象。當(dāng)?shù)谝淮蝿?chuàng)建DataRelation對(duì)象時(shí),.NETFramework將進(jìn)行檢查,以確保建立的是合法的關(guān)系,然后它把DataRelation對(duì)象添加到DataRelationCollection,這個(gè)集合跟蹤DataSet中所有的數(shù)據(jù)關(guān)系。DataRelation類(lèi)支持從父表到子表的層疊式變化,這是由ForeignKeyConstraint類(lèi)控制的。(6)ADO.NET結(jié)構(gòu)圖4.2ADO.NET結(jié)構(gòu)4.2系統(tǒng)實(shí)現(xiàn)4.2.1數(shù)據(jù)庫(kù)實(shí)現(xiàn)使用MSSQLServer2000建立數(shù)據(jù)庫(kù)是很方便的,這里就不再詳述數(shù)據(jù)庫(kù)建立的步驟,在此列舉數(shù)據(jù)庫(kù)表的結(jié)構(gòu)。庫(kù)存表:此表用來(lái)記錄物資的庫(kù)存量表名:storge主鍵:s_id字段字段描述數(shù)據(jù)類(lèi)型寬度是否為空備注S_Name物資姓名Varchar12NoS_Id物資編號(hào)Varchar18NoS_size庫(kù)存量float10NoS_minsize安全庫(kù)存float10No入庫(kù)表:用來(lái)記錄入庫(kù)物資的信息表名:in_storage主鍵:s_id字段字段描述數(shù)據(jù)類(lèi)型寬度是否為空備注S_Name物資姓名Varchar12Nos_id物資編號(hào)Varchar18NoS_intime入庫(kù)時(shí)間DatetimeNo使用日期掩碼,輸入格式為00/00/0000日/月/年S_insize入庫(kù)量floatNoH_number合同編號(hào)Varchar10YesS_teller出納員Varchar10NoS_fname供應(yīng)商Varchar30No出庫(kù)表:用來(lái)記錄出庫(kù)物資的信息表名:out_storage主鍵:s_id字段字段描述數(shù)據(jù)類(lèi)型寬度是否為空備注S_Name物資姓名Varchar12NoS_id物資編號(hào)Varchar18NoS_outtime入庫(kù)時(shí)間DatetimeNo使用日期掩碼,輸入格式為00/00/0000日/月/年S_outsize入庫(kù)量floatNoS_teller出納員Varchar10No合同表:用來(lái)記錄合同的信息表名:compact主鍵:H_id字段字段描述數(shù)據(jù)類(lèi)型寬度是否為空備注H_id合同編號(hào)Varchar18NoH_time簽訂時(shí)間DatetimeNo使用日期掩碼,輸入格式為00/00/0000日/月/年S_fname供應(yīng)商Varchar40NoS_name商品名稱(chēng)Varchar20NoH_ftime發(fā)貨時(shí)間DatetimeNo使用日期掩碼,輸入格式為00/00/0000日/月/年H_stime結(jié)貨時(shí)間DatetimeNoH_size貨物量float20No合同執(zhí)行檢查表:用來(lái)檢查合同剩余物資的情況表名:compact_supervise主鍵:H_ id字段字段描述數(shù)據(jù)類(lèi)型寬度是否為空備注H_id合同編號(hào)Varchar18NoH_size物資剩余Float16yes供應(yīng)商表:用來(lái)記錄供應(yīng)商的基本情況表名:producter主鍵:F_name字段字段描述數(shù)據(jù)類(lèi)型寬度是否為空備注f_name供應(yīng)商名稱(chēng)Varchar20NoF_telephone電話(huà)Varchar18NoF_address地址Varchar40NoF_product主要產(chǎn)品Varchar10NoF_appraise評(píng)價(jià)Varchar10No使用下拉框掩碼,用戶(hù)在輸入時(shí)只能選擇(好,較好,中等,差)。供應(yīng)人員表:用來(lái)管理供應(yīng)出人員的基本信息。表名:teller主鍵:T_id字段字段描述數(shù)據(jù)類(lèi)型寬度是否為空備注T_name供應(yīng)人員名稱(chēng)Varchar20NoT_telephone電話(huà)Varchar18NoT_address地址Varchar40NoT_id身份權(quán)限Varchar10NoT_number身份證號(hào)Varchar10NoT_sex性別Varchar2No使用下拉框掩碼,用戶(hù)在輸入時(shí)只能選擇(男|女)。男對(duì)應(yīng)1,女對(duì)應(yīng)04.2.2程序界面設(shè)計(jì)與實(shí)現(xiàn)方法界面比較多,在此只介紹具有代表性的幾個(gè)。(1)系統(tǒng)主界面:模塊的主體框架采用的是多文檔界面MDI(MultipleDocumentInterface),它的好處是能同時(shí)打開(kāi)多個(gè)窗口,并且可以自由的在各個(gè)窗口之間進(jìn)行切換。利用MDI我們可以以最小的改動(dòng)對(duì)系統(tǒng)升級(jí)圖4.3系統(tǒng)主界面主要是以菜單的形式激發(fā)事件。菜單項(xiàng)倉(cāng)庫(kù)管理有下拉菜單:圖4.4菜單項(xiàng)其中只有登陸菜單項(xiàng)是可用的,只有對(duì)于登陸成功的用戶(hù),其他不可用的菜單項(xiàng)才可以變成可用的,登陸窗口如下:圖4.5登陸窗口在登陸窗口的(登陸)按鈕的click事件中,如果登陸成功有如下語(yǔ)句DimprmmenuAsMainMenuprmmenu=Me.ParentForm.Menuprmmenu.MenuItems(0).MenuItems(0).Enabled=Trueprmmenu.MenuItems(0).MenuItems(1).Enabled=Trueprmmenu.Menu

溫馨提示

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

評(píng)論

0/150

提交評(píng)論