SQL-server数据库设计-餐饮管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

辽宁工业大学
《SQL server数据库设计实训》报告题目:餐饮管理系统
院(系):软件学院
专业班级:电子商务(国际)
学号:
学生姓名:
指导教师:翟宝峰
教师职称:副教授
起止时间:2011。

09。

03-2011。

09。

14
设计任务及评语
目录
第1章设计目的与要求 (1)
1。

1设计目的 (1)
1.2设计环境 (1)
1.3主要参考资料 (1)
1.4设计内容及要求 (1)
第2章设计内容 (2)
2。

1数据库设计 (2)
2。

1.1需求分析 (2)
2.1.2概念设计 (5)
2.1.3逻辑设计 (6)
2.1.4物理设计 (7)
2。

1。

5 数据库实现 (7)
2.2程序设计 (11)
2.2.1概要设计 (11)
2.2.2程序实现 (11)
第3章设计总结 (14)
参考文献 (15)
第1章设计目的与要求
1.1设计目的
本设计专题是软件工程类专业的有关管理信息系统设计开发的一个重要环节,是本专业学生必须学习和掌握的综合实践课程.
本实践课的主要目的是:(1)、掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;(2)掌握关系数据库的设计方法;(3)掌握SQL Server 2000技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。

1。

2设计环境
硬件:处理器,Intel Pentium 166 MHz以上,内存:512M 以上,硬盘空间:8G 以上
软件:Windows XP需要软件:Microsoft Visual Basic 6。

0,Microsoft SQL Server 2000 1。

3主要参考资料
1。

《管理信息系统》黄梯云高等教育出版社
2。

《数据库系统概论》萨师煊高等教育出版社
3。

《SQL Server 2000 数据库应用系统开发技术》朱如龙编,机械工业出版社。

4。

《SQL Server 2000 数据库应用系统开发技术实验指导》朱如龙编,机械工业出版社
1.4设计内容及要求
一、内容
1。

要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规范,
完成各阶段的设计内容。

2.需求分析具体实际,数据流图、数据字典、关系模型要正确规范
3.在sql server2000 上实现设计的数据库模型。

4.对应用程序进行概要设计。

5。

用VB实现简单的应用程序编写。

二、要求
设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导.正确地完成上述内容,规范完整地撰写出课程设计报告。

第2章设计内容
2。

1数据库设计
本数据库系统通过之前的需求分析,以SQL为后台,VB为前台设计了一个简单的餐饮管理系统.通过概念设计,逻辑设计和物理设计的转换来实现了数据库文件。

2。

1.1需求分析
本系统介绍了一般的计算机管理的餐饮服务程序,首先从各种相关的软件入手,分析了这类软件的特点、发展历程,并对发展缓慢的原因进行了初步的调研。

从以前的相关软件的软肋着手,介绍了餐饮服务计算机软件的编程思路和基本方法。

重点介绍了前台营业,从第三者的角度即消费者的角度介绍了前台营业的操作流程
在酒店里建立一个餐饮服务系统对提高酒店的工作效率和增加酒店的效益都是有好处的,它影响了酒店经营业绩,也使酒店的竞争能力提升。

它的优势主要在于有效展示酒店形象和服务,建立与客户良好的互动关系,高效管理销售过程,而且显著降低销售成本、提高经济效益和管理水平,提高营业收入,使得利润最大化,如此可见餐饮服务系统给酒店带来了可观的收入。

本餐饮管理系统主要实现对餐饮系统相关信息的管理,其中以日点单为中心,其中还包括员工信息管理,员工所属部门信息的管理,房间台号以及房间类型的相关信息管理,还包含了最基础的商品信息表和供应商基础信息.
1.餐饮管理需求分析
数据项和数据结构如下:
(1)日点单信息表:房台编号,房台类型,商品编号,商品名称,数量,单价,金额,点单日期,员工编号,员工名称。

(2)商品基础信息表:商品编号,商品名称,单价,供应商,单价,供应商,联系人,联系电话.
(3)供应商信息表:供应商名称,地址,联系人,联系电话.
2。

