当前位置:文档之家› 小型超市管理系统数据库课程设计

小型超市管理系统数据库课程设计

小型超市管理系统数据库课程设计Newly compiled on November 23, 2020山西大学计算机与信息技术学院《数据库系统》课程设计论文题目:小型超市管理系统数据库设计组长王建亮专业软件工程班级大二授课教师2013/6/19小型超市管理系统目录第一章系统概述1.1系统开发背景21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。

技术的提升和管理的升级是超市业的竞争核心。

零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。

如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。

因此,我们很有必要制定一套合理、有效,规范和实用的超市管理系统,对超市的日常业务进行集中统一的管理。

另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。

针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。

1.2系统开发意义超市管理作为计算机应用的一个分支,有着手工管理无法比拟的优点。

该系统的三大益处有:(1)大大提高超市的运作效率;(2)通过全面的信息采集和处理,辅助提高超市的决策水平;(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张力,提供有效的技术保障。

因此,开发一套能够为消费者及超市工作人员提提供方便的超市管理系统,将是非常必要的,也是十分及时的。

第二章系统需求分析2.1 系统功能要求针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发一个小型的超市管理系统。

本系统包括如下功能:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。

2.2 系统分析概述2.2.1零售前台(POS)管理系统本系统必须具有以下功能:(1)商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。

该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。

(2)收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。

在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。

如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。

会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。

(3)退货处理:顾客持有销售发票到收银台找收银员退货,若没有相应销售发票不予以退货。

通过扫描销售发票计算本次退货处理的退货额,并打印出退货发票给顾客,系统记录好退货信息。

(4)安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。

(5)独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业。

2.2.2后台管理系统本系统必须具备以下功能:(1)进货管理:根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。

按计划单有选择性地进行自动入库登记。

综合查询打印计划进货与入库记录及金额。

(2)销售管理:商品正常销售、促销与限量、限期及禁止销售控制。

综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。

按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。

(3)库存管理:综合查询库存明细记录。

库存状态自动告警提示。

如库存过剩、少货、缺货等。

软件为您预警,避免库存商品积压损失和缺货。

库存自动盘点计算。

(4)人员管理:员工、会员、供货商、厂商等基本信息登记管理。

员工操作权限管理。

客户销售权限管理。

2.3系统层次划分通过对小型超市管理系统及其功能方面的分析,构造出超市管理系统的总体结构图如下:由于本系统为管理系统,只是超市管理系统的一部分,因此只实现了收银业务、退货处理和销售管理部分的功能。

对这三个处理模块进一步细化得到如下分结构图:2.4 系统程序流程图图1 超市管理总体结构图1-1 收银业务结图1-2 退货处理结图1-3 销售处理结构图数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符综合地反映出信息在系统中的流动、处理和存储情况。

根据上面业务流程图的描述,从系统的科学性、管理的合理性、实际运行的可行性角度出发,自顶向下对系统进行分解,导出了超市销售管理系统的顶层数据流程图、第一层数据流程图和第二层数据流程图。

图2-1 外部实体图2-2 处理过程图2-3 数据流图2-4 数据存储图3 顶层数据流程图上图是小型超市管理系统的顶层数据流程图。

由业务流程图确定系统开发的外部实体即系统数据的来源与去处,从而确定了整个系统的外部实体和数据流。

在顶层数据流程图中,把超市销售管理系统作为一个处理环节,与实体间传递信息,简单的表达系统的各部分功能。

确定系统的主要处理功能后,可以将系统分为收银业务、退货处理和销售处理三个模块。

再确定各个输入和输出数据流以及与之相关的数据结构,从而得到小型超市管理系统的第一层数据流程图,如上图所示。

再将第一层数据流程图分解细化可得到第二层流程图,如下图所示:图3-1 第一层数据流程图图3-1-1 收银业务数据流程图第三章 系统总体设计 3.1 系统总体设计目标小型超市管理系统是超市馆管理工作中不可缺少的部分,它的内容对于超市的管理者和使用者来说都至关重要,所以超市管理系统应该能够为管理者或消费者提供充足的信息和快捷的数据处理手段。

对超市前台的收银管理,后台的销售管理、库存管理、财务管理和人员管理这些日常业务的需要,高效性通过系统的实用,能够改变旧的超市管理模式,使对消费者和工作人员的管理、查询更加方便有效。

对销售信息进行简单的统计分析,便于总结货物的采购和消费者的需求。

图3-1-2 退货处理数据流程图图3-1-3 销售处理数据流程图随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对超市信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。

这些优点能够极大地提高超市管理的效率,也是超市的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一套管理软件成为很有必要的事情。

使之减轻管理人员的负担,充分发挥电脑的作用。

3.2 系统概念设计3.2.1 概念模型(E-R图)(1)E-R图图收银业务E-R图获得员工销售单打印商品会员销售商品n1mmn1时间数量退货处理E-R图打印时间打印购物发票营业员11m退货信息表1(2)系统ER图说明1)商店中的用户销售多个商品。

