收藏 分销(赏)

仓库综合管理系统典型数据库.doc

上传人:精**** 文档编号:2509754 上传时间:2024-05-31 格式:DOC 页数:42 大小:1.25MB
下载 相关 举报
仓库综合管理系统典型数据库.doc_第1页
第1页 / 共42页
仓库综合管理系统典型数据库.doc_第2页
第2页 / 共42页
仓库综合管理系统典型数据库.doc_第3页
第3页 / 共42页
仓库综合管理系统典型数据库.doc_第4页
第4页 / 共42页
仓库综合管理系统典型数据库.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、河南城建学院经典数据库课程设计汇报课程名称: 经典数据库课程设计 设计题目: 仓库管理系统 指导老师: 班 级: 学 号: 学生姓名: 同组人员: 成 绩: 评 语: 计算机科学和工程学院1月10日目 录第1章 概述21.1 选题背景和意义21.2 相关技术分析3第2章 系统功效设计42.1 系统总体结构设计图42.2 系统功效模块41.2.1 登录模块41.2.2 基础信息管理模块51.2.3 货物信息管理模块51.2.4 仓库货物管理模块61.2.5 查询信息信息模块61.2.6 仓库警报功效模块71.2.7 信息导出功效模块7第3章 数据库设计83.1 需求分析83.1.1 数据步骤图8

2、3.1.2 数据字典103.2 数据库概念结构设计123.2.1 E-R图设计方法123.2.2 全局E-R图123.2.3 局部E-R图133.3 数据库逻辑结构设计153.4 安全性和完整性设计17第4章 数据库维护和查询184.1 序列184.2 触发器18第5章 UI设计和代码实现205.1 UI设计205.1.1 仓库管理员205.1.2 系统管理员225.2 代码实现245.2.1 仓库管理员245.3.2 系统管理员28第6章 结束语31参考文件33第1章 概述1.1 选题背景和意义1、背景:伴随信息技术发展和中国外互联网技术应用水平逐步提升,在企业管理过程中,传统工作方法和管理

3、模式已经难以满足现代社会肯定需求,实现企业现代化综合管理已经是提升国家政府机关和企机关各部门工作效率、规范化管理肯定发展趋势。伴随经济全球化、信息网络化和物流现代化进程全方面推进,仓储供需量展现爆炸式增加,传统仓库管理模式和管理系统,已根本满足不了现代社会全方面信息化严峻挑战,怎样加强以信息化为指导现代仓库管理技术已成为物流现代化走向成功有效路径,怎样将互联网技术和仓储物流信息化技术紧密结合起来,开发出适应该前社会发展需要、优异现代化物流仓储管理技术平台,是现代化物流发展技术中一项基础、又是很关键、尤其值得研究子课题。ASP技术是面向对象编程技术,可实现复杂数据库操作;用ASP开发Web应用程

4、序安装在网络服务器上,运行在网络服务器上,所以ASP源程序隐密安全系数性高;而ASP又是基于B/S模型架构、开放式Web服务器应用程序开发技术,所以,采取ASP技术开发运行在服务器端仓库管理信息系统平台是众多软件设计和开发人士首要选择。本文比较全方面地叙述了和ASP、ADO、B/S模式相关理论技术,为构建Web仓库管理信息系统提供了必需理论支持。首先分析了ASP技术优势、特点及其工作原理,剖析了ASP工作关键内涵,搭建了ASP技术工作环境,为开发系统功效提供必需技术运行环境;分析了现在Web数据库最好访问组件ADO技术对象和数据集之间关系,直接搭建了Web应用程序和数据库访问联络梁;依据现代仓

5、储市场需求特点,对拟开发系统功效进行了细致地分析和设计,建立了仓储数据管理E-R模型图、数据库结构,分析了B/S架构模式三层框架,构建了以该框架为模型仓库管理信息系统,关键分析介绍了相关功效模块ASP实现过程,成功地实现了基于ASP运行环境仓库管理信息系统开发和设计;并对本系统各项功效进行了测试和分析,发觉系统运行状态良好,人机交互友好,程序设计实现合理,达成了项目设计目标和要求。最终,对此次项目设计进行了总结和展望,发觉了系统构架模式关系着程序开发效率,对开发系统有着关键影响意义,好马配好鞍,优异软件肯定有优异构架。作为软件开发设计人员既要努力学好软件技术又要重视相关模式学习,这么,就能达成

