资源描述:
《小型超市管理系统数据库课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
WORD文档可编辑山西大学计算机与信息技术学院《数据库系统》课程设计论文题目:小型超市管理系统数据库设计组长王建亮专业软件工程班级大二授课教师2013/6/19技术资料专业分享 WORD文档可编辑小型超市管理系统学生姓名:王建亮(2011242054),王勇和(2011242060),温辉(2011242063),闫宁(2011242067),许鹏(2011242066)技术资料专业分享 WORD文档可编辑技术资料专业分享WORD文档可编辑目录第一章系统概述11.1系统开发背景11.2系统开发意义1第二章系统需求分析22.1系统功能要求22.2系统分析概述22.2.1零售前台(POS)管理系统2本系统必须具有以下功能:22.2.2后台管理系统2本系统必须具备以下功能:22.3系统层次划分32.4系统程序流程图42.4.1系统数据流程图符号解释42.4.2顶层数据流程图52.4.3第一层数据流程图52.4.4第二层数据流程图6第三章系统总体设计73.1系统总体设计目标73.2系统概念设计83.2.1概念模型(E-R图)83.2.2关系模式133.2.3关系模式规范化说明133.2.4系统数据库表结构14第四章数据库实施阶段174.1建立数据库、数据表、视图、索引174.1.1建立数据库174.1.2建立数据表184.1.3创建视图214.1.4创建索引22技术资料专业分享 WORD文档可编辑结束语23技术资料专业分享WORD文档可编辑第一章系统概述技术资料专业分享WORD文档可编辑1.1系统开发背景21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。因此,我们很有必要制定一套合理、有效,规范和实用的超市管理系统,对超市的日常业务进行集中统一的管理。另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。1.2系统开发意义超市管理作为计算机应用的一个分支,有着手工管理无法比拟的优点。该系统的三大益处有:(1)大大提高超市的运作效率;(2)通过全面的信息采集和处理,辅助提高超市的决策水平;(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张力,提供有效的技术保障。因此,开发一套能够为消费者及超市工作人员提提供方便的超市管理系统,将是非常必要的,也是十分及时的。技术资料专业分享 WORD文档可编辑第二章系统需求分析2.1系统功能要求针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发一个小型的超市管理系统。本系统包括如下功能:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。2.2系统分析概述2.2.1零售前台(POS)管理系统本系统必须具有以下功能:(1)商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。(2)收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。(3)退货处理:顾客持有销售发票到收银台找收银员退货,若没有相应销售发票不予以退货。通过扫描销售发票计算本次退货处理的退货额,并打印出退货发票给顾客,系统记录好退货信息。(4)安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。(5)独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业。2.2.2后台管理系统本系统必须具备以下功能:技术资料专业分享 WORD文档可编辑(1)进货管理:根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。按计划单有选择性地进行自动入库登记。综合查询打印计划进货与入库记录及金额。(2)销售管理:商品正常销售、促销与限量、限期及禁止销售控制。综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。(3)库存管理:综合查询库存明细记录。库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。库存自动盘点计算。(4)人员管理:员工、会员、供货商、厂商等基本信息登记管理。员工操作权限管理。客户销售权限管理。2.3系统层次划分通过对小型超市管理系统及其功能方面的分析,构造出超市管理系统的总体结构图如下:中小型超市销售管理系统人员管理库存管理进货管理销售管理收银业务后台管理零售前台管理退货处理商品录入图1超市管理总体结构图由于本系统为管理系统,只是超市管理系统的一部分,因此只实现了收银业务、退货处理和销售管理部分的功能。对这三个处理模块进一步细化得到如下分结构图:技术资料专业分享 WORD文档可编辑退货处理输出退货单退费额计算图1-2退货处理结构图图1-1收银业务结构图库存量管理缺货警告销售管理货架补货图1-3销售处理结构图2.4系统程序流程图数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符综合地反映出信息在系统中的流动、处理和存储情况。根据上面业务流程图的描述,从系统的科学性、管理的合理性、实际运行的可行性角度出发,自顶向下对系统进行分解,导出了超市销售管理系统的顶层数据流程图、第一层数据流程图和第二层数据流程图。2.4.1系统数据流程图符号解释图2-1外部实体图2-2处理过程图2-3数据流图2-4数据存储技术资料专业分享 WORD文档可编辑2.4.2顶层数据流程图S1商品信息表P0销售业务处理E1收银员E2顾客E3管理员交易单警告信息处理信息商品信息商品信息条形码商品编号交易单图3顶层数据流程图上图是小型超市管理系统的顶层数据流程图。由业务流程图确定系统开发的外部实体即系统数据的来源与去处,从而确定了整个系统的外部实体和数据流。在顶层数据流程图中,把超市销售管理系统作为一个处理环节,与实体间传递信息,简单的表达系统的各部分功能。2.4.3第一层数据流程图商品交易表商品信息表P3销售处理P1收银业务E2顾客购物发票会员信息交易信息S3条形码商品编号E1收银员P2退货处理销售信息退货信息会员信息表S2退货发票商品信息E3管理员警告信息处理信息条形码商品编号P0业务处理S1购物发票图3-1第一层数据流程图技术资料专业分享 WORD文档可编辑确定系统的主要处理功能后,可以将系统分为收银业务、退货处理和销售处理三个模块。再确定各个输入和输出数据流以及与之相关的数据结构,从而得到小型超市管理系统的第一层数据流程图,如上图所示。2.4.4第二层数据流程图再将第一层数据流程图分解细化可得到第二层流程图,如下图所示:P1.2给会员优惠会员信息表E2顾客P1.1交易额计算P3.1商品库存量增减销售信息购物信息会员信息普通购物信息会员购物信息购物发票商品信息表条形码商品编号E1收银员条形码商品编号商品信息S1S2P1收银业务P1.3输出交易清单商品交易表S3商品库存增减信息入库信息表S4图3-1-1收银业务数据流程图P3后台处理E2顾客购物发票商品交易表流水账号商品信息退费额计算输出退货单退货信息商品交易表退货信息退货商品S3S3P2.2P2.1P2退货处理图3-1-2退货处理数据流程图技术资料专业分享 WORD文档可编辑图3-1-3销售处理数据流程图警告信息入库信息表E3管理员P3.2缺货警告P3.1商品库存量增减P2退货处理退货信息P1收银业务购物信息商品库存增减信息库存信息P3.3货架补货进货信息P3销售处理S4进货单表S5进货信息缺货信息第三章系统总体设计3.1系统总体设计目标小型超市管理系统是超市馆管理工作中不可缺少的部分,它的内容对于超市的管理者和使用者来说都至关重要,所以超市管理系统应该能够为管理者或消费者提供充足的信息和快捷的数据处理手段。对超市前台的收银管理,后台的销售管理、库存管理、财务管理和人员管理这些日常业务的需要,高效性通过系统的实用,能够改变旧的超市管理模式,使对消费者和工作人员的管理、查询更加方便有效。对销售信息进行简单的统计分析,便于总结货物的采购和消费者的需求。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对超市信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高超市管理的效率,也是超市的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。使之减轻管理人员的负担,充分发挥电脑的作用。技术资料专业分享 WORD文档可编辑3.2系统概念设计3.2.1概念模型(E-R图)(1)E-R图卡内余额累计金额会员会员卡号会员姓名注册日期会员E-R图促销起始日期商品售价商品类别促销价格商品编号商品数量商品商品备注商品名称告警量供货商号库存量商品进价生产厂商促销截止日期商品E-R图技术资料专业分享 WORD文档可编辑供货商号供货商地址供货商名称供货商电话供货商供货商E-R图仓库地址仓库名称仓库编号仓库仓库E-R图技术资料专业分享 WORD文档可编辑退货数量退货金额商品编号退货日期交易流水号退货信息表退货信息表E-R图获得员工销售单打印商品会员销售商品n1mmn1时间数量收银业务E-R图技术资料专业分享 WORD文档可编辑打印时间打印购物发票营业员11m退货信息表退货处理E-R图管理商品员工销售销售管理E-R图打印退货信息表收银员退货处理E-R图技术资料专业分享 WORD文档可编辑会员m购买日期流水账号购买销售金额供货编号销售数量销售日期供货日期供货数量n销售供货供货商商品nnmn打印1m库存仓库n收银员退货信息表1库存量(2)系统ER图说明1)商店中的用户销售多个商品。多个商品由同一个用户销售2)商店中的所有顾客可以购买多种商品,每种商品可由不同顾客购买;3)每个顾客可以购买多种商品,不同商品可由不同顾客购买;4)每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。技术资料专业分享 WORD文档可编辑3.2.2关系模式(1)商品信息表(商品编号、商品名称、商品条形码、商品类别、商品售价、商品进价、促销价格、促销起始日期、促销截止日期、库存量、告警量、计划库存量、生产厂商、供货商编号)(2)会员表(会员卡号、会员姓名、累积金额、卡内余额、会员密码、注册日期、有效日期)(3)商品交易表(交易流水号、计数号、交易日期、收银员号(员工编号)、商品编号、商品名称、交易数量、售价、小计、会员卡号)(4)入库信息表(入库编号、商品编号、商品名称、入库量、总额、供货商名称、入库日期、进货员编号(5)供货商表(供货商号、供货商名称、供货商地址、供货商电话)(6)进货单表(进货单编号、进货商品编号、进货商品名称、进货量、进价、总额、供货商名称、进货单生成日期、进货员姓名)(7)员工信息表(员工编号、工作类型、员工姓名、性别、年龄、身份证号、员工工资、员工电话、居住地址、备注信息)(8)退货信息表(交易流水号、商品编号、退货数量、退货金额、退货日期)(9)仓库表(仓库编号,仓库名称,仓库地址)3.2.3关系模式规范化说明(1)商品信息表的主属性是商品编号,其他非主属性完全依赖于主码。商品信息表的建立是为了对商品进行管理。其中,除了基本的商品信息外,如商品编号,名称,价格,存货数量外,还增加了条形码,便于对商品的快速录入(2)会员表的主属性是会员卡号,其他非主属性完全依赖于主码。并且不存在传递依赖关系,因此该顾客表符合第三范式。会员表的建立是为了对会员进行管理以及根据会员情况进行打折活动。(3)商品交易表的主属性是交易流水号,其他非主属性完全依赖于主码。商品交易表是对超市所出售商品的统计,分析出各个商品的销售情况,并可生成销售统计图,从而有针对性的进行商品进购。技术资料专业分享 WORD文档可编辑(4)入库信息表的主属性是入库编号,其他非主属性完全依赖于主码。该表是入库的商品信息进行统计。(5)供货商表的主属性是供货商号,其他非主属性完全依赖于主码。主要是为了对供货商的管理。(6)进货单表的主属性是进货单编号,其他非主属性完全依赖于主码。进货单表是通过商品信息表来统计需要进货的信息。(7)员工信息表的主属性是员工编号,其他非主属性完全依赖于主码。是对员工进行的管理。(8)退货信息表是为了对顾客所退回商品的信息统计,以便更好的进行商品管理和提高对用户的服务。(9)仓库表的主属性是仓库编号,其他非主属性完全依赖于主码。主要是对仓库信息的管理。3.2.4系统数据库表结构商品信息表列名字段类型长度主/外键是否为空商品编号Varchar10主键Notnull商品名称Varchar50Notnull商品条形码Varchar50Notnull商品类别Varchar25Notnull商品售价Money4Notnull商品进价Money4Notnull促销价格Money4促销起始日期Datetime8促销截止日期Datetime8库存量IntNotnull告警量IntNotnull计划库存量IntNotnull生产厂商Varchar50供货商号Varchar10外键Notnull技术资料专业分享 WORD文档可编辑会员表列名字段类型长度主/外键是否为空会员卡号Varchar20主键Notnull会员姓名Varchar10Notnull累积金额Money4Notnull卡内余额Money4Notnull会员密码Varchar20Notnull注册日期Datetime8Notnull截止日期Datetime8Notnull商品交易表列名字段类型长度主/外键是否为空交易流水号Varchar50主键Notnull计数号IntNotnull交易日期Datetime8Notnull收银员号Varchar10外键Notnull商品编号Varchar10外键Notnull商品名称Varchar50Notnull交易数量IntNotnull售价Money4Notnull小计Money4Notnull会员卡号Varchar20外键入库信息表列名字段类型长度主/外键是否为空入库编号Varchar10主键Notnull商品编号Varchar10外键Notnull商品名称Varchar50Notnull入库量IntNotnull总额Money8Notnull供货商名称varchar50Notnull入库日期Datetime8Notnull进货员编号Varchar10外键Notnull技术资料专业分享 WORD文档可编辑供货商表列名字段类型长度主/外键是否为空供货商号Varchar10主键Notnull供货商名称Varchar50Notnull供货商地址Varchar70供货商电话Varchar25进货单表列名字段类型长度主/外键是否为空进货单编号varchar10主键Notnull商品编号Varchar10外键Notnull商品名称Varchar50Notnull进货量intNotnull进价money4Notnull总额money8Notnull供货商名称varchar50Notnull进货单生成日期datetime8Notnull进货员姓名varchar10Notnull员工信息表列名字段类型长度主/外键是否为空员工编号Varchar10主键Notnull工作类型Varchar25Notnull员工姓名varchar50Notnull性别varchar2Notnull年龄varchar2身份证号varchar50Notnull员工工资Money50Notnull员工电话varchar25Notnull技术资料专业分享 WORD文档可编辑居住地址varchar70备注信息varchar200退货信息表列名字段类型长度主/外键是否为空交易流水号varchar50外键Notnull商品编号Varchar10外键Notnull退货数量intNotnull退货金额money4Notnull退货日期datetime8Notnull仓库表列名字段类型长度主/外键是否为空仓库编号varchar10主键Notnull仓库名称Varchar50Notnull仓库地址Varchar70Notnull第四章数据库实施阶段4.1建立数据库、数据表、视图、索引4.1.1建立数据库createdatabase小型超市管理系统技术资料专业分享 WORD文档可编辑4.1.2建立数据表(1)商品基本表的建立createtable商品信息(商品编号varchar(10)primarykey,商品名称varchar(50)notnull,商品条形码varchar(50)notnull,商品类别varchar(25)notnull,商品售价moneynotnull,商品进价moneynotnull,促销价格money,促销起始日期datetime,促销截止日期datetime,库存量intnotnull,告警量intnotnull,计划库存量intnotnull,生产厂商varchar(50),供货商号varchar(10)notnull,foreignkey(供货商号)references供货商表(供货商号));(2)会员表的建立createtable会员表(会员卡号varchar(20)primarykey,会员姓名varchar(10)notnull,累积金额moneynotnull,卡内余额moneynotnull,会员密码varchar(20)notnull,注册日期datetimenotnull,截止日期datetimenotnull);(3)商品交易表的建立createtable商品交易表(交易流水号varchar(50)primarykey,计数号intnotnull,交易日期datetimenotnull,技术资料专业分享 WORD文档可编辑收银员号varchar(10)notnull,商品编号varchar(10)notnull,商品名称varchar(50)notnull,交易数量intnotnull,售价moneynotnull,小计moneynotnull,会员卡号varchar(20)notnull,foreignkey(收银员号)references员工信息表(员工编号),foreignkey(商品编号)references商品信息(商品编号),foreignkey(会员卡号)references会员表(会员卡号));(4)入库信息表的建立createtable入库信息表(入库编号varchar(10)primarykey,商品编号varchar(10)notnull,商品名称varchar(50)notnull,入库量intnotnull,总额moneynotnull,供货商名称varchar(50)notnull,入库日期datetimenotnull,进货员编号varchar(10)notnull,foreignkey(进货员编号)references员工信息表(员工编号));(5)供货商表的建立createtable供货商表(供货商号varchar(10)primarykey,供货商名称varchar(50)notnull,供货商地址varchar(70)notnull,供货商电话varchar(25)notnull);技术资料专业分享 WORD文档可编辑(6)进货单表的建立createtable进货单表(进货单编号varchar(10)primarykey,商品编号varchar(10)notnull,商品名称varchar(50)notnull,进货量intnotnull,进价moneynotnull,总额moneynotnull,供货商名称varchar(50)notnull,进货单生成日期datetimenotnull,进货员姓名varchar(10)notnull,foreignkey(商品编号)references商品信息(商品编号),foreignkey(进货员姓名)references员工信息表(员工编号));(7)员工信息表的建立createtable员工信息表(员工编号varchar(10)primarykey,工作类型varchar(25)notnull,员工姓名varchar(50)notnull,性别varchar(2)check(性别in('男','女')),年龄varchar(2)notnull,身份证号varchar(50)notnull,员工工资moneynotnull,员工电话varchar(25)notnull,居住地址varchar(70)notnull,备注信息varchar(200)notnull);(8)退货信息表的建立createtable退货信息表(交易流水号varchar(50)notnull,商品编号varchar(10)notnull,退货数量intnotnull,退货金额moneynotnull,退货日期datetimenotnull,foreignkey(交易流水号)references商品交易表(交易流水号),foreignkey(商品编号)references商品信息(商品编号)技术资料专业分享 WORD文档可编辑);(9)仓库表的建立createtable仓库表(仓库编号varchar(10)primarykey,仓库名称varchar(50)notnull,仓库地址varchar(70)notnull,);4.1.3创建视图(1)创建用于查询交易情况的视图createview交易情况asselect交易日期,收银员号,会员卡号,小计from商品交易表(2)创建用于查询进货计划createview查询进货计划asselect进货单表.商品名称,商品条形码,进货量,进货单生成日期,供货商名称,进货员姓名from商品信息,进货单表where商品信息.商品编号=进货单表.商品编号(3)创建用于查询销售明细记录createview销售明细记录asselect商品交易表.商品名称,商品条形码,商品售价,交易数量,交易日期,收银员号,小计from商品信息,商品交易表,员工信息表where商品信息.商品编号=商品交易表.商品编号and商品交易表.收银员号=员工信息表.员工编号(4)创建用于查询入库情况createview入库情况asselect入库信息表.商品名称,商品条形码,供货商名称,入库量,总额,入库日期技术资料专业分享 WORD文档可编辑from商品信息,入库信息表,员工信息表where商品信息.商品编号=入库信息表.商品编号and入库信息表.进货员编号=员工信息表.员工编号4.1.4创建索引(1)在商品交易表上建立一个以交易流水号、交易日期为索引项的非聚集索引createnonclusteredindex交易on商品交易表(交易流水号,交易日期);(2)在商品信息表上建立一个以商品编号为索引项的非聚集索引createnonclusteredindexIX_商品信息on商品信息(商品编号);(3)在入库信息表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引createnonclusteredindex入库信息on入库信息表(入库编号,入库日期,商品编号);技术资料专业分享 WORD文档可编辑结束语通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语言的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主键与外主键的定义,约束项的设置,使逻辑更严密。在学习过程中,我也上网查了不少资料,也看了一些别人设计的小型超市信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中从学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,知识是无限的,我以后还会在这个领域不断的进行探索,掌握更多的知识。技术资料专业分享