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

时间:2024.4.26

《数据库原理》课程项目综合设计

项目名称:  中小型超市管理系统 

      数据库设计     

课程名称:     数据库原理      

班    级:                      

任课教师:                      

小组名称:                      

组    长:                      

成    员:                     

完成日期:                      

1、项目计划

1.1系统开发目的

(1)大大提高超市的运作效率;

(2)使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张力,提供有效的技术保障。

1.2背景说明

21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。

1.3应用范围

本系统适应于各种中小型的超市。

1.4 定义

(1)商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条形码。

(2)交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。

(3)商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。

(4)促销:在一定时期内,某些商品会按低于原价的促销价格销售。

库存告警提示:当商品的库存数量低于库存报警数量时发出提示。

(5)盘点:计算出库存、销售额、盈利等经营指标。

1.5参考资料

《数据库系统概论》 王珊 萨师煊编 高等教育出版社

2、逻辑分析与详细分析

2.1系统功能

 (1)本系统具备以下功能

²  进货管理:根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。综合查询打印计划进货与入库记录及金额。

²  销售管理:商品正常销售、促销与限量、限期及禁止销售控制。综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。按多种方式统计生成销售排行榜,灵活的查看和打印商品销售日、月、年报表。

²  库存管理: 综合查询库存明细记录。库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。

²  人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。

(2)系统结构

系统总体结构

2.2、流程图

                              

2.3、户类型与职能

(1)、员工(营业员):

²  通过商品条形码扫描输入商品到购买清单

²  操作软件计算交易总金额

²  操作软件输出交易清单

²  对会员进行会员卡扫描以便打折

(2)、:超市经理

²  操作软件录入商品,供货商,厂商

²  操作软件制定进货计划

²  查询打印计划进货与入库记录

²  操作软件控制商品销售与否

²  查询打印销售情况

²  操作软件生成销售排行榜

²  查询库存明细记录

²  根据软件发出的库存告警进行入货

²  操作软件进行盘点计算

(3)、总经理:

²  基本信息登记管理

²  员工操作权限管理

²  客户销售权限管理

3、超市销售系统概念设计文档

(1)、系统ER图


(2)、系统ER图说明

1)  商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售;

2)  每个顾客可以购买多种商品,不同商品可由不同顾客购买;

3)  每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。

(3)、视图设计

1)  交易视图(v_Dealing)——用于查询交易情况的视图;

2)  计划进货视图(v_PlanStock)——用于查询进货计划的视图;

3)  销售视图(v_Sale)——用于查询销售明细记录的视图;

4)   入库视图(v_Stock)——用于查询入库情况的视图。

4、逻辑设计文档   

(1)、系统关系模型

a)  商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号,供货商编号)

b)  用户表(用户编号,用户名称,用户密码,用户类型)

c)  会员表(会员编号,会员卡号,累积消费金额,注册日期)

d)  销售表(销售编号,商品编号,销售数量,销售金额,销售日期)

e)  交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)

f)  进货入库表(入库编号,入库商品编号,入库数量,单额,总额,入库日期,计划进货日期,入库状态)

g)  供货商表(供货商编号,供货商名称,供货商地址,供货商电话)

h)  厂商表(厂商编号,厂商名称,厂商地址,厂商电话)

(2)、系统数据库表结构

数据库表索引

商品信息表(MerchInfo)

用户表(User)

会员表(Menber)

销售表(Sale)

交易表(Dealing)

入库纪录表(Stock)

供货商表(Provide)

厂商表(Provide)

5、物理设计文档

/*----------创建数据库----------*/

create database SuperMarketdb

on primary

(

name=SuperMarketdb,

filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.mdf',

size=100MB,

maxsize=200MB,

filegrowth=20MB

)

log on

(

name=SuperMarketlog,

filename='C:\Program Files\Microsoft SQL Server\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 ,

    DealingPrice money NOT NULL ,

    UserName varchar(25) NULL ,

    MemberCard varchar(20) NULL

)

GO

/*创建厂商表*/

