《数据库应用系统实践》------ 超市销售管理系统

系列文章

《数据库应用系统实践》------ 超市销售管理系统



一、需求分析

1、系统背景

现如今有些超市仍在使用传统的人工管理模式,浪费人力资源,效率低、准确率低。还有些超市虽已使用计算机用于超市管理,但是却对计算机的运用有限。这些情况可能导致一些商品长期积压,损坏严重,造成重大经济损失。所以我开发了超市销售管理系统来满足需求。

2、 系统功能结构(需包含功能结构框图和模块说明)

(1)功能结构图
在这里插入图片描述

(2)模块说明
系统分为顾客、商品、超市、职工四个模块
每个模块包含相应信息。

3.系统功能简介

二、概念模型设计

1.基本要素(符号介绍说明)

.基本要素(符号介绍说明)
① 矩形:表示实体。
② 椭圆形:表示属性,即实体的属性。
③ 菱形:表示联系。
④ 连线:该连线为没有方向的线段,分为连接实体与属性(矩形与椭圆形之间的连线)和连接实体与联系名(矩形与菱形之间的连线);实体与联系名的连线旁需标注联系的类型,如1:1、1:n、m:n。
注意:在联系类型标注时请按照约定俗成的方式标注,一对多使用1:n,多对多使用m:n,如果超过两个实体请采用m:n:p:q:

2.ER图

在这里插入图片描述

三、逻辑模型设计

1.ER模型向关系模型转换规则

① 实体转换为单独的关系模式。
② 一对一联系转换为关系模式有两种方法。一、将联系转换为单独的关系模式;二、将其中一个实体的之间加入到另外一个实体的关系模式中,作为外键。
③ 一对多联系转换为关系模式有两种方法。一、将联系转换为单独的关系模式;二、将n实体的主键合并到1实体的关系模式中,作为1实体关系模式的外键。

2.转换后的关系模型

商品(商品编号,商品名,重量,价格)
顾客(会员卡号,手机号,家庭住址)
职工(职工编号,姓名,工资,电话)
超市(超市编号,超市名,地址)
销售(会员卡号,商品编号)
陈列(商品编号,超市编号)

3.关系模型优化(达到3NF)

以上要素都属于第三范式

四、物理设计

1.创建数据库的SQL语句或截图

CREATE DATABASE Supermarket
ON PRIMARY
(NAME=YAN,
FILENAME='E:\SQLDate\Supermarket.mdf',
SIZE=3MB,
MAXSIZE=UNLIMITED)
LOG ON
(NAME=YAN_log,
FILENAME='E:\SQLDate\Supermarket_log.ldf',
SIZE=3MB,
MAXSIZE=UNLIMITED)

2.创建所有表的SQL语句或截图(包含完整性约束)

CREATE TABLE Supermarket (
    Sno   CHAR(4)   PRIMARY KEY,
    Sname NVARCHAR(20) not null,
    Sadr NVARCHAR(50)  not null
)

CREATE TABLE  Worker(
       Wno NVARCHAR(20) PRIMARY KEY,
       Sno   CHAR(4),
       Wname nchar(5),
       Wphone char(11),
	   Wsalary float,
       FOREIGN KEY (Sno) REFERENCES Supermarket(Sno)
)
       
     
CREATE TABLE Goods(
       Gno  CHAR(7)  PRIMARY KEY,
       Gweight  char(7),
       Gname  NVARCHAR(20),
       Gprice float not null
)

