餐厅管理系统
1. 系统概述
在现在科技飞速发展的今天,越来越多的商家都开始采用科技来帮助自己提高经营所得。通过对餐厅的各项数据进行收集管理,能够大量的节约成本。在节约成本的同时,我们还能够通过对数据的分析对未来的发展进行合理的规划。
1.1 开发背景
餐饮业作为我国第三产业中一个传统服务性行业,经历了改革开放起步、数量型扩张、规模连锁发展和品牌提升战略4个阶段,取得突飞猛进的发展。目前,全国已有餐饮网点400万个。然而,面对大量的数据,传统的的餐厅管理的方法显得有些不足,仅仅是依靠人工对数据进行逐个管理已经很难满足发展的需求。
1.2 发展现状
现在已有部分餐厅实现通过管理系统的方法对数据进行管理,效果还是十分显著,对于管理者来说节省了大量的时间和精力。
1.3 开发目的
解决餐厅管理者对于大量数据不方便管理的,以及餐厅实时现状的关注问题。
1.4 开发意义
帮助用户解决不方便管理的问题,同时通过一段时间的数据积累,可以查看积累的数据,对当前经营状况做出初步的了解,进而对下一步的经营制定更优的策略。例如,可以通过系统查询最近一段时间菜品的销量,进而对食材的进货量做出调整。
2. 系统分析
2.1 可行性分析
- 技术可行性
通过面向对象的方法开发软件系统,这个可以由熟悉这方面知识的系统分析员和程序员进行开发。 - 经济可行性
由于本系统运行的硬件环境要求不高,硬件的配置不需要很高,因此完成该系统的开发运行到投入使用所需要的成本不会很高。 - 系统可行性
餐厅管理系统的使用并不需要很特别的技术,学习使用也并不困难,即使不是专业的人员使用在经过知识培训之后也能够掌握使用该系统的大部分功能。
2.2 需求分析
- 下单阶段的需求数据
顾客信息:顾客编号
订单信息:订单编号,消费时间
菜单信息:菜品编号,菜品名称,菜品数量
餐桌信息:编号,位置数量,是否占用
员工信息:员工工号 - 结账阶段需求数据
订单信息:订单编号,顾客编号
菜品信息:菜品编号,菜品名称,菜品数量
消费信息:消费金额
员工信息:员工编号 - 员工管理需求数据
员工档案:工号,姓名,性别,工资 - 顾客管理需求数据
顾客档案:编号,姓名,性别,手机号码 - 消费记录管理需求数据
消费信息:订单编号,消费金额,结账时间。 - 数据录入
增加员工信息,餐桌信息,菜品信息,顾客信息 - 数据修改/删除
修改员工信息,修改餐桌信息,修改菜品信息,修改顾客信息;删除员工信息,删除餐桌信息,删除菜品信息,删除顾客信息 - 数据查询
查询当前餐桌的信息,查询菜品信息,查询订单信息,查询员工信息,查询顾客信息
2.3 业务流程图
2.4 数据字典
- 员工信息
- 菜谱
- 餐桌
- 顾客信息
- 订单信息
- 菜谱_订单
- 消费记录
3. 系统设计
3.1 概念模型设计
3.1.1员工E-R图
3.1.2菜品
3.1.2餐桌
3.1.3顾客
3.1.4订单
3.1.5消费记录
3.1.6全局
3.2 逻辑模型设计
- 一对一联系(1:1)
一个联系转换成一个独立的关系模式 - 一对多联系(1:n)
一个1:n联系转换成一个独立模式 - 多对多联系(m:n)
一个m:n联系转换成一个独立模式 - 关系模型
员工:工号(主码),姓名,性别,年龄,工资
餐桌:餐桌号(主码),可就餐人数,餐桌状态
菜谱:菜品编号(主码),菜名,菜品价格
顾客:顾客编号(主码),姓名,性别,手机号
订单:订单编号(主码),订单时间,顾客编号,消费金额,结账时间,员工工号
菜谱_订单:订单编号(主码),菜品编号(主码),菜品名称,菜品数量
消费记录:订单编号(主码),消费金额,结账时间
3.3 数据库表设计
3.3.1 员工信息
表 1 员工信息
项目 | 存储代码 | 数据类型 | 是否允许空 |
---|---|---|---|
员工工号 | W_id | varchar(10) | NOT NULL |
员工性别 | W_sex | varchar(2) | |
员工年龄 | W_age | int | |
员工工资 | W_salary | float |
3.3.2菜谱
表 2 菜谱
项目 | 存储代码 | 数据类型 | 是否允许空 |
---|---|---|---|
菜品编号 | M_id | varchar(10) | NOT NULL |
菜名 | M_name | varchar(20) | |
菜品价格 | M_price | varchar(10) |
3.3.3餐桌
表 3 餐桌
项目 | 存储代码 | 数据类型 | 是否允许空 |
---|---|---|---|
桌号 | T_id varchar(6) | NOT NULL | |
可就餐人数 | T_number | varchar(10) | |
餐桌状态(有/无 人) | T_condition | varchar(5) |
3.3.4顾客信息
表 4 顾客信息
项目 | 存储代码 | 数据类型 | 是否允许空 |
---|---|---|---|
顾客编号 | C_id varchar(10) | NOT NULL | |
姓名 | C_name | varchar(10) | |
性别 | C_sex | varchar(2) | |
手机号 | C_phone | varchar(20) |
3.3.5订单信息
表 5 订单信息
项目 | 存储代码 | 数据类型 | 是否允许空 |
---|---|---|---|
订单编号 | O_id | varchar(10) | NOT NULL |
订单时间 | O_time_start | datetime | |
桌号 | T_id | varchar(6) | |
顾客编号 | C_id | varchar(10) | |
消费金额 | O_cost | float | |
结账时间 | O_time_finish | datetime | |
员工工号 | W_id | varchar(10) | NOT NULL |
3.3.6菜谱_订单
表 6 消费记录
项目 | 存储代码 | 数据类型 | 是否允许空 |
---|---|---|---|
订单编号 | O_id | varchar(10) | NOT NULL |
菜品编号 | M_id | varchar(10) | NOT NULL |
菜品名称 | M_name | varchar(20) | |
菜品数量 | M_number | int |
3.4功能设计
① 生成消费记录:包含订单编号,消费金额,结账时间.
② 生成菜品销售情况
③ 生成当前餐桌的使用情况
④ 生成全部订单信息
⑤ 生成全部员工信息
⑥ 生成全部顾客信息
4.SQL语句的功能实现
4.1数据库创建
create database 餐厅管理系统
ON (
name = 餐厅管理系统_data,
filename = ‘D:\数据库实验\餐厅管理系统_data.mdf’,
size = 10,
maxsize = 30,
filegrowth=5
)
log ON
(
name = 餐厅管理系统_log,
filename = ‘D:\数据库实验\餐厅管理系统_log.ldf’,
size = 10,
maxsize = 30,
filegrowth = 2
)
4.2表的创建
CREATE TABLE customer(
C_id varchar(10) NOT NULL,
C_name varchar(10) NULL,
C_sex varchar(2) NULL,
C_phone varchar(20) NULL,
PRIMARY key (C_id)
)
GO
CREATE TABLE foodtable(
T_id varchar(6) NOT NULL,
T_number varchar(10) NULL,
T_condition varchar(10) NULL,
PRIMARY KEY(T_id)
)
GO
CREATE TABLE menu(
M_id varchar(10) NOT NULL,
M_name varchar(20) NULL,
M_price varchar(10) NULL,
PRIMARY KEY(M_id)
)
GO
CREATE TABLE [order](
O_id varchar(10) NOT NULL,
O_time_start datetime NULL,
T_id varchar(6) NOT NULL,
C_id varchar(10) NULL,
O_cost float NULL,
O_time_finish datetime NULL,
W_id varchar(10) NOT NULL,
PRIMARY KEY(O_id)
)
GO
CREATE TABLE worker(
W_id varchar(10) NOT NULL,
W_name varchar(20) NULL,
W_sex varchar(2) NULL,
W_age int NULL,
W_salary float NULL,
PRIMARY KEY(W_id)
)
GO
CREATE TABLE menu_order(
O_id varchar(10) NOT NULL,
M_id varchar(10) NOT NULL,
M_name varchar(20) NULL,
M_number int NULL,
PRIMARY KEY(O_id,M_id),
FOREIGN KEY(O_id)
REFERENCES order,
FOREIGN KEY(M_id)
REFERENCES menu(M_id)
)
GO
4.3功能实现
① 生成消费记录:包含订单编号,消费金额,结账时间.
CREATE VIEW function1
AS
SELECT O_id as 订单编号,O_cost as 消费金额,O_time_finish as 结账时间
FROM [餐厅管理系统].[dbo].[order]
② 生成菜品销售情况
create view sell(M_id,M_name,count)
AS
select top 10 M_id as 菜品编号,M_name as 菜品名称,COUNT(M_id)
from menu_order group by M_id,M_name
order by COUNT(M_id) desc
③ 生成当前餐桌的使用情况
SELECT * FROM foodtable
④ 生成全部订单信息
SELECT O_id as 订单编号, O_time_start as 记录时间, T_id as 桌号,
C_id as 顾客编号, O_cost as 消费金额, O_time_finish as 结账时间,W_id as 服务员编号
FROM [餐厅管理系统].[dbo].[order]
⑤ 生成全部员工信息
select W_id as 员工编号,W_name as 员工姓名, W_sex as 员工性别,
W_age as 员工年龄, W_salary as 员工工资
from worker
⑥ 生成全部顾客信息
select C_id as 顾客编号, C_name as 顾客姓名,
C_sex as 顾客性别,C_phone as 顾客手机号码
from customer
此为本人的数据库课设,仅为纪念学习过程。