6、事半功倍效果,设计开发出愈加优异应用系统来。2、 意义 仓库管理系统是经典信息管理系统(MIS),其开发关键包含后台数据库建立和维护,和前端应用程序开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好库,而对于后者则要求应用程序功效完备、易使用等特点。经过分析,我们使用Microsoft企业数据库开发工具SQL Server和Microsoft Visual Studio ,利用其提供多种面向对象开发工具和数据库结合比较方便,我们开发了这套库存管理系统,包含仓库管理、入库管理、出库管理、库存管理和查询等模块。仓库管理可用于配置企业仓库信息;出库、入库管理能够使管理人员管理多种类型

7、货物进出;库存管理可提供便捷库存查询管理。仓库管理系统实现了企业对货物管理,用来控制存放货物数量,以确保稳定货物支持正常运转,但又最小程度地占用资本。它是一个相关、动态及真实库存控制系统。它能够结合、满足相关部门需求,随时间改变动态地调整库存,正确地反应库存现实状况,加强库存步骤管理,有效地控制货物收发,降低了库存,优化了库存结构;能够立即了解货物状态,全方位仓库管理能够立即了解货物分布,避免了货物短缺、积压、过期变质,立即了解货物收发成本,货物数据共享。1.2 相关技术分析 此系统采取了成熟且完善oracle 11g及Microsoft Visual Studio 软件开发工具来进行后台数据

8、库管理、操作和维护。该软件功效强大,可用性强,完全能够满足我们开发项目标要求。第2章 系统功效设计2.1 系统总体结构设计图系统要含有以下功效:登录界面统一,用户登录系统时进行身份验证,如不是系统用户则严禁登录; 添加新职员时,经过系统管理员进行添加,并能采集职员基础信息;仓库货物信息管理,系统包含仓库管理、入库、出库和部分统计查询等几部分组成。仓库管理系统实现对货物信息管理和总体统计等,仓库信息,供货单位和操作员信息查看及维护。仓库管理人员能够浏览、查询、添加、删除等产品基础信息。图2.1系统功效图2.2 系统功效模块1.2.1 登录模块登录模块能够分为系统管理员登录和管理员登录。假如用户要

9、进行登陆时,系统会进去数据库进行帐号密码匹配,同时也要进行权限匹配,假如匹配成功才能够登录。依据其选择用户不一样,输入不一样用户和密码,接入不一样用户界面,管理不一样界面。图1.2.1登陆模块1.2.2 基础信息管理模块基础信息模块分为仓库基础信息,操作员基础信息,用户基础信息,仓库基础信息又分为管理员管理,提货员管理,采购员管理。图1.2.2基础信息管理模块1.2.3 货物信息管理模块货物信息管理模块分为添加货物信息,修改货物信息,删除货物信息。图1.2.3货物信息管理1.2.4 仓库货物管理模块仓库货物管理模块分为入库操作和出库操作。图1.2.4仓库货物管理1.2.5 查询信息信息模块查询

10、信息管理模块分为查询货物信息,查询仓库信息,查询用户信息。图1.2.5查询信息管理1.2.6 仓库警报功效模块仓库警报功效模块在货物不足时提醒。图1.2.6警报功效1.2.7 信息导出功效模块信息导出功效模块分为导出货物信息,导出入库信息,导出出库信息。图1.2.7信息导出功效第3章 数据库设计3.1 需求分析3.1.1 数据步骤图图3.1.1顶层数据流图图3.1.2系统数据流图具体设计图3.1.3管理员-货物图3.1.4管理员-入库、出库图3.1.5管理员-用户图3.1.6管理员-仓库3.1.2 数据字典(1)仓库表字段名称数据类型描述Snoint仓库编号,主键Snamevarchar2(1

11、0)仓库名称Sadressvarchar2(50)仓库地址Sbignumber仓库大小Anovarchar2(10)管理员编号 外键(2)入库表字段名称数据类型描述GnoInt货物编号 外键Bnoint采购员编号 外键SnoInt仓库编号 外键IdateDate采购日期InumInt采购数量Anovarchar2(10)管理员编号 外键(3)出库表字段名称数据类型描述GnoInt货物编号 外键Pnoint提货员编号 外键Snoint仓库编号 外键Anovarchar2(10)管理员编号 外键Odatedate采购日期OnumInt采购数量(4)用户表字段名称数据类型描述CnoInt用户号,主键

12、CnameVarchar2(10)用户名CtypeVarchar2(10)用户类型CmethodVarchar2(11)联络地址CcodeVarchar2(7)邮政编号CbzVarchar2(50)备注Pnoint提货员编号 外键(5)库存表字段名称数据类型描述GnoInt货物编号 外键Snoint仓库编号 外键KnumInt货物数量Kdatedate清点时间(6)提货员表字段名称数据类型描述PnoInt提货员编号,主键PnameVarchar2(11)提货员姓名Psexvarchar2(3)提货员性别Pmethodvarchar2(11)提货员联络方法Paddressvarchar2(50)