CREATE TABLE Customer(
         Cno CHAR(4) PRIMARY KEY,
         Cadr NVARCHAR(50) ,
         Cphone  char(11) CHECK (Cphone LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')UNIQUE
)
		 
CREATE TABLE Sell(
    Cno CHAR(4) not null,
    Gno  CHAR(7) not null,
	SSellnum int,
	PRIMARY KEY (Cno,Gno),
    FOREIGN KEY (Cno) REFERENCES Customer(Cno),
	FOREIGN KEY (Gno) REFERENCES Goods(Gno)
)
CREATE TABLE Fill(
	Gno  CHAR(7) not null,
    Sno   CHAR(4) not null,
	Ftime  date
	PRIMARY KEY ( Sno,Gno),
	FOREIGN KEY (Gno) REFERENCES Goods(Gno),
	FOREIGN KEY (Sno) REFERENCES Supermarket(Sno)
)

五、数据库实施

1.粘贴所创建的数据库关系图

在这里插入图片描述

2.数据录入

INSERT INTO Supermarket VALUES('001','AAA','沪城环路123号')
	INSERT INTO Supermarket VALUES('002','AAB','沪城环路124号')
	INSERT INTO Supermarket VALUES('003','AAC','沪城环路125号')
	INSERT INTO Supermarket VALUES('004','AAD','沪城环路126号')
	INSERT INTO Supermarket VALUES('005','AAE','沪城环路127号')
	INSERT INTO Supermarket VALUES('006','AAF','沪城环路128号')
	INSERT INTO Supermarket VALUES('007','AAG','沪城环路129号')

	INSERT INTO Worker VALUES('001','001','韩梅梅','12345678912','3000')
	INSERT INTO Worker VALUES('002','001','李梅梅','12325678912','3000')
	INSERT INTO Worker VALUES('003','001','王梅梅','12345432912','3000')
	INSERT INTO Worker VALUES('004','001','开梅梅','12345378912','3000')
	INSERT INTO Worker VALUES('005','001','的梅梅','12345672912','3000')
	INSERT INTO Worker VALUES('006','001','额梅梅','12354678912','3000')

    INSERT INTO Goods VALUES('1111','4kg','洗衣机','3000')
	INSERT INTO Goods VALUES('2222','10kg','电视机','4000')
	INSERT INTO Goods VALUES('3333','1kg','电话','300')
	INSERT INTO Goods VALUES('4444','12kg','冰箱','3000')
	INSERT INTO Goods VALUES('5555','13kg','空调','3000')
	INSERT INTO Goods VALUES('6666','0.2kg','震动棒','100')

	INSERT INTO Customer VALUES('2345','德玛西亚','12342155431')
	INSERT INTO Customer VALUES('2346','诺克萨斯','12342155441')
	INSERT INTO Customer VALUES('2341','艾欧尼亚','14242155431')
	INSERT INTO Customer VALUES('3345','暗影岛','14214155431')
	INSERT INTO Customer VALUES('5675','比尔吉沃特','45642155431')
	INSERT INTO Customer VALUES('5321','皮尔特沃夫','12345312431')

	INSERT INTO sell VALUES('2345','1111','2')
	INSERT INTO sell VALUES('2346','2222','1')
	INSERT INTO sell VALUES('2345','3333','2')
	INSERT INTO sell VALUES('3345','1111','2')
	INSERT INTO sell VALUES('5321','1111','2')
	INSERT INTO sell VALUES('3345','6666','10')

	INSERT INTO Fill VALUES('1111','001','2016-01-01')
	INSERT INTO Fill VALUES('2222','002','2016-01-02')
    INSERT INTO Fill VALUES('3333','004','2016-01-02')
	INSERT INTO Fill VALUES('4444','006','2016-01-28')
	INSERT INTO Fill VALUES('5555','002','2016-01-07')
	INSERT INTO Fill VALUES('6666','002','2016-02-02')

3.数据处理

(1)至少包括2张表的等值连接;
在这里插入图片描述

(2)创建视图;
在这里插入图片描述

(3)编写包含子查询的SQL语句;
在这里插入图片描述

(4)有修改语句;
在这里插入图片描述

(5)有删除语句;
在这里插入图片描述

(6)有包含聚集函数;
在这里插入图片描述

(7)有记录过滤,条件过滤语句;
在这里插入图片描述

(8)有修改表结构的SQL语句;
在这里插入图片描述

(9)用T-SQL语句写出一个对数据表处理的人机交互程序;
在这里插入图片描述

(10)编写一个触发器;
在这里插入图片描述

六、数据库应用系统实现

1.相关界面截图(对每一张截图进行一定的文字说明)

用户登录
账号:2345
密码:1111

在这里插入图片描述

信息查询
在这里插入图片描述
在这里插入图片描述

信息修改:
在这里插入图片描述

数据增加:
在这里插入图片描述

数据修改:
在这里插入图片描述

数据删除:
在这里插入图片描述

2.和数据库连接的程序语句

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
				String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=Supermarket";
				String userName = "sa";
				String userPwd = "1";

3.其它代码

		//创建标签
		JLabel id = new JLabel("Gno:"); 
		JLabel id1 = new JLabel("Gprice:"); 
		
				//创建文本框
		JTextField d1=new JTextField(); 
		JTextField d2=new JTextField(); 
		
				//创建按钮
		JButton lr=new JButton("录入");//创建录入按钮
		JButton sc=new JButton("删除");//创建删除按钮
		JButton fh=new JButton("返回");//创建返回按钮
		JButton xg=new JButton("修改");//创建修改按钮

		public YGDXG()
		{
		
		frm.setSize(500,520);//设置窗口大小
		Container c=frm.getContentPane();
		c.setBackground(Color.white);//设置 窗口颜色
			//员工编号
		id.setForeground(Color.cyan); //设置标签前景颜色
		id.setLocation(60,10); //标签 位置
		id.setSize(90,30);//标签大小
			//管理员编号
		id1.setForeground(Color.cyan); //设置标签前景颜色
		id1.setLocation(60,70); //标签 位置
		id1.setSize(90,30);//标签大小
			//密码
	
		
		frm.setLayout (null);//取消布局管理
		
		d1.setBounds(130, 20, 242,28);	
		d2.setBounds(130, 80,242,28);	

七、总结

(可选,200字左右的小结,包括
(1)完成情况和不足之处
(2)心得体会
(3)建议)

完成情况:按实验报告的要求完成了此次实训的内容。JAVA成功的连接到了数据库,并且能进行登录和查询操作并制作了开始画面。
不足:很多地方有错误,界面做的比较丑,二维表的使用和数据库的获取不太熟练,对于同时使用多个顶层容器时有问题。
心得体会:本次实训让我们巩固了数据库和JAVA的相关知识,大多时间都是需要自己查阅相关资料,锻炼了我们自主学习的能力。此次实训锻炼了我们的动手能力,在花费大量的时间与精力后完成的作品使我们有一种成就感,为将来的学习奠定了良好的基础。

参考文献:

[1]郭晓丹. SQLServer数据库应用程序性能优化方法[J]. 数字通信世界, 2015, 000(007):51.
[2]邓文艳. SQLServer数据库备份和还原[J]. 山西财经大学学报, 2007(S2):1.
[3]周宁. 信息资源数据库[M]. 武汉大学出版社, 2001.

八、源代码获取

本次的分享就到这里啦,创作不易,感谢点赞收藏👍
感兴趣的小伙伴可以在评论区留言或者私信我哦💕

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
辽 宁 工 业 大 学 SQL SERVER数据库技术 课程设计报告 题目: 超市进销存管理系统 院(系): 软件学院 专业班级: 软件工程班 学 号: 学生姓名: 指导教师: 翟宝峰 教师职称: 副教授 起止时间: 2014.12.15-2014.12.26 课程设计任务及评语 院(系):软件学院 软件教研室: "学 号 " "学生姓名 " "专业班级 " " "课程设计题目" 超市进销存管理系统 " "课 程 设 计 " " "任 务 " " " "1.要求根据数据库原理,按照数据库系统设计的步骤和规范,完成各阶段的 " " "设计内容。 " " "2.需求分析具体实际,数据流图、数据字典、E-R图、关系模型要正确规范 " " "3.在sql server2005 上实现设计数据库模型。 " " "4.对应用程序进行概要设计。 " " "5.用C#实现简单的调用。 " " " " " " " " "课程设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。 " " "正确地完成上述内容,规范完整地撰写出课程设计报告。 " "指导教师评语" " "及成绩 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "成绩: 指导教师签字: " " " " " "2014年 12月 30日 " 目 录 第1章 设计目的与要求 1 1.1设计目的 1 1.2设计环境 1 1.3主要参考资料 1 1.4设计内容及要求 1 第2章 设计内容 2 2.1数据库设计 2 2. 1. 1需求分析 3 2.1.2概念设计 9 2.1.3逻辑设计 9 2.1.4物理设计 12 2.1.5 数据库实现 13 2.2程序设计 16 2.2.1概要设计 16 2.2.2程序实现 18 第3章 设计总结 20 参考文献 21 第1章 设计目的与要求 1.1设计目的 本设计专题是软件工程类专业的有关管理信息系统设计开发的一个重要环节,是本专 业学生必须学习和掌握的综合实践课程。 本实践课的主要目的是:(1)、掌握运用管理系统数据库原理知识进行系统分析和 设计的方法;(2)掌握关系数据库设计方法;(3)掌握SQL Server 2005技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。 1.2设计环境 硬件:硬盘20GB,CPU Intel Core2 T5420,内存2G。软件:系统采用微软的SQL Server 2005作后台数据库,以C#连接SQL Server 2005数据库进行开发超市管理进销存系统。 1.3主要参考资料 1.《管理信息系统》 黄梯云 高等教育出版社 2.《数据库系统概论》 萨师煊 高等教育出版社 3.《SQL Server 2005 数据库应用系统》朱如龙编,机械工业出版社。 4.《SQL Server 2005 数据库应用系统实验指导》朱如龙编,机械工业出版社。 4设计内容及要求 一、内容 1.要求根据数据库原理,按照数据库系统设计的步骤和规范,完成各阶段设计内容。 2.需求分析具体实际,数据流图、数据字典、关系模型要正确规范 3.在sql server2005 上实现设计数据库模型。 4.对应用程序进行概要设计。 5.用VB实现简单的调用。 二、要求 课程设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。正确地完 成上述内容,规范完整地撰写出课程设计报告。 第2章 设计内容 2.1数据库设计 超市形式在我国于20世纪90年代初期起步,现已成为我国零售业的一种重要形态。随 着超市的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足 现有的发展。这样就迫切地需要引进新的思想技术和管理技术进入到超市管理中。 超市自动化的产品管理在欧美等国已实行了多年,也是零售业管理的基础。它最主要 的特点是能够实时和准确的控制店内的销售情况。超市行业只作为零售业的一种业态, 竞争就更加激烈,如何提高超竞争能力和效益,已成为各个超市企业追求的目标。而在 当今时代计算机的普及和应用,信息管理的方便快捷,使超市进销存管理系统超市企 业所重视。超市引入信息管理系统,是零售业经营之中的最热门的话题之一。 但在目前状况下,零售业商业企业仍存在着落后的一面,如:不能有效的管理每一种 商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且 在超市日常管理中,商品进、销、存决策以经验为主,缺乏实时分析功能,管理人员对 及时传递资料的要求始终得不到满足,日常所需处理的数据量也逐渐增大,商业运转的 中间环节也越来越多,原始的人工管理已经无法对着复杂的市场。为此,我在本次设计 之中选择了中小型超市进销存管理系统
系统为中小型超市销售管理系统,因此系统需求分析阶段主要采取实地采访、调查学校周边超市,网上查找相关资料,请教老师等多种方式,尤其是仔细思考、分析超市购物发票。这一阶段大概了解了目前超市销售管理的现状,了解了超市销售方面的业务,同时也发现了其中存在的一些问题。经过近两天时间的实践,了解了很多关于超市的知识,收获挺多的。 需求分析成果如下。 系统要处理的基本对象包括营业员基本信息、会员基本信息、管理员基本信息、商品基本信息、货架基本信息、销售单基本信息、退货单基本信息等多个对象。各个基本对象包含信息如下所示: 营业员(营业员号,姓名,收银台位置,上班时间,下班时间,月薪,联系电话); 会员(会员卡号,会员姓名,卡密码,注册时间,累计消费); 商品(商品编号,货架编号,条形码,商品名称,商品价格,现有存量,存量底线,生产日期,保质期,供货商); 销售单(销售单编号,营业员编号,会员卡号,打印时间,有无折扣); 销售商品(销售单号,商品编号,销售数量); 货架(货架编号,管理员号,货架名称); 管理员(管理员号,姓名,联系电话,上班时间,下班时间,月薪); 退货单(退货单号,商品编号,退货数量); 打印(退货单号,销售单号,营业员号,打印时间)。 本中小型超市销售管理系统大体上包含三个模块,为前台收银业务处理,前台退货业务处理以及后台销售处理功能模块,具体如下所述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿代码_QQ_3014067949

给小编价格鸡腿吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值