《超市管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《超市管理系统课程设计.docx(36页珍藏版)》请在三一办公上搜索。
1、题目:_小型超市管理系统_作 者 姓 名: 学 号: 系(院)、专业: 指导教师姓名: 2012 年 月 日目 录第1章 设计目的与要求11.1设计背景和功能11.2 设计环境1第2章 系统分析22.1 需求分析22.1.1 组织结构分析22.1.2 业务流程分析22.2 数据流图32.3 数据字典4第3章 系统设计73.1 功能模块设计73.2 数据库设计93.2.1 概念结构设计93.2.2 逻辑结构设计11第4章 系统实施144.1注册及登录144.1.1注册功能及代码(图4.1)一五4.1.2登录功能代码164.1.3登录界面相关功能与数据库连接的代码164.2登录后主界面功能及界面及
2、其相关功能代码164.2.2主界面相关功能代码174.3商品信息查询界面及其相关功能代码184.3.1查询商品信息功能代码一八4.3.2添加商品功能代码194.3.3删除商品信息功能代码204.3.4商品信息功能与数据库连接代码214.4销售记录查询界面及其相关功能代码214.4.1查询已销售商品信息功能代码224.4.2添加已销售商品信息功能代码224.4.3删除已销售商品信息功能代码234.4.4销售商品信息表与数据库连接代码244.5员工信息查询界面及其相关功能代码254.5.1添加员工信息功能代码254.5.2查询员信息功能代码264.5.3删除员工信息功能代码274.5.4员工信息查
3、询功能与数据库连接的代码27第五章 数据设计285.1数据库中各数据表的说明285.1.1登陆表功能说明及其创建的SQL代码(表5.1)285.1.2商品表说明及及其创建的SQL代码(表5.2)285.1.3销售表说明及及其创建的SQL代码(表5.3)305.1.3职工表说明及及其创建的SQL代码(表5.4)31第六章 经验与体会33参考文献33II数据库课程设计(论文)第1章 设计目的与要求1.1设计背景和功能超市管理系统是市场上最流行的超市上常用的系统之一,它主要包含以下几个模块:用户登陆管理、商品类型及商品的管理、进货和销售的管理、销售分析等。从而,实现对进货、销售及员工信息等实现全面、
4、动态、及时的管理。随着超市规模的发展和不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长。超市时时刻刻都需要对商品各种信息进行统计分析。而大型的超市管理系统功能过于强大而造成操作繁琐降低了小超市的工作效率。小型超市管理系统按分类、分级的模式对仓库进行全面的管理和监控缩短了超市信息流转时间,使企业的物资管理层次分明、井然有序,为采购、销售提供依据,智能化的预警功能可以自动提示存货短缺、超储等异常状况;系统还可进行材料超市ABC分类汇总,减少资金积压。完善的小型超市管理功能,可对企业的存货进行全面的控制和管理,降低超市成本,增强企业的市场竞争力。1.2设计环境硬件环境:1.一台Pentiu
5、m 4 cpu以上的计算机软件环境: 1.WINDOWS xp操作系统 2.Visual Basic6.0应用程序3.SQL SERVER 2000应用程序 第2章 系统分析2.2 需求分析2.2.1 组织结构分析小型超市分为销售部,库存管理部,财务部,人事部四个主要部门,超市的决策权和管理权归超市经营者拥有,超市的每个部门的管理都有专职人员负责。小型超市管理系统的组织结构的描述如图2-1所示:超市经营者销售部库存管理部财务部人事部图 2-1组织结构图组织功能表如图2-2所示:登录界面用户输入正确的用户名和相对应的密码即可进入,否则退出系统维护主要用于实现系统用户设置、操作人员管理、密码修改采
6、购管理主要用于实现采购数据和采购单查询、采购统计单查询库存管理主要用于实现商品出库、入库的添加修改,商品出库、入库的查询销售管理主要用于实现销售数据记录、客户退货记录和销售、退货信息查询其他设置主要用于实现员工管理,供应商的设置,省份的设置,商品的种类报表主要用于实现库存的盘点、销售的信息、供应商信息图2-2 组织功能表2.2.2 业务流程分析超市管理系统工作流程为:登录系统后,超市管理员可对系统相关信息进行操作,包括商品基本信息、供应商信息、销售信息、库存信息、进货信息等过程进行管理。本系统的业务流程图如图2-3所示:厂商商品信息营业员订货信息购买信息顾客销售信息用户信息(员工)商品信息库存
7、信息超市管理员图2-3 业务流程图2.3 数据流图数据流程图主要反映的是小型超市管理系统中各项功能模块之间的数据流程和简单的数据处理、加工过程和方法,为系统的设计打下基础。超市管理系统的数据流程:首先由系统管理员根据不同用户的需要将信息保存到数据库中,然后再进行发布。用户可以对这些库信息进行查询、添加、修改和删除处理。通过对本系统的需求分析,系统的基本功能已经确定。整个流程图如图2-4所示:厂商总经理顾客超市管理系统总经理F1商品信息F5进货信息F4库存信息F3销售额信息F1商品信息F2用户信息F6购买信息图2-4 数据流图2.4 数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含
8、的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。1、数据字典列表数据存储数据名称 :管理员信息简 述:用户注册填写的信息数据来源:用户注册填写数据去向:用户信息表 数据组成:管理员信息管理信息唯一标识+管理员帐号+管理员密码+管理员权限+注册时间描述:存储了管理员的基本信息数据存储名称:商品信息简述:管理员填写的商品信息数据来源: 管理员填写数据去向:商品信息表数据组成:商品信息=商品信息唯一标识+货物名称+供货编号+进价+售价+数量+厂商等描述:存储了商品信息数据存储名称:库存信息简述:管理员填写的库存信息数据来源: 管理员填写数据去向:库存信息表数据组成:库存信息=库存信
9、息唯一标识+商品名称+价格+数量+添加时间+单位+编号等描述:存储了库存信息数据存储名称:销售信息简述:管理员填写的商品销售信息数据来源: 管理员填写数据去向:销售信息表数据组成:销售信息=销售信息唯一标识+货物名称+数量+价格+时间等描述:存储了销售详细信息第3章 系统设计系统设计的任务就是依据系统分析文档资料,采用正确的方法来确定系统各功能模块在计算机内应该由哪些程序组成,它们之间用什么方式联结在一起以构成一个最好的系统机内结构,同时还要使用一定的工具将所设计的成果表达出来,另外考虑到实现系统功能的需要,还要进行数据库的详细设计、编码设计、输入/输出界面设计等等 。3.1 功能模块设计根据
10、系统功能分析,可以画出系统的功能模块图,从管理员界面对功能模块图加以描述。如图3-1所示:系统管理销售管理库存管理进货管理供货商管理基础信息小型超市管理系统统用户管理系统备份系统维护用户修改商品信息供应商信息员工信息销售查询销售添加销售报表销售查询库存查询进货查询进货报表进货管理供应商修改供应商查询图3-1 功能模块图 (1)系统维护模块系统维护模块用于实现对用户的添加、修改、删除以及操作人员管理、密码修改。 (2)其他设置其他设置主要用于实现员工的添加、修改、查询以及管理,供应商的设置,省份的设置,商品的种类。 3.2 数据库设计3.2.1 概念结构设计概念结构设计是整个数据库设计的关键,它
11、能通过对需求进行综合,归纳与抽象,形成一个独立于具体DBMS的概念模型,既E-R图如图所示:密码表用户名类型密码图3-2管理员实体的E-R图商品信息商品编号生产厂家单价种类库存量进货量保质期名称图3-3商品信息的E-R图供应商信息商品编号厂名联系方式省份图3-4供应商实体的E-R图入库表商品编号分类编码入库时间数量商品厂家图3-5仓库的E-R图供货商号厂名商品编号供应商联系方式数量商品数量商品编号商品名称保质期单价数量客户日期仓库编号商品名称库存量nnnn1名称类型种类网址销售存放供应商品名称销售表图3-6各个实体之间的联系图3.2.2 逻辑结构设计逻辑设计的任务是根据DBMS的特征把概念结构
12、转换为相应的逻辑结构。概念设计所得到的ER模型,是独立于DBMS的,这里的转换就是把表示概念结构的ER图转换成关系模型的逻辑结构。将图转换为规范的关系模式为:密码表(用户名,密码,类型)员工表(员工编号,员工姓名,性别,职务,联系方式,家庭住址)生产厂家表(供应商号,省份,厂名,联系方式,网址)商品表(商品编号,商品名称,种类,单价,单位,净含量,库存量,保质期,生产时间,生产省份,生产厂家)采购表(供货商号,商品编号,进货日期,商品名称,验收员,进货价,数量,金额)入库表(商品编号,入库时间,商品厂家,数量)销售表(商品编号,客户编号,销售日期,数量,商品名称,业务员,金额)退货表(商品编号
13、,商品名称,生产厂家,退货日期,退货数量,制单人,业务员,金额,客户编号)将各实体内容的数据类型生成数据库如图5.3所示:表3-7 密码表字段名字段类型字段宽度说明usernameChar6用户名password1Char6密码leixingChar6类型表3-8商品表字段名字段类型字段宽度说明spbhChar20商品编号spmcChar20商品名称zlChar10种类dwChar10单位djInt4单价jhlInt4净含量kclInt4库存量bzqInt4保质期scsjDatetime8生产时间scsfChar20生产省份sccjChar50生产厂家表3-9员工表字段名字段类型字段宽度说明y
14、gbhChar6员工编号ygxmChar6员工姓名xbChar6性别zwChar6职务lxfsChar10联系方式jtzzChar20家庭住址表3-10采购表字段名字段类型字段宽度说明spbhChar6商品编号ghshChar6供货商号jhrqMoney4进货日期spmcChar10商品名称ysyChar20验收员jhjInt4进货价slChar4数量jeDatetime8金额表3-11销售表字段名字段类型字段宽度说明spbhChar6商品编号khbhChar6客户编号xsrqDatetime8销售日期xsslInt4销售数量spmcChar10商品名称ywyChar10业务员zdrChar1
15、0制单人 jeChar6金额表3-12生产厂家表字段名字段类型字段宽度说明ghshChar8供应商号sfChar40省份cmChar50厂名lxfsChar20联系方式wzChar20网址表3-一三 入库表字段名字段类型字段宽度说明spbhChar6商品编号rksjDatetime8入库时间spcjChar50商品厂家slInt4数量第四章.系统实施4.1注册及登录该功能可以实现用户的注册和登录4.1.1注册功能及代码(图4.1)图4.1 用户注册注册功能代码Private Sub 注册_Click()If Text1.Text = Or Text2.Text = ThenMsgBox 用户名
16、和密码不能为空, 16 + 4, 警告ElseDim rs As New ADODB.Recordsetstr1 = select * from 登录表 where 用户名= & Text1.Text & rs.Open str1, cn, 1, 3rs.AddNewrs(用户名) = Text1.Textrs(密码) = Text2.Textrs.UpdateMsgBox 注册成功, 64, 信息提示End IfEnd Sub4.1.2登录功能代码Private Sub Command1_Click()strsql = select * from 登录表 where 用户名= & Text1
17、.Text & & and 密码= & Text2.Text & rs.Open strsql, cn, 1, 3If rs.EOF ThenMsgBox 用户名或密码错了, 32, 警告ElseForm5.ShowUnload MeEnd IfEnd Sub4.1.3登录界面相关功能与数据库连接的代码Private Sub Form_Load()cn.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=超市管理cn.OpenEnd
18、 Sub4.2登录后主界面功能及界面及其相关功能代码4.2.1登录后主界面(图4.2)图4.2 登录后主界面4.2.2主界面相关功能代码Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDownload by Private Sub Command1_Click()Form2.ShowUnload MeEnd SubPrivate Sub Command2_Click()Form3.ShowUnload MeEnd SubPrivate Sub Command3_Click()Form5.ShowUnload MeEnd Su
19、bPrivate Sub Command4_Click()Form4.ShowUnload MeEnd Sub4.3商品信息查询界面及其相关功能代码4.3.1查询商品信息功能代码Private Sub Command1_Click()str1 = select * from 商品表 where 商品号= & Text1.Text & If rs.State = 1 Thenrs.CloseEnd Ifrs.Open str1, cn, 1, 3If rs.EOF Then MsgBox 该商品不存在 Adodc1xmandType = adCmdText Adodc1.RecordSource
20、 = str1 Adodc1.Refresh Else Text1.Text = rs(商品号)Text2.Text = rs(商品名称)Text3.Text = rs(库存量)Text4.Text = rs(商品类型)Text5.Text = rs(厂商)Text6.Text = rs(单价)End IfEnd Sub4.3.2添加商品功能代码Private Sub Command2_Click()str1 = select * from 商品表 where 商品号= & Text1.Text & If rs.State = 1 Thenrs.CloseEnd Ifrs.Open str1,
21、 cn, 1, 3If rs.EOF Then rs.AddNew rs(商品号) = Text1.Text rs(商品名称) = Text2.Text rs(库存量) = Text3.Text rs(商品类型) = Text4.Text rs(厂商) = Text5.Text rs(单价) = Text6.Text rs.Update MsgBox 数据添加成功, 64, 信息提示 Adodc1xmandType = adCmdText Adodc1.RecordSource = select * from 商品表 Adodc1.Refresh Text1.Text = Text2.Text
22、 = Text3.Text = Text4.Text = Text5.Text = Text6.Text = Else MsgBox 该商品已经存在了, 16, 警告 End If End Sub4.3.3删除商品信息功能代码Private Sub Command4_Click()Dim rs As New ADODB.RecordsetDim rs1 As New ADODB.RecordsetIf rs.State = 1 Thenrs.CloseEnd If If rs1.State = 1 Thenrs1.CloseEnd Ifrs1.Open select * from 商品表 wh
23、ere 商品号= & Text1.Text & and 商品名称= & Text2.Text & , cn, 1, 3If rs1.EOF ThenMsgBox 没有此种商品不能删除!Elsers.Open delete 商品表 where 商品号= & Text1.Text & and 商品名称= & Text2.Text & , cn, 1, 3MsgBox 确定删除吗, 32 + 4, 警告 Adodc1xmandType = adCmdText Adodc1.RecordSource = select * from 商品表 Adodc1.Refresh End If Text1.Tex
24、t = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = End Sub4.3.4商品信息功能与数据库连接代码Private Sub Form_Load()cn.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=超市管理cn.OpenEnd Sub4.4销售记录查询界面及其相关功能代码4.4.1查询已销售商品信息功能代码Private Sub Comm
25、and1_Click()str1 = select * from 销售表 where 销售号= & Text1.Text & If rs.State = 1 Thenrs.CloseEnd Ifrs.Open str1, cn, 1, 3If rs.EOF Then MsgBox 该销售商品不存在 Adodc1xmandType = adCmdText Adodc1.RecordSource = str1 Adodc1.Refresh Else Text1.Text = rs(销售号)Text2.Text = rs(职工号)Text3.Text = rs(商品号)Text4.Text = rs
26、(销售数量)Text6.Text = rs(销售时间)End IfEnd Sub4.4.2添加已销售商品信息功能代码Private Sub Command2_Click()str1 = select * from 销售表 where 销售号= & Text1.Text & If rs.State = 1 Thenrs.CloseEnd Ifrs.Open str1, cn, 1, 3If rs.EOF Then rs.AddNew rs(销售号) = Text1.Text rs(职工号) = Text2.Text rs(商品号) = Text3.Text rs(销售数量) = Text4.Te
27、xt rs(销售时间) = Text6.Text rs.Update MsgBox 数据添加成功, 64, 信息提示 Adodc1xmandType = adCmdText Adodc1.RecordSource = select * from 销售表 Adodc1.Refresh Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text6.Text = Else MsgBox 该种销售商品已经存在了, 16, 警告 End If End Sub4.4.3删除已销售商品信息功能代码Private Sub Command3_Click()I
28、f Adodc1.Recordset.EOF = False Then c = MsgBox(您确认要删除该记录吗?, 32 + 4, 特别提示) X = Adodc1.Recordset.Fields(0) If c = vbYes Then str1 = select * from 销售表 where 销售号=x & If rs.State = 1 Then rs.Close End If rs.Open str1, cn, 1, 3 Adodc1.Recordset.Delete Adodc1xmandType = adCmdText Adodc1.RecordSource = sele
29、ct * from 销售表 Adodc1.Refresh MsgBox 销售商品的所有信息成功删除, 64, 信息提示 Adodc1.Refresh Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text6.Text = End If Else MsgBox 当前数据库中已经没有可删除的记录, 64, 警告 End IfEnd Sub4.4.4销售商品信息表与数据库连接代码Private Sub Form_Load()cn.ConnectionString = Provider=SQLOLEDB.1;Integrated Securit
30、y=SSPI;Persist Security Info=False;Initial Catalog=超市管理cn.OpenEnd Sub4.5员工信息查询界面及其相关功能代码4.5.1添加员工信息功能代码Private Sub Command1_Click()str1 = select * from 销售人员表 where 职工号= & Text1.Text & If rs.State = 1 Thenrs.CloseEnd Ifrs.Open str1, cn, 1, 3If rs.EOF Then rs.AddNew rs(职工号) = Text1.Text rs(姓名) = Text2
31、.Text rs(性别) = Text3.Text rs(用户类型) = Text4.Text rs.Update MsgBox 用户添加成功, 64, 信息提示 Adodc1xmandType = adCmdText Adodc1.RecordSource = select * from 销售人员表 Adodc1.Refresh Text1.Text = Text2.Text = Text3.Text = Text4.Text = Else MsgBox 该职工已经存在了, 16, 警告 End IfEnd Sub4.5.2查询员信息功能代码Private Sub Command2_Clic
32、k()str1 = select * from 销售人员表 where 职工号= & Text1.Text & If rs.State = 1 Thenrs.CloseEnd Ifrs.Open str1, cn, 1, 3If rs.EOF Then MsgBox 这个职工不存在 Adodc1xmandType = adCmdText Adodc1.RecordSource = str1 Adodc1.Refresh Else Text1.Text = rs(职工号)Text2.Text = rs(姓名)Text3.Text = rs(性别)Text4.Text = rs(用户类型) Ado
33、dc1xmandType = adCmdText Adodc1.RecordSource = str1 Adodc1.Refresh End IfEnd Sub4.5.3删除员工信息功能代码Private Sub Command4_Click()If Adodc1.Recordset.EOF = False Then c = MsgBox(您确认要删除该记录吗?, 32 + 4, 特别提示) X = Adodc1.Recordset.Fields(0) If c = vbYes Then str1 = select * from 销售人员表 where 职工号=x & If rs.State
34、= 1 Then rs.Close End If rs.Open str1, cn, 1, 3 Adodc1.Recordset.Delete Adodc1xmandType = adCmdText Adodc1.RecordSource = select * from 销售人员表 Adodc1.Refresh MsgBox 职工信息成功删除, 64, 信息提示 Adodc1.Refresh Text1.Text = Text2.Text = Text3.Text = Text4.Text = End If Else MsgBox 当前数据库中已经没有可删除的记录, 64, 警告 End If
35、End Sub4.5.4员工信息查询功能与数据库连接的代码Private Sub Form_Load()cn.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=超市管理cn.OpenEnd Sub第五章.数据设计5.1数据库中各数据表的说明5.1.1登陆表功能说明及其创建的SQL代码(表5.1)用户名:存放用户登录系统的用户名密 码:存放用户登录系统的密码图5.1 登陆表创建登录表的SQl代码USE 超市管理GOSET ANSI_
36、NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.登录表(用户名 char(10) NOT NULL,密码 char(10) NOT NULL) ON PRIMARYGOSET ANSI_PADDING OFFGO5.1.2商品表说明及及其创建的SQL代码(表5.2)商品号:系统分配给商品的唯一的标示值(主键)商品名称:用于存放商品的名称的信息单价:用于存放商品的价格的信息商品类型:用于存放商品所属的类型信息库存量:用于存放商品的库存的信息厂商:用于存放商品的生产商家的信息表5.2 商品表创建商品
37、表的SQL代码USE 超市管理GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.商品表(商品号 varchar(50) NOT NULL,商品名称 varchar(50) NOT NULL,单价 float NULL,商品类型 varchar(50) NULL,库存量 char(10) NULL,厂商 varchar(50) NULL, CONSTRAINT PK_商品表 PRIMARY KEY CLUSTERED (商品号 ASC)WITH (PAD_INDEX = OFF
38、, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING OFFGO5.1.3销售表说明及及其创建的SQL代码(表5.3)销售号:系统分配给所销售商品的唯一编号职工号:存放销售该商品的职工编号销售数量:存放销售商品的数量销售时间:存放销售该商品的时间表5.3 销售表创建销售表的SQL代码USE 超市管理GOSET ANSI_NULLS ONGOSET QUOTED_IDENT
39、IFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.销售表(销售号 varchar(50) NOT NULL,职工号 varchar(50) NOT NULL,商品号 varchar(50) NOT NULL,销售数量 float NOT NULL,销售时间 datetime NOT NULL, CONSTRAINT PK_销售表 PRIMARY KEY CLUSTERED (销售号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING OFFGO5.1.3职工表说明及及其创建的SQL代码(表5.4) 职工号:存放职工编号信息 姓名:存放职工的姓名 性别:存放职工的性别信息 用户类型:存放职工所属的类型职工表(表5.4)创建职工表的SQ