1、数据库原理及应用试验汇报( 第 1学期)题 目: 仓库管理系统设计_专 业: 计算机科学和技术(嵌入式)班 级: 13计算机(2)班_ 姓名学号: 何雨虹 _ 黄成旺 _ 林国凤 _ 庄海隆 _指导老师: 柳玲 成 绩:_ 计算机科学和技术系 年 1月7日目录一、需求分析31.1系统需求分析31.2系统功效基础要求和功效描述31.2.1基础信息管理31.2.2产品信息管理31.2.3仓库管理操作31.2.4仓库警示管理31.2.5查询管理功效31.3系统功效模型41.4数据分析41.4.1数据流图41.4.2数据字典5二、数据库概念结构设计6三、数据库逻辑结构设计10四、数据库物理结构设计12
2、五、数据库实施15六、数据库运行17参考文件25附录1仓库管理系统部分程序代码25仓库管理系统设计一、 需求分析1.1系统需求分析仓库管理系统关键用于仓库货物信息管理,系统包含仓库管理、入库、出库和部分统计查询等几部分组成。仓库管理系统实现对货物信息管理和总体统计等,仓库信息,供货单位和操作员信息查看及维护。仓库管理人员能够浏览、查询、添加、删除等产品基础信息。 产品入库管理,能够填写入库单,确定产品入库; 产品出库管理,能够填写出库单,确定产品出库; 借出管理,凭借条借出,然后能够还库; 初始库存设置,设置库存初始值,库存上下警戒限; 能够进行盘库,反应每个月、年库存情况; 能够查询产品入库
3、情况、出库情况、目前库存情况,能够按出库单、入库单,产品、时间进行查询;1.2 系统功效基础要求和功效描述 1.2.1 基础信息管理基础信息包含用户信息、仓库信息和操作员信息。用户能够分为供给商和购货商两种类型。在产品入库时,需要提供供给商信息;在产品出库和退货时,需要提供购货商信息。基础信息管理模块能够实现以下功效: 添加、修改、删除和查看用户信息; 添加、修改、删除和查看仓库信息; 添加、修改、删除和查看操作员信息。1.2.2 产品信息管理产品信息管理模块能够实现以下功效: 添加产品信息; 修改产品信息; 删除产品信息; 查询产品信息;1.2.3 仓库管理操作进行入库和出库操作。入库操作需
4、要统计相关产品信息、仓库信息、用户信息、入库时间等信息;出库操作需要统计相关产品信息、仓库信息、用户信息、出库时间等信息。1.2.4仓库警示管理仓库警示管理模块能够实现仓库产品数量报警和仓库容量报警。1.2.5查询管理功效查询管理模块能够对仓库产品进行多种类型查询,从而能够全方面了解仓库情况。1.3系统功效模型依据以上所介绍功效,能够设计出系统总体功效模块,图1-1所表示。仓库管理系统基础信息管理操作员登陆产品信息管理仓库警示管理仓库管理操作用户信息管理查询产品信息入库操作管路修改产品信息删除产品信息添加产品信息仓库信息管理出库操作管理查询仓库信息图1-1 仓库管理系统功效模块示意图查询管理操
5、作操作员信息管理查询产品信息查询用户信息填写入库单修改用户信息添加用户信息填写出库单删除用户信息产品数量报警仓库容量报警查询用户信息1.4 数据分析 1.4.1 数据流图经过进行系统调查,了解用户需求、分析应用软件系统功效需求。总结出了系统逻辑模型,即系统业务步骤图、数据流图。如 图1-2和图1-3所表示。仓库管理系统产品操作员用户仓库入库出库查询操作返回结果进货出货供货购货图1-2 系统业务步骤图产品操作员注册返回信息产品信息管理仓库信息管理产品信息表入库表P1P2D1D2基础信息管理P4管理返回信息D5仓库信息D4操作员信息仓库信息管理P3查询返回信息出库表D3库存表D3仓库存放返回信息入
6、库添加填表返回信息图1-3 仓库管理系统数据流图 1.4.2 数据字典 名字:产品别名: 描述:唯一标识一个产品信息集合定义:产品=产品号+产品名+供给商号+类别+产品单价+产品数量位置:存放在数据库名字:仓库别名: 描述:唯一标识一个仓库信息集合定义:仓库=仓库号+仓库名+剩下容量+总容量位置:存放在数据库名字:用户别名: 描述:唯一标识一个用户特征信息集合定义:用户=用户号+用户名+地址+电话 +用户类型位置:存放在数据库名字:操作员别名: 描述:唯一标识一个职员特征信息集合定义:操作员=操作员号+操作员名+密码位置:存放在数据库名字:库存表别名: 描述:仓库存放物资情况定义:库存表=仓库
7、号+产品号+产品总数量位置:存放在数据库名字:入库表别名: 描述:物资入库信息定义:入库表=产品号+仓库号+入库时间+数量位置:存放在数据库名字:出库表别名: 描述:物资出库信息定义:出库表=产品号+仓库号+出库时间+数量位置:存放在数据库 二、数据库概念结构设计 经考察和分析,本案例客房管理系统包含以下实体:用户实体、客房实体、操作员实体、结算账单实体,它们E-R图如以下所表示。 产品产品名供给商号产品单价产品数量产品号图2-1产品及其属性库存表仓库号产品号产品总数量图2-2库存表及其属性入库表仓库号产品号入库时间数量图2-3入库表及其属性出库表仓库号产品号出库时间数量图2-4出库表及其属性
8、仓库仓库号仓库名剩下容量总容量图2-5仓库及其属性用户用户号用户名用户类型联络地址联络电话邮政编号用户备注图2-6用户及其属性操作员操作员编号操作员名密码图2-7操作员及其属性产品供给商入库表仓库操作员购货商出库表管理提供取出存放返回库存表图2-8仓库管理系统E-R图n11mn1nn1n三、数据库逻辑结构设计依据E-R图,数据库仓库管理系统包含以下8个表:用户信息表“用户”、仓库信息表“仓库”、操作员信息表“操作员”、产品类别表“产品类别”、产品信息表“产品”、入库操作信息表“入库”、出库操作信息表“出库”和库存产品信息表“库存”。1. 用户信息表“用户”用户信息表“用户”关键是用来保留用户信
9、息,表“用户”结构图表2-1所表示。 表2-1 用户信息表“用户”编号字段名称数据结构说 明1用户号Int用户编号2用户名varchar(50)用户名称3用户类型tinyint用户类型,供给商、购货商4联络地址varchar(50)用户联络地址5邮政编号varchar(10)邮政编码6联络电话varchar(30)联络电话7备注varchar(100)备注信息 2. 仓库信息表“仓库”仓库信息表“仓库”用来保留仓库信息,表“仓库”结构如表2-2所表示。表2-2 仓库信息表“仓库”编号字段名称数据结构说 明1仓库号int仓库编号2仓库名varchar(50)仓库名称3仓库备注varchar(10
10、0)仓库说明3. 操作员表“操作员”操作员表“操作员”用来保留用户信息,表“操作员”结构如表2-3表示。表2-3操作员信息表“操作员”编号字段名称数据结构说 明1操作员号Int操作员编号2操作员名varchar(40)用户名3密码varchar(40)密码4. 产品信息表“产品”产品信息表“产品”用来保留产品基础信息,表“产品”结构如表2-5表示。表2-5产品信息表“产品”编号字段名称数据结构说 明1产品号int产品编号2产品名varchar(50)产品名称3产品数量int产品数量4产品单价Varchar(20)产品每单位价格5用户号int供给商编号5. 入库操作信息表“入库表”入库操作信息表
11、“入库表”用来保留入库操作基础信息,表“入库表”结构如表2-6表示。表2-6入库操作信息表“入库表”编号字段名称数据结构说 明1产品号int入库产品编号2入库单价Varchar(20)入库产品单价3入库数量int入库产品数量4用户号int用户编号5仓库号int仓库编号6入库时间char(10)入库日期6. 出库操作信息表“出库表”出库操作信息表“出库表”用来保留出库操作基础信息。表“出库表”结构如表2-7表示。 表2-7 出库操作信息表“出库表”编号字段名称数据结构说 明1产品号int出库产品编号2出库单价Varchar(20)出库产品单价3出库数量int出库产品数量4用户号int用户编号5仓
12、库号int仓库编号6出库时间char(20)出库日期7. 库存产品信息表“库存表”库存产品信息表“库存表”用来保留库存产品基础信息,表“库存表”结构如表2-8表示。 表2-8库存产品信息表“库存”e编号字段名称数据结构说 明1产品号int产品编号2入库价格Varchar(20)产品入库单价3现存数量Int产品数量4仓库号Int仓库编号四、数据库物理结构设计在进行了数据表逻辑结构定义后,需要为每个数据表创建其物理结构,即在数据库系统中定义数据表具体存放格式、位置等。这里列出利用SQL Server 自带数据库创建数据表物理结构。1.“用户”表物理结构“用户”表物理结构图4-1所表示,关键字为”用
13、户号”。图4-1 “用户”表2. “产品”表物理结构 “产品”表物理结构图4-2所表示,关键字为”产品号”。图4-2 “产品”表3. “仓库”表物理结构“仓库”表物理结构图4-3所表示,关键字为”仓库号”。图4-3 “仓库”表4. “库存表”物理结构 “库存表”物理结构图4-4所表示。图4-4“库存表”5. “入库表”物理结构 “入库表”物理结构图4-5所表示。图4-5“入库表”6. “出库表”物理结构 “出库表”物理结构图4-6所表示。图4-6“出库表”7. “操作员”表物理结构 “操作员”表物理结构图4-7所表示。图4-7“操作员”表8. “产品视图”物理结构“产品视图”物理结构图4-8所
14、表示。图4-8 “产品视图”五、数据库实施依据以上所进行调查、设计和进行方案,建立并实施数据库。此系统利用SQL Server 进行数据库开发。1.数据库建表语句 名称: 用户表“用户” 标识:用户建表语句以下: create table 用户 ( 用户号 int not null, 用户名 varchar(50) null, 用户类型 tinyint null, 联络地址 varchar(50) null, 邮政编号 varchar(10) null, 联络电话 varchar(30) null, 备注 varchar(100) null, constraint PK_用户 primary
15、key (用户号)go(2) 名称: 产品表“产品” 标识:产品号建表语句以下: create table 产品 ( 产品号 int not null, 产品名 varchar(50) null, 产品数量 int null, 产品单价 varchar(20) null, 用户号 int null, constraint PK_产品 primary key (产品号)go(3) 名称:仓库表“仓库” 标识:仓库号建表语句以下: create table 仓库 ( 仓库号 int not null, 仓库名 varchar(50) null, 仓库备注 varchar(100) null, co
16、nstraint PK_仓库 primary key (仓库号)go(4) 名称:“入库表” 建表语句以下:create table 入库表 ( 产品号 int null, 入库单价 varchar(20) null, 入库数量 int null, 用户号 int null, 仓库号 int null, 入库时间 varchar(10) null)go(5) 名称:“出库表” 建表语句以下:create table 出库表 ( 产品号 int null, 出库单价 varchar(20) null, 出库数量 int null, 用户号 int null, 仓库号 int null, 出库时间
17、 varchar(10) null)go(6) 名称:“库存表” 建表语句以下:create table 库存表 ( 产品号 int null, 入库价格 varchar(20) null, 现存数量 int null, 仓库号 int null)go(7) 名称:“操作员”表 建表语句以下: create table 操作员 ( 操作员号 int not null, 操作员名 varchar(40) null, 密码 varchar(40) null, constraint PK_操作员 primary key (操作员号)go2.数据库建视图语句(1) 名称:“产品视图”建视图语句以下:C
18、REATE VIEW dbo.产品视图ASSELECT dbo.产品.产品号, dbo.产品.产品名, dbo.产品.用户号, dbo.库存表.仓库号, dbo.产品.产品数量, dbo.产品.产品单价, dbo.库存表.入库价格, dbo.库存表.现存数量FROM dbo.产品 INNER JOIN dbo.库存表 ON dbo.产品.产品号 = dbo.库存表.产品号六、数据库运行依据以上所做准备和SQL Server 建立好表、试图及多种关系,利用Visual Basic 6.0 为前台开发工具,开发出用户管理系统,关键利用了ADODC控件和DataGrid控件。1. 系统登陆界填入用户
19、名和密码后点击【登录】按钮,系统将自动从数据库中判定是否存在相同用户名和密码,假如有则进入系统, 进入系统主页面并出现欢迎使用系统对话框,不成功则显示错误信息页面。假如不存在则提醒用户名和密码有错误信息。 系统登陆界面图6-1所表示 图6-1 系统登陆界面2. 系统主界面主界面包含系统关键功效包含新建用户信息、客房信息查询、用户信息查询、结算信息账单,四个关键功效。用户能够依据需关键点击自己想使用功效进入功效界面。系统主界面图6-2所表示。 图 6-2 系统主界面3. 管理界面图6-3 各信息管理界面4.添加界面 用于添加新信息,有添加用户信息、添加仓库信息、添加产品信息、添加操作员信息,各个
20、添加界面图4-4所表示。图4-4-a 添加用户信息界面图4-4-b 添加仓库信息界面图4-4-c 添加产品信息界面5.查询界面 用于查询多种信息,有用户信息查询、仓库信息查询、产品信息查询、操作员信息查询。各个查询界面图4-5所表示。图4-5-1仓库信息查询图4-5-2 产品信息查询图4-5-3 入库表信息查询图4-5-4 用户信息查询6. 删除界面 删除界面用于删除无用、过时信息。包含删除用户信息、删除仓库信息、删除产品信息。各界面以下列图4-6所表示。图4-6-1 删除用户信息界面图 4-6-2 删除仓库信息界面图4-6-3 删除产品信息界面参考文件1 王珊,陈红.数据库系统原理教程M.北
21、京:清华大学出版社,1998.7.2 王珊,萨师煊.数据库系统概论(第四版)M.北京:高等教育出版社,.5.3 虞益诚,孙莉.SQL Server 数据库应用技术M.北京:中国铁道出版社,.11.4 刘钢.Visual Basic 程序设计和应用案例M.北京:高等教育出版社,.9.5 Abraham Silberschatz, Henry F.Korth ,S.Sudarshan.Database System Concepts(Fourth Edition). Higher Education Press.6 罗运模.完全掌握SQL Server J.北京:人民邮电出版社,.7 白尚旺.Po
22、werDesigner软件工程技术M.北京:电子工业出版社,.附录仓库管理系统部分程序代码1. 登陆代码Private Sub Command1_Click()Dim cn As New ADODB.Connectioncn.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=仓库管理系统;Data Source=WWW-4FDE9FFEC01cn.OpenDim rs, rss As New ADODB.RecordsetSet
23、rs = cn.Execute(select * from 操作员 where 操作员名= & Text1.Text & )Set rss = cn.Execute(select * from 操作员 where 密码= & Text2.Text & )If rs.EOF Then MsgBox 用户名错误! Text1.Text = Text1.SetFocus Else If rss.EOF Then MsgBox 密码错误! Text2.Text = Text2.SetFocus Else Me.Hide Form2.Show MsgBox (Text1.Text + ,欢迎您使用冰舞奇
24、迹仓库管理系统) End IfEnd IfEnd Sub2. 添加用户信息代码Private Sub Command1_Click()Dim cn As New ADODB.ConnectionDim sql As Stringcn.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=仓库管理系统;Data Source=WWW-4FDE9FFEC01cn.OpenDim a1, a2, a3, a4, a5, a6, a7 As
25、Stringa1 = Text1.Texta2 = Text2.Texta3 = Text3.Texta4 = Text4.Texta5 = Text5.Texta6 = Text6.Texta7 = Combo1.Textsql = insert into 用户 values( & a1 & , & a2 & , & a7 & , & a3 & , & a4 & , & a5 & , & a6 & )cn.Execute (sql)cn.CloseMsgBox 已添加用户信息End Sub3. 依据用户号查看、删除用户代码Private Sub Command1_Click()Dim keh
26、uhao As Stringkehuhao = Text8.TextAdodc1.Recordset.Find 用户号= & Val(kehuhao)End SubPrivate Sub Command2_Click()Dim cn As New ADODB.ConnectionDim sql As StringDim kehuhao As Stringkehuhao = Text8.Textcn.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial
27、 Catalog=仓库管理系统;Data Source=WWW-4FDE9FFEC01cn.Opensql = delete from 用户 where 用户号= & kehuhao & cn.Execute (sql)MsgBox 已删除编号为 & kehuhao & 用户信息End Sub4. 查看用户信息代码Private Sub Command1_Click()Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim sql As Stringcn.ConnectionString = Provider=SQLOLED
28、B.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=仓库管理系统;Data Source=WWW-4FDE9FFEC01cn.OpenIf Combo1.Text = 供给商 Thenrs.Open select * from 用户 where 用户类型=供给商, cn, adOpenKeyset, adLockBatchOptimistic, adCmdTextSet DataGrid1.DataSource = rsDataGrid1.Refresh Else If Combo1.Text = 购
29、货商 Then rs.Open select * from 用户 where 用户类型=购货商, cn, adOpenKeyset, adLockBatchOptimistic, adCmdTextSet DataGrid1.DataSource = rsDataGrid1.Refresh Else rs.Open select * from 用户, cn, adOpenKeyset, adLockBatchOptimistic, adCmdText Set DataGrid1.DataSource = rsDataGrid1.RefreshEnd IfEnd IfEnd SubPrivate
30、 Sub Command2_Click()Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim sql As Stringcn.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=仓库管理系统;Data Source=WWW-4FDE9FFEC01cn.Openrs.Open select * from 用户 where 用户号= & Text1.Text &
31、, cn, adOpenKeyset, adLockBatchOptimistic, adCmdTextSet DataGrid1.DataSource = rsDataGrid1.RefreshEnd SubPrivate Sub Command3_Click()Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim sql As Stringcn.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=Fa
32、lse;Initial Catalog=仓库管理系统;Data Source=WWW-4FDE9FFEC01cn.Openrs.Open select * from 用户 where 用户名= & Text2.Text & , cn, adOpenKeyset, adLockBatchOptimistic, adCmdTextSet DataGrid1.DataSource = rsDataGrid1.RefreshEnd Sub5. 查询仓库信息Dim sql As Stringcn.ConnectionString = Provider=SQLOLEDB.1;Integrated Secu
33、rity=SSPI;Persist Security Info=False;Initial Catalog=仓库管理系统;Data Source=WWW-4FDE9FFEC01cn.Openrs.Open select * from 仓库 where 仓库号= & Text1.Text & , cn, adOpenKeyset, adLockBatchOptimistic, adCmdTextSet DataGrid1.DataSource = rsDataGrid1.RefreshEnd SubPrivate Sub Command2_Click()Dim cn As New ADODB.C
34、onnectionDim rs As New ADODB.RecordsetDim sql As Stringcn.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=仓库管理系统;Data Source=WWW-4FDE9FFEC01cn.Openrs.Open select * from 仓库 where 仓库名= & Text2.Text & , cn, adOpenKeyset, adLockBatchOptimistic,
35、 adCmdTextSet DataGrid1.DataSource = rsDataGrid1.RefreshEnd Sub6. 添加仓库信息Private Sub Command1_Click()Dim cn As New ADODB.ConnectionDim sql As Stringcn.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=仓库管理系统;Data Source=WWW-4FDE9FFEC01cn.OpenD
36、im a1, a2, a3 As Stringa1 = Text1.Texta2 = Text2.Texta3 = Text3.Textsql = insert into 仓库 values( & a1 & , & a2 & , & a3 & )cn.Execute (sql)cn.CloseMsgBox 已添加仓库信息End Sub7. 查看删除仓库信息Private Sub Command1_Click()Dim cangkuhao As Stringcangkuhao = Text1.TextAdodc1.Recordset.Find 产品号= & Val(cangkuhao)End S
37、ubPrivate Sub Command2_Click()Dim cn As New ADODB.ConnectionDim sql As StringDim cangkuhao As Stringcangkuhao = Text1.Textcn.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=仓库管理系统;Data Source=WWW-4FDE9FFEC01cn.Opensql = delete from 仓库 where 仓库号= & cangkuhao & cn.Execute (sql)MsgBox 已删除编号为 & cangkuhao & 仓库信息End Sub8. 添加操作员信息Private Sub Command1_Click()Dim cn As New ADODB.ConnectionDim sql As Stringcn.Connect
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100