收藏 分销(赏)

超市营销系统数据库实训.docx

上传人:xrp****65 文档编号:8945169 上传时间:2025-03-08 格式:DOCX 页数:13 大小:2.06MB
下载 相关 举报
超市营销系统数据库实训.docx_第1页
第1页 / 共13页
超市营销系统数据库实训.docx_第2页
第2页 / 共13页
点击查看更多>>
资源描述
一、系统需求规格说明 1.项目概述 《超市商品销售系统》为展示,明确所要开发的软件应具有的功能、性能,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。 2.主要任务与性能要求 主要任务:系统的E-R图和相关的SQl server 建立 性能要求:保证数据的正确与完整 二.系统设计 1.引言 名称:超市商品销售系统 目的:让用户结合系统给方便应用 2.参考资料 1. 王珊 萨师煊,数据库系统概论(第四版),高等教育出版社,2006年5月 2.赵杰等SQL Server数据库管理设计与实现教程 清华大学出版社 2004年3月 3.系统任务描述 顾客购买商品后应该打印详细购物清单,清单中内容有购买日期、商品编号、商品名称、单价、数量、合计金额,清单最后还要有现金和找零。顾客分为普通和会员2种,会员购物时需提供会员卡号,结帐后将根据购物金额按照1元1分进行积分的累积。一定时期可进行积分换购。此外,本系统应该实现库存查询、销售金额统计及报表打印。 3.研究的网站 (1)凡客: 主要属性:颜色、尺码、数量 (2)京东商城: 主要属性:颜色、版本、数量 (3)淘宝商城: 主要属性:配送地点、付费方式、数量、颜色 总结:由上面三个网站分析可知购买商品时候的主要属性各不相同,因商品本身而变,但是有些属性是必须的了,例如数量、颜色、付费方式等是在网上购买东西时候大部分都需要的属性 4.数据库概念结构设计 (1)E-R图: (2)关系图: 5.数据库逻辑结构设计 商品(商品编号、类别、名称、型号、进价、库存数量、销售价、售出数量) 订单(订单号,购买日期、合计金额、会员卡号) 销售明细(订单号,商品编号、单价、数量) 会员(会员卡号,姓名,积分,联系方式) 工作人员(员工编号,姓名,年龄,性别,电话) goods(gno,gclass, gname gtype gin_price gout_price gin_number gout_number) DD(DDno DDdate DDHYno DDcount HYno) XSMX(DDno gno XSMXdj XSMXsl) HY(HYno HYname HYlxfs HYjf) People(pno pname page psex ptele) 商品表 字段名称 数据类型 可否为空 约束条件 说明 gno Char(6) NOT NULL 主键 商品编号 gclass Char(7) NOT NULL 无 商品种类 gname char(10) NOT NULL 无 商品名称 gtype Char(7) NOT NULL 无 型号 Gin_price int 不小于零 进价 Gout_price int 不小于零 卖出价格 Gin_number int 不小于零 库存数量 Gout_number int 不小于零 销售数量 pno Char(7) NOT NULL 外键 管理人员编号 订单表 字段名称 数据类型 可否为空 约束条件 说明 DDno Char(20) NOT NULL 主键 订单编号 DDdate datetime 无 订单日期 DDHYno char(20) NOT NULL 外键 会员编 DDcount Char(20) 不小于零 总金额 销售明细表 字段名称 数据类型 可否为空 约束条件 说明 DDno Char(20) NOT NULL 外键 订单编号 gno Char(6) NOT NULL 外键 商品编号 XSMXdj char(20) NOT NULL 单价 XSMXsl int 不小于零 数量 会员表 字段名称 数据类型 可否为空 约束条件 说明 HYno char(20 NOT NULL 主键 会员卡号 HYname char(20) NOT NULL 无 姓名 HYlxfs char(20) NOT NULL 无 联系方式 HYjf char(20) 不小于零 积分 工作人员表: 字段名称 数据类型 可否为空 约束条件 说明 pno char(7) NOT NULL 主键 员工编号 pname CHAR(10) NOT NULL 无 姓名 page char(3) NOT NULL 无 年龄 psex char(2) NOT NULL 男或女 性别 ptele CHAR(10) NOT NULL 无 电话 6.数据库物理结构设计 ² 商品表(商品编号、类别、名称、型号、进价、库存数量、销售价、售出数量) CREATE TABLE goods (gno CHAR(6) PRIMARY KEY, gclass CHAR(7) NOT NULL, gname CHAR(10) NOT NULL, gtype CHAR(7) NOT NULL, gin_price int CHECK (gin_price>= 0 ), gout_price int CHECK (gout_price>= 0 ), gin_number int CHECK (gin_number>= 0 ), gout_number int CHECK (gout_number>= 0 ), pno char(7) NOT NULL, FOREIGN KEY (pno) REFERENCES people(pno), ) 插入商品数据 ² 订单表(订单号,购买日期) create table DD (DDno char(20) primary key, DDdate datetime , DDHYno char(20), DDcount char(20) check(DDcount>=0), foreign key(DDHYno) references HY(HYno), ); 插入订单数据 ² 销售明细表(订单号,商品编号、单价、数量) create table XSMX (DDno char(20) not null, gno char(6) not null, XSMXdj char(20) not null, XSMXsl int check(XSMXsl>=0), primary key(DDno,gno), foreign key(DDno) references DD(DDno), foreign key(gno) references goods(gno), ); 插入销售明细数据 ² 会员表(会员卡号,姓名,积分,联系方式) create table HY (HYno char(20) primary key, HYname char(20) not null, HYlxfs char(20) not null, HYjf char(20), check (HYjf>=0), ); 插入会员数据 ² 工作人员表(员工编号,姓名,年龄,性别,电话) CREATE TABLE people (pno char(7) PRIMARY KEY, pname CHAR(10) NOT NULL, page char(3) NOT NULL, psex char(2) NOT NULL, ptele CHAR(10) NOT NULL ) 插入人员数据 7.主要功能实现 1.查询处理 (1) 查询goods表,将商品按商品号降序排列 select * from goods order by gno desc (2) 查询pelple表中年龄大约22的员工号 select pno , page from people where page>22 (3)连接查询 查询管理‘001’号商品的工作人员编号、性别、年龄、姓名 select people.pno , page,psex,pname from people join goods on goods.pno=people.pno where gno='001' (4)嵌套查询 查询管理编号为002的工作人员姓名,工作编号,性别 select pno,pname,psex from people where pno in( select pno from goods where gno='002' (5)模糊查询 查询名字中有’张’字的员工姓名、性别、工作编号、年龄 SELECT pname, pno,psex,page from people where pname like '张%' (6)查询订单号为'3303'的客户订购的商品编号,商品名称,商品数量,商品单价 select DDno,XSMX.gno ,XSMXsl,XSMXdj,gname from XSMX join goods on XSMX.gno=goods.gno where DDno='3303' 2.创建视图 (1) 商品号,商品型号,卖出价视图 create view A_1 as select gno,gtype,gout_price from goods (2)工作人员编号,工作人员性别 create view A_2 AS select pno,psex from people 3.创建存储过程 (1)创建金额统计的存储过程 create procedure 金额统计(@st_gno char(6),@money int output) as DECLARE @out_price int DECLARE @out_number int SELECT@out_price=gout_price,@out_number=gout_number,@money=@out_price*@out_number FROM goods where gno=@st_gno 运行销售金额 declare @st_gno char(6),@money int select @st_gno='005',@money=’12000’ exec 金额统计@st_gno,@money output select *,gno=@st_gno,'销售金额'=@money from goods where gno=@st_gno (2)创建打印订单的存储过程 create procedure 打印订单(@st_DDno char(6)) as SELECTDD.DDno,DDdate,XSMXdj,XSMXsl,XSMXxj,XSMXzl,XSMXhjje,XSMX.gno,gclass,gname,gtype FROM goods join XSMX on goods.gno=XSMX.gno join DD on XSMX.DDno=DD.DDno where DD.DDno=@st_DDno 运行打印订单 declare @st_DDno char(6) select @st_DDno='3301' exec 打印订单@st_DDno (3)创建视图创建查询库存的存储过程 create procedure 查询库存(@st_gno char(6),@number int output) as DECLARE @in_number int DECLARE @out_number int SELECT@in_number=gin_number,@out_number=gout_number,@number=@in_number-@out_number FROM goods where gno=@st_gno 运行查询库存 DECLARE @number int DECLARE @st_gno char(6) select @st_gno='0001' exec 查询库存@st_gno,@number output select gno=@st_gno,'当前库存'=@number 4.创建函数 (1)金额统计函数 CREATE FUNCTION fn_f1(@st_gno char(6)) RETURNS int AS BEGIN DECLARE @out_price int DECLARE @out_number int DECLARE @money int SELECT@out_price=gout_price,@out_number=gout_number,@money=@out_price*@out_number FROM goods where gno=@st_gno RETURN @money END (2)运行统计函数 declare @st_gno char(6) set @st_gno='0003' SELECT dbo.fn_f1(@st_gno) 三.收获和体会 通过这次数据库的上机操作,我学到了很多东西,通过真实的上机操作,我明白了许多课上学习所学不到的东西,上课讲的基本上都是理论性的知识,而数据库乃至我们整个专业都是离不开上机操作,离不开实际的操作的,通过上机的实际操作,通过解决上机调试出现的各种错误,我更加明白了上机操作的重要性,通过此次系统的做了一个小的数据库,我基本掌握了数据库课上讲解的知识,虽然此次的数据库很小,但是我还是通过此明白了数据库建立的整个过程!此次上机操作我的收获很大,不光在数据库知识上,还在自信心上,以前觉得编程这种东西很难,自己不适合编程,但是通过此次操作,我觉得只要用心,其实这些并不是不能做到的,感谢学校和老师能给我们这次机会!
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服