店铺管理超市营销系统数据库实训Word格式文档下载.docx
《店铺管理超市营销系统数据库实训Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《店铺管理超市营销系统数据库实训Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
![店铺管理超市营销系统数据库实训Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-11/25/32421f4e-ea60-4072-bb63-3bd127101ee7/32421f4e-ea60-4072-bb63-3bd127101ee71.gif)
颜色、尺码、数量
(2)京东商城:
颜色、版本、数量
(3)淘宝商城:
配送地点、付费方式、数量、颜色
总结:
由上面三个网站分析可知购买商品时候的主要属性各不相同,因商品本身而变,可是有些属性是必须的了,例如数量、颜色、付费方式等是于网上购买东西时候大部分均需要的属性
4.数据库概念结构设计
(1)E-R图:
(2)关系图:
5.数据库逻辑结构设计
商品(商品编号、类别、名称、型号、进价、库存数量、销售价、售出数量)
订单(订单号,购买日期、合计金额、会员卡号)
销售明细(订单号,商品编号、单价、数量)
会员(会员卡号,姓名,积分,联系方式)
工作人员(员工编号,姓名,年龄,性别,电话)
goods(gno,gclass,gnamegtypegin_pricegout_pricegin_numbergout_number)
DD(DDnoDDdateDDHYnoDDcountHYno)
XSMX(DDnognoXSMXdjXSMXsl)
HY(HYnoHYnameHYlxfsHYjf)
People(pnopnamepagepsexptele)
商品表
字段名称
数据类型
可否为空
约束条件
说明
gno
Char(6)
NOTNULL
主键
商品编号
gclass
Char(7)
无
商品种类
gname
char(10)
商品名称
gtype
型号
Gin_price
int
不小于零
进价
Gout_price
卖出价格
Gin_number
库存数量
Gout_number
销售数量
pno
外键
管理人员编号
订单表
DDno
Char(20)
订单编号
DDdate
datetime
订单日期
DDHYno
char(20)
会员编
DDcount
总金额
销售明细表
XSMXdj
单价
XSMXsl
数量
会员表
HYno
char(20
会员卡号
HYname
姓名
HYlxfs
联系方式
HYjf
积分
工作人员表:
char(7)
员工编号
pname
CHAR(10)
page
char(3)
年龄
psex
char
(2)
男或女
性别
ptele
电话
6.数据库物理结构设计
✧商品表(商品编号、类别、名称、型号、进价、库存数量、销售价、售出数量)
CREATETABLEgoods
(gnoCHAR(6)PRIMARYKEY,
gclassCHAR(7)NOTNULL,
gnameCHAR(10)NOTNULL,
gtypeCHAR(7)NOTNULL,
gin_priceintCHECK(gin_price>
=0),
gout_priceintCHECK(gout_price>
gin_numberintCHECK(gin_number>
gout_numberintCHECK(gout_number>
pnochar(7)NOTNULL,
FOREIGNKEY(pno)REFERENCESpeople(pno),
)
插入商品数据
✧订单表(订单号,购买日期)
createtableDD
(DDnochar(20)primarykey,
DDdatedatetime,
DDHYnochar(20),
DDcountchar(20)check(DDcount>
foreignkey(DDHYno)referencesHY(HYno),
);
插入订单数据
✧销售明细表(订单号,商品编号、单价、数量)
createtableXSMX
(DDnochar(20)notnull,
gnochar(6)notnull,
XSMXdjchar(20)notnull,
XSMXslintcheck(XSMXsl>
primarykey(DDno,gno),
foreignkey(DDno)referencesDD(DDno),
foreignkey(gno)referencesgoods(gno),
插入销售明细数据
✧会员表(会员卡号,姓名,积分,联系方式)
createtableHY
(HYnochar(20)primarykey,
HYnamechar(20)notnull,
HYlxfschar(20)notnull,
HYjfchar(20),
check(HYjf>
插入会员数据
✧工作人员表(员工编号,姓名,年龄,性别,电话)
CREATETABLEpeople
(pnochar(7)PRIMARYKEY,
pnameCHAR(10)NOTNULL,
pagechar(3)NOTNULL,
psexchar
(2)NOTNULL,
pteleCHAR(10)NOTNULL
插入人员数据
7.主要功能实现
1.查询处理
(1)查询goods表,将商品按商品号降序排列
select*
fromgoods
orderbygnodesc
(2)查询pelple表中年龄大约22的员工号
selectpno,page
frompeople
wherepage>
22
(3)连接查询
查询管理‘001’号商品的工作人员编号、性别、年龄、姓名
selectpeople.pno,page,psex,pname
frompeoplejoingoodsongoods.pno=people.pno
wheregno='
001'
(4)嵌套查询
查询管理编号为002的工作人员姓名,工作编号,性别
selectpno,pname,psex
wherepnoin(
selectpnofromgoods
002'
(5)模糊查询
查询名字中有’张’字的员工姓名、性别、工作编号、年龄
SELECTpname,pno,psex,page
wherepnamelike'
张%'
(6)查询订单号为'
3303'
的客户订购的商品编号,商品名称,商品数量,商品单价
selectDDno,XSMX.gno,XSMXsl,XSMXdj,gname
fromXSMXjoingoodsonXSMX.gno=goods.gno
whereDDno='
2.创建视图
(1)商品号,商品型号,卖出价视图
createviewA_1
as
selectgno,gtype,gout_price
(2)工作人员编号,工作人员性别
createviewA_2
AS
selectpno,psex
3.创建存储过程
(1)创建金额统计的存储过程
createprocedure金额统计(@st_gnochar(6),@moneyintoutput)
DECLARE@out_priceint
DECLARE@out_numberint
SELECT@out_price=gout_price,@out_number=gout_number,@money=@out_price*@out_number
FROMgoods
wheregno=@st_gno
运行销售金额
declare@st_gnochar(6),@moneyint
select@st_gno='
005'
@money=’12000’
exec金额统计@st_gno,@moneyoutput
select*,gno=@st_gno,'
销售金额'
=@money
(2)创建打印订单的存储过程
createprocedure打印订单(@st_DDnochar(6))
SELECTDD.DDno,DDdate,XSMXdj,XSMXsl,XSMXxj,XSMXzl,XSMXhjje,XSMX.gno,gclass,gname,gtype
FROMgoodsjoinXSMXongoods.gno=XSMX.gnojoinDDonXSMX.DDno=DD.DDno
whereDD.DDno=@st_DDno
运行打印订单
declare@st_DDnochar(6)
select@st_DDno='
3301'
exec打印订单@st_DDno
(3)创建视图创建查询库存的存储过程
createprocedure查询库存(@st_gnochar(6),@numberintoutput)
DECLARE@in_numberint
SELECT@in_number=gin_number,@out_number=gout_number,@number=@in_number-@out_number
运行查询库存
DECLARE@numberint
DECLARE@st_gnochar(6)
0001'
exec查询库存@st_gno,@numberoutput
selectgno=@st_gno,'
当前库存'
=@number
4.创建函数
(1)金额统计函数
CREATEFUNCTIONfn_f1(@st_gnochar(6))
RETURNSint
BEGIN
DECLARE@moneyint
RETURN@money
END
(2)运行统计函数
declare@st_gnochar(6)
set@st_gno='
0003'
SELECTdbo.fn_f1(@st_gno)
三.收获和体会
通过这次数据库的上机操作,我学到了很多东西,通过真实的上机操作,我明白了许多课上学习所学不到的东西,上课讲的基本上均是理论性的知识,而数据库乃至我们整个专业均是离不开上机操作,离不开实际的操作的,通过上机的实际操作,通过解决上机调试出现的各种错误,我更加明白了上机操作的重要性,通过此次系统的做了壹个小的数据库,我基本掌握了数据库课上讲解的知识,虽然此次的数据库很小,可是我仍是通过此明白了数据库建立的整个过程!
此次上机操作我的收获很大,不光于数据库知识上,仍于自信心上,以前觉得编程这种东西很难,自己不适合编程,可是通过此次操作,我觉得只要用心,其实这些且不是不能做到的,感谢学校和老师能给我们这次机会!