1、学 号 08710211数据库原理课程设计设 计 说 明 书超市业务管理系统起止日期: 2011 年 7 月 4 日 至 2011 年 7 月 8 日学 生 姓 名 李 翔班 级 08 计 算 机 2 班成 绩指 导 教 师 (签 字 )电子与信息工程系2011 年 7 月 8 日天津城市建设学院课程设计任务书2009 2010 学年第 二 学期电子与信息工程 系 计算机科学与技术 专业 08 计 2 班级 学号 08710211 姓名 李翔 课程设计名称: 数据库系统原理课程设计 设计题目: 超市业务管理系统 完成期限:自 2011 年 7 月 4 日至 2011 年 7 月 8 日共 1
2、周设计依据、要求及主要内容(可另加附页):一、设计依据1数据库原理课程设计指导书2数据库原理课程设计大纲二、设计要求掌握数据库的设计的每个步骤,提交各步骤所需图表和文档。通过使用目前流行的DBMS,建立所设计的数据库,并在此基础上实现数据库查询、连接等操作和触发器、存储器等对象设计。1、需求分析:根据自己的选题,绘制的 DFD、DD 图表以及书写相关的文字说明。2、概念结构设计:绘制所选题目详细的 E-R 图。3、逻辑结构设计:将 E-R 图转换成等价的关系模式;按需求对关系模式进行规范化;对规范化后的模式进行评价,调整模式,使其满足性能、存储等方面要求;根据局部应用需要设计外模式。4、物理结
3、构设计:选定实施环境,存取方法等。5、数据实施和维护:用 DBMS 建立数据库结构,加载数据,实现各种查询、链接应用程序,设计库中触发器、存储器等对象,并能对数据库做简单的维护操作。6、用 VB、VC、DELPHI 、ASP 等设计数据库的操作界面。7、设计小结:总结课程设计的过程、体会及建议。8、其他:参考文献、致谢等。三、主要内容1. 系统主要管理的数据有:1) 销售信息:连锁点、日期、时间、顾客、商品、数量、总价等;2) 商品信息:商品名称、单价、进货数量、供应商、商品类型、摆放位置等;3) 供应商信息:供应商名称、地点、商品、信誉等。2.设计要求:1) 进行需求分析,编写数据字典。2)
4、 设计 E-R 图。3) 可以对销售信息实现增删改查。4) 可以对商品信息实现增删改查。5) 可以对供应商信息实现增删改查。四、参考资料1Database System Concepts (Fourth Edition) Abraham Silberschatz Henry F.Korth S.Sudarshan Higher Education Press2王珊.数据库系统概论(第四版). 高等教育出版社,2007.3罗运模.完全掌握 SQL Server 2000.人民邮电出版社,2001.4白尚旺等.PowerDesigner 软件工程技术.电子工业出版社,2004.指 导 教 师 (签
5、字): 教研室主任(签字): 批准日期: 2011 年 7 月 8 日目录 目录摘 要 1第 1 章 绪论 21.1 课程设计的目的 21.2 课程设计的背景和意义 21.2.1 课程设计的背景 .21.2.2 课程设计的意义 21.3 课程设计环境 3第 2 章 系统需求分析 42.1 问题的提出 42.2 可行性分析 42.2.1 经济可行性分析 42.2.2 技术可行性分析 52.3 系统的设计目标 5第 3 章 系统开发的技术背景 63.1 开发技术及运行环境 63.1.1 系统所采用的开发技术 63.1.2 系统运行环境 6第 4 章 系统分析与总体设计 74.1 系统结构框架 74
6、.2 系统功能设计 7第 5 章 系统数据库设计 95.1 超市管理系统数据库 E-R 模型 .95.2 数据库表设 95.2.1 用户登录表 95.2.2 商品信息表 105.2.3 供货商信息表 10第 6 章 系统功能模块实现 116.1 系统登录模块 116.2 主菜单界面 136.3 信息信息管理模块 146.4 供货商信息管理模块 166.5 商品信息模块 18参考文献 21超市业务管理系统 学号:087102111摘 要随着商品化经济的发展,超市规模的不断扩大,商品的不断曾多,随之而来的就是商品管理的问题,只依靠人工的记账管理体制已经无法适应当代超市的发展,这就需要有一个先进的管
7、理系统来管理如此繁杂的商品信息。超市管理系统是市场上最流行的超市上常用的系统之一,它主要包含以下几个模块:销售信息管理、商品信息管理、供应商信息管理。从而,实现对进货、销售及员工信息等实现全面、动态、及时的管理。本文系统的分析了软件开发的背景和流程。对系统的各模块进行了详细的说明,通过应用程序与数据库的连接进一步提升了软件的性能。关键字:超市 数据库 超市业务管理系统 学号:087102112第 1 章 绪论1.1 课程设计的目的通过本次课程设计,使学生能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,最终开发出一个较为实用的数据库
8、系统。1.2 课程设计的背景和意义1.2.1 课程设计的背景20 世纪 90 年代后期特别是近几年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切的需要引进新的管理技术。超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,改善了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。1.2.2 课程设计的意义“数据库课程设计 ”的设计思想旨
9、在强调学生的实际编程能力的培养与创意灵感的发挥。为此,本课程结合学科特点,除了让学生掌握数据库原理的理论知识,还增加了需求功能让学生完成,并鼓励学生的创作出个性的程序,满足客户需求,与市场的实际项目相结合。学生对此热情高,实际收获大,效果好。通过课堂学习和参与相关项目设计,学生对书本支持有了深刻的理解,实践性教学取得了良好效果。超市业务管理系统 学号:0871021131.3 课程设计环境操作系统:Windows xp/vista开发软件:Microsoft Visual Studio 2008数据库:Microsoft SQL Server 2000超市业务管理系统 学号:087102114
10、第 2 章 系统需求分析随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。2.1 问题的提出在信息化高速发展的今天,超市商品管理的信息化管理已成为必不可缺的一部分,但是目前的大多是超市商品管理系统应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;改版工作量大,系统扩展能力差,应用时更是降低了灵活性,这就使得一套完善的、能够正常工作的商品管理系统应运而生。2.2 可行性分析系统的可行性分析是对课题的通盘
11、考虑,是系统开发者进行进一步工作的前提,是系统设计与开发的前提与基础。系统的可行性分析可以使系统开发者尽可能早的估计到课题开发过程中的困难,并在定义阶段认识到系统方案的缺陷,这样就能花费较少的时间和精力,也可以避免许多专业方面的困难。所以,系统的可行性分析在整个开发过程中是非常重要的。2.2.1 经济可行性分析因为通过网络传递销售信息可以不受距离的限制,因此可以借阅许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行的。超市业务管理系统 学号:0871021152.2.2 技术可行性分析本系统采用基于 Windo
12、ws 的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个超市管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。由此,该系统的操作是可行的,有必要开发该系统。综合以上三方面,该系统具有很高的开发可行性,无论是从技术上或者经济上还是操作上。因此,可以设计该系统的数据流程图,建立数据字典。2.3 系统的设计目标本系统主要包括四大模块,分别是人事管理模块,销售管理模块,进货管理模块,库存管理模块。每个模块的功能如下:1. 销售管理模块功能:(1)进行前台的销售;(2)将前台的销售与后台的数据库联系起来。3. 商品管理模块功能:(1)
13、实现商品信息的查询;(2)实现商品信息的更新,包括增加、删除、修改功能。4. 供应商模块功能:(1)实现供应商信息的查询、增加、修改、删除;超市业务管理系统 学号:087102116第 3 章 系统开发的技术背景3.1 开发技术及运行环境3.1.1 系统所采用的开发技术通过权衡对各种编程语言和数据库使用的熟练程度,本系统选用 Microsoft Visual Studio 2005 作为前台开发工具,后台数据库采用 SQL Server 2005,整体设计以软件工程思想为指导思想,力求开发一个实用性强、操作简单且功能完整的超市商品管理系统。3.1.2 系统运行环境客户端操作系统:Windows
14、 NT/2000/XP 或更高版本服务器操作系统:Windows XP 数据库:Microsoft SQL Server 2000前台:Microsoft Visual Studio 2008超市业务管理系统 学号:087102117第 4 章 系统分析与总体设计4.1 系统结构框架一般的超市商品管理系统,主要由五大模块组成,即商品信息管理模块,人事管理模块,销售管理模块,进货管理模块,库存管理模块,此系统也不例外,主要有此五大模块组成。图 4-1 系统功能结构图。超市管理系统销售管理 商品信息管理供应商信息管理销售信息查询销售信息删除销售信息修改销售信息增加销售信息增加商品信息查询商品信息删
15、除商品信息修改销售信息查询销售信息查询销售信息查询销售信息查询图 4-1 系统功能结构图4.2 系统功能设计系统功能设计是使整个系统能基本实现超市的进、销、存等管理功能,能让超市管理者更直观的了解超市的经营状况,以做出相应的经营决策。管理信息系统(MIS)就是要对这些资源建立正确的数据库,并进行信息的收集、传送、存储、编制成各种凭证、报表、台帐、图形等信息,同时对这些信息进行维护,通过实测超市的各种运行情况,并利用过去的历史数据预测未来的发展,从超市全局的角度出发进行决策,利用信息控制超市的行为,附注超市完成其目标。本系统主要包括 3 大模块,销售管理模块,商品管理模块,供应商管理模超市业务管
16、理系统 学号:087102118块。每个模块的功能如下:1. 商品管理模块功能:(1)实现商品信息的查询;(2)实现职工信息的更新,包括增加、删除、修改功能;2. 销售管理模块功能:(1)实现前台商品的销售;(2)将商品的销售信息与数据库联系起来。3 供应商管理模块:(1) 实现供应商信息的增加、删除、修改、查询功能。超市业务管理系统 学号:087102119第 5 章 系统数据库设计5.1 超市管理系统数据库 E-R 模型通过对超市管理系统分析,得出系统的 E-R 图。图 5-1 数据库 E-R 模型图。名称供货日期电话地址供货商编号供货商进货商品编号名称价格商品mnmn供货销售单号销售日期
17、数量mn销售图 5-1 数据库 E-R 模型图5.2 数据库表设5.2.1 用户登录表用户登录表(cuser)用于存储用户的基本登录信息。表中各字段功能定义如表 5-2 所示。 中文字段名 英文字段名 字段类型 长度 主键/外键 字段值约束帐号 username char 6 P/F NOT NULL密码 passWord char 6 NOT NULL超市业务管理系统 学号:0871021110表 5-2 用户信息表(cuser)5.2.2 商品信息表商品信息表(shangpin)用于存储商品的信息。表中各字段功能定义如表 5-3 所示。中文字段名 长度 主键/外键 字段值约束商品编号 6
18、P NOT NULL供货商号 6 F NOT NULL名称 80 NOT NULL类别 8 NULL单价 4 NOT NULL备注 50 NULL表 5-3 商品信息表(shangpin )5.2.3 供货商信息表供货商信息表(gongyingshang)用于存储供货商的信息。表中各字段功能定义如表 5-4 所示。中文字段名 长度 主键/外键 字段值约束供货商号 6 P NOT NULL名称 50 NOT NULL联系人 8 NOT NULL联系电话 12 NOT NULL联系地址 50 NOT NULL备注 50 NULL表 5-4 供货商信息表(gongyingshang)tb_Stock
19、 INNER JOIN tb_Goods ON tb_Stock.G 超市业务管理系统 学号:0871021111第 6 章 系统功能模块实现6.1 系统登录模块用户登录模块在本系统的首页。用户输入用户名和密码后,系统进行验证,验证通过进入程序的主界面。界面如图 6-1 所示。图 6-1 用户登录界面主要实现代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using Sys
20、tem.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 超市系统public partial class 登录 : FormMyDataSource data = new MyDataSource();string user;超市业务管理系统 学号:0871021112public 登录()InitializeComponent();private void 登录_Load(object sender, EventArgs e)SqlDataReader dr = data.get_reader(“se
21、lect username from cuser“);while (dr.Read()comboBox1.Items.Add(dr“username“);comboBox1.Text = comboBox1.Items0.ToString();private void button3_Click(object sender, EventArgs e)if (comboBox1.Text = “ | textBox1.Text = “)MessageBox.Show(“用户名或密码不能为空!“);return;SqlDataReader dr;string sql = “select * fro
22、m cuser where username=“ + comboBox1.Text.Trim() + “ and password=“ + textBox1.Text + “;dr = data.get_reader(sql);if (!dr.HasRows)MessageBox.Show(“用户名或者密码错误!“);elsedr.Read();user = dr“username“.ToString();Form1 mainform = new Form1();this.Hide();mainform.ShowDialog();this.Close();private void button
23、4_Click(object sender, EventArgs e)Application.Exit();超市业务管理系统 学号:08710211136.2 主菜单界面界面如图 6-2 所示。图 6-2 主菜单管理界面主要实现代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using
24、 System.Data.SqlClient;namespace 超市系统public partial class Form1 : Formpublic Form1()InitializeComponent();private void button1_Click(object sender, EventArgs e)登录 a = new 登录();this.Hide();a.ShowDialog();超市业务管理系统 学号:0871021114private void button2_Click(object sender, EventArgs e)Application.Exit();pr
25、ivate void button3_Click(object sender, EventArgs e)销售 a = new 销售();this.Hide();a.ShowDialog();private void button4_Click(object sender, EventArgs e)商品 a = new 商品();this.Hide();a.ShowDialog();private void button5_Click(object sender, EventArgs e)供应商 a = new 供应商();this.Hide();a.ShowDialog();6.3 信息信息管
26、理模块界面如图 6-3 所示。图 6-3 商品信息管理界面超市业务管理系统 学号:0871021115主要实现代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 超市系统public partial class 登
27、录 : FormMyDataSource data = new MyDataSource();string user;public 登录()InitializeComponent();private void 登录_Load(object sender, EventArgs e)SqlDataReader dr = data.get_reader(“select username from cuser“);while (dr.Read()comboBox1.Items.Add(dr“username“);comboBox1.Text = comboBox1.Items0.ToString();
28、private void button3_Click(object sender, EventArgs e)if (comboBox1.Text = “ | textBox1.Text = “)MessageBox.Show(“用户名或密码不能为空!“);return;SqlDataReader dr;string sql = “select * from cuser where username=“ + comboBox1.Text.Trim() + “ and password=“ + textBox1.Text + “;dr = data.get_reader(sql);if (!dr.
29、HasRows)MessageBox.Show(“用户名或者密码错误!“);else超市业务管理系统 学号:0871021116dr.Read();user = dr“username“.ToString();Form1 mainform = new Form1();this.Hide();mainform.ShowDialog();this.Close();private void button4_Click(object sender, EventArgs e)Application.Exit();6.4 供货商信息管理模块此模块有对供货商的添加,修改,删除等功能,能够对供货商进行合理的管
30、理。界面如图 6-3 所示。图 6-4 供货商管理界面主要实现代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;超市业务管理系统 学号:0871021117using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 超市系统public partial class For
31、m1 : Formpublic Form1()InitializeComponent();private void button1_Click(object sender, EventArgs e)登录 a = new 登录();this.Hide();a.ShowDialog();private void button2_Click(object sender, EventArgs e)Application.Exit();private void button3_Click(object sender, EventArgs e)销售 a = new 销售();this.Hide();a.S
32、howDialog();private void button4_Click(object sender, EventArgs e)商品 a = new 商品();this.Hide();a.ShowDialog();private void button5_Click(object sender, EventArgs e)供应商 a = new 供应商();超市业务管理系统 学号:0871021118this.Hide();a.ShowDialog();6.5 商品信息模块界面如图 6-4 所示。图 6-5 商品信息界面主要实现代码如下:using System;using System.C
33、ollections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 超市系统public partial class 商品 : Formpublic 商品()InitializeComponent();超市业务管理系统 学号:0871021119private void Bind(string sql)MyDataSource data = new
34、 MyDataSource();DataSet ds = data.get_dataset(sql);dataGridView1.DataSource = ds.Tables0;private void 商品_Load(object sender, EventArgs e)string sql = “select * from shangpin“;Bind(sql);private void button2_Click(object sender, EventArgs e)Form1 a = new Form1();this.Hide();a.ShowDialog();private void
35、 button1_Click_1(object sender, EventArgs e)string deletedid = dataGridView1.CurrentRow.Cells“商品名称“.Value.ToString();string sql = “delete from shangpin where 商品名称=“ + deletedid + “;MyDataSource data = new MyDataSource();data.update(sql);Bind(“Select * from shangpin“);private void button3_Click(objec
36、t sender, EventArgs e)string deletedid = dataGridView1.CurrentRow.Cells“商品名称“.Value.ToString();string sql = “update shangpin set 商品名称=“ + textBox1.Text + “,单价=“ + textBox2.Text + “,进货数量=“ + textBox3.Text + “,供应商=“ + textBox4.Text + “,商品类型=“ + textBox5.Text + “,摆放位置=“ + textBox6.Text + “where 商品名称=“
37、+ deletedid + “;MyDataSource data = new MyDataSource();data.update(sql);Bind(“Select * from shangpin“);private void button4_Click(object sender, EventArgs e)string sql = “insert into shangpin(商品名称,单价,进货数量,供应商,商品类型,摆放位置)超市业务管理系统 学号:0871021120values(“+textBox1.Text+“,“+textBox2.Text+“,“+textBox3.Text+
38、“,“+textBox4.Text+“,“+textBox5.Text+“,“+textBox6.Text+“)“;MyDataSource data = new MyDataSource();data.update(sql);Bind(“Select * from shangpin“);超市业务管理系统 学号:0871021121参考文献1 张基温,陈佳, 信息系统开发 清华大学出版社 2006 年2 卫红春, 信息系统分析与设计 西安电子科技大学出版社 2003 年3 黄梯云 , 管理信息系统 高等教育出版社 2005 年4方美琪 陈禹, 软件开发工具 经济科学出版社 2008 年5王珊, 数据组织与管理 经济科学出版社 1996 年6袁然,王诚梅,SQL Server 2005 数据库简明教程 电子工业出版 2006 年