数据库课程设计报告超市进销存管理系统设计.doc

上传人:laozhun 文档编号:2395762 上传时间:2023-02-17 格式:DOC 页数:27 大小:818.50KB
返回 下载 相关 举报
数据库课程设计报告超市进销存管理系统设计.doc_第1页
第1页 / 共27页
数据库课程设计报告超市进销存管理系统设计.doc_第2页
第2页 / 共27页
数据库课程设计报告超市进销存管理系统设计.doc_第3页
第3页 / 共27页
数据库课程设计报告超市进销存管理系统设计.doc_第4页
第4页 / 共27页
数据库课程设计报告超市进销存管理系统设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《数据库课程设计报告超市进销存管理系统设计.doc》由会员分享,可在线阅读,更多相关《数据库课程设计报告超市进销存管理系统设计.doc(27页珍藏版)》请在三一办公上搜索。

1、目录一、系统分析概述5二、需求分析52.1 系统功能模块划分52.2数据流程分析72.2.1 数据流程图72.2.2 数据表7三、数据库概念结构设计9四、数据库逻辑模式设计10五、数据库物理结构模式设计105.1.存储过程:105.2.触发器:10六、数据库连接11七、系统功能模块实现127.1用户管理模块127.1.1 添加用户127.1.2 查询和删除用户137.1.3 用户密码修改137.1.4 代码147.2 商品信息模块管理167.2.1 添加商品信息167.2.2 查询和删除商品信息167.2.3 修改商品信息177.2.4 代码177.3 供应商模块管理207.3.1 增加供应商

2、207.1.2查询和删除供应商207.3.3 修改供应商217.3.4 代码227.4 进货模块管理237.4.1 登记进货单237.4.2 查询和删除订货单237.4.3 修改订货单247.4.4代码257.5 入库模块管理277.5.1 登记入库单277.5.2 查询和删除入库单277.5.3代码287.6 销售管理模块287.6.1 登记销售单287.6.2 查询和删除销售单287.6.3 修改销售单297.6.4 代码29参考文献:29 一、系统分析概述1.1 系统功能分析本系统开发的总体目标是建立一个能够对超市内商品运营进行监控即在商品采购销售存储过程中进行监督与控制的进销存管理系统

3、,并根据对部分超市管理日常工作的调查结果及其管理的总体需求与客户的具体条件的分析,本系统应具备以下功能:(1) 采购员采购商品后及时录入商品信息数据,并及时在数据库中进行数据的跟新;(2) 在收银台处,由于随时的商品买卖导致的数据库信息的变化(此时注意数据库并发的控制),如卖出商品的名称、编号、数量、价格、销售日期等,都需及时录入数据库;(3) 当货架上的商品数量减少到一定数量时,由人员发出提货报告或通知,由此在存货中提取一定量的商品,并进行库存信息的更新及数据库内部的商品情况评价;(4) 当商品出现损坏或是人为条件的丢失时会造成商品数量的减少时,及时录入这些信息,并更新数据库的信息;(5)

4、在用户要求或需要的情况下,定期对商品信息进行统计汇总,当商品数量少于某个定值时,产生缺货信息,提醒操作者进行补充货物的数量,并提供详细的缺货的商品信息(包括名称、数量、单价、编号、产地等);二、需求分析2.1 系统功能模块划分 根据数据库设计的规范化要求,特将系统划分为如下:超市进销存管理系统销售管理系统入库管理系统进货管理管理系统供应商管理系统用户管理系统商品信息管理系统修改查询和删除添加插叙和删除添加修改密码添加修改添加用户查询和删除查询和删除添加删除和查询修改修改添加查询和删除1) 用户管理 通过对用户的管理来维护和操作超市进销存系统,根据实际需要可添加用户资料和修改用户密码,确保系统正

5、常运行。2) 商品信息管理市运营的过程中,其内部各相关部门都需要随时知道商品库存的最新信息,所以系统应具有面向不同需求的添加用户、删除和查询功能和修改用户密码功能,以满足不同用户的需要。3) 供应商管理 供应商是超市运营过程中不可缺少的一个环节。它与商品的采购管理及库存管理直接相关。所以在系统中提供供应商的基本信息配置是非常必要且必须的。这有利于对库存商品质量的控制并能够较快的响应采购要求。4)进货管理进货管理模块需要完成以下相关功能:进货分析:即列出当前进货量最多的前几项商品和进货量最少的前几 项商品;库存分析:即列出当前库存量最多的前几项商品和库存量最少的前几 项商品;分类查看:即可以根据