CREATE TABLE Factory (

    FactoryID varchar(10) Primary key ,

    FactoryName varchar(50) NOT NULL ,

    FactoryAddress varchar(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 ,

    CautionNum int NOT NULL ,

    PlanNum int NOT NULL ,

    BarCode varchar(20) Unique NOT NULL ,

    SalesProPrice money NULL ,

    SalesProDateS datetime NULL ,

    SalesProDateE datetime NULL ,

    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 ,

    ProvideAddress varchar(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 ADD

    CONSTRAINT [FK_MerchInfo_Factory] FOREIGN KEY

    (

        [FactoryID]

    ) REFERENCES Factory (

        [FactoryID]

    ),

    CONSTRAINT [FK_MerchInfo_Provide] FOREIGN KEY

    (

        [ProvideID]

    ) REFERENCES Provide (

        [ProvideID]

    )

GO

/*销售表中商品编号与商品信息表之间的外键约束*/

ALTER TABLE Sale ADD

    CONSTRAINT [FK_Sale_MerchInfo] FOREIGN KEY

    (

        [MerChID]

    ) REFERENCES MerchInfo (

        [MerchID]

    ) ON DELETE CASCADE

GO

/*入库表中商品编号与商品信息表之间的外键约束*/

ALTER TABLE Stock ADD

    CONSTRAINT [FK_Stock_MerchInfo] FOREIGN KEY

    (

        [MerchID]

    ) REFERENCES MerchInfo (

        [MerchID]

    ) ON DELETE CASCADE

GO

/*----------创建索引----------*/

/*在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引*/

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_Dealing

AS

SELECT DealingDate as 交易日期,

       UserName as 员工名称,

       MemberCard as 会员卡号,

       DealingPrice as 交易金额

FROM Dealing

GO

/*创建用于查询进货计划的视图*/

CREATE VIEW v_PlanStock

AS

SELECT 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

      and Stock.StockState=0

GO

/*创建用于查询销售明细记录的视图*/

CREATE VIEW v_Sale

AS

SELECT MerchInfo.MerchName as 商品名称,

       MerchInfo.BarCode as 条形码,

       MerchInfo.MerchPrice as 商品价格,

       Sale.SalePrice as 销售价格,

       Sale.SaleNum as 销售数量,

       Sale.SaleDate as 销售日期

FROM Sale INNER JOIN

      MerchInfo ON Sale.MerChID = MerchInfo.MerchID

GO

/*创建用于查询入库情况的视图*/

CREATE VIEW v_Stock

AS

SELECT 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

      and Factory.FactoryID=MerchInfo.FactoryID

      and Stock.StockState=1

GO

6、小结

和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本, 提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力, 提供有效的技术保障。

由于开发者能力有限,本系统难免会出现一些不足之处,例如:

²  本系统只适合中小型超市使用,不能适合大型超市使用;

²  超市管理系统涉及范围宽,要解决的问题多,功能复杂,实现困难,但由于限于时间,本系统只能做出其中的一部分功能;

对于以上出现的问题,我们深表歉意,如发现还有其它问题,希望老师批评指正。

更多相关推荐:
Visual C++超市管理系统课程设计报告

超市管理系统设计课程设计报告书设计名称VisaulC课程设计题目学生姓名林业辉张玉山覃美芬专业计算机科学与技术数字媒体班别计科本092班学号090440220109044022170904402228指导老师日...

超市管理系统课程设计报告说明书

实践教学兰州理工大学计算机与通信学院20xx年秋季学期课程设计题目专业班级计算机科学与技术1班姓名学号指导教师成绩摘要针对用户对超市管理系统要求本应用软件运用C语言编写通过对系统程序的编写实现了基本的超市商品管...

java超市管理系统课程设计报告

湖南文理学院课程设计题目:超市管理系统系别计算机科学与技术班级计科12102学生姓名学号指导教师谭文学课程设计进行地点:第三实验楼A617任务下达时间:20##年5月21日起止日期:20##年5月21日起至20…

超市信息管理系统课程设计报告

目录摘要2第1章概述311超市管理系统实现的目标312超市管理系统实现方案3第2章系统设计421系统功能模块设计4第3章数据库设计531数据库概念结构设计532登录模块的设计界面633系统的实现7参考文献81摘...

C++《超市商品管理系统》课程设计报告

《面向对象程序设计》课程设计报告学院:_电气与信息工程学院专业班级:计科13-01班学生姓名:学号:设计地点(单位)_______计算机自主学习中心设计题目:________超市商品管理系统完成日期:20##年…

超市管理信息系统课程设计报告

目录1需求分析111开发背景112系统可行性分析2111管理可行性分析2112经济可行性分析2113运行上的可行性2114社会可行性分析2115可行性研究结论32系统功能分析421系统功能422系统功能概述53...

C++超市管理系统课程设计

一设计题目问题描述和要求1题目人事管理系统2问题描述某小型公司主要有四类人员经理兼职技术人员销售经理和兼职推销员现在需要存储这些人员的姓名编号级别当月薪水计算月薪总额并显示全部信息要求1其中人员编号在生成人员信...

超市管理系统报告

河南科技大学课程设计说明书课程名称数据库课程设计题目超市管理系统院系电子信息工程学院班级计科102学生姓名何萍指导教师赵海霞王志强刘中华日期20xx0611课程设计任务书1第一章绪论311开发背景312开发环境...

免费~[论文]管理信息系统课程设计之超市管理系统

标准论文管理信息系统课程设计报告步步高超市管理系统开发班级工程管理姓名学号05003指导教师老师设计时间20xx122920xx19前言管理信息系统是经济管理学院各专业开设的一门理论与实践结合较强的核心课程工程...

数据库超市管理系统课程设计报告

目录前言1绪论201开发背景202软件支撑环境及开发工具2第一章需求分析411总体需求分析412需求实现4第二章系统设计521系统设计结构图6第三章数据库设计631ER图732逻辑结构设计8第四章详细模块实现9...

仓库管理系统 毕业设计_文献综述

文献综述题目仓库管理系统设计与实现学生姓名xxxxx专业班级网络工程信息安全xxxx班学号54xxxxxxxxxx院系计算机与通信工程学院指导教师职称xx讲师完成时间20xx年5月12日仓库管理系统设计与实现专...

软件项目管理课程设计仓库管理系统

目录一课程设计的目的及要求1二课程设计的任务1三课程设计题目1四课程设计的内容及主要步骤1五课程设计总结4一课程设计的目的及要求在掌握使用ClearCase和ClearQuest对软件项目进行配置管理的基础上每...

超市管理系统课程设计报告(17篇)