资源描述
校园超市商品管理系统
24
2020年5月29日
文档仅供参考
数据库原理
课程设计任务书
题目名称
校园超市商品管理系统
学生学院
信息科学与技术学院
专业班级
软件工程
姓 名
余璐
学 号
一、 需求分析
1. 需求调查
为了更好的设计数据库的功能结构,我们调查了学校门口的两个比较典型的小超市——宏得利超市和佳子缘超市。她们都是机构简单,个体经营,雇佣少量员工,有会员卡制度,分工不太明确,商品种类相对侧重日用、食品、文具、运动用品等。经过与她们的交流我们总结了一些她们的经营结构和具体需求。以下我们进行具体介绍:
⑴所选超市的组织机构、组织部门的组成以及各部门的职责
l 经理:(1)经理管理超市整体运营。
(2)商品进行定价、打折、促销计划,决策会员的优惠情况。
(3)管理员工的信息,进行工资的结算,裁定以及员工的如用辞退等。
l 收银:进行销售结算并开具发票,记录交易的具体信息。
l 采购:根据超市业务需求和各类商品的剩余量及时的制定采购计划。经由经理批准于供货商之间进行采购活动。
l 理货:整理货架的各类商品,及时补充货架,对于货余不足或销量很好的商品反映给采购部门。
⑵各部门的业务活动及新系统的各种要求:
:经理能够经过系统输入个人用户密码随时查询超市的经营状况,超市年度、季度、月份或某天的营业额、利润,以及各类商品的信息。除此之外,还要了解供货商的分类信息。以便作整体的经营策略。
经理能够经过视图察看并管理所有员工的基本信息,并组织集体为员工过生日。
l 收银员经过扫描条形码或输入商品编号(名称)能够获得各种商品的信息(包括商品名称、价格、类别、剩余数量等),对顾客的各种商品价格加和计算出本次交易的总金额,同时经过计算机自动找零,如果顾客使用会员卡,经过刷卡进行结算,最后打印发票并制作流水账号存入数据库,记录本次交易细节。
l 采购部门,经过系统视图能够容易的查询各类商品的剩余量,根据超市的需求和经营策略制出需要采购的商品清单,报告经理获得批准后,与供货商之间进行采购活动,并将采购的具体信息存入数据库。
l 员工输入自己的用户密码能够察看个人信息。
l 各员工根据用户ID的不同拥有不同的权限,各用户经过密码可登陆和察看相应表格和视图。
2. 数据流程图
(1) 基本符号
外部实体
处理
数据流
数据存储
图1 数据流程图基本符号
(2) 数据流程图
销售
人员
超市处理系统
供货商
商品录入信息
计划进货单
供货单
小票
图2-1 顶层数据流程图
销售
人员
商品录入信息
P1
销售
小票
商品信息表
P2
采购
业务清单
商品信息
商品信息
供货商
计划进货信息
供货信息
图2 第2层数据流程图
销售
人员
P1.1
快速商品录入
P1.3
支持会员卡打折
P1.2
条形码扫描
P1.4
交易总额
P1.5
打印交易清单
商品录入信息
条形码扫描
商品信息表
商品信息
商品信息
商品信息
商品信息
会员信息表
会员信息
业务信息
业务清单
销售表
业务信息
业务清单
小票
图3-1 第三层数据流程图
供货表
供应商
计划进货视图
计划进货信息
P2.1
按供应商汇总
供应商表
供应商信息
计划进货信息
计划进货信息
P2.2
核对
供货信息
错误供货信息
正确供货信息
P2.3
编制供货表
供货表信息
P2.4
修改商品信息
正确供货信息
更新商品信息信息
商品信息表
图3-2 第三层数据流程图
(3) 数据字典
根据以上需求分析与数据流图建立数据字典
数据汇总
商品信息数据
商品编号,商品名称,价格,库存数量,库存报警数量,计划进货数,条形码,促销价格,促销起日期,促销止日期,允许打折,允许销售, 生产日期, 生产商ID
用户数据
用户编号,姓名,用户密码,用户类型,用户生日
会员数据
会员ID,会员卡号,累积消费金额,注册日期
销售数据
销售编号,商品编号, 用户编号,销售日期,销售数量,销售金额
供货数据
供货编号,商品编号,供货商ID,入库数量,入库单价,进货日期
供货商数据
供货商ID,供货商名称,供货商地址,供货商电话
厂商数据
厂商ID,厂商名称,厂商地址,厂商电话
数据项
数据项名
数据类型
长度
值域范围
说明
商品编号
Varchar
10
字母和数字组成
商品的唯一编号
商品名称
Varchar
50
商品的名字
价格
Money
4
数字1-9组成
商品的价格
库存数量
Int
4
大于0
仓库商品数量
库存报警数量
Int
4
小于4
在报警情况下的仓库商品数量
计划进货数
Int
4
大于0
计划进货的数量
条形码
Varchar
50
数字1-9组成
每种商品具有唯一的条形码
促销价格
Money
4
数字1-9组成
促销的商品价格
促销起日期
Datetime
8
促销开始的日期
促销止日期
Datetime
8
促销截止的日期
允许打折
Int
4
允许销售
Int
4
生产商ID
Varchar
10
字母和数字组成
生产商唯一的编号
生产日期
Datetime
8
生产商品的日期
用户编号
varchar
10
用户唯一的编号
姓名
Varchar
25
用户的名字
用户密码
Varchar
50
用户的密码
用户类型
Int
4
职工或经理
用户生日
Datetime
8
数字1-9组成
用户的出生日期
会员ID
Varchar
10
字母和数字组成
会员的唯一编号
会员卡号
Varchar
20
会员卡的编号
累积消费金额
Money
4
数字1-9组成
会员消费的累积金额
注册日期
Datetime
8
注册成会员的日期
销售编号
Varchar
10
字母和数字组成
销售商品唯一编号
销售日期
Datetime
8
销售商品的日期
销售数量
Varchar
4
大于0
销售商品的数量
销售金额
Money
4
数字1-9组成
销售商品的金额
入库数量
Int
4
大于0
进货入库的数量
入库单价
Money
4
数字1-9组成
进货入库的单价
进货日期
Datetime
8
进货的日期
供货商ID
varchar
10
字母和数字组成
供货商的唯一编号
供货商名称
Varchar
50
供货商的名字
供货商地址
Varchar
250
供货商的联系地址
供货商电话
Varchar
25
数字1-9组成
供货商的联系电话
厂商ID
varchar
10
字母和数字组成
厂商的唯一编号
厂商名称
Varchar
50
厂商的名称
厂商地址
Varchar
250
厂商的联系地址
厂商电话
Varchar
25
数字1-9组成
厂商的联系电话
供货编号
varchar
10
字母和数字组成
供货表的编号
数据结构
编号:01 名称:商品信息 别名:
简述:对商品编号及对商品其它属性的描述
组成:商品编号,商品名称,价格,库存数量,库存报警数量,计划进货数,条形码,促销价格,促销起日期,促销止日期,允许打折,允许销售, 生产日期, 生产商ID
编号:02 名称:用户信息 别名:
简述:对于用户信息的描述
组成:用户编号,姓名,用户密码,用户类型,用户生日
编号:03 名称:会员信息 别名:
简述:对会员信息的描述
组成:会员ID,会员卡号,累积消费金额,注册日期
编号:04 名称:销售信息 别名:
简述:对所有销售记录的描述
组成:销售编号,商品编号, 用户编号,销售日期,销售数量,销售金额
编号:05 名称:供货信息 别名:
简述:对所有供货信息的描述
组成:供货编号,商品编号,供货商ID,入库数量,入库单价,进货日期
编号:06 名称:供货商信息 别名:
简述:对所有供货商信息的描述
组成:供货商ID,供货商名称,供货商地址,供货商电话
编号:07 名称:厂商信息 别名:
简述:对所有商品的生产厂商信息的描述
组成:厂商ID,厂商名称,厂商地址,厂商电话
编号:08 名称:计划进货信息 别名:
简述:对所有需要进的商品信息的描述
组成:商品编号,商品名称,计划进货数
编号:09 名称:销售汇总信息 别名:
简述:对销售汇总信息的描述
组成:销售编号,商品编号, 用户编号,销售日期,销售数量,销售金额
编号:10 名称:供货汇总信息 别名:
简述:对供货汇总信息的描述
组成:商品编号,供货商ID,入库数量,入库单价,进货日期,条形码,生产商ID
数据流
编号:01 名称:销售过程 别名:
简述:销售过程的信息流
组成:商品信息 ,用户信息,销售信息
若为数据流
来源:商品信息 ,用户信息
去向:销售信息
峰值流量:
编号:02 名称:计划进货过程 别名:
简述:形成计划进货信息中的数据流
组成:供货商信息,计划进货信息,商品信息
若为数据流
来源:供货商信息,商品信息
去向:计划进货信息
峰值流量:
编号: 03 名称:供货过程 别名:
简述:进货过程中的数据流
组成:供货商信息,计划进货信息,供货信息
若为数据流
来源:供货商信息,计划进货信息
去向:供货信息
峰值流量:
编号:04 名称:进货结束 别名:
简述:进货后的信息流
组成:供货信息,商品信息,计划进货信息
若为数据流
来源:供货信息
去向:商品信息,计划进货信息
峰值流量:
数据存储
编号:01 名称:商品信息表 别名:
简述:销售和进货过程中对商品信息表的修改
组成:商品信息,销售信息,供货信息
关键字:商品编号
相关处理:P1.1,P1.2,P2.4
记录长度:
记录数:
数据量:
编号:02 名称: 销售表 别名:
简述:根据销售过程编制销售表
组成:销售信息,商品信息
关键字:销售编号
相关处理:P1.4
记录长度:
记录数:
数据量:
编号:03 名称: 供货表 别名:
简述:进货后编制供货表
组成:供货信息,计划进货信息
关键字:商品编号,供货商ID
相关处理:P2.3
记录长度:
记录数:
数据量:
编号:04 名称:小票 别名:
简述:销售过程中形成的业务清单
组成:销售信息
关键字:销售编号
相关处理:P1.5
记录长度:
记录数:
数据量:
编号:05 名称:会员表 别名:
简述:销售过程中对会员信息的修改
组成:销售信息,会员信息
关键字:销售编号,会员ID
相关处理:P1.3
记录长度:
记录数:
数据量:
处 理
编号:P1.1 名称:快速商品录入
输入信息:商品录入信息
数据存储:商品信息表
输出信息:商品信息 激发条件:销售人员录入商品信息
简要说明:商品没有条形码,由销售人员录入
加工逻辑:由商品编号查询商品信息
出错处理:查询商品信息表
执行频率:
编号: P1.2 名称:条形码扫描
输入信息:条形码扫描
数据存储:商品信息表
输出信息:商品信息 激发条件:扫描商品条形码
简要说明:一般情况下的商品录入方式
加工逻辑:根据商品条形码查询商品信息
出错处理:查询商品信息表
执行频率:
编号:P1.3 名称:支持会员卡打折
输入信息:商品信息 会员信息
数据存储:会员信息表
输出信息:业务信息 会员信息 激发条件:是否是会员购买商品
简要说明:跟据是否是会员购买商品
加工逻辑:根据商品信息及会员ID查询并修改会员信息
出错处理:查询会员表
执行频率:
编号:P1.4 名称:交易总额
输入信息:业务信息
数据存储:销售表
输出信息:业务信息,业务清单 激发条件:销售时形成业务信息
简要说明:销售过程中的必要过程
加工逻辑:汇总所有业务信息,形成销售信息
出错处理:手工计算业务信息
执行频率:
编号:P1.5 名称:打印交易清单
输入信息:业务清单
数据存储:小票
输出信息:业务清单 激发条件:形成销售信息
简要说明:形成业务信息-小票给顾客
加工逻辑:根据销售信息形成小票
出错处理:手工编制小票
执行频率:
编号:P2.1 名称:按供货商汇总
输入信息:计划进货信息,供应商信息
数据存储:
输出信息:计划进货信息 激发条件:形成计划进货信息
简要说明:根据计划进货视图及供货商表形成计划进货信息
加工逻辑:按计划进货视图的信息查询供货商表,形成计划进货信息
出错处理:调查商品信息,手工形成计划进货信息
执行频率:
编号:P2.2 名称:核对
输入信息:供货信息
数据存储:供应商表
输出信息:正确供货信息,错误供货信息 激发条件:供货商提供供货信息
简要说明:由供货商提供供货信息
加工逻辑:核对供货信息,形成正确的供货信息
出错处理:核对计划进货视图及供货商表,形成正确的供货商信息
执行频率:
编号:P2.3 名称:编制供货表
输入信息:正确供货信息
数据存储:供货表
输出信息: 供货表信息 激发条件:形成正确的供货信息
简要说明:跟据正确的供货信息形成供货表
加工逻辑:将供货表信息写入供货表
出错处理:手工记录供货信息
执行频率:
编号:P2.4 名称:修改商品信息
输入信息:正确供货信息
数据存储:商品信息表
输出信息:更新商品信息 激发条件:形成正确的供货信息
简要说明:将所进商品录入商品信息表
加工逻辑:将正确的商品信息按商品编号录入商品信息表
出错处理:手工录入商品信息
执行频率:
二、 概念结构设计
(1)E-R图
销售
m
n
m
n
n
1
m
用户
用户编号
姓名
用户类型
用户生日
用户密码
销售编号
销售日期
商品
商品编号
ID
商品名
价格
允许打折
促销价格
供货
供货商
供应商ID
供货商名称
供货商地址
供货商电话
生产商
生产
厂商ID
厂商名称
厂商地址
厂商电话
消费
会员
会员卡号
注册时间
积累金额
会员ID
n
允许销售
生产日期
入库数量
入库单价
进货日期
销售数量
供货编号
(2)、系统ER图说明
1) 商店中的所有用户(员工)能够销售多种商品,每种商品可由不同用户(员工)销售;
2) 每个顾客能够购买多种商品,不同商品可由不同顾客购买;
3) 每个供货商能够供应多种不同商品,每种商品可由多个供应商供应。
(3)、视图设计
1) 计划进货视图(v_PlanStock)——用于查询进货计划的视图;
2) 销售视图(v_Sale)——用于查询销售明细记录的视图;
供货视图(v_Stock)——用于查询供货情况的视图。
三、逻辑结构设计
关系模式
(4) 商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,生产日期,生产商ID)
(5) 用户表(用户编号,姓名,用户密码,用户类型,用户生日)
(6) 会员表(会员ID,会员卡号,累积消费金额,注册日期)
(7) 销售表(销售编号,商品编号,用户编号,销售数量,销售金额,销售日期)
(8) 供货表(供货编号,商品编号,供货商ID,入库数量,入库单价,进货日期)
(9) 供货商表(供货商ID,供货商名称,供货商地址,供货商电话)
(10) 厂商表(厂商ID,厂商名称,厂商地址,厂商电话)
四、 物理结构设计
/*----------创立基本表----------*/
/*创立销售表*/
CREATE TABLE 销售表
(
销售编号 Varchar (10) Primary key ,
销售日期 datetime NOT NULL ,
销售金额 money NOT NULL ,
用户编号 varchar(10) NULL ,
销售数量 Varchar(4) NOT NULL,
商品编号 Varchar(10) NOT NULL
)
/*创立厂商表*/
CREATE TABLE 厂商表
(
厂商ID varchar(10) Primary key ,
厂商名称 varchar(50) NOT NULL ,
厂商地址 varchar(250) NULL ,
厂商电话 varchar(25) NULL
)
/*创立会员表*/
CREATE TABLE 会员表
(
会员ID varchar(10) Primary key ,
会员卡号 varchar(20) NOT NULL ,
累计消费金额 money NOT NULL ,
注册日期 datetime NOT NULL
)
/*创立商品信息表*/
CREATE TABLE 商品信息表
(
商品编号 varchar(10) Primary key ,
商品名称 varchar(50) Unique NOT NULL ,
价格 money NOT NULL ,
库存数量 varchar(4) NOT NULL ,
库存报警数量 varchar(4) NOT NULL ,
计划进货数量 varchar(4) NOT NULL ,
条形码 varchar(50) Unique NOT NULL ,
促销价格 money NULL ,
促销起日期 datetime NULL ,
促销止日期 datetime NULL ,
允许打折 varchar NOT NULL ,
允许销售 varchar NOT NULL ,
生产商ID Varchar(10) NOT NULL ,
生产日期 Datetime NOT NULL
)
/*创立供货商表*/
CREATE TABLE 供货商表
(
供货商ID varchar(10) Primary key ,
供货商名称 varchar(50) NOT NULL ,
供货商地址 varchar(250) NULL ,
供货商电话 varchar(25) NULL
)
/*创立供库表*/
CREATE TABLE 供货表
(
供货编号 varchar(10) Primary key ,
商品编号 varchar(10) NOT NULL ,
供货商ID varchar(10) NOT NULL ,
入库单价 money NOT NULL ,
入库数量 varchar(4) NOT NULL ,
进货日期 datetime NOT NULL
)
/*创立用户表*/
CREATE TABLE 用户表
(
用户编号 varchar(10) Primary key ,
姓名 varchar(25) NOT NULL ,
用户密码 varchar(50) NOT NULL ,
用户类型 varchar(4) NOT NULL ,
用户生日 Datetime NULL
)
/*----------创立视图----------*/
/*创立用于查询计划进货的视图*/
CREATE VIEW 计划进货视图
AS
SELECT 商品信息表.商品编号,商品名称,条形码,生产商ID,
供货商表.供货商ID,计划进货数量
FROM 商品信息表,供货商表,供货表
Where 商品信息表.商品编号 = 供货表.商品编号
and 供货商表.供货商ID=供货表.供货商ID
and 商品信息表.库存数量<=1 /*创立用于查询销售明细记录的视图*/
/*创立用于查询销售明细记录的视图*/
CREATE VIEW 销售视图
AS
SELECT 销售编号,商品编号, 用户编号,销售日期,
销售数量,销售金额
FROM 销售表
/*创立用于查询供库情况的视图*/
CREATE VIEW 供货视图
AS
SELECT 商品信息表.商品编号,供货商ID,入库数量,
入库单价,进货日期,条形码,生产商ID
FROM 商品信息表,供货表
Where 商品信息表.商品编号 = 供货表.商品编号
六、 主要查询功能及SQL语句
l 查询所有用户的信息
SELECT * FROM 用户表;
l 查询某天销售的信息
SELECT * FROM 销售表 WHERE 销售日期=" .01.01";
l 查询某一供货商的所有供货信息
SELECT * FROM 供货表 WHERE 供货商ID=01234;
l 查询所有供货商的电话
SELECT 供货商电话 FROM 供货商表;
l 查询所有允许打折的商品信息
SELECT * FROM 商品信息表 WHERE 允许打折 NOT NULL;
l 查询某一商品库存
SELECT 库存数量 FROM 商品信息表 WHERE 商品编号=01234;
展开阅读全文