点餐系统数据库设计

您所在的位置:网站首页 囱组成词语 点餐系统数据库设计

点餐系统数据库设计

2023-06-01 09:49| 来源: 网络整理| 查看: 265

目录 友情链接1、学生成绩管理系统数据库设计--MySQL2、医疗信息管理系统数据库--MySQL3、邮件管理数据库设计--MySQL4、商品管理系统数据库设计--SQL Server5、SQL Server医疗信息管理系统数据库【英文版-源码】--(Medical Management System Database)6、SQL Server电影院数据库管理系统【英文版-源码】--(Movie Theatre Management System Database) 一、需求分析1.选题背景2.系统功能2.1 查询菜单功能2.2 菜品折扣功能2.3 点餐功能2.4 餐桌和顾客信息2.5 顾客实时状态维护2.6 顾客排队功能2.7 结算功能 3.用户需求分析4.数据字典5.数据流图 二、数据概念结构1.数据结构2.ER图2.1局部ER图2.2 全局ER图 三、逻辑结构设计1.实体2.实体间联系 四、物理结构设计4.1 顾客CustomerInfo4.2 菜品信息FoodInfo4.3 优惠信息DiscountInfo4.4 点菜单OrderInfo4.5 店员信息ManagerInfo4.6 顾客状态实时表ManagerInfo4.7 收银单ChargeInfo4.8 顾客排队表Queue 五、数据库构建1.建表语句1.1 创建数据库1.2 创建表1.3 添加外键约束 2.插入数据3.索引4.查询5.触发器5.1 增加数据库触发器5.2 增触发器5.3 删触发器5.4 update触发器 6.存储过程6.1 新增存储过程6.2 变更存储过程6.3 删除存储过程6.4 查询存储过程一6.5 查询存储过程二6.6 查询存储过程三 7.视图7.1 菜品种类分布7.2 建立视图,查看菜品及折扣情况 8.自定义函数8.1 输入收银员编号,返回收银员姓名8.2 建立自定义函数,输入食物名称,返回对应食物所属菜系 9.游标

友情链接 1、学生成绩管理系统数据库设计–MySQL

学生成绩管理系统数据库设计–MySQL

2、医疗信息管理系统数据库–MySQL

医疗信息管理系统数据库–MySQL

3、邮件管理数据库设计–MySQL

邮件管理数据库设计–MySQL

4、商品管理系统数据库设计–SQL Server

商品管理系统数据库设计–SQL Server

5、SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Management System Database)

SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Management System Database)

6、SQL Server电影院数据库管理系统【英文版-源码】–(Movie Theatre Management System Database)

SQL Server电影院数据库管理系统【英文版-源码】–(Movie Theatre Management System Database)

一、需求分析 1.选题背景

随着经济不断发展,餐饮行业也随着物质生活水平逐步提高而迅速发展,人们对生活质量的要求也越来越高,享受真正自动化、人性化的服务成为了人们追求高质量生活的重要内容。在大多数的餐饮场所点菜、查看菜谱等是人工完成的,速度慢,效率低,极易出错,造成人力物力的极大浪费。然而随着我国市场经济的快速发展,餐厅点菜系统成为餐厅提升服务档次,提高办公效率,提高竞争力的关键因素之餐饮业要想跟上发展形势,餐馆点餐的信息化进程也要加快脚步。

2.系统功能 2.1 查询菜单功能

顾客可以根据所有餐厅的菜单信息,数据菜单的相关信息例如通过菜品的菜系查找对应菜系的菜品,也可以通过菜品类型查询相应的菜品,也可以根据价格范围来查询目标菜品,由餐厅管理者维护菜品信息。

2.2 菜品折扣功能

餐厅菜品一定程度上有折扣,可定期或者集中维护,顾客也可以通过折扣情况来选择菜品。

2.3 点餐功能

顾客进店后可根据菜单点相应的菜品,可以记录顾客点餐的份数和对应的口味需求,顾客也可以更改自己的点餐信息。餐厅管理者也可以查看菜品受欢迎程度以及对顾客口味进行分析。

2.4 餐桌和顾客信息

餐桌为顾客提供用餐位置,需要实时更新当前餐桌状态(空闲,就餐),不同餐桌提供的座位数不同。顾客是进店顾客相关信息,两个表都有管理员来维护,每一个顾客id对应一起进餐厅的顾客,人数不限,同时需要指定顾客的就餐桌号。

2.5 顾客实时状态维护

为了餐厅管理者更好维护餐厅就餐情况,为餐厅设计顾客状态表数据,可以数据顾客查询顾客当前状态。

2.6 顾客排队功能

顾客进入餐厅,如果满员需要一定时间等待,根据人数排队不同的桌位人数的排队。

2.7 结算功能

顾客就餐完成,完成结款,可以通过顾客编号,餐桌号,点单编号等信息查询到顾客的消费情况。每天的销售统计,套餐和单点的销售情况,实现对本店总体销售情况的统计。

3.用户需求分析

餐厅管理系统的总目标是为用户提供迅速、高效的服务,减免手工处理的繁琐与误差,及时、准确地反映餐厅的工作情况、经营情况,从而提高餐厅的服务质量,获得更好的经济效益。其具体目标包括: 1)快速完成顾客的点餐。 2)准确无误地记录顾客的每笔消费记录。 3)实时、快速、准确地提供最新餐单。 4)方便查询顾客消费情况。 5)实现顾客排队功能。 顾客:顾客进店首先选择位置,拿到菜单进行点餐 。 菜品:供顾客选择,可由收银员(店员)维护、更新、删除、新增菜品,菜品编号,可提供菜系、价格和菜品类型供筛选,价格由最初店员设置,可通过折扣或者信息更新变更价格。 点菜单:顾客进店后进行点单,点菜单编号不唯一,同一桌同一批顾客存在点不同菜品的可能,顾客可自行选择口味,顾客可以根据需求取消点单或者增加点单。 顾客状态:体现顾客状态。 优惠信息:包括菜品编号和对应折扣,由店员更新,针对不同菜品折扣不同,店员可根据时令和物价进行更新,折扣范围是0-1。 收银单:统计点菜单顾客实际应付款项和对应折扣后实际应付款,计入收款时间,方便店员计算账目,可由店员维护。 店员:快餐店维护者,数据库主要使用人和维护人,主要维护菜品信息和菜品对应折扣,完成收款和账目统计等。 排队表,用于体现顾客排队情况,根据顾客人数等待餐桌不同。

