数据库课程设计 餐厅管理系统 大作业论文+源程序+数据库

Posted CSDN专家-小兔子编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库课程设计 餐厅管理系统 大作业论文+源程序+数据库相关的知识,希望对你有一定的参考价值。

餐厅管理系统

目录

  1. 背景及意义 2
  2. 需求分析 2
    2.1 需求概述 2
    2.2 功能需求 3
    2.3 数据流图 4
    2.4 数据字典 6
  3. 概念结构设计 11
    3.1 局部E-R图 11
    3.2 全局E-R图 14
  4. 逻辑结构设计 15
    4.1 E-R图对应的关系模式 15
    4.2 优化后的关系模式 15
  5. 物理结构设计 16
    5.1 描述 16
    5.2 创建索引 16
  6. 数据库实施 16
    6.1 各个表结构 16
    6.2 存储过程设计 16
    6.3 触发器设计 18
    6.4 视图 18
  7. 关键程序代码及截图 18
  8. 系统运行情况及用户界面 24
  9. 总结 27
    —————————————————————————————————
    此处省略几千字
    —————————————————————————————————

需求分析

功能需求

  1. 菜谱信息管理:对菜谱进行增、查、改、删操作。即可查询当前餐厅所推出的菜品,增加菜品,修改菜品的价格,删除菜品。
  2. 餐桌信息管理:能查询当前餐厅中所有餐桌的座位数以及使用情况,客人可以对位实现的餐桌进行使用申请。
  3. 顾客信息管理:可以查询顾客的相关信息,如性别,年龄,联系方式等。当有新顾客时,可添加新顾客的信息。
  4. 顾客下订单功能:实现下订单,具有唯一的订单号,可用于结账。可根据顾客的人数选择相应的餐桌号,并且能够指定服务员。
  5. 顾客点菜:实现顾客点菜功能。顾客可以对所下的订单进行修改,即可删除所点的菜品或是修改数量。同时可以查询某位顾客的订单。
  6. 顾客结账:根据订单号进行结账(防止有相同姓名的顾客,以致结错帐)。

数据流图

  • 顶层数据流图
    顶层数据流图

  • 0层数据流图
    0层数据流图

概念结构

ER图

  • 全局ER图
    ER图

  • 菜单实体图
    菜单ER

  • 顾客实体图顾客ER

逻辑结构设计

  1. E-R图对应的关系模式
  • 菜谱(菜品编号,菜品名称,菜品类别,菜品价格)
  • 顾客(顾客编号,姓名,性别,年龄,联系方式)
  • 餐桌(餐桌号,座位数,使用状态)
  • 员工(工号,姓名,性别,年龄,工资)
  • 订单(订单编号,顾客编号,消费时间,餐桌编号,服务员编号)
  • 菜谱_订单(订单编号,菜品编号,菜品名称,菜品数量)
  1. 优化后的关系模式
  • 菜谱(菜品编号,菜品名称,菜品类别,菜品价格)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++实现实验设备管理系统 课程设计论文+源程序+数据库+使用说明

C语言程序设计大作业 酒店管理系统 课程设计

数据库课程设计 基于C#和Sqlsever开发的教材管理系统论文+源程序+数据库

数据库课程设计 java实现高校学生选课管理系统论文+源程序+数据库