6、商品的属性来查看某种商品的进货情况;采购进货:即按照采购计划采购人员购买商品,并将商品的基本信息登记入库,更新数据库的库存信息。5)入库管理库存管理模块可帮助超市的仓库管理人员对库存商品的入库、出库、调拨盘点、补充订货等操作进行全面的控制和管理。该模块与采购、销售模块有良好的接口。可以从这些模块中获得或向这些模块输送数据,保持数据的一致性。因此,库存管理是超市管理的核心。库存管理模块需要实现以下相关功能:商品分类编码: 即将商品按照一定的规则编码,并进行分类管理;报损:即及时录入损失商品的信息,同时更新库存; 库存盘点: 即商品盘存要求能够对系统中所有商品信息进行整理,修正与实际信息有差错的信

7、息,以保证系统中数据的实时性和有效性; 调拨: 即进行一定时间段内的调拨情况的查询、统计; 库存报警: 即当某商品的库存数量低于系统设定的最低库存数量时,系统自动报警并提醒库存管理人员该商品已缺货,以保证超市商品的及时供应。 6)销售管理销售管理模块需要完成以下相关功能:商品销售信息:即录入销售商品的信息包括商品销售数量、单价、统 计日期等;更新库存:即销售信息的变动直接关系到库存的变化;分类查看: 即可以根据商品的属性来查看某种商品的销售情况;销售分析:即列出当前销售量最多的前几项商品和销售量最少的前几 项商品2.2数据流程分析2.2.1 数据流程图 通过分析超市的进销存系统的工作程序及运行

8、机制,并结合超市的具体实际,建立如下的数据流图:采购员供应商 商品 采购计划采购销售查询采购入库采购入库分析统计调拨入库调拨入库出库入库仓库销售退货盘点报损盘点报损销售退货报损盘点2.2.2 数据表 数据库各表设计如下: 1)供应商信息表(Supplier)列名数据类型字段大小必填字段默认值说明编号自动编号长整型是供货商编号,主健名称文本50是供货商名称地址备注是“”备注电话Nchar10是 2)订货单信息表(BookOrder)列名数据类型字段大小必填字段默认值说明编号自动编号长整型是订单编号,递增,主健日期Smalldatetime长整型是订货日期供货商编号Nchar长整型是供货商ID商品

9、编号Int长整型是商品名称Text16是商品产地Text16不是商品数量Int整数型是4商品进价Smallmoney4是总计Smallmoney4 3)销售信息表(Sell)列名数据类型字段大小必填字段默认值说明编号自动编号长整型是销售编号,递增,主键日期Smalldatetime短日期是商品编号Int长整型是商品名称Text文本不是商品数量Int整形是商品售价Smallmoney4是总计Int4 4)仓库信息表(Warehouse)列名数据类型字段大小必填字段默认值说明编号自动编号长整型是仓库编号,递增,主键 5)商品信息表(Merchandise)列名数据类型字段大小必填字段默认值说明编号

10、自动编号长整型是商品编号,递增,主键名称文本16是产地文本16不是数量Nchar10是进价Smallmoney4是售价Smallmoney4是类型编号Nchar10是供货商编号Nchar10是仓库编号Nchar10是三、数据库概念结构设计四、数据库逻辑模式设计五、数据库物理结构模式设计5.1.存储过程:use JINXIAOCUNgocreate procedure Mer_1cnumber char(10)select Merchandise.m_name,m_Id,w_Idfrom product join warehouse on Merchandise.w_Id =Warehouse.

11、w_Idwhere Merchandise.w_Id =cnumbergo /*创建一个存储过程,查看Mer_1的情况,包括该商品类型的商品名称(m_name),商品编号(m_Id),仓库号(w_Id)*/5.2.触发器:USE JINXIAOCUNGOcreate trigger Merchandise _1 on Merchandisefor insertas select * from MerchandiseGO /*创建一个触发器Merchandise _1,当向表Merchandise 中插入一条记录时,自动显示Merchandise表中的记录*/六、数据库连接七、系统功能模块实现7

12、.1用户管理模块7.1.1 添加用户 7.1.2 查询和删除用户7.1.3 用户密码修改7.1.4 代码 添加用户mports System.Data.SqlClientPublic Class 增加用户信息 Public str As String = data source=localhost;database=supermarket;integrated security=true Private Sub 增加用户信息_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadE

13、nd SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim con As New SqlConnection(str) Dim sql1 As String = insert into user1(姓名,电话,邮箱,密码,权限) values( & _ TextBox1.Text.ToString().Trim() & _ , & TextBox2.Text.ToString().Trim() & , & _ TextB

14、ox3.Text.ToString().Trim() & , & _ TextBox4.Text.ToString().Trim() & , & _ TextBox5.Text.ToString().Trim() & ) Dim sql2 As String = select * from user1 where 姓名= & TextBox1.Text.ToString().Trim() & con.Open() Dim cmd1 As SqlCommand = New SqlCommand(sql1, con) Dim cmd2 As SqlCommand = New SqlCommand(

15、sql2, con) Dim reader As SqlDataReader reader = cmd2.ExecuteReader If reader.Read = True Then MsgBox(成功添加) reader.Close() Else reader.Close() cmd1.ExecuteNonQuery() con.Close() End If End SubEnd Class 查询和删除:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

