零售商日常管理系统.doc_第1页
零售商日常管理系统.doc_第2页
零售商日常管理系统.doc_第3页
零售商日常管理系统.doc_第4页
零售商日常管理系统.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库实训项目报告SQL零售商日常管理系统系 名 称: 计算机系 专 业 名 称: 软件工程 班 号 : 姓 名: 指 导 教 师: 2011 年6月 13日SQL零售商日常管理系统概要零售商经营模式已经成为了目前最普遍的经营模式,随着零售业的高速发展,其经营管理变得日益复杂,日常所需处理的数据量渐渐庞大,商业运转的中间环节也越来越多,以前主要依靠人工管理的方法显然已无法适应零售规模的不断扩大,零售商日常管理系统将提高私营户各项工作的效率和质量,促使商品的销售和资金的流转;减轻各类事务性工作的劳动强度,使管理和销售的职员腾出更多的精力和时间来服务于顾客,改善经营管理,堵塞漏洞,保证顾客和经营户的经济效益。让消费者少付金钱,时间,精力和风险,而获得更好的品质的服务。第一章 引 言1.1需求分析通过需求分析可以从用户那里获取项目的基本信息和要求(1) 要求系统对库存情况进行管理,也就是对商品买卖情况进行统计,以便随时可掌握商品的流通情况。(2) 要求系统对销售情况进行管理,对于热销的商品,和存货量不足的商品,可以给予及时的反应。(3) 要求系统对收支情况进行管理,对于销售的商品可以自动记账,对于超过一定额度的资金可以自动转入银行账户,对于进货可以自动在银行账户上减少相应资金。(4) 要求系统能进行进货管理,对供应商以及所进的商品进行管理,并对进货所需的资金进行进货查询管理,可以跟据供货商查看其所供应的所有货物及价格。(5) 要求系统能进行销售管理,当遇到打折等情况时对商品价格的管理。(6) 要求系统对员工情况进行管理,包括员工工资的发放,减少银行账户的资金。 (7) 要求系统对员工情况进行管理,包含员工的增减,和工资的关系。(8) 应保留商品的历史信息,以备日后查询。(9) 系统运行在Windows平台上,系统还应该有一个较好的图形用户界面。(10) 应该可以对系统的基础数据进行维护,系统应该有很好的可扩展性。1.2系统配置系统配置就是为数据库项目系统配置一个相对最优的系统配置方案,根据用户的实际情况进行设计,主要依据是系统的吞吐量,系统对稳定性的要求和用户的维护水平.(1) 软件配置:本设计主要针对小型一点的用户,由于他们的商品数据量小,对数据库要求低,因此采用SQL数据库系统是最佳选择,并选择WindowsXP操作系统。(2) 硬件配置:用户为小型零售商使用,稳定性要求中等,维护水平一般,系统硬件选用个人计算机.1.3开发工具的选用及介绍SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的 接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。第二章 整体设计2.1系统功能分析零售商日常管理系统总体功能的设计采用自顶向下,从抽象到具体的规范方法。遵循“高内聚低耦合”原则,依照功能将复杂系统划分为相对独立模块,如图所示:2.2系统功能模块设计零售商日常管理系统主要包括商品管理,资金管理,员工管理,进退货管理等功能模块。(1) 商品管理即对商品进行管理,分别为仓库商品,上架商品,销售商品的管理。资金管理(2) 即对进货和销售的资金,银行账户存款及日常开销(包括水电费,员工开销等)(3) 员工管理即对员工的信息管理,员工的工资等。(4) 进退货管理即对供应商信息的管理,及进货和退货,和供应产品的管理。(5) 设置修改该模块主要实现对商品的入库,出库以及销售等信息的设置进行修改的功能。2.2总数据流图2.3 E-R图 第三章 数据库设计在零售商日常管理系统中,数据库设计占有重要位置,数据库设计质量的优劣,可直接影响到数据库数据的冗余度、数据的一致性、数据丢失等问题。下面对本系统的数据库逻辑结构和物理结构设计进行说明。3.1 逻辑结构设计根据系统功能设计的要求以及功能模块的划分,对零售商日常管理系统可以列出以下数据项及数据结构:(1) 上架商品的基本信息:包括商品的编号,名称,剩余数量,销售单价,打折情况,打折后价格。(2) 仓库商品基本信息:商品编号,名称,进货价格,月统计销售量,剩余。(3) 销售货物量统计:上半年销售量,下半年销售量,年销售量,商品名称,商品编号。(4) 退货的信息:退货货物编号,名称,单品价格,数量,总价,退货人。(5) 资金的统计信息:年收入,人员开支,其他费用,银行账户。(6) 供货商基本信息:进货商编号,公司,货物,价格,联系人,电话,地址。(7) 员工信息:包括员工的编号,名称,基本工资,分红,总工资,电话,地址。3.2 物理结构设计根据系统需求及逻辑结构设计,表结构如下: 第四章 系统实现建表:(1)创建零售商日常管理系统数据库 CREATE DATABASE 零售商日常管理系统(2)CREATE TABLE 上架商品( 商品编号 CHAR(8) PRIMARY KEY, 商品名称 CHAR(8)NOT NULL, 打折情况SMALLMONEY NOT NULL, 剩余数量 INT NOT NULL, 打折情况 float NOT NULL, 打折后单价=打折情况*打折情况SMALLMONEY ,)(3) CREATE TABLE 仓库( 商品编号 CHAR(8) PRIMARY KEY, 商品名称 CHAR(8)NOT NULL, 进货价格 SMALLMONEY NOT NULL, 月统计销售量 INT, 剩余存货 INT ,)(4) CREATE TABLE 销售货物量统计( 商品编号 CHAR(8) PRIMARY KEY, 商品名称 CHAR(8)NOT NULL, 年销售量 INT , )(5)CREATE TABLE 退货( 商品编号 CHAR(8) PRIMARY KEY, 商品名称 CHAR(8)NOT NULL, 商品单价 SMALLMONEY NOT NULL, 数量 int , 总价 SMALLMONEY NOT NULL , 退货人 CHAR(8)NOT NULL,) (6)CREATE TABLE 资金的统计( 年收入 SMALLMONEY NOT NULL , 人员开支 SMALLMONEY NOT NULL, 其他费用 SMALLMONEY NOT NULL , 银行账户 SMALLMONEY NOT NULL PRIMARY KEY , 备注 CHAR(8) , ) (7) CREATE TABLE 供货商基本信息( 供应商编号 CHAR(8) PRIMARY KEY, 公司 CHAR(50)NOT NULL, 货物名称 CHAR(8)NOT NULL ,销售单价 SMALLMONEY NOT NULL, 联系人 CHAR(8)NOT NULL, 电话 int, 地址 CHAR(8)NOT NULL, 备注 CHAR(8) , ) (8) CREATE TABLE 员工信息( 员工编号 CHAR(8) PRIMARY KEY, 员工名称 CHAR(8)NOT NULL, 基本工资 SMALLMONEY NOT NULL, 分红 SMALLMONEY , 总工资 SMALLMONEY NOT NULL, 电话 int NOT NULL, 地址 CHAR(8)NOT NULL, 备注 CHAR(8) , ) 视图:(1)上架商品信息查询视图CREATE VIEW 上架货物查询AS SELECT 商品编号,商品名称,剩余数量 FROM 上架商品(2)仓库商品库存信息查询视图CREATE VIEW 仓库货物查询AS SELECT 商品编号,商品名称,剩余存货 FROM 仓库(3)供货商信息查询视图CREATE VIEW 供货商信息查询AS SELECT 供应商编号,公司,货物名称,供应单价,联系人,电话,地址 FROM 供货商基本信息(4)员工信息查询视图CREATE VIEW 员工信息查询AS SELECT *FROM 员工信息(5)销售货物量统计信息查询视图CREATE VIEW 销售货物量统计信息查询AS SELECT 商品编号,商品名称,年销售量FROM 销售货物量统计(6)现使用的供货商信息查询视图CREATE VIEW 现使用的供货商信息查询 AS SELECT 商品编号,商品名称,供应单价,公司,联系人,电话FROM 供货商基本信息,仓库WHERE 货物名称=商品名称 AND 进货价格=供应单价存储过程:(1) 插入供货商信息CREATE PROCEDURE 插入供货商信息(供应商编号 CHAR(8),公司 CHAR(8),货物名称 CHAR(8),供应单价 smallmoney,联系人 CHAR(8),电话 INT,地址 CHAR(8),备注 char (8)ASINSERT INTO 供货商基本信息 VALUES (供应商编号,公司,货物名称,供应单价,联系人,电话,地址,备注)exec 插入供货商信息 011,月亮有限集团,棒棒糖,1,月亮S,856328,月球村,存储过程(2) 插入员工信息CREATE PROCEDURE 插入员工信息(员工编号 CHAR(8),员工名称 CHAR(8),基本工资 smallmoney,分红 smallmoney,月业绩 CHAR(8),总工资 smallmoney,电话 int,地址 char (8),备注 char (20)ASINSERT INTO 员工信息 VALUES (员工编号,员工名称,基本工资,分红,月业绩 ,总工资,电话,地址,备注)exec 插入员工信息 003,进口D,800,0,100,900,753586,月球村,存储过程(3) 插入退货信息CREATE PROCEDURE 插入退货信息(商品编号 CHAR(8),商品名称 CHAR(8),商品单价 smallmoney,数量 int,总价 smallmoney,退货人 char (8)ASINSERT INTO 退货 VALUES (商品编号,商品名称,商品单价,数量,总价 ,退货人)exec 插入退货信息 004, 汽水,2,50,100,小M(4) 插入新增商品仓库信息CREATE PROCEDURE 插入仓库货物信息(商品编号 CHAR(8),商品名称 CHAR(8),进货价格 smallmoney,月统计量 int,剩余存货 int)ASINSERT INTO 仓库 VALUES (商品编号,商品名称,进货价格,月统计量,剩余存货 )exec 插入仓库货物信息 006, 棉花糖,2,100(5) 更新供货商信息CREATE PROCEDURE 修改供货商信息(供应商编号 char(8),货物名称 CHAR(8),供应单价 smallmoney,联系人 CHAR(8),电话 INT,备注 char (8)ASUPDATE 供货商基本信息SET 货物名称=货物名称,供应单价=供应单价,联系人=联系人,电话=电话,备注=备注WHERE 供应商编号=供应商编号exec 修改供货商信息 004,洋葱圈,2,方法F,852459,过程修改(6) 更新员工基本信息CREATE PROCEDURE 修改员工信息(员工编号 char(8),基本工资 smallmoney,分红 smallmoney,总工资 smallmoney,电话 INT,备注 char (8)ASUPDATE 员工信息SET 基本工资=基本工资,分红=分红,总工资=总工资,电话=电话,备注=备注WHERE 员工编号=员工编号 exec 修改员工信息 111,1100,0,1100,852459,过程修改(7) 更新上架商品价格信息CREATE PROCEDURE 修改上架商品价格信息(商品编号 char(8),销售单价 smallmoney,剩余数量 int,打折情况 float,打折后单价 smallmoney)ASUPDATE 上架商品SET 销售单价=销售单价,剩余数量=剩余数量,打折情况=打折情况,打折后单价=打折后单价WHERE 商品编号=商品编号exec 修改上架商品价格信息 001,12,50,0.85,10.2触发器:1为了确保在上架商品表中的商品的多少不变,可以随时从仓库中补充 所以每当上架商品存货量减少,仓库自动补充,因此建立触发器:CREATE TRIGGER 仓库商品减少触发 ON 上架商品FOR UPDATE AS DECLARE no1 int,no2 int,no3 char(8)select no1 =剩余数量,no3=商品编号 from deleted select no2 =剩余数量 from inserted UPDATE 仓库SET 剩余存货 = 剩余存货 -(no1-no2)WHERE 商品编号=no3GoUPDATE 上架商品SET 剩余数量 = 剩余数量+no1WHERE 商品编号=no32为了确保仓库的始终有剩余商品,所以当仓库中商品剩余少于一定数值,自动与销售上联系,购买产品入库,并从银行账户中支付金额,因此建立触发器:CREATE TRIGGER 仓库减少到一定程度增加触发器 ON 仓库FOR UPDATE AS DECLARE no1 int,no2 int,no3 char(8)select no3=商品编号 from deletedselect no2 =剩余存货 from inserted select no1 =进货价格 from inserted UPDATE 仓库SET 剩余存货 = 100WHERE 商品编号=no3 and 剩余存货30000UPDATE 资金的统计SET 年收入=0WHERE 年收入300007.为了统计,当退货事件发生时自动存入年收入中,因此建立触发器:CREATE TRIGGER 退货资金增加触发器 ON 退货FOR UPDATE AS DECLARE no1 int,no2 smallmoney,no3 char(8)select no3=商品编号 from deletedselect no2 =商品单价 from inserted select no1 =数量 from inserted UPDATE 退货SET 总价 =no1*no2WHERE 商品编号=no3 UPDATE 资金的统计SET 年收入=年收入+no1*no27.为了使打折后单价=销售单价*打折情况,因此建立触发器。CREATE TRIGGER 打折后商品价格触发ON 上架商品FOR UPDATE AS DECLARE no1 int,no2 smallmoney,no3 floatselect no3=商品编号 from deletedselect no2 =销售单价 from inserted select no1 =打折情况 from inserted UPDATE 上架商品SET 打折后单价=no1*no2WHERE 商品编号=no3 五系统测试1退货测试:2资金增加到一定数值时自动存入银行测试:3商品自动销售金额增加测试:4. 卖出一件货物自动在仓库月统计中相应商品销售额中+1测试:5. 卖出一件货物是自动在统计表中相应商品销售额中+1测试:6仓库中商品少自动购买,资金减少测试:7上架商品不变,仓库补充测试: 8部分存储过程测试已经随建立时测试。第六章 总 结本设计已经实现(1)对库存情况进行管理,也就是对商品买卖情况进行统计,可以随时掌握商品的流通情况。(2)对销售情况进行管理,对于热销的商品,和存货量不足的商品,可以给予及时的回应(3)对收支情况进行管理,对于销售的商品可以自动记账,对于超过一定额度的资金可以自动转入银行账户,对于进货可以自动在银行账户上减少相应资金。(4)要求系统能进行进货管理,对供应商以及所进的商品进行管理,并对进货所需的资金进行进货查询管理,可以跟据供货商查看其所供应的所有货物及价格。(5)要求系统能进行销售管理,当遇到打折等情况时对商品价格的管理。(6)要求系统对员工情况进行管理,包括员工工资的发放,减少银行账户的资金。 由于时间紧,任务重,所以还有好多功能还有待于以后去实现。结 束 语一个学期的数据库设计已接近尾声了,零售商日常管理系统也基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论