13、提货员联络地址(7)用户表字段名称数据类型描述UnameVarchar2(10)用户名UpassVarchar2(10)密码UgradeInt权限(8)管理员表字段名称数据类型描述AnoVarchar2(10)管理员编号,主键AnameVarchar2(10)管理员姓名AsexVarchar2(3)管理员性别Amethodvarchar2(11)管理员联络方法Aaddressvarchar2(50)管理员地址(9)货物表字段名称数据类型描述Gnoint货物编号 主键Gnamevarchar2(10)货物名称Snonchar(10)仓库编号Gdatedate生产日期Gfactoryvarchar

14、2(10)生产厂家Pnonchar(10)采购员编号Gpricenumber(7,2)货物单价Idatedate入库时间(10)采购员表字段名称数据类型描述BnoInt提货员编号,主键Bnamevarchar2(10)提货员姓名Bsexvarchar2(3)提货员性别Bmethodvarchar2(11)提货员联络方法Baddressvarchar2(50)提货员联络地址3.2 数据库概念结构设计3.2.1 E-R图设计方法 1).属性必需是不可分数据项。2).属性不能和其它实体含有联络,联络只能发生在实体之间。3.2.2 全局E-R图图3.2.1全局E-R图3.2.3 局部E-R图3.1、仓

15、库-货物-采购员图3.1仓库-货物-采购员3.2、仓库-货物-提货员图3.2仓库-货物-提货员3.3、仓库-货物(存放情况)图3.3仓库-货物(存放情况)3.4、用户-提货员图3.4用户-提货员3.5、系统管理员-采购员图3.5管理员-采购员3.6、管理员-仓库图3.6管理员-仓库3.7、系统管理员-提货员图3.7系统管理员-提货员3.3 数据库逻辑结构设计1、 仓库-货物-采购员(入库)(M-N)Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)Tb_InStorage(G

16、no, Sno ,Idate,Inum,Bno);2、 仓库-货物-提货员(出库)(M-N)Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)Tb_OutStorage(Gno, Sno ,Odate,Onum,Pno);3、 仓库-货物(存放情况)(M-N)Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)Tb_Kc(Gno, Sno ,Knum,Kdat

17、e);4、 用户-提货员(N-M)Tb_Client(Cno,Cname,Ctype,Cmethod,Ccode,Cphone,Cbz,Pno);Tb_Picker(Pno,Pname,Psex,Pmethod,Paddress);5、 管理员-仓库(1-N)Tb_Admin(Ano,Aname,Asex,Amethod,Aaddress);Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);u 仓库/Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);u 入库Tb_InStorage(Gno, Sno ,Idate,Inum,Bno);u

18、出库Tb_OutStorage(Gno, Sno ,Odate,Onum,Pno);u 用户/Tb_Client(Cno,Cname,Ctype,Cmethod,Ccode,Cphone,Cbz,Pno);u 库存Tb_Kc(Gno, Sno ,Knum,Kdate);u 提货员/Tb_Picker(Pno,Pname,Psex,Pmethod,Paddress);u 用户/Tb_User(Uname,Upass,Ugrade);u 管理员/Tb_Admin(Ano,Aname,Asex,Amethod,Aaddress);u 货物/Tb_Good(Gno,Gname,Gdate,Gfacto

19、ry,Gprice,Idate)u 采购员/Tb_Buyer(Bno,Bname,Bsex,Bmethod,Badress);3.4 安全性和完整性设计1.外键约束:管理员表中作为主键管理员编号在仓库表中作为外键使用:constraint gly_key foreign key(Ano) references Tb_Admin(Ano)提货员表中作为主键提货员编号在用户表中作为外键使用:constraint thy_key foreign key(Pno) references Tb_Picker(Pno)货物表中作为主键货物编号在库存表中作为外键使用:constraint hw_key fo

20、reign key(Gno) references Tb_Good(Gno)仓库表中作为主键仓库编号在库存表中作为外键使用:constraint ck_key foreign key(Sno) references Tb_Storage(Sno)货物编号,仓库编号,提货员编号,管理员编号在出库表中作为外键使用:constraint hw1_key foreign key(Gno) references Tb_Good(Gno)constraint ck1_key foreign key(Sno) references Tb_Storage(Sno)constraint thy1_key for