16、 Button1.Click Dim con As New SqlConnection(Str) Dim sql As String = select * from user1 Dim dr As SqlDataAdapter = New SqlDataAdapter(sql, con) Dim das As New DataSet con.Open() dr.Fill(das) DataGridView1.DataSource = das.Tables(0) con.Close()End SubDim con As New SqlConnection(str) Dim sql As Stri

17、ng = select * from user1 Dim ds As New DataSet con.Open() Dim dr As New SqlDataAdapter(sql, con) Dim sqlcmb As New SqlCommandBuilder(dr) Dim i As Integer dr.Fill(ds) Dim rowcount As Integer = Me.DataGridView1.Rows.Count Dim msgbox1 As Integer For i = 0 To rowcount - 1 If Me.DataGridView1.Rows(i).Sel

18、ected Then ds.Tables(0).Rows(i).Delete() msgbox1 = MsgBox(您确定要删除吗?, MsgBoxStyle.YesNo) End If Next If msgbox1 = MsgBoxResult.Yes Then MsgBox(删除成功) DataGridView1.DataSource = ds.Tables(0) dr.Update(ds.Tables(0) Else MsgBox(删除不成功) End IfEnd Sub 修改密码:Private Sub Button1_Click(ByVal sender As System.Obj

19、ect, ByVal e As System.EventArgs) Handles Button1.Click Dim con As New SqlConnection(str) Dim cmd As New SqlCommand(Update_pro1, con) cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.Add(b, SqlDbType.Char, 10) cmd.Parameters(b).Direction = ParameterDirection.Input cmd.Parameters(b).Value

20、 = Me.TextBox1.Text.ToString.Trim cmd.Parameters.Add(a, SqlDbType.Char, 8) cmd.Parameters(a).Direction = ParameterDirection.Input cmd.Parameters(a).Value = Me.TextBox3.Text.ToString.Trim con.Open() cmd.ExecuteNonQuery() If TextBox2.Text = TextBox3.Text Then MsgBox(修改失败!请检查输入的密码是否正确!) End If MsgBox(修

21、改成功!) con.Close()End Sub7.2 商品信息模块管理 7.2.1 添加商品信息7.2.2 查询和删除商品信息 7.2.3 修改商品信息 7.2.4 代码 添加商品信息:Dim con As New SqlConnection(str) Dim sql1 As String = insert into Product(编号,名称,产地,数量,进价,售价,类型编号,供货商编号,仓库编号) values( & _ TextBox1.Text.ToString().Trim() & _ , & TextBox2.Text.ToString().Trim() & , & _ Text

22、Box3.Text.ToString().Trim() & , & _ TextBox4.Text.ToString().Trim() & , & _ TextBox5.Text.ToString().Trim() & , & _ TextBox6.Text.ToString().Trim() & , & _ TextBox7.Text.ToString().Trim() & , & _ TextBox8.Text.ToString().Trim() & , & _ TextBox9.Text.ToString().Trim() & ) Dim sql2 As String = select

23、* from Product where 编号= & TextBox1.Text.ToString().Trim() & con.Open() Dim cmd1 As SqlCommand = New SqlCommand(sql1, con) Dim cmd2 As SqlCommand = New SqlCommand(sql2, con) Dim reader As SqlDataReader reader = cmd2.ExecuteReader If reader.Read = True Then MsgBox(成功添加) reader.Close() Else reader.Clo

24、se() cmd1.ExecuteNonQuery() con.Close() End If 查询和删除商品信息:Dim con As New SqlConnection(str) Dim sql As String = select * from product Dim ds As New DataSet con.Open() Dim dr As New SqlDataAdapter(sql, con) Dim sqlcmb As New SqlCommandBuilder(dr) Dim i As Integer dr.Fill(ds) Dim rowcount As Integer =

25、Me.DataGridView1.Rows.Count Dim msgbox1 As Integer For i = 0 To rowcount - 1 If Me.DataGridView1.Rows(i).Selected Then ds.Tables(0).Rows(i).Delete() msgbox1 = MsgBox(您确定要删除吗?, MsgBoxStyle.YesNo) End If Next If msgbox1 = MsgBoxResult.Yes Then MsgBox(删除成功) DataGridView1.DataSource = ds.Tables(0) dr.Up

26、date(ds.Tables(0) Else MsgBox(删除不成功) End If Dim con As New SqlConnection(str) Dim sql As String = select * from product Dim ds As New DataSet con.Open() Dim dr As New SqlDataAdapter(sql, con) Dim sqlcmb As New SqlCommandBuilder(dr) Dim i As Integer dr.Fill(ds) Dim rowcount As Integer = Me.DataGridVi

27、ew1.Rows.Count Dim msgbox1 As Integer For i = 0 To rowcount - 1 If Me.DataGridView1.Rows(i).Selected Then ds.Tables(0).Rows(i).Delete() msgbox1 = MsgBox(您确定要删除吗?, MsgBoxStyle.YesNo) End If Next If msgbox1 = MsgBoxResult.Yes Then MsgBox(删除成功) DataGridView1.DataSource = ds.Tables(0) dr.Update(ds.Table

28、s(0) Else MsgBox(删除不成功) End If 修改商品信息: Dim con As New SqlConnection(str) Dim cmd As New SqlCommand(updateproduct_pro2, con) cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.Add(a, SqlDbType.Int, 4) cmd.Parameters(a).Direction = ParameterDirection.Input cmd.Parameters(a).Value = Me.TextBo

29、x1.Text.ToString.Trim cmd.Parameters.Add(b, SqlDbType.NChar, 10) cmd.Parameters(b).Direction = ParameterDirection.Input cmd.Parameters(b).Value = Me.TextBox4.Text.ToString.Trim cmd.Parameters.Add(c, SqlDbType.Char, 10) cmd.Parameters(c).Direction = ParameterDirection.Input cmd.Parameters(c).Value =

30、Me.TextBox5.Text.ToString.Trim cmd.Parameters.Add(d, SqlDbType.Char, 10) cmd.Parameters(d).Direction = ParameterDirection.Input cmd.Parameters(d).Value = Me.TextBox6.Text.ToString.Trim con.Open() cmd.ExecuteNonQuery() If TextBox1.Text = Then MsgBox(修改失败!编号不能为空!) End If MsgBox(修改成功!) con.Close()7.3 供

31、应商模块管理7.3.1 增加供应商7.1.2查询和删除供应商7.3.3 修改供应商7.3.4 代码 添加供应商信息: Dim con As New SqlConnection(str) Dim sql1 As String = insert into Supplier(编号,名称,地址,电话) values( & _ TextBox1.Text.ToString().Trim() & _ , & TextBox2.Text.ToString().Trim() & , & _ TextBox3.Text.ToString().Trim() & , & _ TextBox4.Text.ToStri

32、ng().Trim() & ) Dim sql2 As String = select * from Supplier where 编号= & TextBox1.Text.ToString().Trim() & con.Open() Dim cmd1 As SqlCommand = New SqlCommand(sql1, con) Dim cmd2 As SqlCommand = New SqlCommand(sql2, con) Dim reader As SqlDataReader reader = cmd2.ExecuteReader If reader.Read = True The

33、n MsgBox(成功添加) reader.Close() Else reader.Close() cmd1.ExecuteNonQuery() con.Close() End If 查询和删除供应商: Dim con As New SqlConnection(str) Dim sql As String = select * from Supplier Dim ds As New DataSet Dim dr As SqlDataAdapter = New SqlDataAdapter(sql, con) Dim das As New DataSet con.Open() dr.Fill(d

34、as) DataGridView1.DataSource = das.Tables(0) con.Close() Dim con As New SqlConnection(str) Dim sql As String = select * from Supplier Dim ds As New DataSet con.Open() Dim dr As New SqlDataAdapter(sql, con) Dim sqlcmb As New SqlCommandBuilder(dr) Dim i As Integer dr.Fill(ds) Dim rowcount As Integer =

35、 Me.DataGridView1.Rows.Count Dim msgbox1 As Integer For i = 0 To rowcount - 1 If Me.DataGridView1.Rows(i).Selected Then ds.Tables(0).Rows(i).Delete() msgbox1 = MsgBox(您确定要删除吗?, MsgBoxStyle.YesNo) End If Next If msgbox1 = MsgBoxResult.Yes Then MsgBox(删除成功) DataGridView1.DataSource = ds.Tables(0) dr.Update(ds.Tables(0) Else MsgBox(删除不成功) End If7.4 进货模块管理 7.4.1 登记进货单7.4.2 查询和删除订货单7.4.3 修改订货单7.4.4代码 登记订货单Dim con As New SqlConnection(str) Dim sql1 As String = insert into BookOrder(编号,日期,供货商编号,商品编号,商品名称,商品产地,商品数量,商品进价,总计) values( & _

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号