业务流程图
图2。

1餐饮管理系统业务流程图
3。

数据流程图
图2。

2餐饮管理系统数据流程图
4.数据字典
(1)数据项
数据项名称数据项含义说明数据类型长度房台编号为房间台号设置的一个代号字符型10 房台名称房间的名称字符型10 商品编号为商品(菜)设置的一个代号字符型20
(2)数据结构的定义
(4)数据存储
数据存储名:日点单信息
输入数据流:商品基本信息,供应商基本信息输出数据流:顾客点单信息
2.1.2概念设计
概念模型是对信息世界的建模,所以概念模型应该能够方便、准确的表示出信息世界中的常用概念。

实体———---关系模型(Entity—Relationship Module,简称E—R 图)是数据库结构设计常用的方法.
得到了数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及它们之间的关系,为后面逻辑结构设计打下基础。

这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。

系统E—R图设计
1.日点单信息实体E-R图:
图2.3日点单信息E—R图
2。

商品基础信息实体E—R图:
图2。

4商品基础信息E-R图
3。

供应商信息实体E—R图:
图2.5供应商信息E-R图
4。

餐饮管理系统信息实体E—R图:
图2.6餐饮管理系统信息实体E—R图
2.1.3逻辑设计
逻辑结构设计的任务就是将概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。

本系统逻辑结构设计的任务有:
1.初始关系模型设计,即将概念结构向一般的关系模型转化。

日点单信息管理(房台编号,房台类型,商品编号,商品名称,数量,单价,金额,点单日期,员工编号,员工名称)
商品基础信息(商品编号,商品名称,单价,供应商,联系人,联系电话)
供应商信息(供应商名称,地址,联系人,联系电话)
2。

规范化处理,从E-R图向数据模型转化的过程中,用模式合并和分解方法达到规
范化级别。

根据上面的系统E-R图我们得知日点单信息表和商品基础信息表之间是多对多的关系,而商品基础信息和供应商之间也是多对多的关系。

供应商信息和商品基础信息存在传递依赖,所以可以将供应商信息和基础信息合并为:
商品基础信息(商品编号,商品名称,单价,供应商,供应商名称,地址,联系人,联系电话)
2.1.4物理设计
1.存储结构:
存储结构是建立一种由逻辑结构到存储空间的映射。

存储结构是把一组结点存放在按地址相邻的存储单元里,结点间的逻辑关系用存储单元的自然顺序关系来表达的,即用一块存储区域存储线性数据结构,为使用整数编码访问数据结点提供了便利。

存储的路径是C:\Program Files\Microsoft SQL Server\MSSQL\data\餐饮管理系统_Data.MDF。

2。

存取方法
存取方法是快速存取数据库中数据的技术。

索引法是为了加速对表中的数据行的检索而创建的一种分散的存储结构.是针对一个表而建立的,它能够以一列或多列的值为关键字,迅速查找/存取表中行数据加快了数据检索。

例如在本数据库日点单信息表(房台编号,房台类型,商品编号,商品名称,数量,单价,金额,点单日期,员工编号,员工名称)里的房台编号是主键,在room_id上创建了一个唯一聚簇性索引,为了加快数据库的检索速度。

在商品基础信息表上创建一个以商品编号为索引项的聚簇索引。

2。

1.5 数据库实现
1.表
(1)日点单信息表:房台编号,房台类型,商品编号,商品名称,数量,单价,金额,点单日期,员工编号,员工名称.
表2。

6日点单信息表
(2)商品基础信息表:商品编号,商品名称,单价,供应商,联系人,联系电话.
表2.7商品基础信息表
(3)供应商信息表:供应商名称,地址,联系人,联系电话。

表2。

8供应商信息表
2。

关系图
餐饮管理系统包括员工信息表,日点单信息表,商品基础信息表,房间台号信息表,供应商信息表,房间台号类型表,部门信息表,利用各个表的主键把各个表连接到一起。

