超市管理系统数据库设计.doc
《超市管理系统数据库设计.doc》由会员分享,可在线阅读,更多相关《超市管理系统数据库设计.doc(30页珍藏版)》请在冰点文库上搜索。
数据库原理及应用
实践报告
学号姓名班级
2012.6
内容要求:
1数据库功能描述
超市管理系统是一个超市不可缺少的部分,它的内容对于超市的决策者和管理者来说都至关重要,所以超市管理系统应该能够为用户提供充足的信息和快捷的销售,查询手段。
但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
超市销售管理系统是为帮助企业有效提高销售管理而开发的。
该数据库包括商品、职员、销售信息、仓库等模块,并提供了查询、修改、添加、删除等功能。
销售管理系统能简化企业在销售管理方面的复杂性,和减少在管理上的庞大开销。
随着计算机行业的飞速发展,人类已经进入;了信息时代,社会中的各个单位、部门也陆续开始使用软件化的管理模式,由于他具有方便、准确、快速、灵活的特点,使得在管理上实现了自动化、一体化、多元化的目标,迅速准确地完成各种工作,大大的提高了企业的销售管理效率。
2数据库设计
2.1系统需求分析
顶层图
0层
仓库管理层
销售管理层
人事管理层
(1)商品清单
中文字段名
字段类型
长度
主键/外键
字段值约束
商品号
char
13
P
NOTNULL
名称
char
10
NOTNULL
进价
smallmoney
10
NOTNULL
保质期
smalldatetime
10
NOTNULL
生产日期
smalldatetime
10
NOTNULL
仓库号
char
10
F
NOTNULL
存量
char
10
NOTNULL
基础售价
smallmoney
10
NOTNULL
说明:
此表存放商品信息
中文字段名
字段类型
长度
主键/外键
字段值约束
员工号
char
13
P
NOTNULL
姓名
char
10
NOTNULL
性别
char
2
NOTNULL
职称
char
10
NOTNULL
年龄
char
2
工资
smallmoney
10
NOTNULL
电话
char
11
NOTNULL
(2)员工清单
说明:
此表存放员工信息
(3)会员清单
中文字段名
字段类型
长度
主键/外键
字段值约束
会员号
char
13
P
NOTNULL
姓名
char
10
NOTNULL
身份证号
char
18
NOTNULL
积分
int
10
NOTNULL
消费金额
smallmoney
10
NOTNULL
余额
smallmoney
10
NOTNULL
说明:
此表存放会员信息
(4)供应清单
中文字段名
字段类型
长度
主键/外键
字段值约束
商品号
char
13
P/F
NOTNULL
供应商号
char
20
F
NOTNULL
数量
int
20
NOTNULL
单价
smallmoney
10
NOTNULL
日期
smalldatetime
10
NOTNULL
员工号
char
13
P
NOTNULL
说明:
此表存放供应采购商品信息
(5)销售清单
中文字段名
字段类型
长度
主键/外键
字段值约束
收银台号
char
10
P
NOTNULL
商品号
char
13
P/F
NOTNULL
数量
int
10
NOTNULL
日期
smalldatetime
10
NOTNULL
会员号
char
13
F
NOTNULL
说明:
此表存放销售商品信息
(6)摆放清单
中文字段名
字段类型
长度
主键/外键
字段值约束
货架号
char
10
P
NOTNULL
商品号
char
13
P/F
NOTNULL
数量
int
10
NOTNULL
说明:
此表存放货架摆放信息
(7)打折清单
中文字段名
字段类型
长度
主键/外键
字段值约束
折扣号
char
8
P
NOTNULL
商品号
char
13
P/F
NOTNULL
售价
smallmoney
10
NOTNULL
说明:
此表存放商品打折信息
(8)职守清单
中文字段名
字段类型
长度
主键/外键
字段值约束
员工号
char
13
P/F
NOTNULL
收银台号
char
10
P/F
NOTNULL
时间段
char
20
NOTNULL
说明:
此表存放员工直属信息
(9)供应商清单
中文字段名
字段类型
长度
主键/外键
字段值约束
供应商号
char
20
P
NOTNULL
供应商名称
char
20
NOTNULL
电话
char
11
NOTNULL
说明:
此表存放供应商信息
(10)货架清单
中文字段名
字段类型
长度
主键/外键
字段值约束
货架号
char
8
P
NOTNULL
地址
char
20
NOTNULL
员工号
char
13
F
NOTNULL
说明:
此表存放货架分布及负责人信息
(11)仓库清单
中文字段名
字段类型
长度
主键/外键
字段值约束
仓库号
char
10
P
NOTNULL
地址
char
20
NOTNULL
员工号
char
13
F
NOTNULL
说明:
此表存放仓库信息
(12)收银台清单
中文字段名
字段类型
长度
主键/外键
字段值约束
收银台号
char
10
P
NOTNULL
台内现金
smallmoney
10
NOTNULL
入台现金
smallmoney
10
NOTNULL
说明:
此表存放收银台信息
(13)折扣清单
中文字段名
字段类型
长度
主键/外键
字段值约束
折扣号
char
8
P
NOTNULL
折扣额度
smallmoney
10
NOTNULL
说明:
此表存放商品折扣信息
(14)部门清单
中文字段名
字段类型
长度
主键/外键
字段值约束
部门名称
char
10
P
NOTNULL
人数
char
10
NOTNULL
主管
char
13
F
NOTNULL
说明:
此表存放部门信息
(15)任职清单
中文字段名
字段类型
长度
主键/外键
字段值约束
员工号
char
13
P/F
NOTNULL
部门
char
10
P/F
NOTNULL
说明:
此表存放员工任职信息
文件条目
(1)文件名:
商品清单
组成:
{商品号+仓库号+存量+生产日期+保质日期+基础售价+进价}
组织:
按商品编号递增排列
(2)文件名:
员工清单
组成:
{职工号+姓名+性别+职称+年龄+工资+电话}
组织:
按职工编号递增排列
(3)文件名:
会员清单
组成:
{会员号+姓名+身份证号+积分+消费金额+余额}
组织:
按会员号递增排列
(4)文件名:
仓库清单
组成:
{仓库号号+地址+员工号}
组织:
按仓库号递增排列
(5)文件名:
销售清单
组成:
{商品号+收银台号+日期+数量+会员号}
组织:
按收银台号递增排列
(6)文件名:
供应商清单
组成:
{供应商号+供应商名称+电话}
组织:
按供应商号递增排列
(7)文件名:
部门清单
组成:
{部门名称+人数+主管}
组织:
按部门名称排序
加工说明
(1)加工名:
1:
查询
加工逻辑:
根据要查询的库存信息,检索出库存信息明细表
输入流:
库存信息查询,发出库存信息请求
输出流:
库存信息清单,进货信息请求
(2)加工名:
1:
更新
根据进货信息或销售信息更新库存信息
输入流:
已进货信息,销售信息
输出流:
发出库存检索请求
(3)加工名:
2:
查询
根据要查询的销售信息,检索出销售信息明细表
输入流:
销售信息查询
输出流:
销售清单,销售单
(4)加工名:
2:
更新
加工逻辑:
根据销售信息更细销售清单
输入流:
前台销售信息,库存信息
输出流:
更新库存清单
(5)加工名:
3:
查询
加工逻辑:
根据要查询的进货信息,检索出进货信息明细表
输入流:
进货信息查询,发出进货/采购清单查询
输出流:
库存信息清单,已进货信息,新供货商信息,进货单信息清单,采购单,进货信息请求,进货/采购清单检索结果
(6)加工名:
3:
更新
加工逻辑:
根据进货信息更新进货清单
输入流:
进货信息请求,进货单
输出流:
发出进货/采购清单查询
(7)加工名:
4:
查询
加工逻辑:
根据输入要查询的员工信息或供货商信息,检索出相应的结果
输入流:
员工信息查询,供货商信息查询,发出员工/供货商清单查询
输出流:
已有供货商信息,供货商信息清单,员工信息清单,员工/供货商清单检索结果
(8)加工名:
4:
更新
加工逻辑:
根据输入的员工信息或新供货商信息更新相应的员工清单或供货商清单
输入流:
员工信息,新供货商信息清单,员工/供货商清单检索结果
2.2数据库概念结构设计
全局E-R图
2.3数据库逻辑结构设计
商品(商品号,名称,进价,保质期,生产日期,基础售价)
摆放(商品号,货架号,数量)
供应(商品,供应商,数量,日期,金额)
销售(商品号,收银台号,日期,数量,会员)
存贮(商品号,仓库号,数量)
打折(商品号,折扣,售价)
员工(员工号,姓名,性别,职称,年龄,工资,电话)
打理(员工号,货架,时间)
管理(员工号,仓库)
职守(员工号,收银台号,时间段)
直属(员工号,部门)
采购(员工号,供应商,日期)
3数据库实施
3.1数据库架构图
超市管理系统
收银台管理
货架管理
部门管理
会员管理
会员添加功能
会员删除功能
钱款添加功能
钱款删除功能
货物添加功能
货物删除功能
货物添加功能
人员添加功能
人员删除功能
进货管理
仓库管理
3.2数据表生成脚本初始数据录入脚本
createtable商品(
商品号char(13)constraint商品_primprimarykey,
名称char(10),
进价smallmoney,
基础售价smallmoney,
保质期smalldatetime,
生产日期smalldatetime,
仓库号char(10)constraint仓库_商品_foreforeignkeyreferences仓库(仓库号),
存量char(10),
)
createtable员工(
员工号char(13)constraint员工_primprimarykey,
姓名char(10),
性别char
(2)constraint员工_性别_chkcheck(性别='男'or性别='女'),
职称char(10),
年龄char
(2)constraint员工_年龄_chkcheck(年龄>=16and年龄<=60),
工资smallmoney,
电话char(11),
)
createtable会员(
会员号char(13)constraint会员_primprimarykey,
姓名char(10),
身份证号char(18),
积分int,
消费金额smallmoney,
余额smallmoney,
)
createtable供应(
商品号char(13)constraint商品_供应_foreforeignkeyreferences商品(商品号),
供应商号char(20)constraint供应商_供应_foreforeignkeyreferences供应商(供应商号),
数量int,
单价smallmoney,
日期smalldatetime,
员工号char(13)constraint员工_供应_foreforeignkeyreferences员工(员工号),
constraint供应_primprimarykey(商品号,员工号),
)
createtable销售(
商品号char(13)constraint商品_销售_foreforeignkeyreferences商品(商品号),
收银台号char(10)constraint收银台_销售_foreforeignkeyreferences收银台(收银台号),
日期smalldatetime,
数量int,
会员号char(13)constraint会员号_销售_foreforeignkeyreferences
会员(会员号),
constraint销售_primprimarykey(商品号,收银台号),
)
createtable摆放(
商品号char(13)constraint商品_摆放_foreforeignkeyreferences商品(商品号),
货架号char(8)constraint货架_摆放_foreforeignkeyreferences货架(货架号),
数量int,
constraint摆放_primprimarykey(商品号,货架号),
)
createtable打折(
商品号char(13)constraint商品_打折_foreforeignkeyreferences商品(商品号),
折扣号char(8)constraint折扣_打折_foreforeignkeyreferences折扣(折扣号),
售价smallmoney,
constraint打折_primprimarykey(商品号,折扣号),
)
createtable值守(
员工号char(13)constraint员工_值守_foreforeignkeyreferences员工(员工号),
收银台号char(10)constraint收银台_值守_foreforeignkeyreferences收银台(收银台号),
时间段char(20),
constraint值守_primprimarykey(员工号,收银台号),
)
createtable供应商(
供应商号char(20)constraint供应商_primprimarykey,
供应商名称char(20),
电话char(11),
)
createtable货架(
货架号char(8)constraint货架_primprimarykey,
地址char(20),
员工号char(13)constraint员工_货架_foreforeignkeyreferences员工(员工号),
)
createtable仓库(
仓库号char(10)constraint仓库_primprimarykey,
地址char(20),
员工号char(13)constraint员工_仓库_foreforeignkeyreferences员工(员工号),
)
createtable收银台(
收银台号char(10)constraint收银台_primprimarykey,
台内现金smallmoney,
入台现金smallmoney,
)
createtable折扣(
折扣号char(8)constraint折扣_primprimarykey,
折扣额度smallmoney,
)
createtable部门(
部门名称char(10)constraint部门_primprimarykey,
人数int,
主管char(13)constraint主管_部门_foreforeignkeyreferences员工(员工号),
)
createtable任职(
员工号char(13)constraint员工_任职_foreforeignkeyreferences员工(员工号),
部门char(10)constraint部门_任职_foreforeignkeyreferences部门(部门名称),
constraint任职_primprimarykey(员工号,部门),
)
3.3始数据录入脚本
员工表:
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0001','张三','男','普通员工','25',4500,'1355555555')
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0002','李四','男','普通员工','28',4500,'1355555454')
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0003','王五','女','普通员工','30',4500,'1355555458')
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0004','张明','男','普通员工','26',4500,'1355555695')
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0005','马佳','女','普通员工','32',4500,'1355555698')
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0006','王丽','女','管理员','36',5000,'1355554585')
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0007','田文','男','管理员','35',5000,'1355515655')
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0008','杨哲','男','管理员','34',5000,'1355513655')
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0009','玛丽','女','管理员','38',5000,'1355415655')
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0010','张伟','男','管理员','32',5000,'1365515655')
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0011','张宁','男','管理员','31',5000,'1355513655')
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0012','李贵','女','管理员','39',5000,'1335515655')
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0013','高雄','男','管理员','32',5000,'1315515655')
insertinto员工(员工号,姓名,性别,职称,年龄,工资,电话)
values('0014','李明伟','男','管理员','41',5000,'1359915655')
仓库:
insertinto仓库
values('01','A区5号','0006')
insertinto仓库
values('02','A区8号','0007')
insertinto仓库
values('03','B区3号','0010')
insertinto仓库
values('04','B区1号','0011')
商品:
insertinto商品
values('11111','奶粉',200,300,'2011/05/19','2013/05/19','01','10t')
insertinto商品
values('11112','洗发水',30,60,'2011/11/23','2015/11/19','02','500')
insertinto商品
values('11113','干红',200,500,'2011/01/20','2013/01/19','03','100t')
insertinto商品
values('11114','刀具',200,360,'2011/05/19','2019/05/19','04','600')
insertinto商品
values('11115','干电池',5,10,'2011/06/21','2014/05/19','02','90t')
供应商:
insertinto供应商
values('4321','吉祥食品公司','1365656666')
insertinto供应商
values('4322','红星酒厂','1365623566')
insertinto供应商
values('4323','清扬日用品公司','1361659666')
insertinto供应商
values('4324','士达工业','1365656866')
insertinto供应商
v