1、超市管理系统数据库设计超市管理系统1、项目计划1.1系统开发目的(1) 大大提高超市的运作效率;(2) 通过全面的信息采集和处理,辅助提高超市的决策水平;(3) 使用本系统,可以迅速提升超市的管理水平,为降低经营成本, 提高效益,增 强超市扩张力, 提供有效的技术保障。1.2背景说明21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而 是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争 核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟 店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩 大经营规模,成
2、为超市营业者努力追求的目标。13项目确立针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力, 我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含 其它一些子功能。14应用范围本系统适应于各种小型的超市。15定义(1) 商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商品,可以使 用自定义条形码。(2) 交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金 额、交易的时间、负责本次收银的员工号。(3) 商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。(4) 促销:在一定时期内,某些商品会按低于原价的促销价格销售。库存
3、告警提示:当商品的库存数量低于库存报警数量时发出提示。(5) 盘点:计算出库存、销售额、盈利等经营指标。2、逻辑分析与详细分析2.1系统功能(1)、零售前台(POS)管理系统,本系统必须具有以下功能:商品录入:根据超市业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、 商品名称等来实现精确或模糊的商品扫描录入。 该扫描录入方法可以充分保证各种 电脑操作水平层次的人员均能准确快速地进行商品扫描录入。收银业务:通过扫描条形码或者直接输入商品名称 (对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同 时打印交易清单(包括交易的流水账号、每类商品的
4、商品名、数量、该类商品的总 金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会 员卡,则在交易前先扫描会员卡,并对所购物品全部实行 95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。独立作业:有的断网收银即在网络服务器断开或网络不通的情况下, 收银机仍能正常作业(2)、后台管理系统,本系统必须具备以下功能进货管理:根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改) , 可以避免盲目进货造成商品积压
5、。 按计划单有选择性地进行自动入库登记。 综合 查询打印计划进货与入库记录及金额。销售管理:商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销 售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售 排行榜,灵活察看和打印商品销售日、月、年报表。库存管理:综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、 缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。客户人员管理:员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理销售权限管理。(3)系统结构系统总体结构小型超市零售管理系统后台管理系统模块子系统结构功能描述:商品录
6、入子系统要求能快速录入商品,因此必须支持条形码扫描收银业务功能描述:收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打折。功能描述:进货管理子系统可以根据库存自动指定进货计划,进货时自动等级, 以及提供查询和打印计划进货与入库记录的功能。功能描述:销售管理子系统可以控制某商品是否允许销售,查询每种商品的销售 情况并产生年、月、日报表,同时可以生成销售排行榜。功能描述:库存管理子系统提供查询库存明细记录的基本功能,并根据库存的状 态报警,以及自动盘点计算。人员管理基本信息登记管理+员工操作权限管理提一一八- J客户销售权限管理提示文档功能描述:人员管理子系统提供基本信息登记管理, 员工操
7、作权限管理,客户销售权限管理的功能。2.2、流程图前台管理系统销 售 人 员第0层DFD图第1层DFD图2.3、户类型与职能(1) 、员工(营业员):通过商品条形码扫描输入商品到购买清单 操作软件计算交易总金额 操作软件输出交易清单 对会员进行会员卡扫描以便打折(2) 、:超市经理操作软件录入商品,供货商,厂商 操作软件制定进货计划 查询打印计划进货与入库记录 操作软件控制商品销售与否 查询打印销售情况 操作软件生成销售排行榜 查询库存明细记录根据软件发出的库存告警进行入货 操作软件进行盘点计算(3) 、总经理:基本信息登记管理 员工操作权限管理 客户销售权限管理2.4、统开发步骤确定参与者和
8、相关的用况 为每个用况设计过程 建立顺序图,确定每个脚本中对象的协作 创建类,确定脚本中的对象 设计,编码,测试,集成类 为过程编写系统测试案例运行测试案例,检验系统2.5、系统环境需求系统模式本系统采用C/S模式作为开发模式硬件环境服务器端:高性能的计算机一台, 普通的双绞线作为连接。客户端:普通的计算机或者工作站, 普通的双绞线作为连接。软件环境服务器端:安装SQL Server 2000的服务器版本, 安装windows 2000服务器版本, 配置了诺顿等必须的防毒软件。客户端:安装SQL Server2000的服务器版本, 安装了 VB等可视化开发工具软件, 安装windows2000
9、服务器版本。3、系统概念设计(1)、系统ER图供货商名称供货商地址供货商电话供货商ID厂商名称厂商地址厂商电话厂商ID消费购买日期消费金额m生产累计金额注册时间会员ID会员卡号m供货供货日期供货金额允许销售销售销售销售日期价格商品ID商品名商品供货商厂商会员(2) 、系统ER图说明1) 商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售;2) 每个顾客可以购买多种商品,不同商品可由不同顾客购买;3) 每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。(3) 、视图设计1) 交易视图(v_Dealing) 用于查询交易情况的视图;2) 计划进货视图(v_Plan
10、Stock)用于查询进货计划的视图;3) 销售视图(v_Sale)用于查询销售明细记录的视图;4) 入库视图(v_Stock)用于查询入库情况的视图。4、逻辑设计(1) 、系统关系模型a) 商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号, 供货商编号)b) 用户表(用户编号,用户名称,用户密码,用户类型)c) 会员表(会员编号,会员卡号,累积消费金额,注册日期)d) 销售表(销售编号,商品编号,销售数量,销售金额,销售日期)e) 交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)f) 进货
11、入库表(入库编号,入库商品编号,入库数量,单额,总额,入库日期,计划 进货日期,入库状态)g) 供货商表(供货商编号,供货商名称,供货商地址,供货商电话)h) 厂商表(厂商编号,厂商名称,厂商地址,厂商电话)(2) 、系统数据库表结构数据库表索引表名中文名Merchl nfo商品信息表User用户表Men ber会员表Sale销售表Deali ng交勿表Stock进货入库表Provide供货商表Factory厂商表商品信息表(Merchlnfo)字段名字段类型长度主/外键字段值约束对应中文名MerchlDint4PNot null商品编号MerchNameVarchar50Not null商品
12、名称MerchPriceMoney4Not null价格MerchNumInt4Not null库存数量Cautio nNumInt4Not null库存报警数量Pla nNumInt4null计划进货数BarCodeVarchar50Not null条形码SalesProPriceMoney4促销价格SalesProDateSDatetime8促销起日期SalesProDateEDatetime8促销止日期AllowAbateInt4Not null允许打折AllowSaleInt4Not null允许销售FactoryIDVarchar10FNot null厂商编号ProvideIDVar
13、char10FNot null供货商编号用户表(User)字段名字段类型长度主/外键字段值约束对应中文名UserIDvarchar10PNot null用户编号UserNameVarchar25Not null用户名称UserPWVarchar50Not null用户密码UserStyleInt4Not null用户类型会员表(Me nber)字段名字段类型长度主/外键字段值约束对应中文名MemberIDVarchar10PNot null会员编号MemberCardVarchar20Not null会员卡号TotalCostMoney4Not null累积消费金额RegDateDatetim
14、e8Not null注册日期销售表(Sale)字段名字段类型长度主/外键字段值约束对应中文名SaleIDVarchar10PNot null销售编号MerChIDVarchar10FNot null商品编号SaleDateDatetime8Not null销售日期SaleNumInt4Not null销售数量SalePriceMoney4Not null销售单额交易表(Deali ng)字段名字段类型长度主/外键字段值约束对应中文名Deali ngIDVarchar10PNot null交勿编号Deali ngPriceMoney4Not null交易金额Deali ngDateMoney4N
15、ot null交易日期MemberIDVarchar10会员卡号UserNameVarchar10FNot null用户名称入库纪录表(Stock)字段名字段类型长度主/外键字段值约束对应中文名StockIDVarchar10PNot null入库编号MerchIDVarchar10FNot null入库商品编号MerchNumInt4Not null入库数量MerchPriceMoney4Not null单额TotalPriceMoney4Not null总额StockDateDatetime8Datetime入库日期Pla nDateDatetime8Datetime计划进货日期Stock
16、StateInt4Not null入库状态供货商表(Provide)字段名字段类型长度主/外键字段值约束对应中文名ProvideIDvarchar10PNot null供货商编号ProvideNameVarchar50Not null供货商名称ProvideAddressVarchar250供货商地址ProvidePh oneVarchar25供货商电话厂商表(Provide)字段名字段类型长度主/外键字段值约束对应中文名FactoryIDvarchar10PNot null厂商编号FactoryNameVarchar50Not null厂商名称FactoryAddressVarchar250
17、厂商地址FactoryPh oneVarchar25厂商电话5、源码/* 创建数据库 */create database SuperMarketdbon primary(n ame=SuperMarketdb,file name=C:Program FilesMicrosoft SQL ServerMSSQLDataSuperMarketdb.mdf, size=100MB,maxsize=200MB,filegrowth=20MB)log on(n ame=SuperMarketlog,file name=C:Program FilesMicrosoft SQL ServerMSSQLDat
18、aSuperMarketdb.ldf,size=60MB,maxsize=200MB,filegrowth=20MB)go/* 创建基本表 */use SuperMarketdbgo/*创建交易表*/CREATE TABLE Deali ng (DealingID int identity(1,1) Primary key ,Deali ngDate datetime NOT NULL ,Deali ngPrice money NOT NULL ,UserName varchar(25) NULL ,MemberCard varchar(20) NULL)GO/*创建厂商表*/CREATE T
19、ABLE Factory (FactoryID varchar(10) Primary key ,FactoryName varchar(50) NOT NULL ,FactoryAddress varchar(250) NULL ,FactoryPho ne varchar(50) NULL)GO/*创建会员表*/CREATE TABLE Member (MemberID varchar(10) Primary key ,MemberCard varchar(20) NOT NULL ,TotalCost mo ney NOT NULL ,RegDate datetime NOT NULL)
20、GO/*创建商品信息表*/CREATE TABLE MerchI nfo (MerchID int identity(1,1) Primary key ,MerchName varchar(50) Un ique NOT NULL , MerchPrice mo ney NOT NULL ,MerchNum int NOT NULL ,CautionNum int NOT NULL ,Pla nNum int NOT NULL ,BarCode varchar(20) Un ique NOT NULL , SalesProPrice money NULL , SalesProDateS dat
21、etime NULL , SalesProDateE datetime NULL , AllowAbate int NOT NULL ,AllowSale int NOT NULL ,FactoryID int NOT NULL ,ProvideID i nt NOT NULL)GO/*创建供应商表*/CREATE TABLE Provide (ProvideID varchar(10) Primary key , ProvideName varchar(50) NOT NULL , ProvideAddress varchar(250) NULL , ProvidePho ne varcha
22、r(25) NULL)GO/*创建销售表*/CREATE TABLE Sale (SaleID int identity(1,1) Primary key , MerChID i nt NOT NULL ,SaleDate datetime NOT NULL ,SaleNum int NOT NULL, SalePrice money NOT NULL)GO/*创建入库表*/CREATE TABLE Stock (StockID int identity(1,1) Primary key , MerchID i nt NOT NULL ,MerchNum int NOT NULL , Merc
23、hPrice money NULL , TotalPrice money NULL , Pla nDate datetime NULL , StockDate datetime NULL, StockState int NOT NULL)GO/*创建用户表*/CREATE TABLE User (UserID varchar(IO) Primary key , UserName varchar(25) NOT NULL , UserPW varchar(50) NOT NULL , UserStyle int NOT NULL ,)GO/* 创建表间约束 */*商品信息表中厂商编号、供应商编号
24、分别与厂商表、供应商表之间的外键约束 */ALTER TABLE MerchI nfo ADDCONSTRAINT FK_Merchl nfo_Factory FOREIGN KEY(FactoryID)REFERENCES Factory (FactoryID),CONSTRAINT FK_MerchI nfo_Provide FOREIGN KEY(ProvideID)REFERENCES Provide (ProvideID)GO/*销售表中商品编号与商品信息表之间的外键约束 */ALTER TABLE Sale ADDCONSTRAINT FK_Sale_Merchl nfo FORE
25、IGN KEY(MerChID)REFERENCES MerchI nfo (MerchID)ON DELETE CASCADEGO/*入库表中商品编号与商品信息表之间的外键约束 */ALTER TABLE Stock ADDCONSTRAINT FK_Stock_MerchI nfo FOREIGN KEY(MerchID)REFERENCES MerchI nfo (MerchID)ON DELETE CASCADEGO/* 创建索引 */*在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引 */CREATE non clustered INDEX IX_Deali ng ON D
26、eali ng(Deali ngID, Deali ngDate)GO/*在商品信息表上建立一个以商品编号为索引项的非聚集索引 */CREATE non clustered INDEX IX_Merchl nfo ON Merch In fo(MerchlD)GO/*在销售表上建立一个以销售编号、销售日期为索引项的非聚集索引 */CREATE non clustered INDEX IX_Sale ON Sale(SalelD, SaleDate)GO/*在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引 */CREATE non clustered INDEX IX_Sto
27、ck ON Stock(StocklD, StockDate, MerchID) GO/* 创建视图 */*创建用于查询交易情况的视图 */ASSELECT DealingDate as 交易日期, UserName as 员工名称,MemberCard as 会员卡号,Deali ngPrice as 交易金额FROM Deali ngGO/*创建用于查询进货计划的视图 */CREATE VIEW v_Pla nStockASSELECT Stock.StockID as SID,MerchInfo.MerchName as 商品名称,MerchInfo.BarCode as 条形码,Fac
28、tory.FactoryName as 厂商,Provide.ProvideName as 供货商,Stock.MerchNum as 计划进货数量,Stock.Pla nDate as 计划进货日期FROM Stock,MerchI nfo,Provide,FactoryWhere Stock.MerchID = MerchI nfo.MerchlDand Provide .P rovideID=MerchI nfo.P rovidelD and Factory.FactoryID=MerchI nfo.FactorylD and Stock.StockState=0GO/*创建用于查询销售明细记录的视图 */CREATE VIEW v_SaleASSELECT Merchlnfo.MerchName as 商品名称,Merch In fo.BarCode as条形码,Merch
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1