利用关系图表现出来。

如图2。

7所示:
图2。

7餐饮管理系统关系图
3.存储过程
(1)为数据库CYGLXT创建一个查询日点单信息的存储过程。

CREATE PROCEDURE menu_select
@troom_id char(10),
@troomtyper char(10),
@tgoods_id char(20)
AS
select *
from menu
GO
(2)为数据库CYGLXT创建一个删除日点单信息的存储过程。

CREATE PROCEDURE menu_delete
@roomid char(10)
AS
delete from menu
where room_id=@roomid
GO
(3)为数据库CYGLXT创建一个添加日点单信息的存储过程。

REATE PROCEDURE menu_insert
@room_id char(10),
@roomtype char(10),
@goods_id char(20),
@goodsname char(50),
@amount numeric(9),
@price money,
@jine money,
@menudate datetime,
@staff_id char(10),
@staffname char(12)
AS
insert into menu
(room_id,roomtype,goods_id,goodsname,amount,price,jine,menudate,staff_id,staffname)
values
(@room_id,@roomtype,@goods_id,@goodsname,@amount,@price,@jine,@menudate,@staff_id,@staffname)
GO
4。

触发器
CREATE TRIGGER 商品数量_insert ON 日点单表
FOR INSERT
AS
DECLARE @NumOf商品数量 TINYINT
SELECT @NumOf商品数量= c.商品编号 _num FROM 商品基础信息 c ,inserted i WHERE c. 商品编号 = i. 商品编号
IF (@NumOf商品数量 > 0)
BEGIN
UPDATE 商品信息 SET 商品数数_num = 商品数数t_num + 1
FROM 商品信息c ,inserted i WHERE c。

商品数 = i。

商品数
END
ELSE
BEGIN
UPDATE 商品信息 SET 为序人_num = (
SELECT COUNT(s。

商品编号) FROM商品信息 s ,inserted i
WHERE s. 商品编号 = i。

商品编号)
FROM 商品信息c, inserted i WHERE c. 商品编号 = i. 商品编号
END
GO
2.2程序设计
2.2.1概要设计
本程序实现餐饮服务内部和正常营业业务以及扩展业务的自动化电算管理。

餐饮服务系统的模块实际上是指从顾客消费的正常流通渠道的角度,管理员通过对餐饮服务系统进行处理的总过程。

对酒店的经营和数据的初始化以及人员招聘、菜谱的制定、供应商的供货情况及餐饮管理系统的各项工作的协调运作。

对上述各项功能进行集中、分块、按照结构化程序设计的要求分析后,得到如下图2.8所示的系统功能模块图。

图2.8系统模块图
2.2.2程序实现
程序实现主要是代码在编译器中运行得到的结果,餐饮管理窗体主要由文本框及命令按钮组成,分别点击“查询、删除、添加、修改、退出”按钮系统会通过上述五个控
件与数据库进行连接并进行数据的相应操作。

实现具体功能窗口如图2.8所示:
图2。

9程序运行界面
代码如下:
Private Sub Command1_Click()
Dim strS As String ’定义一变量
Dim adoconn As New ADODB。

Connection ’Connection 对象代表了打开与数据源的连接。

Dim adocomm As New mand ’Command 对象定义了将对数据源执行的指定命令.
Dim rs As New ADODB.Recordset
Dim ReturnValue As Integer '调用存储过程的返回值
adoconn。

ConnectionString = Adodc1.ConnectionString 'Adodc1为窗体中的ADO 控件,并已成功连接数据库
adoconn。

Open
Set adocomm。

ActiveConnection = adoconn '指示指定的 Command对象当前所属的 Connection对象。

adocomm。

CommandText = ”menu_select”’设置Command对象源.
adocomm。

CommandType = adCmdStoredProc ’通知提供者CommandText属性有什么,它可能包括Command对象的源类型。

设置这个属性优化了该命令的执行。

adocomm。

Parameters(1) = Text1。

Text
adocomm。

Parameters(2) = Text2。

