商品销售管理数据库系统设计.docx
《商品销售管理数据库系统设计.docx》由会员分享,可在线阅读,更多相关《商品销售管理数据库系统设计.docx(28页珍藏版)》请在冰豆网上搜索。
商品销售管理数据库系统设计
评分标准
分值
得分
完成数据库系统设计工作任务
20 分
论文文章结构安排合理,写作规范,引注正确。
10 分
论文逻辑条理清晰,论证有力。
理论阐述全面,能够联系实际分析问
题,解决问题。
10 分
需求分析:
问题陈述清楚、需完成的功能描写准确,ER 模型图正确。
20 分
数据库逻辑设计:
把 ER 模型图转换为关系表。
描述每一个基本表关
系。
要求所有关系达到 BCNF 范式。
定义视图、索引、主关键字、权
20 分
限。
数据库物理设计:
定义数据物理文件及管理。
10 分
开发与编码:
编写程序、调试并进行测试。
10 分
成绩
广 东 商 学 院 答 题 纸(格式二)
课程 数据库系统设计 2012 -2013 学年第 1学期
成绩 评阅人
请选取数据库系统设计课程设计相关主题,在某个 RDBMS 软件基础上利用合适的应用系统开发工
具为某个部门或者单位开发一个数据库系统。
要求给出数据库设计概念设计、逻辑设计、物理设计、
开发与编码、测试各个阶段的详细设计:
写出系统的主要功能和使用说明;提交运行的系统。
完成的
主要功能包括录入、修改、查询、输出的信息管理功能。
基本要求:
(1)完成问题陈述中所提到
的所有需求功能;
(2)要求撰写不少于 3000 个文字的文档;(3)文档中至少要包括:
ER 模型
图、系统功能图、数据字典、表关系的详细说明。
(4)用户手册,描述软件系统所具有的功能及
基本的使用方法。
文档格式参考毕业论文要求,章节包括:
(1)概述:
包括项目背景、编写目的、
软件定义、开发环境等内容。
(2)需求分析:
问题陈述、需完成的功能,画出 ER 模型图;
(3)数据库逻辑设计:
把 ER 模型图转换为关系表。
描述每一个基本表关系。
要求所有关系达到
BCNF 范式。
定义视图、定义索引、主关键字、定义权限。
(4)数据库物理设计:
定义数据物理
文件及管理。
(5)开发与编码:
编写程序、调试并进行测试。
(6)结束语:
写出完成本课程设
计的心得,领会数据库理论与软件开发实践的关系。
有哪些收获。
软件还需要哪些改进。
(7)参
考文献。
严禁剽窃、抄袭等作弊行为!
全文抄袭,或未按时交卷,或与课程内容毫不相关按不及格处理。
(题目)商品销售管理数据库系统设计
(正文)
1
内容摘要
数据库是数据管理的最新技术,是计算机科学的重要分支也是计算机科学技术中应用最为广泛
的技术之一。
随着现代化科技的发展,设备和管理的现代化,在实际工作中如何提高工作效率成
为一个十分重要的课题。
今天,信息资源已经成为各个部门的重要财富和资源。
建立一个满足各
级部门信息处理要求的行之有效的信息系统也成为一个企业或组织生存和发展的重要条件。
1 概述
1.1 项目背景
销售管理是为了实现各种组织目标,创造、建立和保持与目标市场之间的有益交换和联系而
设计的方案的分析、计划、执行和控制。
通过计划、执行及控制企业的销售活动,以达到企业的
销售目标。
现代企业都很重视销售管理,其根本目的是提高销售额,增加企业盈利。
通过数据库
系统设计可以有效地帮助企业达到利益的最大化。
1.2 编写目的
帮助企业对销售信息进行快速、准确的录入、查询、修改等。
面对各种不同的信息,利用合理的
数据库结构来保存保存数据信息。
做到企业信息查询便捷,信息准确。
极大地提高商品信息管理
的效率,也是企业的科学化,正规化管理及与世界接轨的重要条件。
1.3 软件定义
1. Microsoft Windows 7 旗舰版 2. Microsoft Office Visio 2007
3. Microsoft Office Word 2007 4. Sybase PowerDesigner 15
1.4 开发环境
操作系统:
Microsoft Windows 7
硬件组成:
处理器:
英特尔奔 43.0GHZ芯片组:
威盛 CN700/VN800/P4M800CE/Pro内存:
512DIMM1:
syncMAX533MHZ512MB主硬盘:
三星 SP0842N(80G)
显卡:
威盛 S3 Graphics UnichromePro(64MB)
2 需求分析
2.1 问题陈述
本商品销售管理系统中首先要确定在处理销售过程中需要设计的部门。
1、当顾客产生需求下单,销售部门接收到订单,进行订单的处理;
2、销售部门接收订单并进行处理后,开出销售小票,并记录在账本中,以便以后查阅;
3、确定订单后,财务部门进行财务处理,记录账本,做好财务记录;
4、订单确认,发送发货通知,仓务部发货,并记录在案。
而本系统系统的组织主要有 3 个部门:
销售部门:
主要是对订单进行分析审核开出相应的票据,对企业的销售情况进行记录;
财务部门:
主要对资金流动方面进行操作和开发票确认资金流向,对企业的资金发展起指导作用;
仓库部门:
主要对货物仓库的账本进行调整和对货物的出进仓进行管理。
组织结构图如图 1:
2
图 1 商品销售管理系统的组织结构图
2.2 功能描述
客户产生需求,生成订单。
销售部门对订单进行审核,合格订单则继续工作流程,若是不合格订
单则退会给客户。
确定合格订单后,并且需要记录在销售账本中,以便于查阅公司企业的商品销
售情况。
开销售小票,传递到财务部门。
财务部门会进行款项的处理(收款),并对借贷收款情况
记录在财务账本。
开出发票与小票,小票以作为仓库部门的发货依据,仓库部门发货给客户,并
做好库存的记录,收取客户的到货签收单。
业务流程图如图 2:
图 2 销售业务管理业务流程图
2.2 数据流分析
根据商品销售管理系统的业务流程图,对其数据进行深入的分析,利用 PowerDesigner 工作绘制
出数据流图(DFD),其中共有 3 种方案。
方案 1 如图 3:
3
图 3 方案 1 的数据流图
方案 2 如图 4:
图 4 方案 2 的数据流图
方案 3 如图 5:
图 5 方案 3 的数据流图
4
方案 1:
在方案一中,客户直接产生订单,然后订单进行了审核,在审核的过程中忽视了库存的部分,而
导致在假设库存都足够的情况,因而可能会导致订单生成可是库存却不足的情况。
在数据流图过
程中主要以小票的方式进行部门的传递,造成混乱,小票过多难以辨清,并且在企业内部容易造
成部门之间的功能实现受阻。
方案 2:
在方案二中,在审核过程中增加了缺货量项目,可以明确订单生成确定。
不至于造成库存不足的
销售影响。
在数据传递中运用了其他的方式传递于下一个部门,可是在实现数据流通的过程中还
是不够完善。
方案 3:
在方案 3 中,并不是直接由客户产生订单,而是由客户产生需求,审核后才生成订单传递,销售
部门处理后产生小票,在财务部门收款后产生出货单,发货后与客户签订到货签收单。
在方案三
中,各个数据的流向清晰,不易混乱,在各个部门的的账本记录中分工明确。
方案三中生成的部分报告内容
NameCodeParent Organization
客户客户
NameCodeComposi
te
发货发货
审核审核
收款收款
采购入库采购入库
销售销售
NameCode
Split/Merge_1Split/Merge_1
Implementer Organiza
tion Unit
DestinationSourceMessage FormatTranspor
t
Flow
Type
审核客户?
Success
销售审核?
Success
收款销售?
Success
收款Split/Merge_1?
Success
发货收款?
Success
发货采购入库?
Success
客户发货?
Success
NameCode
产品目录产品目录
价格价格
发货计划生成发货计划生成
缺货量缺货量
财务账本财务账本
账本 2账本 2
货物量货物量
销售账本销售账本
5
ResourceProcessMessage Format
价格审核?
产品目录审核?
货物量审核?
缺货量审核?
销售账本销售?
财务账本收款?
账本 2发货?
发货计划生成审核?
账本 2发货?
3 数据库概念设计和逻辑设计
3.1. .关系模式
根据上面的 3 种方案,各自的优缺点,本人选择第三种方案来进行 ER 模型图分析,确定实
体,联系以及各自的属性,并通过联系关联实体,画出 ER 图。
实体有 9 个,分别是顾客、订单、销售小票、出货单、到货签收单、支付凭证、销售账本、
财务账本、库存账本。
顾客(身份证号,姓名,住址,联系电话,工作)
身份证号->姓名
姓名->住址,联系电话,工作
身份证号->姓名,住址,联系电话,工作
所以身份证号是主键
订单(订单编号,货物信息,货物编号,货物量,单价,总价,付款方式,订货人,订货日期,
发货日期,开单日期)
订单编号->货物信息,订货人,付款方式,开单日期
货物信息->订货日期,交货日期,货物编号,单价,总价
订单编号->货物信息,货物编号,货物量,单价,总价,付款方式,订货人,订货日期,
交货日期,开单日期)
销售小票(小票编号,订单号,货物信息,订货人,开票日期,开票人,备注)
小票编号->订单号,开票日期,开票人,备注
订单编号->货物信息,订货人,
发票代码->小票编号,订单号,订货人,货物信息,开票日期,开票人,备注
所以小票编号为主键
出货单(出货单编号,订单号,货物信息,备注,发货人,收货人,开单日期,发货日期)
出货单编号->订单号,备注,开单日期
订单号->货物信息,发货人,收货人,发货日期
出货单编号->出货单编号,订单号,货物信息,备注,发货人,收货人,开单日期
所以出货单编号是主键
到货签收单(签收单号,订单号,货物信息,交付方式,收货人,收货日期,开单日期)
签收单号->订单号,交付方式,开单日期
订单号->货物信息,收货人,收货日期
签收单号->签收单号,订单号,货物信息,交付方式,收货人,收货日期,开单日期
所以签收单号是主键
支付凭证(支付凭证编号,付款人,收款单位,付款方式,日期)
6
支付凭证号->付款人,收款单位,付款方式,日期
支付凭证编号->付款人,收款单位,付款方式,日期
所以支付凭证号是主键
销售账本(销售账目号,订单号,货物信息,货物编号,货物量,单价,订货人,付款额,记账
人,备注,记账日期)
销售账目号->订单号,记账人,备注,记账日期
订单号->货物信息,订货人
货物信息->货物量,单价,付款额,货物编号
销售账目号->订单号,货物信息,货物编号,货物量,单价,订货人,付款额,记账人,备
注,记账日期)
所以销售账目号为主键
财务账本(财务账目号,订单号,货物信息,付款额,支付凭证,记账人,备注,记账日期)
财务账目号->订单号,付款额,记账人,备注,记账日期,支付凭证
订单号->货物信息
财务账目号->订单号,货物信息,付款额,支付凭证,记账人,备注,记账日期
所以财务账目号为主键
库存账本(库存账目号,订单号,货物信息,货物编号,发出货物量,剩余货物量,记账人,备
注)
库存账目号->订单号,记账人,备注
订单号->货物信息
货物信息->货物编号,发出货物量,剩余货物量
库存账目号->订单号,货物信息,货物编号,发出货物量,剩余货物量,记账人,备注)
所以库存账目号为主键
注释:
每一个关系模式的码用横线标识,所有关系模式均已分解到 BCNF 范式
7
图 6 商品销售管理业务 ER 概念模型图
数据项
NameCodeDomainData TypeLengthPrecision
交付方式交付方式Text
付款人付款人姓名Text
付款方式付款方式Text (10)10
付款额付款额金额Money
住址住址地址?
写单日期写单日期日期Date & Time
出货单编号出货单编号Characters (10)10
到货签收单号到货签收单号Characters (10)10
剩余货物量剩余货物量货物信息Text
单价单价金额Money
发出货物量发出货物量货物信息Text
发货人发货人姓名Text
发货日期发货日期日期Date & Time
备注备注备注Text
姓名姓名姓名Text
小票编号小票编号Characters (10)10
工作工作Text
库存账目号库存账目号Characters (11)11
开单日期开单日期日期Date & Time
开票人开票人姓名Text
开票日期开票日期日期Date & Time
总价总价金额Money
支付凭证支付凭证Text
支付凭证编号支付凭证编号Characters (10)10
收款单位收款单位Text
收货人收货人姓名Text
收货日期收货日期日期Date & Time
日期日期日期Date & Time
联系电话联系电话Longcharacters
11
(11)
订单号订单号Characters (10)10
订单编号订单编号Characters (10)10
订货人订货人姓名Text
订货日期订货日期日期Date & Time
记账人记账人姓名Text
记账日期记账日期日期Date & Time
8
财务账目号
财务账目号
Characters (11)
11
货物信息
货物信息
货物信息
Text
货物编号
货物编号
编号
?
货物量
货物量
货物信息
Text
身份证号
身份证号
Characters (18)
18
销售账目号
销售账目号
Characters (11)
11
商品销售管理业务 ER 物理模型图如图 7:
图 7 销售管理业务 ER 物理模型图
定义索引
主键索引
1)出货单_PK,按升序排列 ; 2) 到货签收单_PK, 按升序排
2)3)库存账本_PK ,按升序排列 ; 4) 支付凭证_PK,按升序排列; 5)订单_PK,按升序
排列 ;6) 财务账本_PK,按升序排列;7)销售小票_PK,按升序排列 ;8) 销售账本_PK,
按升序排列; 9) 顾客_PK ,按升序排列。
外键索引
1)出货计划生成_FK,按升序排列;2)到货签收 2_FK,按升序排列;3)发货_FK ,按升序排
列;
到货签收_FK,按升序排列;4)付款_FK,按升序排列;审核_FK,按升序排列;
9
5)出货计划生成 2_FK,按升序排列;6)收款_FK,按升序排列;需求_FK,按升序排列。
4 数据库物理设计
数据文件‘商品销售管理.mdf’储存位置及其大小:
Createdatabase宿舍后勤管理系统数据库 OnPrimary(name=’商品销售管理_data’,
Filename=’E:
\商品销售管理.mdf’ , Size=’100MB’,Maxsize=’1GB’,Filegrowth=’15%’)
日志文件‘商品销售管理.ldf’储存位置及其大小:
Logon(name=’宿舍后勤管理系统数据库_log’,Filename=’E:
\宿商品销售管理.ldf’,
Size=’500MB’,Maxsize=’300MB’,Filegrowth=500MB)
DBMS Sybase SQL Anywhere 11
5.开发与编码
5.1 定义表代码预览
create table 出货单
(
出货单编号char(10)not null,
到货签收单号char(10)not null,
库存账目号char(11)not null,
小票编号char(10)not null,
订单号char(10)null,
货物信息货物信息null,
收货人姓名null,
发货人姓名null,
备注备注null,
写单日期日期null,
发货日期日期null,
constraint PK_出货单 primary key (出货单编号)
);
create table 到货签收单
(
到货签收单号char(10)not null,
出货单编号char(10)not null,
订单号char(10)null,
货物信息货物信息null,
交付方式long varcharnull,
收货人姓名null,
收货日期日期null,
开单日期日期null,
constraint PK_到货签收单 primary key (到货签收单号)
);
create table 库存账本
10
(
库存账目号char(11)not null,
订单号char(10)null,
货物信息货物信息null,
发出货物量货物信息null,
剩余货物量货物信息null,
货物编号编号null,
记账人姓名null,
备注备注null,
constraint PK_库存账本 primary key (库存账目号)
);
create table 支付凭证
(
支付凭证编号char(10)not null,
财务账目号char(11)not null,
付款人姓名null,
收款单位long varcharnull,
付款方式long varcharnull,
日期日期null,
constraint PK_支付凭证 primary key (支付凭证编号)
);
create table 订单
(
订单编号char(10)not null,
销售账目号char(11)not null,
货物编号编号null,
货物信息货物信息null,
货物量货物信息null,
单价金额null,
总价金额null,
付款方式long varcharnull,
订货人姓名null,
订货日期日期null,
发货日期日期null,
开单日期日期null,
constraint PK_订单 primary key (订单编号)
);
create table 财务账本
(
财务账目号char(11)not null,
订单号char(10)null,
货物信息货物信息null,
付款额金额null,
11
支付凭证long varcharnull,
记账日期日期null,
备注备注null,
记账人姓名null,
constraint PK_财务账本 primary key (财务账目号)
);
create table 销售小票
(
小票编号char(10)not null,
财务账目号char(11)not null,
销售账目号char(11)not null,
出货单编号char(10)not null,
订单号char(10)null,
货物信息货物信息null,
订货人姓名null,
开票人姓名null,
备注备注null,
开票日期日期null,
constraint PK_销售小票 primary key (小票编号)
);
create table 销售账本
(
销售账目号char(11)not null,
订单号char(10)null,
货物信息货物信息null,
付款额金额null,
记账人姓名null,
备注备注null,
订货人姓名null,
记账日期日期null,
货物编号编号null,
货物量货物信息null,
单价金额null,
constraint PK_销售账本 primary key (销售账目号)
);
create table 顾客
(
姓名姓名null,
身份证号char(18)not null,
订单编号char(10)not null,
住址地址null,
联系电话varchar(11)null,
工作long varcharnull,
12
constraint PK_顾客 primary key (身份证号)
);
5.2 定义索引代码预览
create unique index 出货单_PK on 出货单 (出货单编号 ASC);/* Index:
出货单_PK */
create index 出货计划生成_FK on 出货单 (小票编号 ASC);/* Index:
出货计划生成_FK */
create index 到货签收 2_FK on 出货单 (到货签收单号 ASC);/* Index:
到货签收 2_FK */
create index 发货_FK on 出货单 (库存账目号 ASC);/* Index:
发货_FK */
create unique index 到货签收单_PK on 到货签收单 (到货签收单号 ASC);/* Index:
到货签
收单_PK */
create index 到货签收_FK on 到货签收单 (出货单编号 ASC);/* Index:
到货签收_FK */
create unique index 库存账本_PK on 库存账本 (库存账目号 ASC);/* Index:
库存账本_PK*/
create unique index 支付凭证_PK on 支付凭证 (支付凭证编号 ASC);/* Index:
支付凭证_PK */
create index 付款_FK on 支付凭证 (财务账目号 ASC);/* Index:
付款_FK */
create unique index 订单_PK on 订单 (订单编号 ASC);/* Index:
订单_PK */
create index 审核_FK on 订单 (销售账目号 ASC);/* Index:
审核_FK */
create unique index 财务账本_PK on 财务账本 (财务账目号 ASC);/* Index:
财务账本_PK */
create unique index 销售小票_PK on 销售小票 (小票编号 ASC);/* Index:
销售小票_PK */
create index 记录_FK on 销售小票 (销售账目号 ASC);/* Index:
记录_FK*/
create index 出货计划生成 2_FK on 销售小票 (出货单编号 ASC);/* Index:
出货计划生成 2_FK */