完整数据库课程设计餐厅点餐说明书.docx
- 文档编号:15149215
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:35
- 大小:380.75KB
完整数据库课程设计餐厅点餐说明书.docx
《完整数据库课程设计餐厅点餐说明书.docx》由会员分享,可在线阅读,更多相关《完整数据库课程设计餐厅点餐说明书.docx(35页珍藏版)》请在冰点文库上搜索。
完整数据库课程设计餐厅点餐说明书
摘要
在深入研究中小餐饮企业工作流程的基础上,分析制约餐饮企业工作效率的各种因素,发现影响效率的主要因素是普遍使用手工登记菜谱的现象,本系统运用计算机系统来实现餐饮企业工作流的信息化管理,采用面向对象的开发方法以及C#语言,依靠Visualstudio2012作为开发工具,使用SQLServer2008网络数据库存储数据。
实现了客户点餐、客户订餐、收银管理、用户管理四大功能,解决餐饮企业中客户点餐速度慢、服务员登记不清晰、厨师配餐漏配、菜谱更新不及时且不直观、会员管理混乱的现象。
关键词:
餐饮点餐;Visualstudio;SQLserve
1系统简介
1.1编写目的
本文档是餐厅点菜系统设计文档的组成部分,编写此文档的目的是:
明确此系统的需求和要具体实现什么功能,用来指导后期的数据库脚本的开发。
本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。
1。
2编写背景
本项目开发的软件是餐厅点菜系统软件.随着人民的生活水品不断提高,生活也越来越好。
就喜欢出去吃饭,酒店等人员来往爆炸性增长。
饭店对自身和宾客信息的管理,越来越难。
随着这方面的信息不断增长。
人工的记忆管理的弊端越来越突显出来,自动化的管理,可以更好的。
更方便、更有效的对饭店的日常的所有管理.增加工作效率。
所以本系统就应运而生。
本项目名称为饭店管理系统,系统就要与数据库交互。
所以就要数据库,餐厅点菜系统的待开发的数据库名字为HotalMSDB。
1。
3任务概述
餐厅点菜系统的目标是尽可能的简化人工的操作,实现自动化。
以最少的人实现最大的工作。
尽量做到达到人力于设备费用的节省,并且使软件处理数据的速度提高,软件的整个设计过程必须通过生产能力的提高,人员工作效率的提高等等使软件开发成本最小化。
实现保证软件质量的前提下的资金投入的最小化来获利益的最大化.本系统提供对员工的增删改,用户的增删改,菜的管理等饭店的基本日常管理。
2需求分析
2。
1需求调查
2。
1.1.餐馆的基本情况
顾客到餐馆自助点餐,每个餐桌上都配有点餐设备,点餐之后通过结账,等餐,吃饭。
所以数据库中应有如下实体:
订单信息:
餐桌号,菜的编号,价格;
餐馆的菜单信息:
菜的编号,菜名,价格,菜品简介、价格、图片、类型;
管理员:
姓名,登录系统密码.
2.1。
2用户对系统的要求
1信息要求
(1)订单信息:
餐桌号,菜的编号,价格。
(2)餐馆的菜单信息:
菜名,价格。
2处理要求
(1)当顾客订单信息发生改变时,能自行进行修改。
比如某些顾客加菜时,顾客点餐信息就应该做相应的修改。
(2)当餐馆的菜单信息需要发生变更时,管理员能对其进行修改。
(3)当顾客结账后,管理员能根据其订单通知厨房做菜,配送。
(4)顾客结账后等待并就餐。
3安全性与完整性要求
(1)安全性要求:
系统应设置访问用户的标识以鉴别是否是合法用户,即是否为管理员,并要求合法用户设置其密码,保证用户身份不被盗用.
(2)完整性要求:
①各种数据间相互联系的正确性。
②相同数据在不同记录中的一致性.
2。
2数据流程图
2.2.1系统总体流程图
图2.2。
1系统总体流程图
2。
2。
2订餐业务流程图
图2。
2.2订餐业务流程图
2.2。
3功能模块图
本系统有点餐、订餐功能,模块图如图2。
2。
3
图2.2。
3功能模块图
2。
3数据字典
2.3.1数据项
表1菜单数据字典
属性名
存储代码
类型
长度
备注
菜名
foodname
char
50
所有菜的菜名
价格
price
float
4
菜的价格
菜的编号
foodID
int
4
菜的编号
菜的类型
Foodtypeid
Int
4
菜的类型
图片
Picture
Image
2
菜图片
表2用户数据字典
属性名
存储代码
类型
长度
备注
用户编号
Userid
Int
4
用户的编号
用户名
Username
char
10
用户的用户名
用户密码
userPassword
char
20
用户的密码
表3订单数据字典
属性名
存储代码
类型
长度
备注
订单类型
bookTypeID
Int
4
订单的类型
订单的编号
accountID
Int
4
订单的编号
价格
money
Float
4
菜的价格
时间
Times
datetime
2
订单时间
2.3.2数据结构
表2.3.2数据结构表
数据结构名
组成
菜单信息
菜的编号,菜名,价格
订单信息
订单类型,订单的编号,价格,时间
用户信息
用户编号,用户名,用户密码
2.3。
3数据流
表2。
3.3数据流表
数据流名
数据流来源
数据流去向
组成
点餐信息
顾客
订单表
订单信息
处理信息
订单表
经理
订单信息
结算信息
收银员
订单表
已处理信息
查询信息
菜单表
经理
菜单信息
修改信息
用户
菜单表
已修改信息
2。
3.4数据存储
表2.3。
4数据存储表
数据存储名
说明
输入的数据流
输出的数据流
组成
订单表
顾客点餐的订单表
订单信息
已处理信息
订单信息
订单信息
已处理信息
菜单表
餐馆所有菜的信息
菜单信息
已修改信息
菜单信息
菜单信息
已修改信息
2.3。
5处理过程
表2。
3.5处理过程表
处理过程名
输入数据流
输出数据流
录入订单信息
订单表
订单表
查询菜单信息
菜单表
订单表
结算菜单信息
订单表
订单表
修改菜单信息
菜单表
菜单表
3概念结构设计
3。
1实体E—R图
1.经理实体
图3.1.1经理实体属性E—R图
2。
厨师实体
图3.1.2厨师实体属性E—R图
3。
菜单实体
图3.1。
3餐单实体属性E—R图
4.收银员实体
图3。
1.4收银员实体E-R图
3。
2总体E—R图
图3。
2总体E-R图
4逻辑结构设计
4。
1实体所对应的关系模式
用户(UserID、userName、userPassword、userTypeID)
员工(employeesID、employeesName、Sex、Age、identityCard、Tel、userTypeID)
员工类型(employeesID、employeesName)
收入(accountID、Money、bookdinnerID、userID、times、bookTypeID)
菜单(foodID、foodName、Price、Picture、foodtypeID、number)
菜单类型(foodtypeID、foodTypeName)
订餐(bookID、booktime、eatTime、address、tel、bookTypeID)
出餐(launchID、employeesID、bookTypeID、foodID、time)
点餐(ChooseID、times、sourceID、bookTypeID)
来源(SourceID、Sourcenumber)
订餐类型(bookTypeID、BookTypeName)
4.2数据库表
表4.2。
1数据库的简要说明
表名
简要说明
dbo。
Accounts
收入表,在此存放账单信息
dbo.books
订餐表,在此存放订餐信息
dbo。
booktypes
点出餐类型表,在此存放点出餐类型的信息
dbo。
chooses
点餐表,在此存放点餐信息
dbo.detaileds
点餐详细表,在此存放订单信息
dbo.employees
厨师信息表,在此存放厨师信息
dbo。
foods
菜单表,在此存放菜单信息
dbo。
foodtypes
菜单类型表,在此存放菜单类型信息
dbo.launchs
出餐表,在此存放出餐信息
dbo.sources
来源表,在此存放订单来源餐桌信息
dbo。
users
用户表,在此存放用户信息
dbo.usertypes
用户类型表,在此存放用户类型信息
表4。
2.2Users(用户表)
字段名
说明
类型
可空
备注
UserID
用户ID
int
否
主键,自增
userName
用户名
Nvarchar(10)
否
唯一约束
userPassword
密码
Nvarchar(20)
否
userTypeID
员工表的ID
int
否
外键-关联员工表主键
表4。
2。
3Employees(厨师表)
字段名
说明
类型
可空
备注
employeesID
员工ID
int
否
主键,自增
employeesName
姓名
Nvarchar(20)
否
Sex
性别
Bit
否
Age
年龄
int
否
identityCard
身份证号
Nvarchar(18)
否
Tel
联系方式
Nvarchar(11)
否
userTypeID
员工类型ID
int
否
外键—关联员工类型表的主键
表4.2.4userTypes(用户类型表)
字段名
说明
类型
可空
备注
userTypeID
ID
int
否
主键,自增
userTypeName
类型名
Nvarchar(10)
否
表4.2.5Accounts(收入表)
字段名
说明
类型
可空
备注
accountID
收入ID
int
否
主键,自增
Money
收入金额
Float
否
orderID
点餐表的id
Int
否
userID
员工表的ID
int
否
外键-关联员工表主键
times
时间
Datetime
否
bookTypeID
判断点出餐
Int
否
外键—关联点出餐类型表主键
表4.2.6Foods(菜单表)
字段名
说明
类型
可空
备注
foodID
菜ID
int
否
主键,自增
foodName
某菜的名字
Nvarchar(50)
否
Price
价格
float
否
Picture
图片
Image
是
foodtypeID
食物的类型id
Int
否
外键—关联食物表的主键
number
统计某菜的数量
Int
是
Explain
菜简介
nvarchar(100)
是
表4。
2.7Foodtypes(菜单类型表)
字段名
说明
类型
可空
备注
foodtypeID
食物ID
int
否
主键,自增
foodTypeName
食物类型名
Nvarchar(50)
否
表4。
2。
8Books(订餐表)
字段名
说明
类型
可空
备注
bookID
点餐ID
int
否
主键,自增
booktime
订餐时间
Datatime
否
eatTime
订餐消费时间
Datatime
否
address
订餐人的地址
Nvarcahr(50)
否
tel
订餐人的联系方式
Nvarchar(50)
否
bookTypeID
点出餐ID
Int
否
外键—关联点出餐表主键
表4.2。
9Launchs(出餐表)
字段名
说明
类型
可空
备注
launchID
菜表的ID
int
否
主键—自增
employeesID
员工的ID
int
否
外建—关联员工表主键
bookTypeID
点出餐的ID
int
否
外键—关联点出餐表主键
foodID
食物ID
Int
否
外键—关联食物表主键
time
时间
Datetime
否
OrderID
点餐表ID
Int
否
表4。
2。
10Chooses(点餐表)
字段名
说明
类型
可空
备注
ChooseID
点餐的ID
int
否
主键,自增
times
点餐的时间
Datatime
否
自动获取
sourceID
桌子的编号
Int
否
外键-关联来源表主键
bookTypeID
点出餐的ID
int
否
外键—关联点出餐表主键
表4。
2.11detaileds(点餐详细表)
字段名
说明
类型
可空
备注
detailedID
点餐详细表的ID
int
否
外建—关联点餐表主键
foodID
菜的ID
int
否
外建—关联菜表食物主键
number
数量
int
否
OrderID
点餐表ID
Int
否
bookTypeID
点出餐的ID
Int
否
外键-关联点出餐表主键
表4。
2。
12Sources来源表(点餐时的来源)
字段名
说明
类型
可空
备注
SourceID
来源的ID
int
否
主键—自增
Sourcename
桌子来源的编号
Nvarchar(10)
否
表4。
2。
13BookTypes(点出餐类型表)
字段名
说明
类型
可空
备注
bookTypeID
ID
int
否
主键—自增
BookTypeName
点出餐的类型
Nvarchar(10)
否
5物理结构设计
5。
1关系模式存取方法选择
数据库是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求,物理结构设计的任务之一是根据关系数据管理系统支持的存取方法确定选择哪些存取方法,本次设计采用B+树索引存取方法,根据应用要求确定对关系的哪些属性列建立索引,对哪些属性列建立组合索引,对哪些列建立唯一索引。
在本次设计中,一共有三个关系,分别是Users(用户表)、Employees厨师表、userTypes(用户类型表)、Accounts(收入表)、Foods(菜单表)Foodtypes(食物类型表)、Books(订餐表)、Launchs(出餐表)、Chooses(点餐表)、detail(点餐详细表)、Source(来源表(点餐时的来源))、BookTypes(点出餐类型表)
在这12个表中都用主键Id作为唯一索引进行相关的操作.
5。
2确定数据库的存储结构
确定数据库的物理结构主要是指确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储结构,确定系统配置等.确定数据的存放位置和存储结构要综合考虑存取时间,存储空间利用率和和维护代价三方面的因素.这三个方面常常是相互矛盾的,因此需要进行权衡,选择一个这种方案。
5.2。
1确定数据的存放位置
为了提高系统性能,应该根据应用情况将数据的易变部分与稳定部分,经常存取部分和存取频率较低的部分分开存放,本系统由于12个表都是要经常存取的,因此将其都放在一起,具体位置如下。
行数据文件存放位置:
C:
\ProgramFiles\MicrosoftSQLServer\MSSQL10。
MSSQLSERVER\MSSQL\DATA
日志文件存放位置:
C:
\ProgramFiles\MicrosoftSQLServer\MSSQL10。
MSSQLSERVER\MSSQL\DATA
5。
2.2数据库的系统配置
关系数据库管理系统铲平一般都提供了一些系统配置变量和存储分配参数,供设计人员和数据库管理员对数据库进行物理优化,出事情况下,系统都为这些变量赋予了合理的默认值,但是这些值不一定适合每一种应用环境,在进行物理设计时需要重新对这些变量赋值,以改善系统的性能.
表5。
2。
2本系统数据库的系统配置
逻辑名称
文件类型
文件组
初始大小(MB)
自动增长
HotalMSDB
行数据
PRIMARY
3
增量为1MB,不限制增长
HotalMSDB_log
日志
不适用
1
增量为10%,增长的最大值限制为2097152MB
6。
系统主要查询功能及SQL语句
6。
1主要查询功能
订单信息查询
privatevoidselect_Click(objectsender,EventArgse)
{
p=0;
IncomeOptincomeopt=newIncomeOpt();
if(cbotype.Text==”点餐”)
{
dgvselect.DataSource=incomeopt。
GetSelectFoodDian(cbodesk。
SelectedValue。
ToString());
}
else
{
dgvselect。
DataSource=incomeopt。
GetSelectFoodDing(cbonumber。
Text);
}
for(inti=0;i〈dgvselect.RowCount;i++)
{
p+=float。
Parse(dgvselect。
Rows[i]。
Cells[2].Value.ToString())*float.Parse(dgvselect。
Rows[i]。
Cells[3].Value.ToString());
}
labcount。
Text=p.ToString()+”元";
label1.Text=p。
ToString()+”元”;
}
6.2SQL语句
1.点餐的处理
privatestaticvoidtui(Packagepackage)
{
Choosechoose=newChoose();
choose.SourceID=1;
choose.BookTypeID=2;
choose.Datetime=DateTime。
Now;
SqlConnectionconn=newSqlConnection(constr);
conn。
Open();
SqlTransactiontran=conn。
BeginTransaction();
try
{
SqlCommandcomd=newSqlCommand();
comd.CommandText="insertintoChoosesvalues(@DateTime,@SourceID,@BookTypeID)";
SqlParameterpar1=newSqlParameter();
par1。
ParameterName="@DateTime";
par1。
Value=choose。
Datetime;
comd.Parameters。
Add(par1);
SqlParameterpar2=newSqlParameter();
par2.ParameterName="@SourceID”;
par2。
Value=choose。
SourceID;
comd.Parameters.Add(par2);
SqlParameterpar3=newSqlParameter();
par3.ParameterName="@BookTypeID";
par3。
Value=choose.BookTypeID;
comd。
Parameters.Add(par3);
comd。
Connection=conn;
comd.Transaction=tran;
comd。
ExecuteNonQuery();
comd.CommandText=”select@@identity”;
intid=Convert.ToInt32(comd.ExecuteScalar());
//Detaileddetailed=newDetailed();
foreach(Foodfoodinpackage。
ListFood)
{
comd。
CommandText="selectfoodIDfromFoodswherefoodName=’"+food。
FoodName+”’”;
intfoodID=Convert.ToInt32(comd。
ExecuteScalar());
comd.CommandText="insertintoDetailedsvalues('"+id+”’,’”+foodID+”',’"+food。
Number+”','”+choose.BookTypeID+”')";
comd。
ExecuteNonQuery();
}
tran。
Commit();
}
catch(Exceptionex)
{
tran.Rollback();
throwex;
}
finally
{
conn.Close();
}
}
2.订餐的处理
privatestaticvoidinsert(Packagepackage)
{
Bookbook=newBook();
book。
Address=package。
Address;
book.Tel=package.Tel;
book.EatTime=package.EatTime;
book。
BookTime=DateTime。
Now;
book。
BookTypeID=1;
SqlConnectionconn=newSqlConnection(constr);
conn.Open();
SqlTransactiontran=conn.BeginTransaction();//事务处理
try
{
SqlCommandcomd=newSqlCommand();
comd。
CommandText="insertintoBooksvalues(@BookTime,@EatTime,@Address,@Tel,@BookTypeID)";
SqlParameterpar1=newSqlParameter();
par1.ParameterName=”@BookTime”;
par1。
Value=book.BookTime;
comd。
Parameters.Add(par1);
SqlParameterpar2=newSqlPa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 数据库 课程设计 餐厅 说明书
![提示](https://static.bingdoc.com/images/bang_tan.gif)