21、eign key(Pno) references Tb_Picker(Pno)constraint gly1_key foreign key(Ano) references Tb_Admin(Ano)货物编号,仓库编号,采货员编号,管理员编号在出库表中作为外键使用:constraint hw1_key foreign key(Gno) references Tb_Good(Gno)constraint ck1_key foreign key(Sno) references Tb_Storage(Sno)constraint cgy2_key foreign key(Bno) reference

22、s Tb_Buyer(Bno)constraint gly1_key foreign key(Ano) references Tb_Admin(Ano)2.check约束check约束:Bsex varchar2(3) check (Bsex in(男,女), Psex varchar2(3) check (Psex in(男,女), 3.primary key 约束 管理员表:Ano varchar2(10) primary key, 仓库表 :Sno int primary key, 采购员表:Bno int primary key, 提货员表:Pno int primary key, 货

23、物表 :Gno int primary key, 用户表 :Cno int primary key,第4章 数据库维护和查询4.1 序列 1.提货员序列create sequence Picker_seqstart with 1001increment by 1 2.采购员序列 create sequence Buyer_seqstart with increment by 1; 3.货物序列 create sequence Good_seqstart with 3001increment by 1; 4.仓库序列create sequence Storage_seqstart with 40

24、01increment by 1 5.用户序列create sequence Client_seqstart with 5001increment by 1;4.2 触发器1.提货员触发器create or replace trigger add_Picker_triggerbefore inserton TB_Pickerfor each rowbeginif :new.Pno is null thenselect Picker_seq.nextval into :new.Pno from dual;end if;end add_Picker_trigger; 2.采购员触发器create

25、or replace trigger add_Buyer_triggerbefore inserton TB_Buyerfor each rowbeginif :new.Bno is null thenselect Buyer_seq.nextval into :new.Bno from dual;end if;end add_Buyer_trigger; 3.货物触发器create or replace trigger add_Good_triggerbefore inserton TB_Goodfor each rowbeginif :new.Gno is null thenselect

26、Good_seq.nextval into :new.Gno from dual;end if;end add_Good_trigger; 4.仓库触发器create or replace trigger add_Storage_triggerbefore inserton TB_Storagefor each rowbeginif :new.Sno is null thenselect Storage_seq.nextval into :new.Sno from dual;end if;end add_Storage_trigger; 5.用户触发器create or replace tri

27、gger add_Client_triggerbefore inserton TB_Clientfor each rowbeginif :new.Cno is null thenselect Client_seq.nextval into :new.Cno from dual;end if;end add_Client_trigger;第5章 UI设计和代码实现5.1 UI设计5.1.1 仓库管理员1. 登录界面设计登录模块能够分为系统管理员登录和管理员登录。假如用户要进行登陆时,系统会进去数据库进行帐号密码匹配,同时也要进行权限匹配,假如匹配成功才能够登录。依据其选择用户不一样,输入不一样用

28、户和密码,接入不一样用户界面,管理不一样界面。2. 基础信息模块设计基础信息模块包含仓库基础信息,用户基础信息,操作员基础信息。仓库基础信息设置有修改和删除功效。用户基础信息设置了添加,删除和修改功效。操作员基础信息设置了修改功效。因为用户信息为常变实体属性,所以设置了添加,修改和删除功效。仓库信息为不常变实体属性,所以设置了修改和删除属性。操作员因为是管理员,不能修改同一等级权限信息,所以只给添加了修改基础信息功效。3. 货物信息模块设计货物信息模块包含对货物信息添加,货物信息删除,货物信息修改对应现实世界引进新货物,货物信息更新和清仓处理。4. 出库入库模块设计出库入库模块包含了货物出库和

29、入库模块。对于入库信息来说,当系统开始入库时,先判定货物是否存在,假如不存在话这直接将货物信息插入库存表,然后在入库表中插入统计,提醒入库成功。假如货物存在话则看对应仓库是否存在假如存在话则在原来货物基础上只更新货物数量提醒入库成功,假如仓库不匹配话则插入该货物信息,然后在入库表中插入统计,提醒入库成功。出库信息,当系统开始出库时,先判定货物是否存在假如存在话则看需要出货仓库是否存在,假如存在话再看货物数量是否满足出货数,假如满足则出库成功同时对库存表和出库表进行更新,提醒出库成功,不然则出库失败。5. 信息查询模块设计信息查询模块包含货物信息查询,仓库信息查询,用户信息查询。经过对用户表,仓

30、库表和货物表主键进行匹配唯一确实定一行数据返回GridView进行显示。6. 警报信息模块设计警报信息功效,是当库存中货物数量少于10时候自动提醒管理员要进行立即补货,以免货物短缺,造成损失。7. 信息导出模块设计信息导出模块包含了导出货物信息,导出出库信息,导出入库信息功效,方便仓库人员进行报表打印和仓库流水信息。5.1.2 系统管理员1. 管理员信息模块设计管理员信息模块包含对管理员添加修改和删除功效,因为仓库管理系统由管理员进行管理,所以当添加管理员信息时,在给管理员表添加基础信息同时也给用户表中添加了信息,帐号为管理员编号,密码默认为123.2. 采购员信息模块设计采购员信息管理(对采

31、购员信息添加,修改,删除)3. 提货员信息模块设计提货员信息管理(对提货员信息添加,修改,删除)5.2 代码实现5.2.1 仓库管理员1. 登录界面登录匹配关键代码protected void Button1_Click(object sender, EventArgs e) var qx = -1 ; if (DropDownList1.SelectedValue.ToString() = 仓库管理员) qx = 1; else qx = 0; OracleCommand mycommand = new OracleCommand(select * from Tb_User where Un

32、ame= + this.TextBox1.Text.ToString() + and Upass= + this.TextBox2.Text.ToString() + and Ugrade= + qx, conn); conn.Open(); OracleDataReader recu = mycommand.ExecuteReader(); if (recu.Read() if (qx=1) SessionAname = TextBox1.Text; Response.Redirect(jbxx.aspx); else if (qx = 0) Response.Redirect(gly.as

33、px); else Response.Write(alert(后勤处用户名或密码错误!);); TextBox2.Text = ; 2. 基础信息添加用户信息关键代码protected void Button1_Click(object sender, EventArgs e) OracleCommand mycomm = new OracleCommand(insert into Tb_Client(Cname,Ctype,Cmethod,Ccode,Caddress,Cbz,Pno) values( + this.TextBox2.Text.ToString() + , + this.Te

34、xtBox3.Text.ToString() + , + this.TextBox6.Text.ToString() + , + this.TextBox5.Text.ToString() + , + this.TextBox4.Text.ToString() + , + this.TextBox7.Text.ToString() + , + this.TextBox8.Text.ToString() + ), conn); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); OracleCommand my = new OracleCom

35、mand(select * from Tb_Client where Cname= + this.TextBox2.Text.ToString() + , conn); conn.Open(); OracleDataReader recu = my.ExecuteReader(); if (recu.Read() Response.Write(alert(添加成功!);); this.TextBox2.Text = ; this.TextBox3.Text = ; this.TextBox4.Text = ; this.TextBox5.Text = ; this.TextBox6.Text

36、= ; this.TextBox7.Text = ; this.TextBox8.Text = ; else Response.Write(alert(添加失败!);); conn.Close(); protected void Button2_Click(object sender, EventArgs e) /this.TextBox1.Text = ; this.TextBox2.Text = ; this.TextBox3.Text = ; this.TextBox4.Text = ; this.TextBox5.Text = ; this.TextBox6.Text = ; this

37、.TextBox7.Text = ; this.TextBox8.Text = ; 3. 货物信息添加货物信息关键代码 protected void Button1_Click(object sender, EventArgs e) OracleCommand mycomm = new OracleCommand(insert into Tb_Good(Gname,Gdate,Gfactory,Gprice,Idate) values( + this.TextBox2.Text.ToString() + ,+ TextBox3.Text.ToString()+, + this.TextBox4

38、.Text.ToString() + ,+TextBox5.Text+ ,+TextBox6.Text.ToString()+), conn); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); OracleCommand my = new OracleCommand(select * from Tb_Good where Gname= + this.TextBox2.Text.ToString() + , conn); conn.Open(); OracleDataReader recu = my.ExecuteReader(); if

39、 (recu.Read() Response.Write(alert(添加成功!);); this.TextBox2.Text = ; this.TextBox3.Text = ; this.TextBox4.Text = ; this.TextBox5.Text = ; this.TextBox6.Text = ; else Response.Write(alert(添加失败!);); conn.Close(); protected void Button2_Click(object sender, EventArgs e) /this.TextBox1.Text = ; this.TextBox2.Text = ; this.TextBox3.Text = ; this.TextBox4.Text = ; this.TextBox5.Text = ; this.TextBox6.Text = ; 4. 出库入库信息出库入库关键代码protected void Button1_Click(object sender, EventArgs e) OracleCommand my = new OracleCommand(select * from Tb_Kc where

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服