《小型超市管理系统数据库课程设计(共26页).doc》由会员分享,可在线阅读,更多相关《小型超市管理系统数据库课程设计(共26页).doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 山西大学计算机与信息技术学院数据库系统课程设计论文题 目:小型超市管理系统数据库设计组 长 王建亮 专 业 软件工程 班 级 大二 授课教师 2013/6/19 小型超市管理系统学生姓名:王建亮(), 王勇和(), 温辉(),闫宁(),许鹏() 专心-专注-专业目录第一章 系统概述11 系统开发背景21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销
2、售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。因此,我们很有必要制定一套合理、有效,规范和实用的超市管理系统,对超市的日常业务进行集中统一的管理。另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。 针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。12 系统开发意义超市管理作为计算机应用的一个分支,有着手工管理无法比拟的优点。该系统的三大益处有:(1)大大提高超市
3、的运作效率;(2)通过全面的信息采集和处理,辅助提高超市的决策水平;(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本, 提高效益,增强超市扩张力, 提供有效的技术保障。因此,开发一套能够为消费者及超市工作人员提提供方便的超市管理系统,将是非常必要的,也是十分及时的。第二章 系统需求分析21 系统功能要求针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发一个小型的超市管理系统。本系统包括如下功能:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。22 系统分析概述221零售前台(POS)管理系统本系统必须具有以下功能:(1)商品录入
4、:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。(2)收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会
5、员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。(3)退货处理:顾客持有销售发票到收银台找收银员退货,若没有相应销售发票不予以退货。通过扫描销售发票计算本次退货处理的退货额,并打印出退货发票给顾客,系统记录好退货信息。(4)安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。(5)独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业。222后台管理系统本系统必须具备以下功能:(1)进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库
6、登记。 综合查询打印计划进货与入库记录及金额。(2)销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。(3)库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。(4)人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。23系统层次划分通过对小型超市管理系统及其功能方面的分析,构造出超市管理系统的总体结构图如下:中小型超
7、市销售管理系统人员管理库存管理进货管理销售管理收银业务后台管理零售前台管理退货处理商品录入图1 超市管理总体结构图由于本系统为管理系统,只是超市管理系统的一部分,因此只实现了收银业务、退货处理和销售管理部分的功能。对这三个处理模块进一步细化得到如下分结构图: 退货处理输出退货单退费额计算图1-2 退货处理结构图图1-1 收银业务结构图库存量管理缺货警告销售管理货架补货图1-3 销售处理结构图24 系统程序流程图数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符综合地反映出信息在系统中的流动、处理和存储情况。根据上面业务流程图的描述,从系统的科学性、管理的合理性、实际运行
8、的可行性角度出发,自顶向下对系统进行分解,导出了超市销售管理系统的顶层数据流程图、第一层数据流程图和第二层数据流程图。2.4.1系统数据流程图符号解释 图2-1 外部实体 图2-2 处理过程 图2-3 数据流 图2-4 数据存储2.4.2顶层数据流程图S1商品信息表P0销售业务处理E1收银员E2顾客E3管理员交易单警告信息处理信息商品信息商品信息条形码商品编号交易单图3 顶层数据流程图上图是小型超市管理系统的顶层数据流程图。由业务流程图确定系统开发的外部实体即系统数据的来源与去处,从而确定了整个系统的外部实体和数据流。在顶层数据流程图中,把超市销售管理系统作为一个处理环节,与实体间传递信息,简
9、单的表达系统的各部分功能。2.4.3第一层数据流程图商品交易表商品信息表P3销售处理P1收银业务E2顾客购物发票会员信息交易信息S3条形码商品编号E1收银员P2退货处理销售信息退货信息会员信息表S2退货发票商品信息E3管理员警告信息处理信息条形码商品编号P0 业务处理S1购物发票图3-1 第一层数据流程图确定系统的主要处理功能后,可以将系统分为收银业务、退货处理和销售处理三个模块。再确定各个输入和输出数据流以及与之相关的数据结构,从而得到小型超市管理系统的第一层数据流程图,如上图所示。2.4.4第二层数据流程图 再将第一层数据流程图分解细化可得到第二层流程图,如下图所示:P1.2给会员优惠会员
10、信息表E2顾客P1.1交易额计算P3.1商品库存量增减销售信息购物信息会员信息普通购物信息会员购物信息购物发票商品信息表条形码商品编号E1收银员条形码商品编号商品信息S1S2P1 收银业务P1.3输出交易清单商品交易表S3商品库存增减信息入库信息表S4图3-1-1 收银业务数据流程图P3后台处理E2顾客购物发票商品交易表流水账号商品信息退费额计算输出退货单退货信息商品交易表退货信息退货商品S3S3P2.2P2.1P2 退货处理图3-1-2 退货处理数据流程图图3-1-3 销售处理数据流程图警告信息入库信息表E3管理员P3.2缺货警告P3.1商品库存量增减P2退货处理退货信息P1收银业务购物信息
11、商品库存增减信息库存信息P3.3货架补货进货信息P3 销售处理S4进货单表S5进货信息缺货信息第三章 系统总体设计31 系统总体设计目标小型超市管理系统是超市馆管理工作中不可缺少的部分,它的内容对于超市的管理者和使用者来说都至关重要,所以超市管理系统应该能够为管理者或消费者提供充足的信息和快捷的数据处理手段。对超市前台的收银管理,后台的销售管理、库存管理、财务管理和人员管理这些日常业务的需要,高效性通过系统的实用,能够改变旧的超市管理模式,使对消费者和工作人员的管理、查询更加方便有效。对销售信息进行简单的统计分析,便于总结货物的采购和消费者的需求。随着科学技术的不断提高,计算机科学日渐成熟,其
12、强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对超市信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高超市管理的效率,也是超市的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。使之减轻管理人员的负担,充分发挥电脑的作用。32 系统概念设计 321 概念模型(E-R图)(1)E-R图卡内余额累计金额会员会员卡号会员姓名注册日期会员E-R图促销起始日期商品售价商品类别促
13、销价格商品编号商品数量商品商品备注商品名称告警量供货商号库存量商品进价生产厂商促销截止日期 商品E-R图供货商号供货商地址供货商名称供货商电话供货商供货商E-R图仓库地址仓库名称仓库编号仓库仓库E-R图 退货数量退货金额商品编号退货日期交易流水号退货信息表 退货信息表E-R图获得员工销售单打印商品会员销售商品n1mmn1时间数量 收银业务E-R图打印时间打印购物发票营业员11m退货信息表 退货处理E-R图管理 商品员工销售 销售管理E-R图打印退货信息表收银员 退货处理E-R图会员m购买日期流水账号购买销售金额供货编号 销售数量销售日期供货日期供货数量n销售供货供货商商品nnmn打印1 m库存
14、仓库n收银员退货信息表1库存量(2)系统ER图说明1) 商店中的用户销售多个商品。多个商品由同一个用户销售2) 商店中的所有顾客可以购买多种商品,每种商品可由不同顾客购买;3) 每个顾客可以购买多种商品,不同商品可由不同顾客购买;4) 每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。 322关系模式(1)商品信息表(商品编号、商品名称、商品条形码、商品类别、商品售价、商品进价、促销价格、促销起始日期、促销截止日期、库存量、告警量、计划库存量、生产厂商、供货商编号)(2)会员表(会员卡号、会员姓名、累积金额、卡内余额、会员密码、注册日期、有效日期)(3)商品交易表(交易流水号、计数号
15、、交易日期、收银员号(员工编号)、商品编号、商品名称、交易数量、售价、小计、会员卡号)(4)入库信息表(入库编号、商品编号、商品名称、入库量、总额、供货商名称、入库日期、进货员编号(5)供货商表(供货商号、供货商名称、供货商地址、供货商电话) (6)进货单表(进货单编号、进货商品编号、进货商品名称、进货量、进价、总额、供货商名称、进货单生成日期、进货员姓名)(7)员工信息表(员工编号、工作类型、员工姓名、性别、年龄、身份证号、员工工资、员工电话、居住地址、备注信息)(8)退货信息表(交易流水号、商品编号、退货数量、退货金额、退货日期)(9)仓库表(仓库编号,仓库名称,仓库地址)323 关系模式
16、规范化说明 (1)商品信息表的主属性是商品编号,其他非主属性完全依赖于主码。商品信息表的建立是为了对商品进行管理。其中,除了基本的商品信息外,如商品编号,名称,价格,存货数量外,还增加了条形码,便于对商品的快速录入(2)会员表的主属性是会员卡号,其他非主属性完全依赖于主码。并且不存在传递依赖关系,因此该顾客表符合第三范式。会员表的建立是为了对会员进行管理以及根据会员情况进行打折活动。(3)商品交易表的主属性是交易流水号,其他非主属性完全依赖于主码。商品交易表是对超市所出售商品的统计,分析出各个商品的销售情况,并可生成销售统计图,从而有针对性的进行商品进购。(4)入库信息表的主属性是入库编号,其
17、他非主属性完全依赖于主码。该表是入库的商品信息进行统计。(5)供货商表的主属性是供货商号,其他非主属性完全依赖于主码。主要是为了对供货商的管理。(6)进货单表的主属性是进货单编号,其他非主属性完全依赖于主码。进货单表是通过商品信息表来统计需要进货的信息。(7)员工信息表的主属性是员工编号,其他非主属性完全依赖于主码。是对员工进行的管理。(8)退货信息表是为了对顾客所退回商品的信息统计,以便更好的进行商品管理和提高对用户的服务。 (9)仓库表的主属性是仓库编号,其他非主属性完全依赖于主码。主要是对仓库信息的管理。324 系统数据库表结构商品信息表列名字段类型长度主/外键是否为空商品编号Varch
18、ar10主键Not null商品名称Varchar50Not null商品条形码Varchar50Not null商品类别Varchar25Not null商品售价Money4Not null商品进价Money4Not null促销价格Money4促销起始日期Datetime8促销截止日期Datetime8库存量IntNot null告警量IntNot null计划库存量IntNot null生产厂商Varchar50供货商号Varchar10外键Not null 会员表列名字段类型长度主/外键是否为空会员卡号Varchar20主键Not null会员姓名Varchar10Not null累积
19、金额Money4Not null卡内余额Money4Not null会员密码Varchar20Not null注册日期Datetime8Not null截止日期Datetime8Not null 商品交易表列名字段类型长度主/外键是否为空交易流水号Varchar50主键Not null计数号IntNot null交易日期Datetime8Not null收银员号Varchar10外键Not null商品编号Varchar10外键Not null商品名称Varchar50Not null交易数量IntNot null售价Money4Not null小计Money4Not null会员卡号Varc
20、har20外键入库信息表列名字段类型长度主/外键是否为空入库编号Varchar10主键Not null商品编号Varchar10外键Not null商品名称Varchar50Not null入库量IntNot null总额Money8Not null供货商名称varchar50Not null入库日期Datetime8Not null进货员编号Varchar10外键Not null供货商表列名字段类型长度主/外键是否为空供货商号Varchar10主键Not null供货商名称Varchar50Not null供货商地址Varchar70供货商电话Varchar25进货单表列名字段类型长度主/外
21、键是否为空进货单编号varchar10主键Not null商品编号Varchar10外键Not null商品名称Varchar50Not null进货量intNot null进价money4Not null总额money8Not null供货商名称varchar50Not null进货单生成日期datetime8Not null进货员姓名varchar10Not null员工信息表列名字段类型长度主/外键是否为空员工编号Varchar10主键Not null工作类型Varchar25Not null员工姓名varchar50Not null性别varchar2Not null年龄varchar
22、2身份证号varchar50Not null员工工资Money50Not null员工电话varchar25Not null居住地址varchar70备注信息varchar200退货信息表列名字段类型长度主/外键是否为空交易流水号varchar50外键Not null商品编号Varchar10外键Not null退货数量intNot null退货金额money4Not null退货日期datetime8Not null仓库表列名字段类型长度主/外键是否为空仓库编号varchar10主键Not null仓库名称Varchar50Not null仓库地址Varchar70Not null第四章 数
23、据库实施阶段4.1建立数据库、数据表、视图、索引4.1.1 建立数据库 create database 小型超市管理系统4.1.2 建立数据表 (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
24、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,
25、截止日期 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(收银员号)
26、 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 nul
27、l,进货员编号 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,商品名称
28、 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,工作类型 v
29、archar(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
30、) 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,);4.1.3 创建视图(1) 创建用于查询交易情况的视图create vie
31、w 交易情况asselect 交易日期,收银员号,会员卡号,小计from 商品交易表 (2) 创建用于查询进货计划create view 查询进货计划asselect 进货单表.商品名称,商品条形码,进货量,进货单生成日期,供货商名称,进货员姓名from 商品信息,进货单表where 商品信息.商品编号=进货单表.商品编号(3) 创建用于查询销售明细记录create view 销售明细记录asselect 商品交易表.商品名称,商品条形码,商品售价, 交易数量, 交易日期,收银员号,小计from 商品信息,商品交易表,员工信息表where 商品信息.商品编号=商品交易表.商品编号 and 商品
32、交易表.收银员号=员工信息表.员工编号(4) 创建用于查询入库情况create view 入库情况asselect 入库信息表.商品名称, 商品条形码,供货商名称,入库量,总额,入库日期from 商品信息,入库信息表,员工信息表where 商品信息.商品编号=入库信息表.商品编号 and 入库信息表.进货员编号=员工信息表.员工编号4.1.4 创建索引(1) 在商品交易表上建立一个以交易流水号、交易日期为索引项的非聚集索引create nonclustered index 交易 on 商品交易表(交易流水号, 交易日期);(2) 在商品信息表上建立一个以商品编号为索引项的非聚集索引create
33、 nonclustered index IX_商品信息 on 商品信息(商品编号);(3) 在入库信息表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引create nonclustered index 入库信息 on 入库信息表(入库编号, 入库日期, 商品编号);结束语通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语言的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主键与外主键的定义,约束项的设置,使逻辑更严密。在学习过程中,我也上网查了不少资料,也看了一些别人设计的小型超市信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中从学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,知识是无限的,我以后还会在这个领域不断的进行探索,掌握更多的知识。