多个商品由同一个用户销售2)商店中的所有顾客可以购买多种商品,每种商品可由不同顾客购买;3)每个顾客可以购买多种商品,不同商品可由不同顾客购买;4)每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。

3.2.2关系模式(1)商品信息表(商品编号、商品名称、商品条形码、商品类别、商品售价、商品进价、促销价格、促销起始日期、促销截止日期、库存量、告警量、计划库存量、生产厂商、供货商编号)(2)会员表(会员卡号、会员姓名、累积金额、卡内余额、会员密码、注册日期、有效日期)(3)商品交易表(交易流水号、计数号、交易日期、收银员号(员工编号)、商品编号、商品名称、交易数量、售价、小计、会员卡号)(4)入库信息表(入库编号、商品编号、商品名称、入库量、总额、供货商名称、入库日期、进货员编号(5)供货商表(供货商号、供货商名称、供货商地址、供货商电话)(6)进货单表(进货单编号、进货商品编号、进货商品名称、进货量、进价、总额、供货商名称、进货单生成日期、进货员姓名)(7)员工信息表(员工编号、工作类型、员工姓名、性别、年龄、身份证号、员工工资、员工电话、居住地址、备注信息)(8)退货信息表(交易流水号、商品编号、退货数量、退货金额、退货日期)(9)仓库表(仓库编号,仓库名称,仓库地址)3.2.3 关系模式规范化说明(1)商品信息表的主属性是商品编号,其他非主属性完全依赖于主码。

商品信息表的建立是为了对商品进行管理。

其中,除了基本的商品信息外,如商品编号,名称,价格,存货数量外,还增加了条形码,便于对商品的快速录入(2)会员表的主属性是会员卡号,其他非主属性完全依赖于主码。

并且不存在传递依赖关系,因此该顾客表符合第三范式。

会员表的建立是为了对会员进行管理以及根据会员情况进行打折活动。

(3)商品交易表的主属性是交易流水号,其他非主属性完全依赖于主码。

商品交易表是对超市所出售商品的统计,分析出各个商品的销售情况,并可生成销售统计图,从而有针对性的进行商品进购。

(4)入库信息表的主属性是入库编号,其他非主属性完全依赖于主码。

该表是入库的商品信息进行统计。

(5)供货商表的主属性是供货商号,其他非主属性完全依赖于主码。

主要是为了对供货商的管理。

(6)进货单表的主属性是进货单编号,其他非主属性完全依赖于主码。

进货单表是通过商品信息表来统计需要进货的信息。

(7)员工信息表的主属性是员工编号,其他非主属性完全依赖于主码。

是对员工进行的管理。

(8)退货信息表是为了对顾客所退回商品的信息统计,以便更好的进行商品管理和提高对用户的服务。

(9)仓库表的主属性是仓库编号,其他非主属性完全依赖于主码。

主要是对仓库信息的管理。

3.2.4 系统数据库表结构商品信息表会员表商品交易表入库信息表供货商表进货单表员工信息表退货信息表仓库表第四章数据库实施阶段建立数据库、数据表、视图、索引建立数据库create database小型超市管理系统建立数据表(1)商品基本表的建立create table商品信息(商品编号varchar(10)primary key,商品名称varchar(50)not null,商品条形码varchar(50)not null,商品类别varchar(25)not null,商品售价money not null,商品进价money not null,促销价格money,促销起始日期datetime,促销截止日期datetime,库存量int not null,告警量int not null,计划库存量int not null,生产厂商varchar(50),供货商号varchar(10)not null,foreign key(供货商号)references供货商表(供货商号));(2)会员表的建立create table会员表(会员卡号varchar(20)primary key,会员姓名varchar(10)not null,累积金额money not null,卡内余额money not null,会员密码varchar(20)not null,注册日期datetime not null,截止日期datetime not null);(3)商品交易表的建立create table商品交易表(交易流水号varchar(50)primary key,计数号int not null,交易日期datetime not null,收银员号varchar(10)not null,商品编号varchar(10)not null,商品名称varchar(50)not null,交易数量int not null,售价money not null,小计money not null,会员卡号varchar(20)not null,foreign key(收银员号)references员工信息表(员工编号),foreign key(商品编号)references商品信息(商品编号),foreign key(会员卡号)references会员表(会员卡号));(4)入库信息表的建立create table入库信息表(入库编号varchar(10)primary key,商品编号varchar(10)not null,商品名称varchar(50)not null,入库量int not null,总额money not null,供货商名称varchar(50)not null,入库日期datetime not null,进货员编号varchar(10)not null,foreign key(进货员编号)references员工信息表(员工编号) );(5)供货商表的建立create table供货商表(供货商号varchar(10)primary key,供货商名称varchar(50)not null,供货商地址varchar(70)not null,供货商电话varchar(25)not null);(6)进货单表的建立create table进货单表(进货单编号varchar(10)primary key,商品编号varchar(10)not null,商品名称varchar(50)not null,进货量int not null,进价money not null,总额money not null,供货商名称varchar(50)not null,进货单生成日期datetime not null,进货员姓名varchar(10)not null,foreign key(商品编号)references商品信息(商品编号),foreign key(进货员姓名)references员工信息表(员工编号) );(7)员工信息表的建立create table员工信息表(员工编号varchar(10)primary key,工作类型varchar(25)not null,员工姓名varchar(50)not null,性别varchar(2)check(性别in('男','女')),年龄varchar(2)not null,身份证号varchar(50)not null,员工工资money not null,员工电话varchar(25)not null,居住地址varchar(70)not null,备注信息varchar(200)not null);(8)退货信息表的建立create table退货信息表(交易流水号varchar(50)not null,商品编号varchar(10)not null,退货数量int not null,退货金额money not null,退货日期datetime not null,foreign key(交易流水号)references商品交易表(交易流水号),foreign key(商品编号)references商品信息(商品编号));(9)仓库表的建立create table仓库表(仓库编号varchar(10)primary key,仓库名称varchar(50)not null,仓库地址varchar(70)not null,);创建视图(1) 创建用于查询交易情况的视图create view交易情况asselect交易日期,收银员号,会员卡号,小计from商品交易表(2) 创建用于查询进货计划create view查询进货计划asselect进货单表.商品名称,商品条形码,进货量,进货单生成日期,供货商名称,进货员姓名from商品信息,进货单表where商品信息.商品编号=进货单表.商品编号(3) 创建用于查询销售明细记录create view销售明细记录asselect商品交易表.商品名称,商品条形码,商品售价,交易数量,交易日期,收银员号,小计from商品信息,商品交易表,员工信息表where商品信息.商品编号=商品交易表.商品编号and商品交易表.收银员号=员工信息表.员工编号(4) 创建用于查询入库情况create view入库情况asselect入库信息表.商品名称,商品条形码,供货商名称,入库量,总额,入库日期from商品信息,入库信息表,员工信息表where商品信息.商品编号=入库信息表.商品编号and入库信息表.进货员编号=员工信息表.员工编号创建索引(1) 在商品交易表上建立一个以交易流水号、交易日期为索引项的非聚集索引create nonclustered index交易on商品交易表(交易流水号,交易日期);(2) 在商品信息表上建立一个以商品编号为索引项的非聚集索引create nonclustered index IX_商品信息on商品信息(商品编号);(3) 在入库信息表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引create nonclustered index入库信息on入库信息表(入库编号,入库日期,商品编号);结束语通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语言的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主键与外主键的定义,约束项的设置,使逻辑更严密。

相关主题