4.数据字典

数据字典是关于数据的信息的集合,也是对数据流图中所包含的所有元素的定义的集合。 由于本次是小型数据库系统的开发,所以采用卡片形式书写数据字典。每张卡片上保存描述一个数据的信息。这样做更新和修改起来比较方便,而且能单独处理描述每个数据的信息。 下面列出若干数据元素的数据卡片信息。 在这里插入图片描述

在这里插入图片描述

5.数据流图

在这里插入图片描述

二、数据概念结构 1.数据结构

在这里插入图片描述

概念结构设计是将分析得到的用户需求抽象为概念模型的过程,即在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关系的模型。概念结构的主要特点是能真实、充分地反映现实世界,易于理解,易于更改,易于向关系、网状、层次等各种数据模型转换,描述概念模型的有力工具是E-R模型。

2.ER图 2.1局部ER图

(1)顾客信息E-R图 在这里插入图片描述

(2)餐桌E-R图 在这里插入图片描述

(3)顾客状态E-R图 在这里插入图片描述

(4)菜品E-R图 在这里插入图片描述

(5)点菜单E-R图 在这里插入图片描述

(6)优惠信息E-R图 在这里插入图片描述

(7)收银员E-R图 在这里插入图片描述

(8)收银单E-R图 在这里插入图片描述

(8)排队表E-R图

在这里插入图片描述

2.2 全局ER图

在这里插入图片描述

三、逻辑结构设计

逻辑结构设计的任务就是把概念模型结构转换成某个具体的DBMS所支持的数据模型。设计逻辑结构时,首先是将概念结构转换为一般的关系、网状、层次模型,其次是将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换,最后是对数据模型进行优化。 将餐饮点菜系统的E-R图转换成关系数据模型。关系模式如下:

1.实体

顾客:属性有顾客编号、桌号、用餐人数、进店时间 餐桌:属性有餐桌编号、容量、状态(空闲、就餐) 顾客状态:顾客编号、时间、状态(就餐、等待、结款) 菜品:属性有菜品编号、菜品名称、菜品分类、所属菜系、价格、原材料 点菜单:属性有点菜单编号、顾客编号、菜品编号、份数、口味 优惠信息:属性有菜品编号、折扣 收银员:属性有收银员编号、姓名、联系方式 收银单:属性有收银单编号、收银员编号、顾客编号、餐桌编号、应收金额、折扣、实收金额、收银时间 排队表:属性有顾客编号,顾客人数,对应需要餐桌人数

2.实体间联系

一桌顾客对应一个菜单,多桌客人可以使用相同的菜单,因此顾客与菜单有多对一的联系。 客人、收银单之间存在一对一的关系,即一桌客人只对应一个收银单 点菜单和菜品之间存在一对多联系,一个菜单可对应多个菜品 菜品和折扣存在一对一联系,一个菜品对应一种折扣 顾客和顾客状态存在一对多联系,一个顾客对应多种客户状态 排队表顾客与顾客存在一对一关系

四、物理结构设计

数据库的物理结构设计是对于给定的逻辑数据模型,选取一个最合适应用环境的物理结构。数据库的物理结构指的是数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系统,是在数据库逻辑结构的基础上设计出一组能够满足实际需求的关系、约束、和索引等信息。餐厅点菜系统的数据库表结构如下:

4.1 顾客CustomerInfo

在这里插入图片描述

4.2 菜品信息FoodInfo

在这里插入图片描述

4.3 优惠信息DiscountInfo

在这里插入图片描述

4.4 点菜单OrderInfo

在这里插入图片描述

4.5 店员信息ManagerInfo

在这里插入图片描述

4.6 顾客状态实时表ManagerInfo

在这里插入图片描述

4.7 收银单ChargeInfo

在这里插入图片描述

4.8 顾客排队表Queue

在这里插入图片描述

五、数据库构建 1.建表语句 1.1 创建数据库 create database restaurant on primary ( name='restaurant', filename='D:\database\restaurant.mdf', size=5MB, maxsize=100MB, filegrowth=15% ) Log on ( name='restaurant_log', filename='D:\database\restaurant.ldf', size=5MB, maxsize=100MB, filegrowth=15% ) GO use restaurant; 1.2 创建表 -- 餐桌表 create table TableInfo ( Table_Id int primary key not null, Table_Num int not null, Table_Status char(10) not null ); -- 顾客表 create table CustomerInfo ( Cus_Id int primary key not null, Table_Id int not null, Cus_num int not null, Intime datetime not null ); -- 收银员表 create table CashierInfo ( Cash_Id int primary key not null, Cash_Name varchar(25) not null, Tel char(11) not null ); -- 菜品表 create table FoodInfo ( Food_Id int primary key not null, Food_Name varchar(25) not null, Cuisine varchar(10) not null, Food_Type varchar(4) not null, Price money ); -- 菜品折扣表 create table DiscountInfo ( Food_Id int primary key not null, Food_Name varchar(25) not null, Discount float not null check(Discount


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3