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