(精品)超市管理系統(tǒng)1(2013年優(yōu)秀畢業(yè)設(shè)計(jì))_第1頁
(精品)超市管理系統(tǒng)1(2013年優(yōu)秀畢業(yè)設(shè)計(jì))_第2頁
(精品)超市管理系統(tǒng)1(2013年優(yōu)秀畢業(yè)設(shè)計(jì))_第3頁
(精品)超市管理系統(tǒng)1(2013年優(yōu)秀畢業(yè)設(shè)計(jì))_第4頁
(精品)超市管理系統(tǒng)1(2013年優(yōu)秀畢業(yè)設(shè)計(jì))_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

大學(xué)畢業(yè)設(shè)計(jì)論文課題 超市管理系統(tǒng)姓 名 學(xué) 科 專 業(yè) . 指 導(dǎo) 教 師 日期: 年 月-前言-超市管理系統(tǒng)是一個(gè)超市不可缺少的部分,它的內(nèi)容對(duì)于超市的決策者和管理者來說都至關(guān)重要,所以超市管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸匿N售,查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件信息,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)品質(zhì)信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高超市管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中我們將以開發(fā)一套超市管理系統(tǒng)為例,談?wù)勂溟_發(fā)過程和所涉及到的問題及解決方法。-摘要-超市管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。經(jīng)過分析,我們使用 MICROSOFT公司的 VISUAL BASIC開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡(jiǎn)潔操縱數(shù)據(jù)庫(kù)的智能化對(duì)象,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。本系統(tǒng)主要完成對(duì)超市的管理,包括進(jìn)貨管理,銷售管理,庫(kù)存管理和員工管理四個(gè)方面。系統(tǒng)可以完成對(duì)各類信息的瀏覽、查詢、添加、刪除、修改等功能。系統(tǒng)的核心是銷售、庫(kù)存查詢和進(jìn)貨管理三者之間的聯(lián)系,每一個(gè)表的修改都將聯(lián)動(dòng)的影響其它的表,當(dāng)完成銷售或進(jìn)貨操作時(shí)系統(tǒng)會(huì)自動(dòng)地完成相對(duì)應(yīng)信息的修改。查詢功能也是系統(tǒng)的核心之一,在系統(tǒng)中主要根據(jù)商品編號(hào)和商品名稱等進(jìn)行查詢,其目的都是為了方便用戶使用,以求更快的查找到各個(gè)物料和產(chǎn)品品質(zhì)的基本信息。系統(tǒng)有完整的用戶添加、刪除和密碼修改功能,系統(tǒng)采用Microsoft Office中的Access 2000來設(shè)計(jì)數(shù)據(jù)庫(kù),并使用當(dāng)前優(yōu)秀的開發(fā)工具VB 6.0 ,它有著最為靈活的數(shù)據(jù)庫(kù)結(jié)構(gòu),對(duì)數(shù)據(jù)庫(kù)應(yīng)用有著良好的支持。論文主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點(diǎn)的說明了系統(tǒng)設(shè)計(jì)的重點(diǎn)、設(shè)計(jì)思想、難點(diǎn)技術(shù)和解決方案。英文摘要Summary This system chiefly accomplishes the stock management to the storehouse, includes being put in storage, goes out the warehouse and stocks, and staffs information, six aspects such as suppliers information as well as cryptogram management etc. What the system can accomplish to various kind the information glances over and the function such as inquires about, adds, deletes andmodification etc. The systematic nucleus is is put in storage, stocks and goes out the contact between the warehouse, and when accomplishes being put in storage or going out a warehouse, the system can accomplish voluntarily the modification of stock to other table of influence that the modification of every table all will be linkageed when operating. Inquiring about the function also is one of systematic nucleus, namely having the wallscroll spare to inquire about and inquires about with many conditions in the system, also having accurately the query to inquire about with bluring, not only there is the condition query of static state in the system, also having the condition query of trends formations, his purpose all is using for convenient user. The system has completeuser to add, deletes and the cipher modification function, and has the reportform and prints the function. The Access 2000 that the system adopted among Microsoft Office comes the design data warehouse, and use before one zorch development tool - VB6.0, it has the most nimble data base structure, and the application has the good support to the data warehouses. The development background of this the subject, course of function and the development that will be accomplished were chiefly introduced to thesis. The emphatic explanation focal point of systems design, design thought and difficult point technology and settlement scheme. The keyword: the data base, SQLs language, vb6.0,s data base package, the Warehouse management.關(guān)鍵字:控件、窗體、數(shù)據(jù)庫(kù),visual basic語言,超市,商品目 錄第一章 需求分析11 開發(fā)背景1. 2 系統(tǒng)分析第二章 系統(tǒng)實(shí)現(xiàn)的理論基礎(chǔ)2.1 VISUAL BASIC 6.0 簡(jiǎn)介2.2 ACCESS數(shù)據(jù)庫(kù)介紹2.3 ADO技術(shù)2.4 SQL語言第三章 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)31數(shù)據(jù)庫(kù)的概念32創(chuàng)建數(shù)據(jù)庫(kù)文件3.3 怎樣創(chuàng)建一個(gè)數(shù)據(jù)表3.4 VB連接ACCESS2000數(shù)據(jù)庫(kù)3.5數(shù)據(jù)庫(kù)設(shè)計(jì)第四章 系統(tǒng)總體規(guī)劃41系統(tǒng)功能42系統(tǒng)功能簡(jiǎn)介43流程圖和E-R圖設(shè)計(jì)結(jié)束語參考文獻(xiàn)系統(tǒng)代碼清單需求分析1.1開發(fā)背景隨著我國(guó)改革開放的不斷深入,經(jīng)濟(jì)飛速的發(fā)展,企業(yè)要想生存、發(fā)展,要想在激烈的市場(chǎng)競(jìng)爭(zhēng)中立于不敗之地,沒有現(xiàn)代化的管理是萬萬不行的,超市管理的全面自動(dòng)化、信息化則是其中極其重要的部分。為了加快超市管理自動(dòng)化的步伐,提高超市的管理業(yè)務(wù)處理效率,建立超市管理系統(tǒng)已變得十分心要。將計(jì)算機(jī)這一信息處理利器應(yīng)用于超市的日常管理已是勢(shì)必所然,而且這也將為超市管理帶來前所未有的改變,它可以帶來意想不到的效益,同時(shí)也會(huì)為企業(yè)的飛速發(fā)展提供無限潛力。采用計(jì)算機(jī)管理信息系統(tǒng)已成為超市管理科學(xué)化和現(xiàn)代化的重要標(biāo)志,它給企業(yè)管理來了明顯的經(jīng)濟(jì)效益和社會(huì)效益。主要體現(xiàn)在:極大提高了超市工作人員的工作效率,大大減少了以往入出存流程繁瑣,雜亂,周期長(zhǎng)的弊端,可以減少入庫(kù)管理、出庫(kù)管理及庫(kù)存管理中的漏洞,可以節(jié)約不少管理開支,增加企業(yè)收入。超市的管理的操作自動(dòng)化和信息的電子化,全面提高了超市的管理水平入庫(kù)、庫(kù)存、出庫(kù)還是現(xiàn)在企業(yè)超市管理的常規(guī)基本模式,雖然,最近又出現(xiàn)了很多新的管理模式,如:基于零庫(kù)存思想的沃爾瑪特管理方式,但這些新的思想在中國(guó)大部分企業(yè)的管理中還是難以實(shí)現(xiàn)的。所以如何設(shè)計(jì)好超市管理系統(tǒng),盡可能地減少超市管理的重復(fù)性和低效性就成為當(dāng)前最為重要的問題。超市供銷管理的核心是入庫(kù)、庫(kù)存和出庫(kù)之間的聯(lián)系,如何處理好三者之間的關(guān)系是系統(tǒng)最為關(guān)鍵的部分。另外,經(jīng)辦人信息和廠家信息管理也是超市管理中一個(gè)必不可少的部分,它提供著與入庫(kù)和出庫(kù)相關(guān)的地一些信息,使得整個(gè)系統(tǒng)更加完整,更加實(shí)用。通過對(duì)超市管理日常工作的詳細(xì)調(diào)查,搜集了大量的資料,從系統(tǒng)結(jié)構(gòu)的組織,功能的實(shí)現(xiàn),技術(shù)的要求以及可行性等多方面進(jìn)行考慮,認(rèn)為本課題是一個(gè)適應(yīng)現(xiàn)今超市供銷管理需求的計(jì)算機(jī)信息管理系統(tǒng),具有一定的實(shí)際開發(fā)價(jià)值和使用價(jià)值。超市管理系統(tǒng)的框架圖:顧客 認(rèn)識(shí)商品 進(jìn)貨部 訂貨確認(rèn) 超 市 訂貨報(bào)表 消費(fèi)紀(jì)錄單 訂貨報(bào)表 結(jié)銷 帳 售 盤 數(shù) 點(diǎn) 量 管理者 業(yè)業(yè) 1.2系統(tǒng)分析作為一個(gè)超市管理系統(tǒng),其功能是實(shí)現(xiàn)超市中商品的進(jìn)貨銷售,庫(kù)存等管理的系統(tǒng)化、規(guī)范化和自動(dòng)化。本系統(tǒng)主要要完成的功能有:(1)交易管理:包括進(jìn)貨登記、銷貨登記、退貨登記等。其中進(jìn)貨登記中還包含進(jìn)貨商登記,如過是新的進(jìn)貨廠商,可以直接在此登記入庫(kù)。進(jìn)貨和銷售的主要交易都是在此進(jìn)行。每次交易(包括進(jìn)貨、銷貨和退貨)都需要對(duì)商品名稱、生產(chǎn)廠商、商品型號(hào)、單價(jià)、數(shù)量、總金額、交易日期、經(jīng)手業(yè)務(wù)員編號(hào)等各項(xiàng)記錄。在交易過程中,程序的編寫盡可能的方便員工進(jìn)行交易,比如:進(jìn)貨登記時(shí),如果商品編號(hào)相同,則自動(dòng)添加該商品的其它屬性;銷貨登記時(shí),用戶只要輸入商品編號(hào),該商品的其它屬性即可自動(dòng)出現(xiàn)。退貨登記時(shí),只要輸入正確的銷貨編號(hào),其銷售信息也將自動(dòng)列出,盡量的方便了用戶的操作,同時(shí)對(duì)于登陸的員工編號(hào)程序也自動(dòng)的將其列在進(jìn)貨登記、銷貨登記中,已防止員工進(jìn)行非正常的交易。(2)進(jìn)貨統(tǒng)計(jì):包括今日進(jìn)貨統(tǒng)計(jì)、本月進(jìn)貨統(tǒng)計(jì)、本季度進(jìn)貨統(tǒng)計(jì)、本季度進(jìn)貨統(tǒng)計(jì)、本年度進(jìn)貨統(tǒng)計(jì)等。其中每次進(jìn)貨統(tǒng)計(jì)都是按進(jìn)貨廠商和進(jìn)貨總金額統(tǒng)計(jì)顯示的。使用一個(gè)表格顯示所選時(shí)間段的全部進(jìn)貨數(shù)據(jù),包括進(jìn)貨編號(hào)、商品名稱等。再使用另一個(gè)表格顯示分別從各個(gè)廠商進(jìn)貨的金額,還有一個(gè)文本框用于顯示次時(shí)間段的進(jìn)貨總金額。(3)銷貨統(tǒng)計(jì):包括今日銷售統(tǒng)計(jì)、本月銷售統(tǒng)計(jì)、本季度銷售統(tǒng)計(jì)、本年度銷售統(tǒng)計(jì)等,其中每次銷售統(tǒng)計(jì)都是按生產(chǎn)廠商和銷售總金額統(tǒng)計(jì)顯示的。使用一個(gè)表格顯示所選時(shí)間段的全部銷售數(shù)據(jù),包括銷貨編號(hào)、商品名稱等。再使用另一個(gè)表格顯示分別從各個(gè)廠商進(jìn)貨的金額,還有一個(gè)文本框用于顯示次時(shí)間段的銷售總金額。(4)查看數(shù)據(jù)表:實(shí)現(xiàn)各種數(shù)據(jù)表的瀏覽,包括進(jìn)貨表,商品庫(kù)存表、銷售表、退貨表、員工表、進(jìn)貨商表等。對(duì)于員工表管理員還可以對(duì)其進(jìn)行刪除或添加用戶操作。(5) 系統(tǒng)管理: 包括更換用戶、修改密碼、退出系統(tǒng)等。更換用戶的操作方便了用戶的使用,同時(shí)更加方便了管理員對(duì)于系統(tǒng)數(shù)據(jù)的查詢,可以做到隨時(shí)查看,以使管理員對(duì)帳目一目了然,同時(shí)方便了普通用戶的交接班使用本系統(tǒng)。修改密碼和退出系統(tǒng)都是對(duì)于系統(tǒng)管理的輔助功能,再這里就不詳細(xì)說明了。(6) 其它窗體: 包括主窗體、登陸窗體、系統(tǒng)初始化窗體。主窗體就是將各個(gè)模塊的大意列在菜單中,然后通過每一個(gè)菜單將其它的窗體逐個(gè)對(duì)應(yīng)的連到主窗體中。登陸窗體為本系統(tǒng)的啟動(dòng)窗體,其功能是讓合法的用戶使用本系統(tǒng),已防止其它的非法人員使用該系統(tǒng)。并對(duì)登陸的用戶做一下權(quán)限的區(qū)別:分為管理員和普通員工。系統(tǒng)初始化窗體的主要目的是:在本系統(tǒng)的試運(yùn)行階段成功后是管理員可以直接把除了員工表以外的所有數(shù)據(jù)表的內(nèi)容清零。登陸窗體中設(shè)計(jì)了一個(gè)權(quán)限,可以區(qū)分是員工登陸還是管理員登陸,如果是管理員則提示是否進(jìn)行系統(tǒng)初始化,否則直接進(jìn)入主窗體。第二章 系統(tǒng)實(shí)現(xiàn)的理論基礎(chǔ)2.1 VISUAL BASIC 6.0 簡(jiǎn)介Visual Basic作為當(dāng)今社會(huì)功能強(qiáng)大的可視化開發(fā)工具具有以下幾大特點(diǎn):(1)成功的簡(jiǎn)化了界面的設(shè)計(jì)過程。它在Windows平臺(tái)上提供了圖形用戶界面(GUI)的集成開發(fā)環(huán)境(IDE)。在集成開發(fā)環(huán)境中,你可以選擇想要顯示的工具欄,將按鈕添加并移動(dòng)到工具欄中,在不固定的或固定的工具欄中以及SDI或MDI界面中進(jìn)行選擇,Visual Basic的IDE就像飛機(jī)的坐艙,完成你工作所需的所有量表和儀器都已經(jīng)配備好了。采用簡(jiǎn)單易學(xué)的Basic語言,它既適用于沒有任何編程經(jīng)驗(yàn)的開發(fā)者學(xué)習(xí),也適合于開發(fā)各種復(fù)雜的底層應(yīng)用程序,使用Basic語言編寫的應(yīng)用程序簡(jiǎn)潔靈巧易于維護(hù),可以說它是一種“天生結(jié)構(gòu)化”的語言。(2)提供了多種向?qū)А@眠@些向?qū)?,可以快速地完成一般性的任?wù),例如生成其控件不綁定到數(shù)據(jù)控件上的純代碼窗體,建立查詢,添加工具,制作圖表,以及發(fā)布創(chuàng)建的應(yīng)用程序等,這樣可以大大加快應(yīng)用程序的開發(fā)過程。(3)具有強(qiáng)大的數(shù)據(jù)和字符串處理功能。Visual Basic還是一種易于擴(kuò)充功能的開發(fā)系統(tǒng)。一方面,它可以使用第三方廠家提供的各種Visual Basic使用的控件;另一方面,開發(fā)者也可以使用其他編程語言編寫自己所需的控件,因此它是一種可以不斷擴(kuò)充功能的開發(fā)系統(tǒng)。(4)提供了IntelliSense技術(shù)。當(dāng)你在Visual Basic的代碼窗口敲進(jìn)對(duì)象名稱的時(shí)候,IntelliSense技術(shù)會(huì)自動(dòng)向你顯示一些相關(guān)的信息,例如對(duì)象的屬性和方法等。當(dāng)一種方法或函數(shù)的參數(shù)被輸入時(shí),IntelliSense有助于確保開發(fā)者們?yōu)閂isual Basic提供正確的變量以及幫助用戶自己編寫正確的函數(shù)。IntelliSense也有助于提高開發(fā)者們的開發(fā)能力,因?yàn)樗麄兇藭r(shí)不必再記憶那些復(fù)雜的對(duì)象屬性及函數(shù)參數(shù)了。2.2 ACCESS數(shù)據(jù)庫(kù)介紹Microsoft Access 是微軟公司開發(fā)的第一個(gè)面向Windows平臺(tái)的桌面數(shù)據(jù)庫(kù)管理系統(tǒng),它充分利用了Windows平臺(tái)的優(yōu)越性,如圖形界面和Windows的事件驅(qū)動(dòng)機(jī)制等。作為Microsoft的office套件產(chǎn)品之一,access已經(jīng)賣出了近700萬份,成為世界上最流行的桌面數(shù)據(jù)庫(kù)系統(tǒng)。Access與許多優(yōu)秀的關(guān)系數(shù)據(jù)庫(kù)一樣,可以讓你很容易地連接相關(guān)的信息而且還對(duì)其他的數(shù)據(jù)庫(kù)系統(tǒng)有所補(bǔ)充。它能操作其它來源的資料,包括許多流行的PC數(shù)據(jù)庫(kù)程序(如dBASE,Paradox,Microsoft FoxPro)和服務(wù)器、小型積極大型機(jī)上的許多SQL數(shù)據(jù)庫(kù)。Access還完全支持Microsoft的OLE技術(shù)。Access還提供windows操作系統(tǒng)的高級(jí)應(yīng)用程序開發(fā)系統(tǒng)。Access與其它數(shù)據(jù)庫(kù)開發(fā)系統(tǒng)之間相當(dāng)顯著的區(qū)別就是:您不用寫一行代碼,就可以在很短的時(shí)間里開發(fā)出一個(gè)功能強(qiáng)大而且相當(dāng)專業(yè)的數(shù)據(jù)庫(kù)應(yīng)用程序,并且這一愉快的過程是完全可視的!如果您能給它加上簡(jiǎn)短的VBA代碼,那么您的程序決不比專業(yè)程序員潛心開發(fā)的程序差。2.3 ADO技術(shù) Active Data Objects(ADO)微軟最新的數(shù)據(jù)庫(kù)訪問技術(shù),它被設(shè)計(jì)用來同新的數(shù)據(jù)訪問層OLE DB Provider一起協(xié)同工作,以提高通用數(shù)據(jù)訪問(Universal Data Access).OLE DB是一個(gè)低層的數(shù)據(jù)訪問接口,用它可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù),以及電子郵件系統(tǒng)及自定義的商業(yè)對(duì)象。ADO向我們提供了一個(gè)熟悉的,高層的對(duì)OLE DB的Automation的封裝接口。對(duì)那些熟悉RAO的程序員來說,可以把OLE DB比作是ODBC驅(qū)動(dòng)程序。如同RAO對(duì)象是ODBC驅(qū)動(dòng)程序接口一樣,不同的數(shù)據(jù)源要求它們自己的OLE DB提供者(OLE DB Provider)。ADO最重要的三個(gè)對(duì)象是:Connection, Command, Recordset。(1) Connection對(duì)象Connection對(duì)象用于建立與數(shù)據(jù)庫(kù)的連接。通過連接可從應(yīng)用程序訪問數(shù)據(jù)源。它保存諸如指針類型,連接字符串,查詢超時(shí),連接超時(shí)和缺省數(shù)據(jù)庫(kù)這樣的連接信息。(2) Command對(duì)象在建立Connection后,可以發(fā)出命令操作數(shù)據(jù)源。一般情況下,Command對(duì)象可以在數(shù)據(jù)庫(kù)中添加,刪除或更新數(shù)據(jù),或者在表中進(jìn)行數(shù)據(jù)查詢。Command對(duì)象在定義查詢參數(shù)或執(zhí)行一個(gè)有輸出參數(shù)的存儲(chǔ)過程時(shí)非常有用。(3) Recordset對(duì)象Recordset對(duì)象只代表一個(gè)記錄集,這個(gè)記錄集是一個(gè)連接的數(shù)據(jù)庫(kù)中的表,或者是Command對(duì)象的執(zhí)行結(jié)果返回的記錄集。在ADO對(duì)象模型中,是在行中檢查和修改數(shù)據(jù)的最主要的方法,所有對(duì)數(shù)據(jù)的操作幾乎都是在Recordset對(duì)象中完成的。Record對(duì)象用于指定行,移動(dòng)行、添加、更改、刪除記錄。2.4 SQL語言SQL語言是一種介于關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢語言,其功能不僅僅是查詢。SQL是一個(gè)通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫(kù)語言。SQL語言之所以能夠?yàn)橛脩艉蜆I(yè)界所接受,并成為國(guó)際標(biāo)準(zhǔn),是因?yàn)樗且粋€(gè)綜合的、功能極強(qiáng)同時(shí)有簡(jiǎn)單易學(xué)的語言。SQL語言集數(shù)據(jù)查詢(Data Query)、數(shù)據(jù)操縱(Data Manipulation)、數(shù)據(jù)定義(Data Definition)和數(shù)據(jù)控制(Data Control)功能于一體,主要特點(diǎn)包括:(1) 綜合統(tǒng)一數(shù)據(jù)庫(kù)系統(tǒng)的主要功能是通過數(shù)據(jù)庫(kù)支持的數(shù)據(jù)語言來實(shí)現(xiàn)的。SQL語言集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL的功能于一體,語言風(fēng)格統(tǒng)一,可以獨(dú)立完成數(shù)據(jù)庫(kù)生命周期中的全部活動(dòng),包括定義關(guān)系模式、建立數(shù)據(jù)庫(kù)、插入數(shù)據(jù)、查詢、更新、維護(hù)、數(shù)據(jù)庫(kù)重構(gòu)、數(shù)據(jù)庫(kù)安全性控制等一系列操作要求,這就為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開發(fā)提供了良好的環(huán)境。用戶在數(shù)據(jù)庫(kù)系統(tǒng)投入運(yùn)行后,還可根據(jù)需要隨時(shí)地逐步地修改模式,且并不影響數(shù)據(jù)庫(kù)的運(yùn)行,從而是系統(tǒng)具有良好的可擴(kuò)展性。(2)高度非過程化非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語言是面向過程的語言,用其完成某項(xiàng)請(qǐng)求,必須指定存取路徑。而用SQL語言進(jìn)行數(shù)據(jù)操作,只要提出“做什么”,而無須指明“怎么做”,因此無須了解存取路徑,存取路徑的選擇以及SQL語句的操作過程由系統(tǒng)自動(dòng)完成。這不但大大減輕了用戶負(fù)擔(dān),而且有利于提高數(shù)據(jù)獨(dú)立性。(3)面向集合的操作方式非關(guān)系數(shù)據(jù)模型采用的是面向記錄的操作方式,操作對(duì)象是一記錄。例如查詢所有平均成績(jī)?cè)?0分以上的產(chǎn)品姓名,用戶必須一條一條地把滿足條件的產(chǎn)品記錄找出來(通常要說明具體處理過程,即按照哪條路徑,如何循環(huán)等)。而SQL語言采用集合操作方式,不僅操作對(duì)象、查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對(duì)象也可以是元組的集合。(4)以同一種語法結(jié)構(gòu)提出兩種使用方式SQL語言既是自含試語言,又是嵌入式語言。作為自含式語言,它能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式,用戶可以在終端鍵盤上直接鍵入SQL命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作;作為嵌入式語言,SQL語言能夠嵌入到高級(jí)語言(例如C、COBOL、FORTRAN)程序中,供程序員設(shè)計(jì)程序時(shí)使用。而在兩中不同的使用方式下,SQL語言的語法結(jié)構(gòu)基本上是一致的。這種以統(tǒng)一的語法結(jié)構(gòu)提供兩種不同的使用方式的做法,提供了極大的靈活性與方便性。(5)語言簡(jiǎn)捷,易學(xué)易用 SQL語言功能極強(qiáng),但由于設(shè)計(jì)巧妙,語言十分簡(jiǎn)捷,完成核心功能只使用了9個(gè)動(dòng)詞:數(shù)據(jù)查詢(SELECT)、數(shù)據(jù)定義(CREATE,DROP,ALTER)、數(shù)據(jù)操作(INSERT,UPDATE,DELETE)和數(shù)據(jù)控制(GRANT,REVOKE)。SQL語言接近英語口語,因此容易學(xué)習(xí),容易使用。第三章 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)31數(shù)據(jù)庫(kù)的概念數(shù)據(jù)庫(kù)處理在信息系統(tǒng)的研究中一直是非常重要的主題,然而,近年來,隨著World Wide Web(WWW)的猛增及Internet技術(shù)的迅速發(fā)展,使得數(shù)據(jù)庫(kù)技術(shù)之時(shí)成為最熱門技術(shù)之一。數(shù)據(jù)庫(kù)技術(shù)能使Internet應(yīng)用超越具有早期應(yīng)用特點(diǎn)的簡(jiǎn)單的發(fā)布。同時(shí),Internet技術(shù)提供了一種向用戶發(fā)布數(shù)據(jù)庫(kù)內(nèi)容的標(biāo)準(zhǔn)化的訪問方法。這些技術(shù)沒有脫離經(jīng)典數(shù)據(jù)庫(kù)技術(shù)的要求。它們只是加重了數(shù)據(jù)庫(kù)技術(shù)的重要性。數(shù)據(jù)庫(kù)的設(shè)計(jì)和開發(fā)及包括藝術(shù)有包括工程。理解用戶的需求,然后,把它們轉(zhuǎn)變?yōu)橛行У臄?shù)據(jù)庫(kù)設(shè)計(jì)是一個(gè)藝術(shù)過程。把設(shè)計(jì)轉(zhuǎn)變?yōu)閷?shí)際的數(shù)據(jù)庫(kù),并且這些數(shù)據(jù)庫(kù)帶有功能完備、高效能的應(yīng)用,是一個(gè)工程過程。數(shù)據(jù)庫(kù)的目的是幫助人們跟蹤事務(wù)。經(jīng)典的數(shù)據(jù)庫(kù)應(yīng)用涉及諸如訂單、顧客、工作、員工、學(xué)生、電話之類的項(xiàng),或其它數(shù)據(jù)量較大、需要密切關(guān)注的事務(wù)。最近,由于數(shù)據(jù)庫(kù)的普及,數(shù)據(jù)庫(kù)技術(shù)已經(jīng)被應(yīng)用到了新的領(lǐng)域,諸如用于Internet的數(shù)據(jù)庫(kù)或用于公司內(nèi)聯(lián)網(wǎng)的數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)也被越來越多地應(yīng)用于生成和維護(hù)多媒體應(yīng)用程序上。計(jì)算機(jī)的數(shù)據(jù)處理應(yīng)用,首先要把大量的信息以數(shù)據(jù)形式存放在存儲(chǔ)器中。存儲(chǔ)器的容量、存儲(chǔ)速率直接影響到數(shù)據(jù)管理技術(shù)的發(fā)展。從1956年生產(chǎn)出第一臺(tái)計(jì)算機(jī)到現(xiàn)在,存儲(chǔ)器的發(fā)展,為數(shù)據(jù)庫(kù)技術(shù)提供了良好的物質(zhì)基礎(chǔ)。使用計(jì)算機(jī)以后,數(shù)據(jù)處理的速度和規(guī)模,無論是相對(duì)于手工方式,還是機(jī)械方式,都有無可比擬的優(yōu)勢(shì)。通常在數(shù)據(jù)處理中,計(jì)算是比較簡(jiǎn)單的而數(shù)據(jù)的管理卻比較復(fù)雜。數(shù)據(jù)管理是指數(shù)據(jù)的收集、整理、組織、存儲(chǔ)、維護(hù)、檢索、傳送等操作,這部分操作是數(shù)據(jù)處理業(yè)務(wù)的基本環(huán)節(jié),而且是任何數(shù)據(jù)處理業(yè)務(wù)中必不可少的共有部分。數(shù)據(jù)管理技術(shù)的優(yōu)劣,將直接影響數(shù)據(jù)處理的效率。數(shù)據(jù)庫(kù)在一個(gè)信息管理系統(tǒng)中占有非常重要的位置,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)設(shè)計(jì)可以提高數(shù)據(jù)庫(kù)存儲(chǔ)效率,保證數(shù)據(jù)的完整和一致。同時(shí)合理的數(shù)據(jù)結(jié)構(gòu)也將有利于程序的實(shí)現(xiàn)。設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí),應(yīng)該首先了解用戶的各個(gè)方面的需求,包括現(xiàn)有的以及將來可能增加的。32創(chuàng)建數(shù)據(jù)庫(kù)文件如果操作系統(tǒng)中安裝了ACCESS2000的話,可以在開始菜單的程序菜單中可以找到。如下所示:打開ACCESS2000之后,會(huì)開啟一個(gè)窗口,可選擇是打開以前的數(shù)據(jù)庫(kù)文件還是新建一個(gè)新的空數(shù)據(jù)庫(kù)文件,如果選擇空ACCESS數(shù)據(jù)庫(kù),然后點(diǎn)擊確定按鈕。這些就新建了一個(gè)數(shù)據(jù)庫(kù)文件。最后一步就是要選擇一個(gè)要保存數(shù)據(jù)庫(kù)文件的名字和位置。點(diǎn)擊創(chuàng)建就完成。3.3 怎樣創(chuàng)建一個(gè)數(shù)據(jù)表 上面已經(jīng)講了如何創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)文件,按照上面的步驟建立一個(gè)數(shù)據(jù)庫(kù)文件后,需要在數(shù)據(jù)庫(kù)文件中建立一個(gè)數(shù)據(jù)表。在下面的對(duì)話框中選”使用設(shè)計(jì)器創(chuàng)建表”,上面還有三個(gè)按鈕,一個(gè)是打開,一個(gè)是設(shè)計(jì),一個(gè)是新建,點(diǎn)擊設(shè)計(jì),就可以開始設(shè)計(jì)數(shù)據(jù)表了。 出現(xiàn)設(shè)計(jì)的界面后,就可以開始設(shè)計(jì)數(shù)據(jù)表了!3.4 VB連接ACCESS2000數(shù)據(jù)庫(kù)用vb編寫一個(gè)管理軟件,如果不能連接數(shù)據(jù)庫(kù),那也沒有什么用處。先看看VB是如何與ACCESS2000數(shù)據(jù)庫(kù)相連接的。Sub ConnStr()連接數(shù)據(jù)庫(kù)Set conn = CreateObject(ADODB.Connection) 建立數(shù)據(jù)庫(kù)連接對(duì)像DBpath = App.Path & & data.mdb 設(shè)置數(shù)據(jù)的路徑conn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & DBpath 打開數(shù)據(jù)庫(kù)連接Set rs = CreateObject(ADODB.Recordset) 設(shè)置數(shù)據(jù)庫(kù)對(duì)像End Sub上面的一段代碼就是連接數(shù)據(jù)庫(kù)的。上用到了三個(gè)變量conn,Dbpath,rs。其中有兩個(gè)變量要定義為公用的變量,因?yàn)檫@段代碼是放在一個(gè)模塊中的,為了在每一個(gè)窗體中能夠使用這個(gè)變量,所以必須要聲明為公用變量。聲明公用變量的方法如下:Public connPublic rs上面就是聲明為公用變量,上面的聲明一定要放在模塊的最上面。如果聲明在下面,那就成了局部變量,那么作用范圍就會(huì)不同了,作用就更不同,而且在其它窗體中使用到了這個(gè)變量,程序會(huì)出錯(cuò)。34數(shù)據(jù)庫(kù)設(shè)計(jì)上面提到的各種功能的實(shí)現(xiàn)都離不開數(shù)據(jù)庫(kù)的支持,因此數(shù)據(jù)庫(kù)設(shè)計(jì)作為本系統(tǒng)設(shè)計(jì)的一部分不可缺少。開發(fā)本系統(tǒng)中使用的數(shù)據(jù)庫(kù)系統(tǒng)是Windows Access 2000 。從上面的功能分析不難看出本系統(tǒng)需要建立以下幾個(gè)數(shù)據(jù)表:buy表(進(jìn)貨表)、goods表(現(xiàn)存商品表)、sell表(銷售表)、retreat表(退貨表)、employee表(員工表)、manufacturer表(進(jìn)貨商表)。由于數(shù)據(jù)量比較小,所以這些數(shù)據(jù)表都存在一個(gè)數(shù)據(jù)庫(kù)下:sellsystem.mdb 下面對(duì)各個(gè)數(shù)據(jù)表的結(jié)構(gòu)做一下簡(jiǎn)單介紹:在系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)中,進(jìn)貨表、銷貨表、商品庫(kù)存表和退貨表涉及了交易管理三個(gè)子菜單的絕大部分?jǐn)?shù)據(jù),是本系統(tǒng)數(shù)據(jù)庫(kù)的核心,所以將對(duì)其部分表的設(shè)置列表顯示。Manufacturer表(進(jìn)貨商表)中包括有廠商編號(hào)、廠商名稱、聯(lián)系人姓名、電話、廠商地址等字段,表略。employee(員工表)中包括有員工編號(hào)、員工姓名、員工密碼、員工電話、員工地址等字段,表略。buy表(進(jìn)貨表)中包括有進(jìn)貨編號(hào)、商品編號(hào)、商品名稱、生產(chǎn)廠商、型號(hào)、數(shù)量、進(jìn)貨價(jià)、進(jìn)貨年、進(jìn)貨月、進(jìn)貨日、總金額、業(yè)務(wù)員編號(hào)等。設(shè)計(jì)該數(shù)據(jù)表的主要目的是方便管理員的查看,使系統(tǒng)的數(shù)據(jù)管理能夠更加層次化。具體設(shè)置如表3-1所示。表3-1 buy表字段名數(shù)據(jù)類型說明進(jìn)貨編號(hào)文本字段大小為20商品名稱文本字段大小為20生產(chǎn)廠商文本字段大小為20型號(hào)文本字段大小為20數(shù)量數(shù)字長(zhǎng)整型進(jìn)貨價(jià)貨幣貨幣進(jìn)貨年數(shù)字整型進(jìn)貨月數(shù)字整型進(jìn)貨日數(shù)字整型業(yè)務(wù)員編號(hào)文本字段大小為20總金額貨幣貨幣goods表(現(xiàn)存商品表)中包括有商品編號(hào)、生產(chǎn)廠商、商品名稱、型號(hào)、進(jìn)貨價(jià)、銷貨價(jià)、數(shù)量、進(jìn)貨年、進(jìn)貨月、進(jìn)貨日、業(yè)務(wù)員編號(hào)、總金額等字段。具體設(shè)置如表3-2所示。表3-2 goods表字段名數(shù)據(jù)類型說明商品編號(hào)文本字段大小為20商品名稱文本字段大小為20生產(chǎn)廠商文本字段大小為20型號(hào)文本字段大小為20數(shù)量數(shù)字長(zhǎng)整型進(jìn)貨價(jià)貨幣貨幣銷貨價(jià)貨幣貨幣sell表(銷貨表)中包括有銷貨編號(hào)、商品編號(hào)、商品名稱、生產(chǎn)廠商、型號(hào)、數(shù)量等字段,由于篇幅有限,其表略。 retreat表(退貨表)中包括有退貨編號(hào)、銷貨編號(hào)、生產(chǎn)廠商、商品名稱、型號(hào)、單價(jià)、數(shù)量、總金額、退貨年、退貨月、退貨日、業(yè)務(wù)員編號(hào)等。具體設(shè)置如表3-3所示。表3-3 retreat表字段名數(shù)據(jù)類型說明退貨編號(hào)文本字段大小為20銷貨編號(hào)文本字段大小為20商品名稱文本字段大小為20生產(chǎn)廠商文本字段大小為20型號(hào)文本字段大小為20單價(jià)貨幣貨幣數(shù)量數(shù)字長(zhǎng)整型總金額貨幣貨幣退貨年數(shù)字整型退貨月數(shù)字整型退貨日數(shù)字整型業(yè)務(wù)員編號(hào)文本字段大小為20第四章 系統(tǒng)總體規(guī)劃4.1 系統(tǒng)功能1 可以進(jìn)行文本操作;2 添加一個(gè)數(shù)據(jù)庫(kù)項(xiàng)目;3 刪除一個(gè)數(shù)據(jù)庫(kù)項(xiàng)目;4 修改一個(gè)數(shù)據(jù)庫(kù)項(xiàng)目;5 查詢信息;6 用戶添加和密碼修改。42系統(tǒng)功能介紹登陸窗體 該登陸窗體對(duì)用戶登陸做了一個(gè)簡(jiǎn)單的判斷,如果是管理員登陸則可進(jìn)入初始化界面,然后再進(jìn)入主界面。 具體做法是:先在窗體級(jí)中定義一個(gè)記錄集,用于打開employee表,打開后將該表中的字段:?jiǎn)T工姓名,依次加到combo1中。全加入后關(guān)閉記錄集,然后對(duì)combo1和text1中的內(nèi)容做一下簡(jiǎn)單判斷:如果combo1和text1中的數(shù)據(jù)正好和employee表中的某個(gè)記錄相同,則通過登陸窗體,否則提示用戶用戶名或密碼有誤。在通過登陸窗體中還要對(duì)用戶名做一下判斷:如果是管理員登陸,則進(jìn)入系統(tǒng)初始化窗體,如果是普通用戶登陸,則進(jìn)入主界面。初始化窗體 該初始化窗體為本系統(tǒng)的使用者提供了試運(yùn)行服務(wù),如果使用者試運(yùn)行后決定正式使用,可以通過管理員登陸本窗體對(duì)系統(tǒng)進(jìn)行初始化,即清空試運(yùn)行階段的所有銷售數(shù)據(jù)。具體實(shí)現(xiàn)過程為:定義5個(gè)記錄集,其每一個(gè)記錄集控制一個(gè)數(shù)據(jù)表的打開與關(guān)閉操作,其記錄集的取名與數(shù)據(jù)表相近:rs_sell, rs_buy, rs_goods, rs_retreat,rs_manufacturer.當(dāng)管理員點(diǎn)擊是標(biāo)簽時(shí),先出現(xiàn)一個(gè)消息框,問管理員是否真的要進(jìn)行初始化。如果是,則5個(gè)記錄集依次連接到5個(gè)數(shù)據(jù)表上,然后對(duì)每個(gè)數(shù)據(jù)表的內(nèi)容進(jìn)行刪除操作。具體刪除方法為:先對(duì)表的狀態(tài)進(jìn)行判斷,如果某個(gè)數(shù)據(jù)表的內(nèi)容為空,則直接關(guān)閉記錄集,以免多步操作數(shù)據(jù)表出現(xiàn)錯(cuò)誤;如果該數(shù)據(jù)表不為空,則依次刪除該數(shù)據(jù)表的每一個(gè)記錄,對(duì)于每一個(gè)數(shù)據(jù)表都要做此判斷,并且每打開一個(gè)新的數(shù)據(jù)表都要關(guān)閉上一個(gè)數(shù)據(jù)表,這樣操作起來層次顯得比較清晰,而且維護(hù)起來也比較方便。超市管理主界面: 主窗體的建立十分簡(jiǎn)單,只需將所要實(shí)現(xiàn)的功能編輯成菜單即可。該窗體的運(yùn)行過程為:用戶首先進(jìn)入登陸窗體,如果是管理員登陸,則先進(jìn)入初始化窗體,經(jīng)過判斷是否需要初始化后,進(jìn)入主窗體。其權(quán)限為:銷貨統(tǒng)計(jì)、進(jìn)貨統(tǒng)計(jì)、查看數(shù)據(jù)表和系統(tǒng)管理。其權(quán)限的設(shè)置使管理員能夠方便的查看任何時(shí)間段內(nèi)的所有信息,還可以對(duì)員工表進(jìn)行管理。如果是普通用戶登陸,則直接進(jìn)入主窗體,其授予的權(quán)限只有交易管理和系統(tǒng)管理,也就是說員工只能負(fù)責(zé)對(duì)商品進(jìn)行如庫(kù)登記、銷貨登記和退貨登記,另外在一個(gè)員工對(duì)本系統(tǒng)使用的整個(gè)期間內(nèi),進(jìn)貨登記、銷貨登記和退貨登記三個(gè)窗體中的顯示的業(yè)務(wù)員編號(hào)都由系統(tǒng)自動(dòng)給出的該員工的員工編號(hào)。進(jìn)貨登記窗體 本窗體用來實(shí)現(xiàn)商品進(jìn)貨功能,將進(jìn)貨信息添加到buy表,再將該信息選擇性的加入goods表。如果是新的進(jìn)貨廠商,可以在此入庫(kù)登記。其具體實(shí)現(xiàn)過程如下所述:先在窗體級(jí)變量中定義三個(gè)記錄集:rs_buy,rs_goods,rs_manufacture用來控制三個(gè)數(shù)據(jù)表:buy表,goods表,manufacturer表。在用戶點(diǎn)擊添加商品中的添加入庫(kù)操作之前,程序先會(huì)檢查是否有用戶是否有個(gè)別屬性為空,并做出提示。然后將商品添加到buy表中,再添加到goods表。在添加到goods表時(shí),程序會(huì)先判斷該商品編號(hào)是否已經(jīng)存在,如果存在則直接將該添加信息的數(shù)量加到goods表中相應(yīng)的記錄上。為此,進(jìn)貨編號(hào)、商品編號(hào)是buy表、goods表中不可重復(fù)的屬性。為方便用戶操作,程序特在商品編號(hào)的文本框:text2的Change事件中做了一個(gè)判斷,即如果該商品編號(hào)存在的話直接顯示該商品的其他屬性。另外,對(duì)于總金額文本框也是由數(shù)量和進(jìn)貨價(jià)兩個(gè)文本框的Change事件計(jì)算入內(nèi)的。如果是新的進(jìn)貨商,可以將它的信息添加到進(jìn)貨商表。其過程和上面所說的添加到buy表基本相同,這里就不做介紹了。(5) 銷貨登記窗體 本窗體主要功能是對(duì)商品進(jìn)行銷售,首先對(duì)員工輸入的銷貨信息進(jìn)行完整條件的判斷,條件符合后進(jìn)行銷售。然后將銷售信息存入sell表,并對(duì)goods表的數(shù)量做相應(yīng)修改。 具體實(shí)現(xiàn)過程為:先在窗體集中定義兩個(gè)記錄集:rs_sell,rs_goods,用來控制兩個(gè)數(shù)據(jù)表:sell表和goods表。在銷貨窗體中,如果用戶輸入的商品編號(hào)已經(jīng)存在,則該商品的其它屬性將隨著text2(即商品編號(hào))的Change事件出現(xiàn)在其對(duì)應(yīng)的位置上。而銷售日期和業(yè)務(wù)員編號(hào)已經(jīng)是程序默認(rèn)給出的系統(tǒng)時(shí)間和登陸員工的編號(hào)。在判斷沒有空缺屬性后該商品將順利添加如庫(kù),而且該商品在goods表中的數(shù)量也將隨之做相應(yīng)的改變,使goods表和sell表的總和保持原來goods表中的數(shù)量值。(6)退貨窗體 本窗體的功能是實(shí)現(xiàn)商品退貨功能,當(dāng)人為判斷某商品可以退貨時(shí)即可將該商品退貨。其數(shù)據(jù)庫(kù)實(shí)現(xiàn)為:先將該信息加入retreat表,然后從sell表中減掉,最后對(duì)goods表的數(shù)量做一下調(diào)整即可。其具體實(shí)現(xiàn)過程是:先在窗體集中定義三個(gè)記錄集:rs_sell,rs_goods,rs_retreat用來控制三個(gè)數(shù)據(jù)表:sell表、goods和retreat表。在退貨窗體中,如果用戶輸入的銷貨編號(hào)存在,則關(guān)于該商品的銷售信息將依次出現(xiàn)在相應(yīng)的對(duì)話框中。退貨成功后,該退貨信息先添加到退貨表,然后將其退貨數(shù)量從相應(yīng)的sell表中減掉,并添加到goods表中。(7)進(jìn)貨統(tǒng)計(jì)菜單 進(jìn)貨統(tǒng)計(jì)菜單下有4個(gè)子菜單,分別是今日進(jìn)貨統(tǒng)計(jì)、本月進(jìn)貨統(tǒng)計(jì)、本季度進(jìn)貨統(tǒng)計(jì)、今年進(jìn)貨統(tǒng)計(jì)。由于他們的界面非常相似,本程序中使用了一個(gè)SSTab控件以選項(xiàng)卡的形式在一個(gè)窗體中實(shí)現(xiàn)以上4個(gè)子菜單。這樣做使窗體顯得更加美觀。為項(xiàng)目添加了必要的控件之后,開始進(jìn)行界面設(shè)計(jì)。先在窗體上添加一個(gè)SSTab控件,單擊鼠標(biāo)右鍵在快捷菜單中選擇”屬性”命令。將其選項(xiàng)卡的數(shù)目定為4個(gè),標(biāo)題分別為:今日進(jìn)貨、本月進(jìn)貨、本季度進(jìn)貨、本年度進(jìn)貨。由于每個(gè)選項(xiàng)卡的界面都一樣,現(xiàn)以”今日進(jìn)貨”選項(xiàng)卡為例,加入兩個(gè)datagrid控件,兩個(gè)Adodc控件,一個(gè)Label控件,一個(gè)textbox控件和8個(gè)command控件。其中兩個(gè)Adodc的數(shù)據(jù)源連接都是才用的相對(duì)路徑與sellsystem的buy表連接的,兩個(gè)Adodc連接的SQL語句分別如下:select * from buyselect 生產(chǎn)廠商,sum(總金額) as 各廠商進(jìn)貨總金額 from buy group by 生產(chǎn)廠商。(8)銷貨統(tǒng)計(jì)窗體 銷售統(tǒng)計(jì)菜單下有4個(gè)子菜單,分別是今日銷貨、本月銷貨、本季度銷貨、今年銷貨。由于它們的界面非常相似,本程序中使用一個(gè)SSTab控件以選項(xiàng)卡形式在一個(gè)窗體中實(shí)現(xiàn)4個(gè)子菜單。其界面設(shè)計(jì)和窗體說明與進(jìn)貨統(tǒng)計(jì)大同小異,也一樣一個(gè)選項(xiàng)卡為例進(jìn)行說明,現(xiàn)以”今日銷貨”為例:加入兩個(gè)datagrid控件,兩個(gè)Adodc控件,一個(gè)Label控件,一個(gè)textbox控件和8個(gè)command控件。其中兩個(gè)Adodc的數(shù)據(jù)源連接都是采用的相對(duì)路徑與sell表連接的,兩個(gè)Adodc連接的SQL語句分別如下:select * from sellselect 生產(chǎn)廠商,sum(總金額) as 各廠商銷貨總金額 from sell group by 生產(chǎn)廠商。 (9)查看進(jìn)貨表 其界面的設(shè)計(jì)比較簡(jiǎn)單,只是一個(gè)datagrid控件,一個(gè)Adodc控件(已隱藏)和四個(gè)Command控件。本窗體的主要設(shè)計(jì)在于其四個(gè)命令按紐在進(jìn)貨表為空時(shí)不可用。(10)查看進(jìn)貨表 本窗體的主要設(shè)計(jì)目的是設(shè)置一個(gè)查詢商品庫(kù)存表的條件 。具體操作為:為查詢現(xiàn)存商品表設(shè)立了一個(gè)簡(jiǎn)單的查詢條件,一個(gè)是直接顯示現(xiàn)存的全部商品表,一個(gè)是按條件對(duì)現(xiàn)存商品進(jìn)行查詢,用戶可以根據(jù)自己需要按商品名稱或生產(chǎn)廠商分別進(jìn)行查找。該窗體的實(shí)現(xiàn)是要在窗體集的變量中設(shè)置一個(gè)記錄集rs_goods,用來控制goods表,然后將記錄集在打開窗體時(shí)的select語句設(shè)為與本窗體的text1和text2有關(guān)的SQL語句。然后讓現(xiàn)存商品表顯示出來。(11)管理員工表 本窗體的制作目的在于方便對(duì)管理員用戶的管理, 本節(jié)前面曾經(jīng)提過系統(tǒng)初始化的功能,但其初始化并不能對(duì)員工表進(jìn)行操作,當(dāng)管理員登陸本系統(tǒng)時(shí),可以訪問此窗體,對(duì)用戶表進(jìn)行維護(hù)。但不能對(duì)管理員進(jìn)行刪除操作,此操作已被本人屏蔽。 (12)更換用戶功能 在一個(gè)超市可能會(huì)存在員工交接班的現(xiàn)象,為了方便用戶交接班的操作順利進(jìn)行,在系統(tǒng)管理模塊中做了一個(gè)更換用戶子菜單,該子菜單便順利的實(shí)現(xiàn)了此功能,而且它也方便了管理員的登陸管理。(13)修改密碼 為了方便用戶使用,在本模塊中還設(shè)置了一個(gè)修改密碼窗體,該窗體主要包括一個(gè)用戶名輸入、一個(gè)原密碼輸入和兩個(gè)新密碼輸入。此窗體實(shí)現(xiàn)的功能是顯而易見的,方便了用戶的操作,增加了系統(tǒng)使用的安全性。具體做法是:先要求用戶將四個(gè)必填項(xiàng)填寫完整,然后對(duì)兩個(gè)新密碼進(jìn)行相同判斷,如果相同,則將記錄集rs_employee打開,對(duì)用戶名和原密碼進(jìn)行核對(duì),如果相同,就將老密碼替換為新密碼。本節(jié)總結(jié):對(duì)于本超市管理系統(tǒng)功能的實(shí)現(xiàn),重點(diǎn)和難點(diǎn)有以下幾處:交易管理模塊:在本模塊中,對(duì)于商品的進(jìn)貨、銷貨和退貨操作時(shí),都要注意其操作過程中商品數(shù)量及其它屬性的變化,本人在制做此模塊時(shí),采用了指導(dǎo)教師的提供給我的思想:進(jìn)貨登記時(shí),將進(jìn)貨信息添加到進(jìn)貨表中。然后對(duì)商品庫(kù)存表的編號(hào)進(jìn)行判斷,如果進(jìn)貨信息的商品編號(hào)存在,則將商品庫(kù)存表中相應(yīng)記錄的商品數(shù)量做對(duì)應(yīng)調(diào)整;如果商品編號(hào)不存在,則直接將進(jìn)貨信息添加到商品庫(kù)存表中。銷貨登記時(shí),先將商品的銷貨信息添加到銷貨表中,然后將商品庫(kù)存表中響應(yīng)的商品的數(shù)量做相對(duì)調(diào)整,保證商品數(shù)量的一致性。退貨登記時(shí)將退貨信息添加到退貨表中,然后將退貨數(shù)量從銷售表中減掉,最后將退貨數(shù)量加到商品庫(kù)存表中。在本系統(tǒng)管理員登陸時(shí),顯示給管理員的第一個(gè)界面:系統(tǒng)初始化也是本系統(tǒng)的又一大功能特色,其實(shí)現(xiàn)過程中要嚴(yán)格控制每一個(gè)記錄集對(duì)相應(yīng)數(shù)據(jù)表的打開與關(guān)閉操作。43程序流程圖和E-R圖設(shè)計(jì)登錄界面是是面界主面界主查看數(shù)據(jù)表銷售統(tǒng)計(jì)進(jìn)貨統(tǒng)計(jì)退貨登記銷售登記進(jìn)貨登記是是否管理員否各模塊的E-R圖設(shè)計(jì):1交易管理模塊:用于管理商品的進(jìn)貨,銷售,退貨登記的操作。實(shí)體E-R圖如下: 交易管理 銷售登記退貨登記進(jìn)貨登記 2進(jìn)貨統(tǒng)計(jì)管理:主要用于對(duì)商品每日,每月,第季度,每年的進(jìn)貨情況進(jìn)行統(tǒng)計(jì)管理,此功能只有以管理員的身份進(jìn)入時(shí)才為可用狀態(tài)。實(shí)體E-R圖如下: 進(jìn)貨統(tǒng)計(jì)管理 本季度進(jìn)貨今年進(jìn)貨本月進(jìn)貨今日進(jìn)貨3銷售統(tǒng)計(jì)管理:主要用于對(duì)商品每日,每月,第季度,每年的銷售情況進(jìn)行統(tǒng)計(jì)管理,此功能只有以管理員的身份進(jìn)入時(shí)才為可用狀態(tài)。實(shí)體E-R圖如下:銷售統(tǒng)計(jì)管理 本季度銷售今日銷售今年銷售本月銷售4查看數(shù)據(jù)表:主要能查看進(jìn)貨表,商品信息表,銷售表,退貨表等進(jìn)行查看,以實(shí)現(xiàn)對(duì)商品信息的及時(shí)了解。實(shí)體E-R圖如下:查看數(shù)據(jù)表 進(jìn)貨商表管理員工表進(jìn)貨表退貨表銷售表現(xiàn)存商品表結(jié)束語本次超市管理系統(tǒng)是基于Visual Basic 的ADO技術(shù)設(shè)計(jì)的。選擇了Access 2000作為后端開發(fā)工具,開發(fā)數(shù)據(jù)庫(kù)功能,并選擇了Visual Basic 6.0作為界面前臺(tái)開發(fā)工具。在該系統(tǒng)開發(fā)中我通過建立數(shù)據(jù)庫(kù),以及對(duì)各種信息庫(kù)的開發(fā)(如:添加、查詢、修改、刪除)及設(shè)計(jì)系統(tǒng)維護(hù)安全部分,完成了此次對(duì)超市管理系統(tǒng)的設(shè)計(jì)。在本次的開發(fā)過程中,我意識(shí)到最重要的環(huán)節(jié)在于對(duì)系統(tǒng)的流程、功能模塊、框架結(jié)構(gòu)等方面的把握和設(shè)計(jì)。在需求分析結(jié)束以后,我們對(duì)一個(gè)系統(tǒng)需要具有哪些功能已經(jīng)有了一定的認(rèn)識(shí),而如何以一個(gè)簡(jiǎn)潔、合理的系統(tǒng)結(jié)構(gòu)去實(shí)現(xiàn)用戶要求的功能就成為系統(tǒng)開發(fā)的關(guān)鍵環(huán)節(jié)。在這方面我可以說是深有體會(huì)。由于有些急于求成,在對(duì)ADO技術(shù)不是很了解的情況下就開始著手程序開發(fā),所以當(dāng)有時(shí)間靜下來仔細(xì)理一下思路的時(shí)候發(fā)現(xiàn)走了很大的彎路,可以說是整個(gè)思路和設(shè)計(jì)要求有著非常大的差異。值得慶幸的是,發(fā)現(xiàn)的比較及時(shí),還有足夠的時(shí)間讓我轉(zhuǎn)變思路,從頭開始。因此,通過這次質(zhì)品管理系統(tǒng)的開發(fā),我深刻認(rèn)識(shí)到系統(tǒng)分析,以及對(duì)整個(gè)系統(tǒng)的總體設(shè)計(jì)的重要性。只有走好了這一步,整個(gè)系統(tǒng)的開發(fā)才能事半功倍,否則就會(huì)是“棋差一著,滿盤皆輸”。同時(shí),在這次的系統(tǒng)開發(fā)中我也看到了自己在新知

溫馨提示

  • 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. 人人文庫(kù)網(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)論