物资采购系统数据库课程设计报告书.docx
《物资采购系统数据库课程设计报告书.docx》由会员分享,可在线阅读,更多相关《物资采购系统数据库课程设计报告书.docx(38页珍藏版)》请在冰豆网上搜索。
物资采购系统数据库课程设计报告书
物资采购信息系统
数据库设计
班级
学号
指导教师贯勋
时间:
2011年01月10日至2011年01月14日
指导教师对课程设计(论文)的评语(工作态度、任务完成情况、能力水平、设计说明书(论文)的撰写和图纸质量等):
成绩
指导教师签字年月日
1、开发背景
采购是公司生产产品及维护正常运作而必须消耗的物品及必须配置的设施之购入活动的总称,是公司成本控制的重点。
无论是公司管理者还是财务部门,对采购工作存在的风险都有着非常强的敏感,这不仅因为采购是直接影响生产成本的主要因素,而且有着很高的人为欺诈的可能。
在日趋完善的现代经营管理模式中,公司管理当局越来越注重财务管理和财务运作的有效性。
随着我国社会主义市场经济体制的确立和发展,商业流通领域进入了一个空前的发展阶段,面临商界的激烈竞争,只有在多变的商品和顾客中挖掘并掌握市场需求,即淘汰“卖不出去的商品”,购进“卖得快、利润高的商品”的经营者才会获利,企业也才能在竞争中生存和发展。
要提高市场的竞争力,既要有好的产品质量,同时也要有好的客户服务,企业要做到能及时响应客户的产品需求,根据需求迅速生产,按时交货,就必须要有一个好的计划,使得市场销售和生产制造两个环节能够很好地协调配合。
企业物资管理系统是商业企业经营管理中的核心环节,也是一个企业能否取得效益的关键。
如果能做到合理购进,及时销售,库存量最少,减少积压,那么企业就能取得最佳的效益。
由此可见,企业进销存管理决策的正确与否直接影响了一个企业的经济效益。
在手工管理情况下,销售人员很难对客户做出正确的供货承诺,同时企业的采购部门也缺少一份准确的采购计划,目前的库存状况和市场需求很难正确反映到采购中去,部门之间的通讯也经常不畅通,如果能够选择一个好的管理系统,把大量繁杂的、看似毫无关系的数据,有机的结合起来,形象的反映出市场的供求关系,就能够为得出正确的决策做出事半功倍的效果。
企业物资采购管理系统是现代仓储企业进行货物管理和处理业务的操作系统。
它可以可实现制造企业、物流企业、连锁业在全国围、异地多点仓库的管理;它可以对货物存储和出货等进行动态安排,可以对仓储作业流程的全过程进行电子化操作。
合理的采购管理系统具有很重要的意义:
(1)材料采购成本在企业经营中占很大的比重,且在很多行业有上升趋势。
(2)降低原材料成本是增加利润的基本途径。
建立和实施制度化的采购管理程序,这是采购管理工作有效进行的根本保证。
2、功能描述
经过调研及分析,物资采购管理信息系统主要完成以下功能:
(1)用户信息查询:
主要完成用户的、代号、、地址等操作及对用户的所有信息进行查询,以及对用户信息的添加、删除、和修改等操作。
(2)物资采购记录及财务记录维护:
主要是完成对要采购物资信息的添加、修改和删除等操作,以及物资采购信息的保存和维护等。
(3)供应商信息的查询:
主要完成供应商的所有信息的查询,以及对供应商信息的添加、删除和修改等操作。
3、业务流程分析
4、数据流程分析
4.1、数据流程图
通过需求分析,得出物资采购管理系统数据流程如图所示
4.2、数据字典
(根据编号对数据流程图中的各元素如数据流、数据存储、外部实体和处理逻辑进行细节描述)
(1)数据流的描述
数据流编号:
F1
数据流名称:
创建订单请求
数据流来源:
采购员
数据流去向:
创建订单
数据流组成:
用户名,密码,商品代码,商品数量,到货限期
数据流编号:
F2
数据流名称:
删除订单请求
数据流来源:
采购员
数据流去向:
删除订单
数据流组成:
订单号
数据流编号:
F3
数据流名称:
查询订单请求
数据流来源:
采购员
数据流去向:
查询订单
数据流组成:
订单号
数据流编号:
F4
数据流名称:
添加商品
数据流来源:
用户文件
数据流去向:
创建订单
数据流组成:
用户名,密码
数据流编号:
F5
数据流名称:
商品资料
数据流来源:
供应商
数据流去向:
创建订单
数据流组成:
商品代码,商品名称,商品单位
数据流编号:
F6
数据流名称:
供应商资料
数据流来源:
供应商文件
数据流去向:
创建订单
数据流组成:
供应商代码,供应商名称,地址
数据流编号:
F7
数据流名称:
物料清单
数据流来源:
物料清单表
数据流去向:
创建订单
数据流组成:
物料代码,物料名称,物料单位
数据流编号:
F8
数据流名称:
物料总单
数据流来源:
物料清单表
数据流去向:
创建订单
数据流组成:
物料代码,物料名称,物料单位
数据流编号:
F9
数据流名称:
初始订单
数据流来源:
创建订单
数据流去向:
订单文件
数据流组成:
订单号,物料名称,物料单位,物料数量,制单日期,到货限期,单价总额,供应商,制单人
数据流编号:
F10
数据流名称:
删除单
数据流来源:
删除文件
数据流去向:
订单文件
数据流组成:
订单号
数据流编号:
F11
数据流名称:
查询单
数据流来源:
订单文件
数据流去向:
查询订单
数据流组成:
订单号,物料名称,物料单位,物料数量,制单日期,到货限期,单价总额,供应商,制单人,审核人
数据流编号:
F12
数据流名称:
审核订单请求
数据流来源:
财务部
数据流去向:
审核订单
数据流组成:
订单号
数据流编号:
F13
数据流名称:
待审核订单
数据流来源:
订单文件
数据流去向:
审核订单
数据流组成:
订单号,物料名称,物料单位,物料数量,制单日期,到货限期,单价总额,供应商,制单人
数据流编号:
F14
数据流名称:
已审核订单
数据流来源:
审核订单
数据流去向:
订单文件
数据流组成:
审核人,审核结果
数据流编号:
F15
数据流名称:
发送订单请求
数据流来源:
采购员
数据流去向:
发送订单
数据流组成:
订单号
数据流编号:
F16
数据流名称:
待发送订单
数据流来源:
订单文件
数据流去向:
发送订单
数据流组成:
订单号,物料名称,物料单位,物料数量,制单日期,到货限期,单价总额,供应商,制单人审核人
数据流编号:
F17
数据流名称:
发送回馈
数据流来源:
发送订单
数据流去向:
订单文件
数据流组成:
已发送信息
数据流编号:
F18
数据流名称:
订单
数据流来源:
发送订单
数据流去向:
供应商
数据流组成:
订单号,物料名称,物料单位,物料数量,制单日期,到货限期,单价总额,供应商,制单人,审核人
数据流编号:
F19
数据流名称:
确认到货请求
数据流来源:
采购员
数据流去向:
确认到货
数据流组成:
订单号
数据流编号:
F20
数据流名称:
已到货信息
数据流来源:
确认到货
数据流去向:
订单文件
数据流组成:
已到货信息
数据流编号:
F21
数据流名称:
删除的订单
数据流来源:
删除订单
数据流去向:
用户文件
数据流组成:
订单号,物料名称,物料单位,物料数量,制单日期,到货限期,单价总额,供应商,制单人,审核人
数据流编号:
F22
数据流名称:
删除的订单
(1)
数据流来源:
用户文件
数据流去向:
删除文件
数据流组成:
订单号,物料名称,物料单位,物料数量,制单日期,到货限期,单价总额,供应商,制单人,审核人
数据流编号:
F26
数据流名称:
商品资料
(1)
数据流来源:
采购员
数据流去向:
添加商品
数据流组成:
商品代码,商品名称,商品单位
数据流编号:
F27
数据流名称:
商品资料
(2)
数据流来源:
添加商品
数据流去向:
添加物料
数据流组成:
商品代码,商品名称,商品单位
数据流编号:
F36
数据流名称:
新添物料
数据流来源:
采购员
数据流去向:
添加物料
数据流组成:
商品代码
数据流编号:
F37
数据流名称:
物料总单
(1)
数据流来源:
添加物料
数据流去向:
物料清单表
数据流组成:
物料代码,物料名称,物料单位
数据流编号:
F38
数据流名称:
缺少物料提示
数据流来源:
添加物料
数据流去向:
采购员
数据流组成:
新添物料代码,新添物料名称,新添物料单位
数据流编号:
F46
数据流名称:
添加用户请求
数据流来源:
采购员
数据流去向:
添加用户
数据流组成:
用户名,密码
数据流编号:
F47
数据流名称:
删除用户请求
数据流来源:
用户需求
数据流去向:
删除用户
数据流组成:
用户名,密码
数据流编号:
F48
数据流名称:
修改用户请求
数据流来源:
用户请求
数据流去向:
修改用户
数据流组成:
用户名,密码
数据流编号:
F49
数据流名称:
添加用户单
数据流来源:
添加用户
数据流去向:
用户文件
数据流组成:
用户名,密码
数据流编号:
F50
数据流名称:
删除用户单
数据流来源:
删除用户
数据流去向:
用户文件
数据流组成:
用户名,密码
数据流编号:
F51
数据流名称:
修改用户单
数据流来源:
修改用户
数据流去向:
用户文件
数据流组成:
用户名,密码
数据流编号:
F56
数据流名称:
添加供应商请求
数据流来源:
采购员
数据流去向:
添加供应商
数据流组成:
供应商代码,供应商名称,地址
数据流编号:
F57
数据流名称:
修改供应商请求
数据流来源:
采购员
数据流去向:
修改供应商
数据流组成:
供应商代码
数据流编号:
F58
数据流名称:
添加供应商请求
数据流来源:
采购员
数据流去向:
添加供应商
数据流组成:
供应商代码
数据流编号:
F59
数据流名称:
添加供应商单
数据流来源:
添加供应商
数据流去向:
供应商文件
数据流组成:
供应商代码,供应商名称,地址
数据流编号:
F60
数据流名称:
删除供应商单
数据流来源:
删除供应商
数据流去向:
供应商文件
数据流组成:
供应商代码
数据流编号:
F61
数据流名称:
修改供应商单
数据流来源:
修改供应商
数据流去向:
供应商文件
数据流组成:
供应商代码
(2)处理逻辑的描述
处理逻辑编号:
P1
处理逻辑名称:
创建订单
输入的数据流:
用户需求,用户信息,商品信息,供应商信息,物料信息
输出的数据流:
订单信息表
处理逻辑编号:
P2
处理逻辑名称:
删除订单
输入的数据流:
订单号,订单审核表
输出的数据流:
订单号,订单审核表
处理逻辑编号:
P3
处理逻辑名称:
查询订单
输入的数据流:
订单号,订单审核表
输出的数据流:
无
处理逻辑编号:
P4
处理逻辑名称:
添加商品
输入的数据流:
商品信息表
输出的数据流:
物料信息表,新添物料信息表
处理逻辑编号:
P5
处理逻辑名称:
添加物料
输入的数据流:
物料信息表
输出的数据流:
物料信息表,新添物流信息表
处理逻辑编号:
P6
处理逻辑名称:
审核订单
输入的数据流:
订单号,订单信息
输出的数据流:
订单信息表
处理逻辑编号:
P7
处理逻辑名称:
发送订单
输入的数据流:
订单号,订单审核表
输出的数据流:
已发送信息
处理逻辑编号:
P8
处理逻辑名称:
确认到货
输入的数据流:
订单号
输出的数据流:
订单审核表
处理逻辑编号:
P9
处理逻辑名称:
添加用户
输入的数据流:
用户信息
输出的数据流:
用户信息表
处理逻辑编号:
P10
处理逻辑名称:
删除用户
输入的数据流:
用户信息
输出的数据流:
用户信息表
处理逻辑编号:
P11
处理逻辑名称:
修改用户
输入的数据流:
用户信息
输出的数据流:
用户信息表
处理逻辑编号:
P12
处理逻辑名称:
添加供应商
输入的数据流:
供应商信息
输出的数据流:
供应商信息表
处理逻辑编号:
P13
处理逻辑名称:
删除供应商
输入的数据流:
供应商代码
输出的数据流:
供应商信息表
处理逻辑编号:
P14
处理逻辑名称:
修改供应商
输入的数据流:
供应商代码
输出的数据流:
供应商信息表
(4)数据存储定义
编号:
D1
名称:
订单文件
输入的数据流:
订单信息表,订单号,审核
关键字:
订单号
组成:
订单号,订单信息表
编号:
D2
名称:
商品文件
输入的数据流:
商品信息表
关键字:
商品代码
组成:
商品信息表
编号:
D3
名称:
供应商文件
输入的数据流:
供应商信息表,供应商代码
关键字:
供应商代码
组成:
供应商信息表
编号:
D5
名称:
物料清单表
输入的数据流:
物料信息表
关键字:
物料代码
组成:
物料代码,物料名称
编号:
D6
名称:
用户文件
输入的数据流:
用户信息表,用户代码
关键字:
用户代码
组成:
用户代码,用户名,密码
编号:
D7
名称:
已删除文件
输入的数据流:
订单审核表
关键字:
订单号
组成:
订单审核信息表
5、概念模型设计
根据系统数据流图和数据字典,得出系统的总体概念模型CDM
系统CDM图
6.逻辑模型设计和优化
7.物理设计和实施
/*==============================================================*/
/*DBMSname:
MicrosoftSQLServer2000*/
/*Createdon:
2011-1-1311:
57:
05*/
/*==============================================================*/
altertablecomposition
dropconstraintFK_COMPOSIT_COMPOSITI_MATERIAL
go
altertablecomposition
dropconstraintFK_COMPOSIT_COMPOSITI_GOODS
go
altertable"order"
dropconstraintFK_ORDER_RELATIONS_USER
go
altertable"order"
dropconstraintFK_ORDER_CONTENT_MATERIAL
go
altertable"order"
dropconstraintFK_ORDER_DESTINATI_COMPANY
go
altertable"order"
dropconstraintFK_ORDER_GENERATE_PURCHASI
go
altertablepurchasing
dropconstraintFK_PURCHASI_STOCKOUT2_WAREHOUS
go
altertablesupply
dropconstraintFK_SUPPLY_SUPPLY_MATERIAL
go
altertablesupply
dropconstraintFK_SUPPLY_SUPPLY2_COMPANY
go
altertable"user"
dropconstraintFK_USER_MANAGMENT_PURCHASI
go
altertablewarehouse
dropconstraintFK_WAREHOUS_STOCKOUT_PURCHASI
go
ifexists(select1
fromsysindexes
whereid=object_id('composition')
andname='composition2_FK'
andindid>0
andindid<255)
dropindexposition2_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('composition')
andname='composition_FK'
andindid>0
andindid<255)
dropindexposition_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('"order"')
andname='Relationship_1_FK'
andindid>0
andindid<255)
dropindex"order".Relationship_1_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('"order"')
andname='content_FK'
andindid>0
andindid<255)
dropindex"order".content_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('"order"')
andname='destination_FK'
andindid>0
andindid<255)
dropindex"order".destination_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('"order"')
andname='generate_FK'
andindid>0
andindid<255)
dropindex"order".generate_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('purchasing')
andname='stockout2_FK'
andindid>0
andindid<255)
dropindexpurchasing.stockout2_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('supply')
andname='supply2_FK'
andindid>0
andindid<255)
dropindexsupply.supply2_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('supply')
andname='supply_FK'
andindid>0
andindid<255)
dropindexsupply.supply_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('"user"')
andname='managment_FK'
andindid>0
andindid<255)
dropindex"user".managment_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('warehouse')
andname='stockout_FK'
andindid>0
andindid<255)
dropindexwarehouse.stockout_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('company')
andtype='U')
droptablecompany
go
ifexists(select1
fromsysobjects
whereid=object_id('composition')
andtype='U')
droptablecomposition
go
ifexists(select1
fromsysobjects
whereid=object_id('goods')
andtype='U')
droptablegoods
go
ifexists(select1
fromsysobjects
whereid=object_id('material')
andtype='U')
droptablematerial
go
ifexists(select1
fromsysobjects
whereid=object_id('"order"')
andtype='U')
droptable"order"
go
ifexists(select1
fromsysobjects
whereid=object_id('purchasing')
andtype='U')
droptablepurchasing
go
ifexists(select1
fromsysobjects
whereid=object_id('supply')
andtype='U')
droptablesupply
go
ifexists(select1
fromsysobjects
whereid=object_id('"user"')
andtype='U')
droptable"user"
go
ifexists(select1
fromsysobjects
whereid=object_id('warehouse')
andtype='U')
droptablewarehouse
go
/*==============================================================*/
/*Table:
company*/
/*==============================================================*/
createtablecompany(
company_id1textnotnull,
company_nametextnull,
company_addresstextnull,
constraintPK_COMPANYprimarykeynonclustered(company_id1)
)
go
/*==========================