销售系统实验报告.docx
《销售系统实验报告.docx》由会员分享,可在线阅读,更多相关《销售系统实验报告.docx(31页珍藏版)》请在冰豆网上搜索。
销售系统实验报告
安徽电子信息职业技术学院
《Oracle数据库》课程设计报告
系部:
软件学院
专业:
计算机信息管理
班级:
信管101
姓名:
胡俊杰刘义
指导教师:
陈俊生
二零一二年六月二十五日
目录
第一章需求分析3
1.需求分析设计思想3
2.编写目的4
3.项目背景4
4.名词说明5
5.功能要求5
6.功能描述6
7.待开发软件的功能6
8.数据安全性和完整性要求7
9.使用环境8
10.使用环境8
第二章概念结构设计8
1.分E-R图8
2.基本E-R图12
第三章逻辑结构设计13
第四章数据库的物理结构14
1.数据库文件14
1.创建初始化参数文件15
1.1数据结构及代码实现15
1.2功能代码实现18
2.视图结构26
3.正确性26
4.可靠性26
5.完整性26
6.易使用性26
7.可维护性27
8.可测试性27
9.安全保密性27
10.互联性27
第五章总结27
附录27
参考文献27
总结27
第一章需求分析
1.需求分析设计思想
需求分析简单地说就是分析用户的要求。
需求分析是设计数据库的起点,需求分析的结果准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
进销存管理的思想是:
从客户需要和供应情况出发来规划企业的生产经营活动,在大量的客户信息和供应商信息分析的基础上确定本企业最优的产品组合等问题。
在市场经济中,销售是企业运作的重要环节,为了更好地推动销售,不少企业建立了分公司或代理把产品推向最终用户。
这些分公司或代理商大都分布在全国各地,甚至是在国外,远距离频繁的业务信息交流构成了这些企业业务活动的主要特点。
在传统方式上,公司之间通常采用电传、电报、电话等方式传递订货、发货、到货、压货、换货、退货等信息,总公司的商务部门在接到分公司或代理商传来的订单和银行汇款单据传真后,开据产品出库通知,然后再把相关的进、销、存信息手工存档,再对这些信息进行统计分析,才能了解到整个公司的生产、销售和库存情况。
这种信息传递、管理方式不仅效率低,可靠性、安全性和保密性都无法满足要求,而且数据统计时间严重滞后,往往是当领导了解到企业的“进、销、存”出现问题时,就已经远离了问题出现的时间和地点。
即便是没有分公司的企业,使用传统的手工方式管理也存在同样的问题。
通过进销存管理系统,及时通过网络把决策信息传统到相关决策人,从而可以及时发现问题,解决问题,更好地把握机会。
进销存管理是一项非常繁琐复杂的工作,每天要处理大量的单据数据,包括入库、出库、退库、调库等多项货物操作流程。
为及时结清每笔业务和货物流动情况,保证企业生产用料以及货物安全,企业要花费大量人力物力和时间来做数据记录及统计工作。
因此,为提高库管工作的质量和效率,就必须根据特点与需要开发进销存管理信息系统。
通过调查、收集与分析,用户对数据库的要求主要有:
在本系统中,数据库主要存储的信息包括仓库管理员、业务员、仓库、供应商、客户与库存的基本信息。
主要完成的功能为:
当企业和新的供应商取得合作的时候,需要对供应商的信息进行入为管理,当供应商的信息发生变化时,需要对其进行修改或者删除。
当企业拥有新的顾客的时候,需要对顾客的信息进行管理,当顾客的信息发生变化时,需要对其进行修改或者删除。
当企业的仓库中新增了商品的时候,需要对商品的信息进行入库管理,当市场发生变化,商品的信息也需要同步修改。
当企业具有进销过程的时候,需要随时记录进销信息,以便随时掌握和了解企业的业务状况,了解企业的利润状况。
系统应该具有查询所有信息的功能。
进销存管理信息系统通过对客户关系、销售行动等环节的记录、管理与分析,使管理从经验走向科学,从企业的的进销存管理的主要需求出发,可以为企业建立弹性化和灵活性的业务流程。
2.编写目的
当今社会进销存管理系统对企业经营来说是不可缺少的一部分,它所包含的功能对于单位的决策者和管理者来说都至关重要,所以进销存管理系统对使用者来说起到了举足轻重的地位。
本进销存管理系统主要涵盖了进货、销售、仓库存货三方面。
目前许多企业在销售管理上存在许多问题。
本系统中的销售管理是通过对客户关系、销售行动等环节的记录、管理与分析,使销售管理从经验走向科学,从企业的销售管理的主要需求出发,从而为企业建立弹性化和灵活性的业务流程。
仓库存货管理是一项非常繁琐复杂的工作,它同时也贯穿了进货所涉及到的事宜,企业仓库中每天要处理大量的单据数据,包括入库、出库、等多项货物操作流程。
为及时结清每笔业务和商品流动情况,为保证企业的正常经营,企业要花费大量人力物力和时间来做数据记录及统计工作。
通过本系统可以及时的对仓库中商品的流动情况进行管理、并且由仓管员具体负责一切事宜。
本系统是经过市场调查,并针对用户的需求,从而进行设计的,本实验预期的读者为软件管理人员,开发人员,维护人员。
3.项目背景
项目名称:
库存管理系统
开发者:
库存管理系统开发小组
预期用户:
管理人员
参照系统:
以前的库存管理系统
4.名词说明
库存管理系统:
库存管理系统是销售管理软件的通俗化名称,库存管理系统是管理客户档案、销售线索、销售活动、业务报告、统计销售业绩的先进工具,适合企业销售部门办公和管理使用,协助销售经理和销售人员快速管理客户、销售和业务的重要数据。
5.功能要求
要提高市场竞争力,既要有好的产品质量,同时也要有好的客户服务。
企业要作到能及时响应客户的产品需求,根据需求迅速生产,按时交货,就必须有一个好的计划,使得市场销售和生产制造2个环节能够很好地协调配合。
进销存管理系统是商业企业经营管理中的核心环节,也是一个企业能否取得效益的关键。
如果能做到合理生产、及时销售、库存量最小,减少积压,那么企业就能取得最佳的效益。
由此可见,进销存管理决策的正确与否直接影响了企业的经济效益。
本系统尽量采用公司现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用公司现有资源,提高系统开发水平和应用效果的目的。
本系统的开发主要是为了实现企业进销存管理的系统化、规范化和自动化。
这是在用户要求的基础上提出来的。
“采购管理”模块,该功能模块是企业经营过程中,如果库存中商品存货数量供应不足,则当班仓管员要根据所缺商品的类别向对应的供应商发出进货请求。
“销售管理”模块,功能模块是企业商品向外销售过程中所要进行的一系列工作。
“库存管理”模块,该功能模块是企业对仓库中各类商品的盘点、报损报溢以及各类商品的库存量盘点等等。
“系统管理”模块,该功能模块是对进销存管理系统的一系列参数、权限、在系统发生故障时对系统中数据的备份、恢复以及记录日志文件等。
进销存管理系统是介于用户和企业管理之间的一个系统,其功能模块如图1.1所示:
图1.1系统功能模块图
6.功能描述
1.输入功能
客户输入要进入的系统(如销售计价系统),通过用户名和密码认证,进入相应系统,执行相关操作。
2.输出功能
根据客户输入进入相应系统,对相关操作执行后输出结果。
3.查询功能
能根据用户需要查询相关信息,并以列表的形式呈现出来。
4.更新功能
在用户有网络介入的情况下,不需用户动手,能进行自动更新信息与功能,带给用户最为直观,最清晰,最新的动态信息与资料,并实现更多功能。
5.生成报表功能
能根据需要,自动生成报表,可选形式为:
销售情况报表,仓库备货表表,管理报表等。
6.身份验证功能
为确保信息安全性,对登入的用户尽心个身份验证,只有通过者才能进入相应系统。
7.待开发软件的功能
本软件旨在为销售人员与管理人员提供一个更好更稳定,功能齐全,使用方便的的系统软件,以代替传统软件,本产品具有其他产品不具备的诸多有点,有广阔的市场前景。
商品仓库管理:
记录进、出货物的种类数量以及库存数量。
商品销售管理:
能拥有商品的销售、计费操作。
客户服务需求受理管理:
接受客户的意见与建议及记录所需服务客户的资料。
商品报价管理:
能及时公布各种商品的最新价格动态。
如图所示:
8.数据安全性和完整性要求
(1)安全性要求
本数据库有四类人员使用,包括仓库管理员、销售管理员、普通管理员、系统管理员。
系统管理员是数据库系统的主要管理者,对数据库的所有数据应有访问和修改的权力。
负责进货、商品录入、商品更新以及退货、销售商品。
普通管理员也是数据库系统的管理者,对数据库的部分数据有访问和修改的权力。
对商品的查看及销售要求进行操作,同时形成进货或退货报表给主管人员查看确认。
销售管理员是销售商品时对商品进行统计管理,不需要登陆即可进入系统,
可以对其销售的产品进行管理与修改。
(2)完整性要求
库存数与销售商品的数目应及时核对;
退货时间不得超过7天;
商品在出售记录中、商品不得有损坏、退货不得超期;
购买与退货时,商品要经管理员确认;
9.使用环境
(1)硬件环境
建议使用windows2000/xp/7以上的pc机,内存需在16兆以上。
(2)软件环境
中文:
windows2000/xp/7
英文:
windows2000/xp/7
第二章概念结构设计
1.分E-R图
(1)库存与进货的分E-R图
(2)库存与销售的分E-R图
(3)退货与销售的分E-R图
(4)库存与退货的分E-R图
2.基本E-R图
第三章逻辑结构设计
关系模型的逻辑结构是一组关系模式的集合。
E-R图则是由实体,实体的属性和实体间的联系三个要素组成。
所以将E-R图转换为关系模型实际上就是要将实体,实体的属性和实体间的联系转换为关系模式。
转换原则如下:
1.实体类型的转换:
将每个实体类型转换成一个关系模式,实体的属性就是关系模式的属性,实体的码就是关系的码。
2.联系类型的转换,根据不同的情况做不同的处理。
(1)若实体间的联系是1:
1的,可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)若实体间的联系1:
N的,可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为N端实体的码。
如果与N端对应的关系模式合并,则将一方的码传到多方去做为多方的一个非主属性。
(3)若实体间的联系是M:
N的,可转换为一个独立的关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
(4)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
3.依照该规则将进销存管理系统的E-R图转换为关系模型如下:
(1)将每一个实体转换成一个关系模式(实体的属性就是关系的属性,实体的码就是关系的码)。
商品(商品单号,商品名称,商品规格,商品类别,商品产地,进货价,稍售
价,最低售价),主码为商品单号。
仓管员(仓管员编号,仓管员名称,仓管员电话,仓管员地址),主码为仓管员编号。
2)实体间的联系转化为以下几种:
管理(仓管员编号,仓库编号,开始时间,终止时间)
在此关系中主码为仓管员编号和仓库编号,因为在此关系中仓库与仓管员之间是多对多的联系,因此将仓管员编号和仓库编号联合作为管理联系的主码,管理联系本身的属性作为关系的属性。
库存表,产品代码,进货量,,产品名称)
进货表(进货单号,产品代码,进货量,进货时间,产品名称)
销售表(销售单号,产品代码,产品名称,订货数量,销售日期)
在此关系中主码为销售单号、产品代码,因为在此关系中商品、客户与业务员之间是多对多的多元联系,因此将销售单号、销售代码联合作为销售联系的主码,销售联系本身的属性作为关系的属性。
销售表(退货单号,产品代码,产品名称,订货数量,退货日期)
注:
由E-R图可知,进销存管理系统有六个实体和四个联系)
第四章数据库的物理结构
1.数据库文件
这里选择ORACLE操作应用软件作为数据库平台,根据根据各个关系的数据量进行估算,设计数据库的定义如下表所示;
文件
文件名称
初始大小
增长大小
最大文件大小
数据库
Xsgl_data.mdf
500
10
不受限制
日志
Xsgl_log.ldf
400
5
不受限制
实验系统平台:
WindowsServer2000 数据库系统版本:
OracleDatabase10G
Oracle的安装路径:
D盘 创建的数据库名称:
xsgl
1、打开命令行工具,创建必要有相关目录
C:
\>mkdirD:
\oracle\product\10.1.0\admin\xsgl
C:
\>mkdirD:
\oracle\product\10.1.0\admin\xsgl\bdump
C:
\>mkdirD:
\oracle\product\10.1.0\admin\xsgl\udump
C:
\>mkdirD:
\oracle\product\10.1.0\admin\xsgl\cdump
C:
\>mkdirD:
\oracle\product\10.1.0\admin\xsgl\pfile
C:
\>mkdirD:
\oracle\product\10.1.0\admin\xsgl\create
C:
\>mkdirD:
\oracle\product\10.1.0\oradata\xsgl
上面创建目录的过程也可以在Windows的图形界面中去创建。
其中D:
\oracle\product\10.1.0\admin\xsgl目录下的几个子目录主要用于存放数据库运行过程中的跟踪信息。
最重要的两上子目录是bdump和udump目录,bdump目录存放的是数据库动行过程中的各个后台进程的跟踪信息,当中alert文件是警告文件,其文件名称为alert_xsgl.log,当数据库出现问题时,首先就可以去查看此文件以找出原因,手工创建过程中出现的各种问题往往也可以通过查看这个文件找到原因。
Udump目录存放和特定会话相关的跟踪信息。
D:
\oracle\product\10.1.0\oradata\xsgl目录存放各种数据库文件,包括控制文件、数据文件、重做日志文件。
1.创建初始化参数文件
1.1数据结构及代码实现
1、Stock(库存表):
记录当前库存的产品数量信息,便于查看当前库存的情况,及时组织货源。
表名
Stock
实体名称
库存表
主键
Icode
外键、关系
索引表名称
PK_Stock
索引字段名称
Icode
中文表名
库存表
估计数据量(MB/月)
序号
项目名称
项目说明
类型
位数
属性
备注
1
Icode
产品代码
文本
20
P、N
2
Idescrip
产品名称
文本
50
允许空
3
Pqty
数量
数字
4
允许空
Createtablestock
(icodechar(20)notnullprimarykey,
Idescripchar(50)null,
Pqtynumber(4)null);
2、Input(进货表):
录入进货单信息,向仓库入库提供单据依据,同时可以进行查询和统计进库的产品情况。
表名
Input
实体名称
进货表
主键
IID、Icode
外键、关系
索引表名称
PK_Input
索引字段名称
IID、Icode
中文表名
进货表
估计数据量(MB/月)
序号
项目名称
项目说明
类型
位数
属性
备注
1
IID
进货单号
文本
20
P、N
2
Icode
产品代码
文本
20
P、N
3
Idescrip
产品名称
文本
50
允许空
4
Pqty
数量
数字
4
允许空
6
IDate
进货日期
日期
8
允许空
Createtableinput
(iidchar(20)notnull,primarykey(iid,icode),
Icodechar(20)notnull,
Idescripchar(50)null,
Patynumber(4)null,
Idatedatenull
);
1Createtableinput
2(iidchar(20)notnullprimarykey,
3Icodechar(20)notnull,
4Idescripchar(50)null,
5Patynumbernull,
6Idatedatenull
7*)
SQL>/
表已创建。
Altertableinput
Add(constraint“pk_input”primarykey(iid,icode));
1Createtableinput
2(iidchar(20)notnull,primarykey(iid,icode),
3icodechar(20)notnull,
4idescripchar(50)null,
5patynumber(4)null,
6idatedatenull
7*)
SQL>/
3、Sales(销售表):
录入销售单信息,向客户提供送货及收款依据,同时可以进行查询和统计出库的产品情况。
表名
Sales
实体名称
出货表
主键
SID、Icode
索引表名称
PK_Sales
索引字段名称
SID、Icode
中文表名
出货表
估计数据量(MB/月)
序号
项目名称
项目说明
类型
位数
属性
备注
1
SID
销售单号
文本
20
P、N
2
Icode
产品代码
文本
20
P、N
3
Idescrip
产品名称
文本
50
允许空
4
Pqty
数量
数字
4
允许空
5
SDate
销售日期
日期
8
允许空
Createtablesales
(sidchar(20)notnull,primarykey(sid,icode),
Icodechar(20)notnull,
Idescripchar(50)null,
Patynumber(4)null,
Idatedatenull
);
1Createtablesales
2(sidchar(20)notnull,primarykey(sid,icode),
3Icodechar(20)notnull,
4Idescripchar(50)null,
5Patynumber(4)null,
6sdatedatenull
7*)
SQL>/
表已创建。
4、Returns(退货表):
录入客户退货信息,同时处理当前库存的存货数量。
表名
Returns
实体名称
出货单表
主键
RID、Icode
索引表名称
PK_Returns
索引字段名称
RID、Icode
中文表名
退货表
估计数据量(MB/月)
序号
项目名称
项目说明
类型
位数
属性
备注
1
RID
退货单号
文本
20
P、N
2
Icode
产品代码
文本
20
P、N
3
Idescrip
产品名称
文本
50
允许空
4
Pqty
数量
数字
4
允许空
5
RDate
退货日期
日期
8
允许空
Createtablereturns
(ridchar(20)notnull,primarykey(rid,icode),
Icodechar(20)notnull,
Idescripchar(50)null,
Patynumber(4)null,
rdatedatenull
);
SQL>Createtablereturns
2(ridchar(20)notnull,primarykey(rid,icode),
3Icodechar(20)notnull,
4Idescripchar(50)null,
5Patynumber(4)null,
6rdatedatenull
7);
表已创建。
仓管员信息结构
数据项名
说明
类型
宽度
小数
逻辑关系
仓管员编号
Admin_no
Char
8
主键,决定仓管员信息的其它数据项
仓管员姓名
Admin_name
Char
8
依赖于仓管员编号
仓管员电话
Admin_phone
Char
11
依赖于仓管员编号
仓管员地址
Admin_address
Char
20
依赖于仓管员编号
1.2功能代码实现
1、在数据库中创建一个用户,用户名为:
班级号_Test_座位号,如班级为E20,则用户名分别为E20_Test_01……E20_Test_30,密码为oracle,并给予该用户帐号适当的权限。
(5.sql)
SQL>conn/assysdba
已连接。
(1)创建xg102_test_01用户为管理员
①创建用户
createuserxg102_test_01
identifiedbyoracle
profiledefault;
②授权
grantconnecttoxg102_test_01;
grantresourcetoxg102_test_01;
grantcreateanytabletoxg102_test_01;
grantcreateanyindextoxg102_test_01;
grantalteranyindextoxg102_test_01;
grantalteranytabletoxg102_test_01;
grantdropanytabletoxg102_test_01;
grantcreatetablespacetoxg102_test_01;
grantaltertablespacetoxg102_t