欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    企业仓库管理系统数据库设计.doc

    • 资源ID:61170358       资源大小:594.50KB        全文页数:26页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    企业仓库管理系统数据库设计.doc

    优质文本山东建筑大学计算机科学与技术学院课程设计说明书题 目: 企业仓库管理系统设计-提货 管理及用户登录模块课 程: 数据库原理及应用课程设计院 部: 计算机学院山东建筑大学计算机科学与技术学院课程设计任务书设计题目企业仓库管理系统设计-提货管理及用户登录模块技术参数和设计要求为了满足公司仓库管理的业务需求,先需要开发企业仓库管理系统。该系统对货物进行入库和出库管理。该系统的管理员为仓库管理员,同时他也是系统管理员。我实现的功能模块:用户登录管理、提货管理。具体描述如下:1用户登录注册管理。 用户注册。用户注册时,输出客户号和密码,如果客户号不存在那么注册成功,假设客户号已存在那么用户存在,不能注册。 用户登录。用户登录时,输出客户号和密码,与数据库中客户表匹配数据,如果客户号和密码都相同那么登录成功,否那么登录失败。2提货管理。 申请提货登记。包括:货物号,客户号,货物数量。审核提货单。首先根据数据库客户信息表审核提货单中客户是否存在,假设客户存在,然后根据数据库仓库库存信息审核客户所需货物数量是否充足。货物出库登记:包括:货物号,客户号,货物数量,出库日期。设计内容与步骤1、 需求分析2、 数据库设计3、 用SQL语句、触发器与存储过程等实现功能4、 课程设计说明书设计工作方案与进度安排1、 设计工作6学时2、 实现4学时3、 课程设计说明书2学时设计考核要求1、 考勤20%2、 课程设计说明书50%3、 辩论30%指导教师签字: 教研室主任签字:目录1. 系统概述42需求分析42.1、数据流图:52.2、数据字典72.2.1数据项72.2.2数据结构82.2.3数据流82.2.4数据存储92.2.5处理过程103. 数据库概念结构设计103.1、标识仓库管理系统中的实体和属性103.2、确定实体间的联系114. 数据库逻辑结构设计124.1、关系模型124.2、表与视图的设计125. 数据库物理设计及实施155.1 创立数据库155.2 创立表156. 功能实现206.1 用户注册登录功能模块206.2 仓库提货功能模块227. 总结25参考文献261. 系统概述本作品完成的是企业仓库管理系统,前期主要是需求分析,包括数据与处理,并对有关企业仓库管理系统的管理员需求进行了综合、归纳和抽象,形成了一个独立于DBMS的概念模型,画出了ER图,然后本组在数据库中将概念模型转换成了数据模型,建了客户信息表Users,用到了仓库根本信息表Storage,仓库库存信息表Repertory,然后本小组分工实现了用户登录、采购管理、提货管理、入库管理、出库管理。 本人实现的:企业仓库管理系统设计提货管理及用户登录模块1.未注册的客户先进行注册,注册后登录,注册的客户可直接登录系统。2.当客户提出提货请求时,产生一个提货单3.首先根据数据库客户信息表审核提货单中客户是否存在。4.假设客户存在,那么审核货物,查看货物数量是否充足。5.审核成功后进行货物出库登记,登记的内容有货物号、客户号、货物数量、日期。在OutS表中插入登记的此条出库记录。2需求分析 现要开发企业仓库管理系统。经过可行性分析和初步的需求调查,确定了系统的功能边界,该系统应能完成下面的功能:1用户的注册,登录。2货物采购管理3仓库入库管理。4仓库提货管理。5仓库出库管理。2.1、数据流图:图2.1 企业仓库管理系统顶层数据流图图2.2 企业仓库管理系统0层数据流图图2.3 用户登录注册数据流图图2.4 仓库提货管理数据流图2.2、数据字典2.2.1数据项表2.1 数据项表数据项名称含义说明类型长度货物号唯一标识一个货物字符型20货物名货物的名称字符型20货物数量货物的总数量整型货物价格货物的价钱整型供给商号唯一标识一个供给商字符型20供给商名供给商的名字字符型20客户号唯一标识一个客户字符型20客户密码客户的密码字符型20仓库号唯一标识仓库信息字符型20仓库总容量仓库的总容量信息整型仓库剩余容量仓库剩余容量整型出库编号用于记录货物出库字符型20出库日期用于记录货物何时出库字符型20管理员账号唯一标示管理员信息字符型20管理员密码管理员管理员的密码字符型202.2.2数据结构 (1)名称:客户 含义说明:定义了一个客户有关的信息 组成结构:客户号+客户密码(2)名称:货物 含义说明:定义了一个货物有关的信息组成结构:货物号+货物名+货物价格+货物型号+货物类别 (3)名称:仓库 含义说明:定义了一个仓库的有关信息 组成结构:仓库号+仓库总容量+仓库剩余容量2.2.3数据流 (1)数据流名称:入库单 含义:客户入库时需要填写的信息 来源:客户 去向:审核客户 数据流量:50份/天 组成:客户号+货物名+货物数量 (2)数据流名称:出库单 含义:客户出库时需要填写的信息 来源:客户 去向:审核客户 数据流量:50份/天 组成:客户号+货物名+货物数量 (3)数据流名称:提货单 含义:客户提货时需要填写的信息 来源:客户 去向:审核客户 数据流量:50份/天 组成:客户号+货物号+货物数量 (4)数据流名称:违规单 含义:如果无法提出所需货物,会给出一个反应 来源:系统管理员 去向:反应给客户 数据流量:50份/天 组成:无法提货原因2.2.4数据存储1数据存储名称:管理员信息表含义说明:存放管理员的注册信息组成结构:管理员账号+管理员密码说明:用来存储管理员信息,管理员账号号是管理员的主属性2数据存储名称:客户信息表含义说明:存放客户的注册信息组成结构:客户号+客户密码说明:用来存储客户信息,客户号是客户的主属性3数据存储名称:货物信息表含义说明:存放货物的注册信息组成结构:货物号+货物名+货物价格说明:货物号为其主属性,货物价格为当前该货物的入库价格4数据存储名称:仓库信息表含义说明:存放仓库的相关信息组成结构:仓库号+仓库总容量+仓库剩余容量说明:仓库号为其主码,要求能根据审核仓库的剩余容量查询货物的存放与否。5数据存储名称:出库信息表含义说明:存放货物出库信息组成结构:出库编号+货物号+客户号+货物数量+货物价格+仓库号+出库日期说明:出库编号为其主码6数据存储名称:仓库库存信息表含义说明:用来存储当前仓库存储信息组成结构:仓库号+货物号+客户号+货物数量说明:仓库号,货物号,客户号是其主码,货物数量为当前仓库中该客户的该货物的数量。7数据存储名称:提货单信息表含义说明:存放客户提货时所需的提货单组成结构:客户号+货物号+货物量说明:仓库号,货物号,客户号是其主码,货物数量为当前仓库中该客户的该货物的数量。2.2.5处理过程处理过程名称输入输出加工逻辑货物入库入库单核对正确后的入库信息表将货物按照入库单清点正确后,审核通过,否那么不通过货物出货出货单核对正确后的出库信息表将货物按照出库单清点正确后,审核通过,否那么不通过订货单订货单核对正确后的订货单按照客户的订货情况进行核对发货单发货单核对正确后的发货单按照客户的订货情况进行核对然后发货3. 数据库概念结构设计3.1、标识仓库管理系统中的实体和属性参照数据字典中对数据存储的描述,可初步确定实体和属性为:管理员管理员账号,管理员密码货物货物号,货物名,货物价格,货物型号,货物类别客户客户号,客户密码 供给商供给商编号,供给商名仓库仓库号,仓库的总容量,仓库的剩余容量入库信息入库编号,货物号,客户号,货物数量,仓库号,入库日期出库信息货物号,客户号,货物数量,出库日期仓库存信息仓库号,货物号,客户号,货物数量提货单信息货物号,客户号,货物数量其中有下划线的属性为实体的码。3.2、确定实体间的联系图3.1 企业仓库管理系统总E-R图图3.2 仓库提货管理E-R图4. 数据库逻辑结构设计4.1、关系模型表4.1 关系模式表将在概念结构阶段得到的根本E-R图转换成关系模型,如下表所示:关系名属性及码其他约束条件货物货物号,货物名,货物价格货物号为主码货物名不允许为空客户客户号,客户密码客户号为主码客户密码不允许为空仓库仓库号,总容量,剩余容量仓库号为主码总容量、剩余容量不允许为空入库信息入库编号,货物号,客户号,货物数量,仓库号,入库日期入库编号为主码货物号,客户号不允许为空出库信息货物号,客户号,货物数量,出库日期货物号,客户号为主码,并且为外码。货物号,客户号不允许为空仓库库存信息仓库号,货物号,客户号,货物数量量仓库号,货物号,客户号为主码,并且为外码。货物号,客户号不允许为空管理员信息管理员账号,管理员密码管理员账号为主码密码不允许为空4.2、表与视图的设计表4.2 Users(客户表)字段名字段含义字段类型长度小数是否为空列级约束Uid客户号VARCHAR20NOT NULLPrimarykeyUpassword客户密码VARCHAR20NOT NULLNOT NULL函数依赖有:Uid Upassword可以看出非主属性Upassword完全函数依赖于Uid,并且此表绝不会存在传递函数依赖和局部函数依赖问题,所以Users属于3NF甚至于更高的级别。表4.3 Goods货物表字段名字段含义字段类型长度小数是否为空列级约束Gid货物号VARCHAR20NOT NULLPrimarykeyGname货物名VARCHAR20NOT NULLNOT NULLGprice货物价格INTNOT NULLNOT NULLGmodel货物型号VARCHAR20NOT NULLNOT NULLGsort货物类别VARCHAR20NOT NULLNOT NULL函数依赖有:Gid Gname,Gid Gprice,Gid Gmodel,Gid Gsort可以看出非主属性Gname,Gprice,Gmodel,Gsort完全函数依赖于Gid,并且此表绝不会存在传递函数依赖和局部函数依赖问题,所以Users属于3NF甚至于更高的级别。表4.4 Storage(仓库信息表)字段名字段含义字段类型长度小数是否为空列级约束Sid仓库号VARCHAR20NOT NULLPrimarykeySstocks仓库总容量INTNOT NULLNOT NULLSsstock剩余容量INTNOT NULLNOT NULL函数依赖有:Sid Sstocks ,Sid Ssstock可以看出非主属性Sstocks、Ssstock完全函数依赖于Sid,并且Storage表中没有传递函数依赖,即每一个非主属性既不局部依赖于码也不传递依赖于码,所以Storage属于3NF。表4.5 Lading提货单信息表字段名字段含义字段类型长度小数是否为空列级约束Uid客户号VARCHAR20NOT NULLForeign key references Users(Uid)Gid货物号VARCHAR20NOT NULLForeign key references Goods(Gid)Lnumber提货数量INTNULL函数依赖有:Uid,Gid Lnumber可以看出非主属性Lnumber完全函数依赖于Uid,Gid,并且Lading表中没有传递函数依赖,即每一个非主属性既不局部依赖于码也不传递依赖于码,所以Lading属于3NF。表4.6 OutS出库信息表字段名字段含义字段类型长度小数是否为空列级约束Gid货物号VARCHAR20NOT NULLForeign key references Goods(Gid)Uid客户号VARCHAR20NOT NULLForeign key references Users(Uid)Gnumber货物数量INTNULLMODIFYDATE出货日期datatimeNULL表级约束Primarykey(Gid,Uid)函数依赖有:Gid,Uid Gnumber,MODIFYDATE非主属性Gnumber,MODIFYDATE完全函数依赖于(Gid,Uid),且不存在传递函数依赖,即属于3NF。表4.7 Repertory仓库库存信息表字段名字段含义字段类型长度小数是否为空列级约束Sid仓库号VARCHAR10NOT NULLForeign key references Storate(sid) Gid货物号VARCHAR20NOT NULLForeign key references Cargo(gid)Gnumber货物数量INTNULL表级约束Primarykey(Sid,Gid)函数依赖有:Sid,Gid)Gnumber可以看出非主属性Gnumber对Sid,Gid)是完全函数依赖,并且不存在传递依赖,即每一个非主属性既不局部依赖于码也不传递依赖于码,所以Repertory属于3NF。5. 数据库物理设计及实施5.1 创立数据库create database 企业仓库系统;5.2 创立表创立Users表:create table Users(Uid varchar(20) not null primary key,Upassword varchar(20) not null);创立Goods表:create table Goods(Gid varchar(20) not null primary key,Gname varchar(20)not null,Gprice int not null,Gmodel varchar(20)not null,Gsort varchar(20)not null);创立Storage表:create table Storage(Sid varchar(20) not null primary key, Sstocks int not null, Ssstock int not null);创立Lading表:create table Lading(Lid varchar(20) primary key,Uid varchar(20),Gid varchar(20),Lnumber int);创立Reterpory表:create table Reterpory(Sid varchar(20) not null,Gid varchar(20) not null,Gnumber int not null,primary key(Sid,Gid),foreign key(Sid) references Storage(Sid),foreign key(Gid) references Goods(Gid),);创立OutS表:create table OutS(Gid varchar(20),Uid varchar(20),Gnumber int,MODIFYDATE datetime,foreign key(Gid)references goods(Gid),foreign key(Uid)references users(Uid);向Users表中插入数据:insert into Users(Uid,Upassword)values('U1','aaa');insert into Users(Uid,Upassword)values('U2','bbb');insert into Users(Uid,Upassword)values('U3','ccc');insert into Users(Uid,Upassword)values('U4','ddd');insert into Users(Uid,Upassword)values('U5','eee');insert into Users(Uid,Upassword)values('U6','fff');insert into Users(Uid,Upassword)values('U7','ggg');insert into Users(Uid,Upassword)values('U8','hhh');insert into Users(Uid,Upassword)values('U9','jjj');insert into Users(Uid,Upassword)values('U10','kkk');select* from Users;向Goods表中插入数据:insert into Goods(Gid,Gname,Gprice,Gmodel,Gsort) values('G1','a',20,'A','一级');insert into Goods(Gid,Gname,Gprice,Gmodel,Gsort) values('G2','b',10,'B','二级');insert into Goods(Gid,Gname,Gprice,Gmodel,Gsort) values('G3','c',50,'C','一级');insert into Goods(Gid,Gname,Gprice,Gmodel,Gsort) values('G4','d',70,'D','三级');insert into Goods(Gid,Gname,Gprice,Gmodel,Gsort) values('G5','e',20,'E','二级');insert into Goods(Gid,Gname,Gprice,Gmodel,Gsort) values('G6','f',100,'F','一级');insert into Goods(Gid,Gname,Gprice,Gmodel,Gsort) values('G7','g',140,'G','三级');insert into Goods(Gid,Gname,Gprice,Gmodel,Gsort) values('G8','h',60,'H','一级');insert into Goods(Gid,Gname,Gprice,Gmodel,Gsort) values('G9','i',80,'I','二级');insert into Goods(Gid,Gname,Gprice,Gmodel,Gsort) values('G10','j',90,'J','一级');select* from Goods;向Reterpory表中插入数据:insert into Reterpory values('S1','G1',600);insert into Reterpory values('S2','G2',800);insert into Reterpory values('S3','G3',1000);insert into Reterpory values('S4','G4',900);insert into Reterpory values('S5','G6',800);insert into Reterpory values('S6','G7',700);insert into Reterpory values('S7','G8',600);insert into Reterpory values('S8','G5',950);insert into Reterpory values('S9','G10',500);insert into Reterpory values('S10','G9',1100);select* from Reterpory;6. 功能实现6.1 用户注册登录功能模块1.用户注册时,输出客户号和密码,如果客户号不存在那么注册成功,假设客户号已存在那么用户存在,不能注册。-用户注册存储过程create procedure insertUsers(uid varchar(20),upassword varchar(20),returnname varchar(20) output)asif exists(select Uid from Users where Uid=uid)beginset returnname='用户存在'endelsebegininsert into Users values(uid,upassword)set returnname='注册成功'endgo2.用户登录时,输出客户号和密码,与数据库中客户表匹配数据,如果客户号和密码都相同那么登录成功,否那么登录失败。-用户登录存储过程create procedure loginUsers(uid varchar(20),upassword varchar(20),returnname varchar(20) output)as if exists(select Uid,Upassword -判断登录信息是否正确 from Users where Uid=uid and Upassword=upassword)begin set returnname='登陆成功'endelsebeginset returnname='登录失败'endgo6.2 仓库提货功能模块1. 当客户提出提货请求时,产生一个提货单。运用insert语句将提货单信息插入到提货信息表Ladinginsert into Lading values('L1','U1','G1',500);insert into Lading values('L2','U3','G9',1000);insert into Lading values('L3','U8','G7',800);insert into Lading values('L4','U19','G11',600);2. 首先根据数据库客户信息表审核提货单中客户是否存在。通过建立一个视图Lading_Uid显示存在的客户及信息create view Lading_Uidasselect Users.Uid,Uname,Lading.Gid,Lading.Lnumberfrom Users,Ladingwhere Users.Uid=Lading.Uid;select* from Lading_Uid;3. 假设客户存在,然后根据数据库仓库库存信息审核客户所需货物数量是否充足。通过建立一个视图Lading_Gnumber显示货物数量充足的货物号及信息create view Lading_Gnumberasselect Lading_Uid.Uid,Uname,Lading_Uid.Gid,Lading_Uid.Lnumberfrom Lading_Uid,Reterporywhere Lading_Uid.Gid=Reterpory.Gid and Lading_Uid.Lnumber<=Reterpory.Gnumber;select* from Lading_Gnumber;4. 审核成功后进行货物出库登记,登记的内容有货物号、客户号、货物数量、日期。在OutS表中插入登记的此条出库记录。编写一个触发器Lading_outs,实现在提货单信息表Lading插入数据时,自动审核客户号和货物数量,审核完在OutS表中插入登记的此条出库记录create trigger Lading_outson Ladingafter insertasbegininsert into outS( Gid,Uid,Gnumber,MODIFYDATE)select Lading_Gnumber.Gid,Lading_Gnumber.Uid,Lading_Gnumber.Lnumber,getdate() as MODIFYDATEfrom Lading_Gnumber;delete from Lading;select* from OutS;end;7. 总结这次课程设计我们组完成了企业仓库管理系统的设计,我完成了其中的提货管理和用户登录模块,从需求分析到概念结构设计,再到逻辑结构设计,最后到数据库物理设计及实施,亲自参与整个数据库的设计过程。在建表之前,我们组一起讨论了要建几个表的问题,为了减少冗余,我们将提货单信息表和出库信息表分别建表。在建立功能过程中,对触发器和存储过程理解不深刻,通过看书和上网查询完善了触发器和存储过程。通过此次课程设计,掌握了表与视图的建立,也学会了触发器与存储过程的建立,提高了自己写代码的能力,深刻的体会了数据库的应用方法和设计理念,更加深刻的体会了数据库的实际应用,也对很多概念用法有了更进一步的理解。同时学会了遇到困难要有吃苦耐劳的精神,同时认识到了团队合作的重要性。参考文献1 萨师煊, 王珊. 数据库系统概论M.北京:高等教育出版社,2006.2 甘仞初. . 管理信息系统M.北京:机械工业出版社,2002.3 李昆,SQL SERVER2000课程设计案例精编,北京:中国水利水电出版社,20064 钱雪忠.数据库原理及应用M北京:邮电大学出版社,2007.5 仝春灵,数据库原理与应用SQL Server 2000,北京:电子工业出版社,20076 辛赫(Singh.S.K)、何玉洁等.数据库系统概念、设计及应用M北京:机械工业出版社,20167 周成兴.SQL与关系数据库理论M北京:清华大学出版社,2010

    注意事项

    本文(企业仓库管理系统数据库设计.doc)为本站会员(z****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开