目录数据库课程设计题目:超市销售管理系统1、项目计划1.1 系统开发目的1.2背景说明1.3项目确立1.4应用范围1.5定义1.6参考资料2、逻辑分析与详细分析2.1系统功能2.2数据流图2.3用户类型与职能2.4系统开发步骤2.5系统环境需求2.6系统安全问题4、概要设计文档5、逻辑设计文档6、物理设计文档7、小结1、项目计划1.1系统开发目的(1)大大提高超市的运作效率;(2)通过全面的信息采集和处理,辅助提高超市的决策水平;(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本, 强超市扩提高效益,增张力,提供有效的技术保障。
1.2背景说明21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。
技术的提升和管理的升级是超市业的竞争核心。
零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。
如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。
1.3 项目确立针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。
1.4 应用范围本系统适应于各种小型的超市。
1.5 定义(1)商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条形码。
(2)交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。
(3)商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。
(4)促销:在一定时期内,某些商品会按低于原价的促销价格销售。
库存告警提示:当商品的库存数量低于库存报警数量时发出提示。
(5)盘点:计算出库存、销售额、盈利等经营指标。
1.6 参考资料《数据库原理及设计》陶宏才编清华大学出版社《SQL Server 2000 实用教程》范立南编清华大学出版社《SQL Server 2000 编程员指南》李香敏编北京希望电子出版社《轻松搞定SQL Server 2000程序设计》Rebecca M.Riordan编《软件工程规范》Watts S.Humphrey编清华大学出版社《软件工程理论与实践》Shari Lawrenee Pfleeger编清华大学出版社《软件需求分析》Swapna Kishore编机械工业出版社《软件工程思想》林锐编2、逻辑分析与详细分析2.1 系统功能(1)、零售前台(POS)管理系统,本系统必须具有以下功能:商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。
该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。
收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。
在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。
如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。
会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。
安全性:OS 登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。
独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业( 2)、后台管理系统,本系统必须具备以下功能进货管理:根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。
按计划单有选择性地进行自动入库登记。
综合查询打印计划进货与入库记录及金额。
销售管理:商品正常销售、促销与限量、限期及禁止销售控制。
综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。
按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。
库存管理:综合查询库存明细记录。
库存状态自动告警提示。
如库存过剩、少货、缺货等。
软件为您预警,避免库存商品积压损失和缺货。
库存自动盘点计算。
人员管理:员工、会员、供货商、厂商等基本信息登记管理。
员工操作权限管理销售权限管理。
客户2.5 、系统环境需求系统模式本系统采用C/S 模式作为开发模式硬件环境服务器端:高性能的计算机一台,普通的双绞线作为连接。
客户端:普通的计算机或者工作站,普通的双绞线作为连接。
软件环境服务器端:安装SQL Server 2000的服务器版本,安装windows 2000 服务器版本,配置了诺顿等必须的防毒软件。
客户端:安装SQL Server2000的服务器版本,安装了VB 等可视化开发工具软件,安装windows2000 服务器版本。
2.6 、系统安全问题信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制等限制,也隐含许多不安全因素。
常见因素有:数据的输入,输出,存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。
因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。
系统要能重建系统应该是可审查的系统应能进行有效控制,抗干扰能力强系统使用者的使用权限是可识别的4、超市销售系统概念设计文档(1)、系统ER图(2)、系统ER图说明1)商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售;2)每个顾客可以购买多种商品,不同商品可由不同顾客购买;3)每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。
(3)、视图设计1)交易视图(v_Dealing) --- 用于查询交易情况的视图;2)计划进货视图(v_PlanStock)――用于查询进货计划的视图;3)销售视图(v_Sale)――用于查询销售明细记录的视图;4)入库视图(v_Stock)――用于查询入库情况的视图。
5、逻辑设计文档(1)、系统关系模型a)商品信息表(商品编号,商品名称,价格,供货商编号)b)员工表(用户编号,用户名称,用户密码,用户类型)c)会员表(会员号,累积消费金额,注册日期)d)销售表(销售编号,商品编号,销售数量,销售金额,销售日期)e)交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)f)供货商表(供货商编号,供货商名称,供货商地址,供货商电话)(2)、系统数据库表结构数据库表索引商品信息表员工表(User)会员表(Me nber)销售表(Sale)交易表(Deali ng)供货商表(Provide)6、物理设计文档/* --------- 创建数据库 ---------- */create database SuperMarketdb on primary( name=SuperMarketdb, filename='C:\Program Files\Microsoft SQLServer\MSSQL\Data\SuperMarketdb.mdf', size=100MB, maxsize=200MB, filegrowth=20MB) log on( name=SuperMarketlog, filename='C:\Program Files\Microsoft SQLServer\MSSQL\Data\SuperMarketdb.ldf', size=60MB, maxsize=200MB, filegrowth=20MB) go/* --------- 创建基本表 ---------- */use [SuperMarketdb] go/* 创建交易表*/ CREATE TABLE Dealing (DealingID int identity(1,1) Primary key , DealingDate datetime NOT NULL , DealingPricemoney NOT NULL , UserName varchar(25) NULL , MemberCard varchar(20) NULL )GO/* 创建厂商表*/ CREATE TABLE Factory (FactoryID varchar(10) Primary key , FactoryName varchar(50) NOT NULL , FactoryAddressvarchar(250) NULL , FactoryPhone varchar(50) NULL)GO/* 创建会员表*/CREATE TABLE Member ( MemberID varchar(10) Primary key , MemberCard varchar(20) NOT NULL , TotalCost money NOT NULL , RegDate datetime NOT NULL)GO/* 创建商品信息表*/CREATE TABLE MerchInfo ( MerchID int identity(1,1) Primary key , MerchName varchar(50) Unique NOT NULL , MerchPrice money NOT NULL , MerchNum int NOT NULL , CautionNumint NOT NULL , PlanNum int NOT NULL , BarCode varchar(20) Unique NOT NULL ,SalesProPrice money NULL , SalesProDateS datetime NULL , SalesProDateE datetimeNULL , AllowAbate int NOT NULL , AllowSale int NOT NULL , FactoryID int NOT NULL ,ProvideID int NOT NULL)GO/* 创建供应商表*/CREATE TABLE Provide (ProvideID varchar(10) Primary key , ProvideName varchar(50) NOT NULL , ProvideAddressvarchar(250) NULL , ProvidePhone varchar(25) NULL)GO/* 创建销售表*/CREATE TABLE Sale (SaleID int identity(1,1) Primary key , MerChID int 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 int NOT NULL , MerchNum int NOT NULL , MerchPrice money NULL , TotalPrice money NULL , PlanDate datetime NULL , StockDate datetime NULL, StockState int NOT NULL)GO/* 创建用户表*/CREATE TABLE User (UserID varchar(10) Primary key , UserName varchar(25) NOT NULL , UserPW varchar(50) NOT NULL , UserStyle int NOT NULL ,)GO/* --------- 创建表间约束 ----------- *//* 商品信息表中厂商编号、供应商编号分别与厂商表、供应商表之间的外键约束*/ ALTER TABLE MerchInfo ADDCONSTRAINT [FK_MerchInfo_Factory] FOREIGN KEY([FactoryID]) REFERENCES Factory ([FactoryID]),CONSTRAINT [FK_MerchInfo_Provide] FOREIGN KEY([ProvideID]) REFERENCES Provide ([ProvideID])GO/* 销售表中商品编号与商品信息表之间的外键约束*/ALTER TABLE Sale ADDCONSTRAINT [FK_Sale_MerchInfo] FOREIGN KEY([MerChID]) REFERENCES MerchInfo ([MerchID]) ON DELETE CASCADEGO/* 入库表中商品编号与商品信息表之间的外键约束*/ALTER TABLE Stock ADDCONSTRAINT [FK_Stock_MerchInfo] FOREIGN KEY ([MerchID]) REFERENCES MerchInfo ([MerchID]) ON DELETE CASCADEGO/* --------- 创建索引 ---------- *//* 在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引*/ CREATE nonclustered INDEX IX_Dealing ON Dealing(DealingID, DealingDate) GO/* 在商品信息表上建立一个以商品编号为索引项的非聚集索引*/CREATE nonclustered INDEX IX_MerchInfo ON MerchInfo(MerchID) GO/* 在销售表上建立一个以销售编号、销售日期为索引项的非聚集索引*/CREATE nonclustered INDEX IX_Sale ON Sale(SaleID, SaleDate) GO/* 在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引*/ CREATE nonclustered INDEX IX_Stock ON Stock(StockID, StockDate, MerchID) GO/* --------- 创建视图 ---------- *//* 创建用于查询交易情况的视图*/CREATE VIEW v_DealingASSELECT DealingDate as 交易日期,UserName as 员工名称,MemberCard as 会员卡号,DealingPrice as 交易金额FROM DealingGO/* 创建用于查询进货计划的视图*/CREATE VIEW v_PlanStockASSELECT Stock.StockID as SID,MerchInfo.MerchName as 商品名称, MerchInfo.BarCode as 条形码,Factory.FactoryName as 厂商,Provide.ProvideName as 供货商, Stock.MerchNum as 计划进货数量, Stock.PlanDate as 计划进货日期FROM Stock,MerchInfo,Provide,Factory Where Stock.MerchID = MerchInfo.MerchID and Provide.ProvideID=MerchInfo.ProvideID and Factory.FactoryID=MerchInfo.FactoryID andStock.StockState=0GO/* 创建用于查询销售明细记录的视图*/ CREATE VIEW v_SaleASSELECT MerchInfo.MerchName as 商品名称,MerchInfo.BarCode as 条形码,MerchInfo.MerchPrice as 商品价格,Sale.SalePrice as 销售价格, Sale.SaleNum as 销售数量,Sale.SaleDate as 销售日期FROM Sale INNER JOINMerchInfo ON Sale.MerChID = MerchInfo.MerchID GO/* 创建用于查询入库情况的视图*/ CREATE VIEW v_Stock ASSELECT MerchInfo.MerchName as 商品名称,MerchInfo.BarCode as 条形码,Factory.FactoryName as 厂商,Provide.ProvideName as 供货商,Stock.MerchPrice as 入库价格,Stock.MerchNum as 入库数量, Stock.TotalPrice as 入库总额,Stock.StockDate as 入库日期FROM Stock,MerchInfo,Provide,Factory Where Stock.MerchID = MerchInfo.MerchID and Provide.ProvideID=MerchInfo.ProvideID andFactory.FactoryID=MerchInfo.FactoryID and Stock.StockState=1GO7、小结和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本,提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力,提供有效的技术保障。