超市进销存管理系统.docx
《超市进销存管理系统.docx》由会员分享,可在线阅读,更多相关《超市进销存管理系统.docx(45页珍藏版)》请在冰豆网上搜索。
超市进销存管理系统
重庆机电职业技术学院
实训报告
实训名称:
SQLServer2000数据库实训
题目:
超市进、销、存管理系统
学生姓名:
XXXX
专业:
计算机应用技术
班级:
1班
学号:
XXXXXXXXXXX
指导教师:
XXXXXX
日期:
2013年6月24日
目录
一、系统概述………………………………………………………………………………………………3
1.1系统背景…………………………………………………………………………………………3
1.2现状分析…………………………………………………………………………………………3
1.3系统目标…………………………………………………………………………………………3
二、系统数据库分析………………………………………………………………………………………4
2.1数据库逻辑结构设计………………………………………………………………………………4
2.2.1E-R模型(E-R图)………………………………………………………………………4
2.2.2关系模型……………………………………………………………………………………5
2.2.3数据词典…………………………………………………………………………………5
三、系统数据库设计……………………………………………………………………………………8
3.1数据库…………………………………………………………………………………………8
3.2表………………………………………………………………………………………………8
3.3插入数据………………………………………………………………………………………11
3.4修改数据………………………………………………………………………………………15
3.5删除数据………………………………………………………………………………………17
3.6默认值约束……………………………………………………………………………………18
3.7唯一值约束……………………………………………………………………………………18
3.8Check约束……………………………………………………………………………………19
3.9Foreignk约束…………………………………………………………………………………20
3.10查询……………………………………………………………………………………………22
3.11试图……………………………………………………………………………………………24
3.12索引……………………………………………………………………………………………24
3.13存储过程………………………………………………………………………………………24
3.14触发器…………………………………………………………………………………………25
3.15自定义函数……………………………………………………………………………………25
四、系统(界面)设计…………………………………………………………………………………26
4.1界面功能介绍…………………………………………………………………………………26
4.2界面代码………………………………………………………………………………………26
4.3界面功能代码…………………………………………………………………………………27
五、实训心得………………………………………………………………………………………………29
一、系统概述
1.1系统背景
超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。
面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。
商店自动化的产品管理在欧美等国家早已经实现,也是零售业管理的基础。
它最主要的特点是能够实时的和准确的控制店内的销售情况。
如果可以能够实时掌握销售流程及销售情况,则可以有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。
顾客的消费要求的是希望在超市购物中能基本上都能购得所需的商品,并且还要既保证商品质量还要享受优质,方便的服务。
1.2现状分析
超市在零售业企业中有落后的一面,如:
不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。
苏辙超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。
为此,在选题过程中,我选择了超市管理系统设计题目,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。
1.3系统目标
实现进货,存储,销售过程,对商品进行管理,以及对员工的管理、工作情况的评价和工资的合算。
二、系统数据库分析
2.1数据库逻辑结构设计
2.1.1E-R模型(E-R图)
2.1.2关系模型
商品(编号,类型,名称,产地,数量,单价,生产日期)
供应商(电话,名称,地址)
采购员(工号,姓名,性别,电话)
消费者(会员卡号,姓名,性别,电话)
销售员(工号,姓名,性别,电话)
验货员(工号,姓名,性别,电话)
仓库(地址,名称)
库管员(工号,姓名,性别,电话)
采购表(采购员工号,商品编号,单价,数量)
供应表(供应商编号,商品编号,单价,数量)
销售表(销售员工号,商品编号,单价,数量)
验货表(验货员工号,商品编号,数量,是否合格)
存储表(仓库编号,商品编号,商品名称,数量)
消费者购买表(消费者会员卡号,商品编号,单价,购买数量)
库管员管理表(库管员工号,仓库编号)
2.1.3数据词典
商品表-sp
列名
数据类型
长度
是否允许空格
默认值
说明
Bh
Varchar
8
否
无
编号,主键
Lx
Char
10
否
无
类型
Mc
Varchar
40
否
无
名称
Cd
Varchar
30
否
无
产地
Sl
Float
4
否
无
数量
Jg
SmallMoner
4
否
无
单价
Scrq
Datetime
4
否
无
生产日期
供应商表-gys
列名
数据类型
长度
是否允许空格
默认值
说明
Bh
Varchar
8
否
无
编号,主键
Dh
Char
10
否
无
电话
Mc
Varchar
40
否
无
名称
Dz
Varchar
30
否
无
地址
采购员表-cgy
列名
数据类型
长度
是否允许为空
默认值
说明
Gh
Varchar
8
否
无
工号,主键
Xm
Char
4
否
无
姓名
NL
int
4
否
无
年龄
Xb
Bit
1
否
1
男1;女0
Dh
Char
11
否
无
电话
消费者表-xfz
列名
数据类型
长度
是否允许为空
默认值
说明
Xm
Char
8
否
无
姓名
Xb
Bit
1
否
无
男1;女,0
Hykh
Varchar
8
否
无
会员卡号,主键
NL
int
4
否
无
年龄
Lxfs
Char
8
否
无
联系方式
销售员表-xsy
列名
数据类型
长度
是否允许为空
默认值
说明
Gh
Varchar
8
否
无
工号,主键
Xm
Char
8
否
无
姓名
Xb
Bit
1
否
无
男1;女,0
NL
int
4
否
无
年龄
Dh
Char
11
否
无
电话
仓库表-ck
列名
数据类型
长度
是否允许为空
默认值
说明
Bh
Varchar
8
否
无
编号,主键
Dz
Char
30
否
无
地址
Mc
Varchar
40
否
无
名称
库管员表-kg
列名
数据类型
长度
是否允许为空
默认值
说明
Gh
Varchar
4
否
无
工号,主键
Xm
Char
8
否
无
姓名
Xb
Bit
1
否
1
男1;女0
NL
int
4
否
无
年龄
Dh
Char
11
否
无
电话
验货员表-yhy
列名
数据类型
长度
是否允许为空
默认值
说明
Gh
Varchar
4
否
无
工号,主键
Xm
Char
8
否
无
姓名
Xb
Bit
1
否
1
男1;女0
NL
int
4
否
无
年龄
Dh
Char
11
否
无
电话
采购表-cgb
列名
数据类型
长度
是否允许为空
默认值
说明
cgygh
Varchar
8
否
无
采购员工号
spbh
Varchar
8
否
无
商品编号
dj
SmallMoner
4
否
无
单价
sl
Float
4
否
无
数量
供应表-gyb
列名
数据类型
长度
是否允许为空
默认值
说明
gysbh
Varchar
8
否
无
供商商编号
spbh
Varchar
8
否
无
商品编号
dj
SmallMoner
4
否
无
单价
sl
Float
4
否
无
数量
销售表-xsb
列名
数据类型
长度
是否允许为空
默认值
说明
xsygh
Varchar
8
否
无
销售员工号
spbh
Varchar
8
否
无
商品编号
dj
SmallMoner
4
否
无
单价
sl
Float
4
否
无
数量
验货表-yhb
列名
数据类型
长度
是否允许为空
默认值
说明
yhygh
Varchar
8
否
无
验货员工号
spbh
Varchar
8
否
无
商品编号
dj
SmallMoner
4
否
无
单价
sl
Float
4
否
无
数量
存储表-ccb
列名
数据类型
长度
是否允许为空
默认值
说明
ckbh
Varchar
8
否
无
仓库编号
spbh
Varchar
8
否
无
商品编号
spmc
Varchar
40
否
无
商品名称
sl
Float
4
否
无
数量
库管员管理表-kgyglb
列名
数据类型
长度
是否允许为空
默认值
说明
ckbh
Varchar
8
否
无
库管员编号
spbh
Varchar
8
否
无
仓库编号
消费者购买表-xfzgmb
列名
数据类型
长度
是否允许为空
默认值
说明
ckbh
Varchar
8
否
无
消费者会员卡号
spbh
Varchar
8
否
无
商品编号
dj
SmallMoner
4
否
无
单价
gmsl
Float
4
否
无
购买数量
三、系统数据库设计
3.1数据库
createdatabasecsjxc/*建一个名为csjxc的数据库*/
on
(name=csjxc_data,
filename='d:
\csjxc_data.mdf',
size=6,
maxsize=Unlimited,
filegrowth=1)
logon
(name='csjxc_log',
filename='d:
\csjxc_log.ldf',
size=4,
maxsize=Unlimited,
filegrowth=1)
go
3.2建表
usecsjxc
createtablesp/*建表sp*/
(BhVarchar(8)notnullprimarykey,
Lxchar(10)notnull,
McVarchar(40)notnull,
CdVarchar(30)notnull,
SlFloatnotnull,
DjSmallMoneynotnull,
ScrqDatetimenotnull
)
go
createtablegys/*建表gys*/
(BhVarchar(8)notnullprimarykey,
Dhchar(11)notnull,
McVarchar(40)notnull,
DzVarchar(30)notnull
)
go
createtablecgy/*建表cgy*/
(GhVarchar(8)notnullprimarykey,
Xmchar(4)notnull,
Xbbitnotnull,
Dhchar(11)notnull,
Nlintnotnull
)
go
createtablexfz/*建表xfz*/
(HykhVarchar(15)notnullprimarykey,
Xmchar(4)notnull,
Xbbitnotnull,
Dhchar(11)notnull,
Nlintnotnull
)
go
createtablexsy/*建表xsy*/
(GhVarchar(8)notnullprimarykey,
Xmchar(4)notnull,
Xbbitnotnull,
Dhchar(11)notnull,
Nlintnotnull
)
Go
createtableck/*建表ck*/
(BhVarchar(8)notnullprimarykey,
DzChar(30)notnull,
McVarchar(40)notnull
)
Go
createtablekgy/*建表kgy*/
(GhVarchar(8)notnullprimarykey,
Xmchar(4)notnull,
Xbbitnotnull,
Dhchar(11)notnull,
Nlintnotnull
)
Go
createtableyhy/*建表yhy*/
(GhVarchar(8)notnullprimarykey,
Xmchar(4)notnull,
Xbbitnotnull,
Dhchar(11)notnull,
Nlintnotnull
)
Go
createtablecgb/*建立采购表*/
(CgyghVarchar(8)notnull,
SpbhVarchar(8)notnull,
DjSmallMoneynotnull,
SlFloat(4)notnull
)
Go
createtablegyb/*建立供应表*/
(GysbhVarchar(8)notnull,
SpbhVarchar(8)notnull,
DjSmallMoneynotnull,
SlFloat(4)notnull
)
Go
createtablexsb/*建立销售表*/
(XsyghVarchar(8)notnull,
SpbhVarchar(8)notnull,
DjSmallMoneynotnull,
SlFloat(4)notnull
)
Go
createtableyhb/*建立验货表*/
(YhyghVarchar(8)notnull,
SpbhVarchar(8)notnull,
DjSmallMoneynotnull,
SlFloat(4)notnull
)
Go
createtableccb/*建立存储表*/
(CkbhVarchar(8)notnull,
SpbhVarchar(8)notnull,
SpmcVarchar(8)notnull,
SlFloat(4)notnull
)
Go
createtablekgyglb/*建立库管员管理表*/
(KgybhVarchar(8)notnull,
CkbhVarchar(8)notnull
)
Go
createtablexfzgmb/*消费者购买表*/
(XfzhykhVarchar(8)notnull,
SpbhVarchar(8)notnull,
DjSmallMoneynotnull,
GmslFloat(4)notnull
)
Go
3.3插入数据
usecsjxc/*在商品表中插入数据*/
insertintosp
values('sp001','食品','核桃麦片','重庆市万州区罗田镇阳河村',800,45,'2013/04/01')
insertintosp
values('sp002','玩具','模拟货车','重庆市壁山县',100,15,'2013/04/11')
insertintosp
values('sp003','服装','蓝色T血','重庆市涪陵',45,80,'2013/03/12')
go
usecsjxc/*在供应商表中插入数据*/
insertintogys
values('gys001','10000001','AA食品加工厂','北京市百万庄大街22号')
insertintogys
values('gys002','10000002','BB玩具制造厂','北北京市海淀区玉渊潭南路1号')
insertintogys
values('gys003','10000003','CC服装缝制厂','北京市崇文区夕照寺街14号')
go
usecsjxc/*在采购员表中插入数据*/
insertintocgy
values('cgy001','张三',1,'20000001','18')
insertintocgy
values('cgy002','李四',1,'20000002','19')
insertintocgy
values('cgy003','王五',0,'20000003','20')
go
usecsjxc/*在销售员表中插入数据*/
insertintoxsy
values('xsy001','张三',1,'30000001','18')
insertintoxsy
values('xsy002','李四',1,'30000002','19')
insertintoxsy
values('xsy003','王五',0,'30000003','20')
go
usecsjxc/*在消费者表中插入数据*/
insertintoxfz
values('xfz001','张三','1','40000001','18')
insertintoxfz
values('xfz002','李四','1','40000002','19')
insertintoxfz
values('xfz003','王五','0','40000003','20')
go
usecsjxc/*在仓库表中插入数据*/
insertintock
values('ck001','重庆市万州区','1号仓库')
insertintock
values('ck002','重庆市璧山县','2号仓库')
insertintock
values('ck003','重庆市彭水县','3号仓库')
go
usecsjxc/*在库管员表中插入数据*/
insertintokgy
values('kgy001','张三',1,'60000001','18')
insertintokgy
values('kgy002','李四',1,'60000002','19')
insertintokgy
values('kgy003','王五',0,'60000003','20')
go
usecsjxc/*在验货员表中插入数据*/
insertintoyhy
values('yhy001','张三',1,'70000001','18')
insertintoyhy
values('yhy002','李四',1,'70000002','19')
insertintoyhy
values('yhy003','王五',0,'70000003','20')
go
usecsjxc/*在采购表中插入数据*/
insertintocgb
values('cgy001','sp001',45,800)
insertintocgb
values('cgy002','sp002',15,100)
insertintocgb
values('cgy003','sp003',80,45)
go
usecsjxc/*在供应表中插入数据*/
insertintogyb
values('gys001','sp001',45,800)
insertintogyb
values('gys002','sp002',15,100)
insertintogyb
values('gys003','sp003',80,45)
go
usecsjxc/*在销售表中插入数据*/
insertintoxsb
values('xsy001','sp001',45,800)
insertintoxsb
values('xsy002','sp002',15,10