数据库课程设计 餐厅管理系统 大作业论文+源程序+数据库
Posted CSDN专家-小兔子编程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库课程设计 餐厅管理系统 大作业论文+源程序+数据库相关的知识,希望对你有一定的参考价值。
餐厅管理系统
目录
- 背景及意义 2
- 需求分析 2
2.1 需求概述 2
2.2 功能需求 3
2.3 数据流图 4
2.4 数据字典 6 - 概念结构设计 11
3.1 局部E-R图 11
3.2 全局E-R图 14 - 逻辑结构设计 15
4.1 E-R图对应的关系模式 15
4.2 优化后的关系模式 15 - 物理结构设计 16
5.1 描述 16
5.2 创建索引 16 - 数据库实施 16
6.1 各个表结构 16
6.2 存储过程设计 16
6.3 触发器设计 18
6.4 视图 18 - 关键程序代码及截图 18
- 系统运行情况及用户界面 24
- 总结 27
—————————————————————————————————
此处省略几千字
—————————————————————————————————
需求分析
功能需求
- 菜谱信息管理:对菜谱进行增、查、改、删操作。即可查询当前餐厅所推出的菜品,增加菜品,修改菜品的价格,删除菜品。
- 餐桌信息管理:能查询当前餐厅中所有餐桌的座位数以及使用情况,客人可以对位实现的餐桌进行使用申请。
- 顾客信息管理:可以查询顾客的相关信息,如性别,年龄,联系方式等。当有新顾客时,可添加新顾客的信息。
- 顾客下订单功能:实现下订单,具有唯一的订单号,可用于结账。可根据顾客的人数选择相应的餐桌号,并且能够指定服务员。
- 顾客点菜:实现顾客点菜功能。顾客可以对所下的订单进行修改,即可删除所点的菜品或是修改数量。同时可以查询某位顾客的订单。
- 顾客结账:根据订单号进行结账(防止有相同姓名的顾客,以致结错帐)。
数据流图
-
顶层数据流图
-
0层数据流图
概念结构
ER图
-
全局ER图
-
菜单实体图
-
顾客实体图
逻辑结构设计
- E-R图对应的关系模式
- 菜谱(菜品编号,菜品名称,菜品类别,菜品价格)
- 顾客(顾客编号,姓名,性别,年龄,联系方式)
- 餐桌(餐桌号,座位数,使用状态)
- 员工(工号,姓名,性别,年龄,工资)
- 订单(订单编号,顾客编号,消费时间,餐桌编号,服务员编号)
- 菜谱_订单(订单编号,菜品编号,菜品名称,菜品数量)
- 优化后的关系模式
- 菜谱(菜品编号,菜品名称,菜品类别,菜品价格)3NF
- 顾客(顾客编号,姓名,性别,年龄,联系方式)3NF
- 餐桌(餐桌号,座位数,使用状态)3NF
- 员工(工号,姓名,性别,年龄,工资)3NF
- 订单(订单编号,顾客编号,消费时间,餐桌编号,服务员编号)3NF
- 菜谱_订单(订单编号,菜品编号,菜品名称,菜品数量)3NF
- 点餐(菜品编号,订单编号)3NF
- 修改菜品数量(菜品编号,菜品数量,订单编号)3NF
—————————————————————————————————
此处省略几千字
—————————————————————————————————
数据库实施
菜谱
createtableMenus
--菜谱
(Dishnovarchar(10)primarykey,
Dishnamevarchar(10),
Dishclassvarchar(10),
Dishpricefloat,
)
顾客
createtableCustomer
--顾客
(Customernovarchar(10)primarykey,
Customernamevarchar(10)notnull,
Customersexvarchar(4)check (Customersex='男'orCustomersex='女')notnull,
Customerphonenovarchar(20)uniquenotnull,
)
订单
createtableOder
--订单
(Odernovarchar(10)primarykey,
Customernovarchar(10)notnull,
consumetimedatetimenotnull,
Foodtablenovarchar(10)notnull,
Workernovarchar(10)notnull,
foreignkey(Customerno)referencesCustomer(Customerno),
foreignkey(Foodtableno)referencesFoodtable(Foodtableno),
foreign key(Workerno) references Worker(Workerno),
)
新增顾客
------------------------插入新顾客信息---------------
--drop procedure 插入新顾客信息
createprocedure插入新顾客信息
(@Customernovarchar(10),
@Customernamevarchar(10),
@Customersexvarchar(4),
@Customerphonenovarchar(20)
)
as
insert
intoCustomer
values(@Customerno,@Customername,@Customersex,@Customerphoneno)
select*fromCustomer
下单
--drop procedure 下单就位
createprocedure下单就位
(@Odernovarchar(10),
@Customernovarchar(10),
@consumetimedatetime
@Foodtablenovarchar(10)
@Wokernovarchar(10)
)
as
begintransaction--开始事务
insert
intoOder
values(@Oderno,@Customerno,@consumetime,@Foodtableno,@Wokerno)
if ((selectFoodtablestatefromFoodtablewhereFoodtableno=@Foodtableno)<>'空')
begin
print'该餐桌有人,请重选餐桌。'
Rollbacktran
return
end
else
begin
updateFoodtable
setFoodtablestate='有人'
whereFoodtableno=@Foodtableno
print'下单成功,请就位开始点菜'
end
committran
—————————————————————————————————
此处省略几千字
—————————————————————————————————
资源下载
对应完整的论文+源程序+数据库下载:https://download.csdn.net/download/frank2102/19790684
以上是关于数据库课程设计 餐厅管理系统 大作业论文+源程序+数据库的主要内容,如果未能解决你的问题,请参考以下文章
数据库课程设计 java实现聊天室管理系统 大作业论文+源程序+数据库
数据库课程设计C#+SQL实现楼盘销售管理系统 大作业源代码+数据库+论文+使用说明
数据库课程设计 C++实现实验设备管理系统 课程设计论文+源程序+数据库+使用说明