Text
adocomm.Parameters(3) = Text3。

Text
adocomm。

Parameters(4) = Text4.Text
adocomm.Parameters(5) = Text5.Text
adocomm。

Parameters(6) = Text6。

Text
adocomm.Parameters(7) = Text7。

Text
adocomm.Execute
ReturnValue = adocomm.Parameters(0) '存储过程的返回值,返回0则成功执行。

If ReturnValue = 0 Then
strS = Str(adocomm.Parameters(8)) '把存储过程的输出参数的值赋给变量strS
Text8。

Text = strS
Else
Text8.Text = 0
End If
adoconn.Close
adoconn.Open
Set adocomm.ActiveConnection = adoconn
mandText = "ad" '设置Command对象源.
adocomm。

CommandType = adCmdStoredProc '通知提供者CommandText属性有什么,它可能包括Command对象的源类型.设置这个属性优化了该命令的执行。

Set rs = New ADODB。

Recordset
'rs.CursorLocation = adUseClient
rs。

CursorType = adOpenStatic '不能省略否则集合不能作为标签错误。

rs。

Open adocomm
DataGrid1。

ClearFields
Set DataGrid1.DataSource = rs
’Adodc1.Refresh
DataGrid1.Refresh
’adoconn.Close 若关闭连接则表格中数据消失
End Sub
第3章设计总结
我们小组设计的是一个简单的餐饮管理系统。

给出题目以后,我们首先对所需要的软件进行了系列的了解,本系统是一SQ LServer2000为后台VB6。

0为前台进行程序的调用的。

之后我们大致规划了餐饮系统大概的需求。

首先是设计表,我们从员工,到日点单的信息设计,还有有仓库的管理,供应商信息等,做了一系列的规划.
通过这次的课程设计操作,让我对数据库的各项操作有了更进一步的了解和更加的熟练操作,并对这门课程产生了很大兴趣,从一开始的创建表简单的东西开始,连接关系图,建立索引,建立存储过程,也会有很多的问题出现,但是经过小组人员一起翻书,查询,最终都得到了想要的结果,觉得收获很多,在不断的失败中学习到了更多。

后台程序的完成,让我对此软件的开发有了更清楚的认识,同时也让我懂得了实践的重要性.其次,这个程序当中遇到问题比较多的还是VB的程序代码,VB窗体连接后台数据库。

界面有查询,删除,添加,修改,退出,五个按钮,后台的代码是我们最头疼的问题,在老师的不断指导和小组人员的不断修改和讨论的情况下,终于圆满的运行出来了,虽然这次的课程设计算是胜利的完成的,但是还是有很多需要学习和改善的地方,比如数据库的建立不完善,考虑不够全面,界面设计的单一性等多方面的问题都是有待于提高的,我会在以后的学习当中更加努力,积累更多的经验,提高知识的灵活运用能力。

总的来说,这次的课程设计结束了,但是给我留下的东西确实很丰富的,我觉得会是我永远的财富,也让我懂得了,只要用心,只要努力,没有什么做不好的。

参考文献
1.马晓梅。

《SQL Server 2000》.清华大学出版社
2。

吴豪.《SQL Server 2000 基础》。

北京希望电子出版社
3。

余金山。

《SQL Server 2000编程指南》.北京希望电子出版社4.熊桂喜.《SQL Server开发指南》。

清华大学出版社
5。

萨师煊.《数据库系统概论》.高等教育出版社
6.麦克马纳斯。

《高级开发指南》.北京希望电子出版社
7.王华杰。

《VB。

NET编程实例详解》。

中国铁道出版社
8.彭东.《SQL Server应用开发技术指南.清华大学出版社
9.三味工作室。

SQL Server 2000.上海:人民邮电出版社
10。

刘玉生.《SQL Server开发、管理和应用》.电子工业出版社11。

Thomsen.《VB。

NET数据库开发》.清华大学出版社
12.张营。

《SQL Server 2000开发指南》。

电子工业出版社。

相关文档
最新文档