SQL课程设计培训讲学.docx
《SQL课程设计培训讲学.docx》由会员分享,可在线阅读,更多相关《SQL课程设计培训讲学.docx(17页珍藏版)》请在冰豆网上搜索。
![SQL课程设计培训讲学.docx](https://file1.bdocx.com/fileroot1/2023-1/1/5cd1724b-7d93-4095-bac0-1eb5e6e2407b/5cd1724b-7d93-4095-bac0-1eb5e6e2407b1.gif)
SQL课程设计培训讲学
辽宁工业大学
《管理信息系统设计专题》报告
题目:
酒店餐饮管理信息系统
院(系):
软件学院
专业班级:
计算机信息管理091班
学号:
学生姓名:
指导教师:
王彦华
教师职称:
助教
起止时间:
2011.06.20-2011.07.01
设计任务及评语
院(系):
软件学院教研室:
软件教研室
学号
学生姓名
专业班级
设计题目
酒店餐饮管理系统
设计任务
要求根据管理信息系统及数据库设计原理,按照系统设计的步骤和规范,完成各阶段的设计内容。
需求分析具体实际,数据流图、数据字典、关系模型要规范。
在sqlserver2000上实现数据库的模型建立(数据库、表的建立、完整性约束的实现、关系图、必要的存储过程及触发器的编程),并用VB实现简单的应用程序。
设计过程中,要严格遵守设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出设计报告。
指导教师评语及成绩
成绩:
指导教师签字:
年月日
第1章设计目的与要求
1.1设计目的
本设计专题是软件工程类专业的有关管理信息系统设计开发的一个重要环节,是本专业学生必须学习和掌握的综合实践课程。
本实践课的主要目的是:
(1)、掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;
(2)掌握关系数据库的设计方法;(3)掌握SQLServer2000技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。
1.2设计环境
硬件:
CPU:
IntelPentium或与其兼容,主频166MHz以上。
内存:
128MB。
软件:
MicrosoftSQLServer2000、VisualBasic6.0精简版
1.3主要参考资料
1.《管理信息系统》黄梯云高等教育出版社
2.《数据库系统概论》萨师煊高等教育出版社
3.《SQLServer2000数据库应用系统开发技术》朱如龙编,机械工业出版社。
4.《SQLServer2000数据库应用系统开发技术实验指导》朱如龙编,机械工业出版社
1.4设计内容及要求
一、内容
1.要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规范,完成各阶段的设计内容。
2.需求分析具体实际,数据流图、数据字典、关系模型要正确规范
3.在sqlserver2000上实现设计的数据库模型。
4.对应用程序进行概要设计。
5.用VB实现简单的应用程序编写。
二、要求
设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出课程设计报告。
第2章设计内容
2.1数据库设计
本系统主要实现了酒店餐饮管理的系统的订餐的查询,主要包括:
餐桌的查询、菜谱信息的查询、酒水的查询、以及价格的查询等。
通过数据库与VisualBasic6.0d的链接实现系统各种功能的查询。
2.1.1需求分析
需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块。
这个步骤是对理解需求的升华,直接关系到该系统的质量。
经过同客户的需求分析后,确定酒店管理系统的功能模块,包括增加用户、定餐管理、结算管理、值班信息管理、客户信息管理、菜谱信息管理、餐桌信息管理、八大功能模块。
本系统完成对酒店的餐饮的管理,菜谱信息的浏览,订餐信息的管理等.
本系统还可以实现多种查询,如:
菜名的参数查询,按菜所属的种类查询,结算日期的交叉查询,订餐信息的追加、删除查询,房间信息的查询,按性别查询客户的信息等方面的查询。
以及各种报表的打印就明细表。
根据该企业的特点和该企业的实际情况,该系统以餐饮业务为基础,主要突出点单、结账。
点单方面主要采取图形界面方式使用户能够直观的管理数据信息,并能有效的管理各个房台,房台的点单信息也让管理人员和用户一目了然;结账方面也采取图形界面管理方式,让用户可以动态的管理现有信息。
这里突出了重要的两点:
一是,操作管理的信息准确无误,可让用户放心。
二是,操作管理的速度快、管理方便、实用性高。
这里还提供了特殊的选项(特权结账)功能。
后台管理包括进货、库存信息查询,这样用户可以有效地管理商品信息。
点菜收银管理可实现、转台、并台、结账。
点菜收银、营业统计、库房管理的有机结合,为酒店菜馆的发展提供保证。
1.系统功能模块设计
系统的主界面由信息管理和退出组成,信息管理包括菜谱信息、房间信息和订餐信息。
菜谱信息又包括菜谱号、名称、所属种类、价格;订餐信息包括编号、桌号、菜名、数量、价格、订餐日期等。
房间信息包括房间的编号、等级和价格。
系统的模块功能图如图下图所示:
图2-1系统功能模块图
数据流程图如下:
图2-2数据流程图
业务流程图如下:
前台经理
点餐交接单
验证
交接厨房
前台订餐单
计算餐费
服务员
订餐单
提交并备份订餐单
验证订餐单
订餐单
计算餐费和酒水费
餐费发票
顾客
点餐单
财务
稽核
顾客
图2-3业务流程图
数据字典
1)数据项:
编号:
I1
名称:
菜品编号
简述:
菜品的识别编号
类型:
字符型
宽度:
4位
2)数据结构:
编号:
P1
名称:
订餐
输入:
点菜单
处理:
汇总点菜单
输出:
订单
3)数据存储:
编号:
F1
名称:
订单表
简述:
储存订单的信息
组成:
编号+订餐人+菜品+价格+订餐时间+包厢号+总价格
关键字:
编号+订餐人
4)数据流:
编号:
D1
名称:
点菜单
简述:
返回前台点菜信息
组成:
编号+名称
来源:
顾客
去向:
订餐处理模块
2.1.2概念设计
由需求分析的结果可知,本系统设计的实体包括:
菜谱信息实体,订餐信息实体、客户信息实体等。
由上述分析可得到系统E-R图:
1.菜谱信息
菜谱信息包括菜谱号、名称、所属种类、价格和描述,如下图:
图2-4菜谱E-R图
2.订餐信息
订餐信息包括桌号、菜号、名称、价格数量和日期。
E-R图,如图下图所示:
图2-5订餐信息E-R图
3.客户信息
客户信息包括客户号姓名、个人信息、单位信息和联系方式。
E-R图如图下图所示:
图2-6客户信息E-R图
4.酒店餐饮管理系统总流程图如下图所示:
图2-7酒店餐饮E-R图
2.1.3逻辑设计
数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用所支持的数据模型相符合的逻辑结构。
本系统中有food表、GuestFood表、tb-Room表、Waiter表、foodtype表,例如一些表的数据库逻辑结构。
将E-R图转化成关系模式
food(ID,foodty,foodnum,foodname,foodprice)
GuestFood(ID,foodnum,foodname,foodsum,foodallprice,waitername)
Tb_Room(ID,RoomName,RoomJC,RoomBJF,PoomWZ,RoomZP,Roomtype,RoomQT)
2.1.4物理设计
存储过程的能力大大增强了SQL语言的功能和灵活性。
存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。
存储过程可以保证数据的安全性和完整性。
通过存储过程可以使没有权限的用户在控制之下间接地存储数据库,从而保证数据的安全。
通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。
索引有两种类型:
聚簇索引和非聚簇索引。
在聚簇索引中,索引树的页级包含实际的数据:
记录的索引顺序与物理顺序相同,在聚簇索引中,叶级页指向表中的记录:
记录的物理顺序与逻辑顺序没有必然联系。
创建索引可以大大加快数据的检索速度,可以加速表和表的连接,加快分组和排序子句的数据库检索速度。
表创建一个以“Food表”为索引的关键字的唯一聚簇索引。
在展开数据库中的表中右键产Food表,单击所有任务弹出的索引管理。
在窗体点新建索引名称为“ID”,点击复选框“聚簇索引”、“惟一值”。
事务日志文件备份及存放,为表创建索引。
索引的作用就在于,为某个字段建立了索引之后,查询这个字段里面的数据的时候,效率更高。
SQLServer资源配置中提及的磁盘表示单个硬件设备。
硬盘驱动器包括两个分区,一个分区保存日志文件,另一个分区保存数据文件,这与有两个磁盘,每个磁盘专用于存储日志或数据文件的情况不同。
2.1.5数据库实现
1.tb_food表的逻辑结构:
图2-8tb_food表的逻辑结构图
2.tb_GuestFood表的逻辑结构:
图2-9tb_GuestFood表的逻辑结构图
3.系统关系图如下:
图2-10系统关系图
2.2程序设计
2.2.1概要设计
餐厅系统是按国内餐饮行业最新要求开发的全新概念信息管理系统。
该系统将餐厅收银、往来帐务结算管理及销售情况统计工作在单微机或网络系统中完成。
主要特点包括:
(1)代码菜谱编制,方便统计,方便输入;
(2)开单、改单、结算、打印、用户界面方便友好;
(3)系统专设往来帐、内部帐,结算方式灵活多样,结算信息详尽翔实;
(4)系统可同前台系统衔接,查询客人信贷情况,往前台客人帐户转账;
(5)帐务系统的可扩充性。
由于餐厅业务的扩展,势必要求帐务结算系统随之扩展,在不修改程序的前提下,本系统可在相当可观的范围内,由用户扩展其营业项目和结算手段。
(6)帐务操作数据的可校验性。
本系统提供了多种方便的查询、校核和统计功能,供帐务操作人员和专职核数人员自核及校对帐务数据。
例如,当班收银员下班时直接统计当班期间的输单、收银情况。
为餐饮企业管理人员提供及时准确的经营状况和帐务信贷情况。
其功能是将用户在sle_1和sle_2控件中输入的用户名和口令与数据库中保存的值班员姓名和口令做比较。
如果一致,则打开应用程序主窗口,并关闭登录窗口,同时显示交班管理制度;如果不成功,则输入显示信息,提示输入不正确请重试。
2.2.2程序实现
菜谱信息维护:
菜谱信息维护窗口用于维护系统中的菜谱信息。
菜谱信息维护窗口界面如下图所示。
在该窗口中可以完成查询、增加、删除和保存的功能。
(1)privatevoidbutton7_Click(objectsender,EventArgse)
{
this.Close();
}
privatevoidbutton6_Click(objectsender,EventArgse)
{
SqlConnectionconn=BaseClass.DBConn.CyCon();
conn.Open();
SqlCommandcmd=newSqlCommand("deletefromtb_RoomwhereRoomName='"+dataGridView1.SelectedCells[0].Value.ToString()+"'",conn);
cmd.ExecuteNonQuery();
conn.Close();
BindData();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
button1.Enabled=false;
button3.Enabled=true;
button4.Enabled=true;
txtjc.Enabled=true;
txtbjf.Enabled=true;
txtwz.Enabled=true;
txtlx.Enabled=true;
txtbz.Enabled=true;
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
button1.Enabled=true;
button2.Enabled=false;
button3.Enabled=false;
button4.Enabled=false;
button6.Enabled=false;
txtname.Enabled=false;
txtjc.Enabled=false;
txtbjf.Enabled=false;
txtwz.Enabled=false;
txtlx.Enabled=false;
txtbz.Enabled=false;
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
SqlConnectionconn=BaseClass.DBConn.CyCon();
conn.Open();
SqlCommandcmd=newSqlCommand("selectcount(*)fromtb_RoomwhereRoomName='"+txtname.Text+"'",conn);
inti=Convert.ToInt32(cmd.ExecuteScalar());
if(i>0)
{
cmd=newSqlCommand("updatetb_RoomsetRoomName='"+txtname.Text+"',RoomJC='"+txtjc.Text+"',RoomBJF='"+txtbjf.Text+"',RoomWZ='"+txtwz.Text+"',RoomType='"+txtlx.Text+"',RoomBZ='"+txtbz.Text+"'whereID='"+dataGridView1.SelectedCells[6].Value.ToString()+"'",conn);
cmd.ExecuteNonQuery();
conn.Close();
BindData();
button1.Enabled=true;
button2.Enabled=false;
button3.Enabled=false;
button4.Enabled=false;
button5.Enabled=true;
button6.Enabled=false;
button7.Enabled=true;
txtname.Enabled=false;
}
else
{
cmd=newSqlCommand("insertintotb_Room(RoomName,RoomJC,RoomBJF,RoomWZ,RoomType,RoomBZ)values('"+txtname.Text+"','"+txtjc.Text+"','"+txtbjf.Text+"','"+txtwz.Text+"','"+txtlx.Text+"','"+txtbz.Text+"')",conn);
cmd.ExecuteNonQuery();
conn.Close();
BindData();
button1.Enabled=true;
button2.Enabled=false;
button3.Enabled=false;
button4.Enabled=false;
button5.Enabled=true;
button6.Enabled=false;
button7.Enabled=true;
txtname.Enabled=false;
}
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
txtname.Text="";
txtlx.Text="";
txtjc.Text="";
txtbz.Text="";
txtbjf.Text="";
txtname.Enabled=true;
txtjc.Enabled=true;
txtbjf.Enabled=true;
txtwz.Enabled=true;
txtlx.Enabled=true;
txtbz.Enabled=true;
button3.Enabled=true;
button4.Enabled=true;
button2.Enabled=false;
}
}
}
(3)“增加”按钮控件的Click事件用于增加一个菜谱,程序代码如下:
dw_1.scrolltorow(dw_1.insertrow(0))
dw_1.setcolumn(0)
dw_1.setfocus()
(4)“删除”按钮控件的Click事件用于删除一个菜谱,程序代码与上述的“删除”按钮相同.
(5)“保存”按钮控件的Click事件将用于保存用户所做的修改,程序代码与上述“保存”按钮相同.
(6)“退出”按钮控件的Click事件将用于退出该程序窗口。
第3章设计总结
这次课程设计是独立完成的,做的题目是《酒店餐饮管理系统》,在做课设的过程中也遇到了很多问题,像是如何分配系统,在做窗体的时候要使用哪些控件,要如何运用这些控件,还有就是代码的编写,我经常会出现编写的代码出现错误,但是在指导教师帮助下都一一解决了。
通过这次课程设计,让我学到了很多在课堂和书本上学不到的知识,我在这次课程设计中了解到酒店管理系统包括很多功能,其中有酒店的管理,预订,消费结算,等多项功能,通过课设我才了解到了酒店系统的具体功能.而且在使用方面也更加方便实用。
通过这次课程设计我还领略到了信息管理系统设计在计算机领域的重要性。
SQL作为一个永久存储形式在应用中发挥着重要的作用。
在程序设计中,我们要根据我们的应用来决定,一切应该以需求为首要选择。
对于一些控件的使用和界面的美化方面要更加熟悉。
因为酒店管理系统中涉及到很多控件的使用,只有很好的使用这些控件才可以给出一个很好的界面呈现在用户的面前。
这样更有利于系统和用户之间的交流。
这里就要涉及一些平时不太常见的控件的使用问题。
为了更好的在系统中利用这些控件,我上网查询了一些关于控件使用的资料,还有借了一些这方面的书籍。
因为美,是人一直追求的。
虽然这个酒店管理系统是一个大的系统,但是经过努力也很快完成了,这样可以在开发系统设计和实现中使我可以总结很多经验和教训。
参考文献
[1]徐建民.《VB语言程序设计》.2002年版.北京.电子工业出版社.2002.
[2]李大友.《VB语言程序设计》.1999年版.北京.清华大学出版社.1999.
[3]毕万新.《VB语言程序设计》.2005年版.大连.大连理工大学出版社.2005.
[4]刘 燕.《VB语言程序设计》.2008年版.北京.中国铁道出版社.2008.
[5]廖 雷.《VB语言程序设计》.2006年版.北京.高等教育出版社.2006.
[6]方少卿.《SQLServer语言程序设计》.2007年版.北京.中国铁道出版社.2007.
[7]谭浩强.《数据库语言程序设计》.(第二版).北京.清华大学出版社.2007.
[8]吴文虎.《程序设计基础》.2003年版.北京.清华大学出版社.2003.
[9]科钦.VB语言程序设计.北京:
电子工业出版社,1987:
56-57.
[10]李成付.数据库语言程序设计基础.北京:
科学出版社,1992:
42-46.
[11]徐君毅.数据库语言程序设计基础.上海:
复旦大学出版社,1992:
87-89.
[12]李书涛.SQLServer语言程序设计教程.北京:
北京理工大学出版社,1993:
65-70.
[13]姜仲秋.SQLServer语言程序设计基础.南京:
南京大学出版社,1998:
56-60.
[14]张颖江.SQLServer语言程序设计.北京:
科学出版社,1998:
64-75.
[15]李大友.SQLServer语言程序设计基础.北京:
清华大学出版社,1999:
58-62.