数据库课设--基于Python+MySQL的餐厅点餐系统(表的设计)

news2024/11/25 0:43:43

文章目录

  • 一、系统需求分析
  • 二、系统设计
    • 1. 功能结构设计
    • 2、概念设计
      • 2.2.1 bill_food表E-R图
      • 2.2.2 bills表E-R图
      • 2.2.3 categories E-R图
      • 2.2.4 discounts表 E-R图
      • 2.2.5 emp表E-R图
      • 2.2.6 food 表E-R图
      • 2.2.7 member表E-R图
      • 2.2.8 member_point_bill表E-R图
      • 2.2.9 servers表E-R图
      • 2.2.10 tables表E-R图
      • 2.2.11 user表E-R图
    • 3. 逻辑设计(表的设计)
      • ①bill_food表
      • ②bills表
      • ③categories表
      • ④discounts表
      • ⑤emp表
      • ⑥food表
      • ⑦member表
      • ⑧member_point_bills表
      • ⑨servers表
      • ⑩tables表
      • 11.user表
  • 源码获取

一、系统需求分析

需求分析首先要确定研究分析的对象,这里的需求分析对象有两方:买家和卖家。

对于买家,需求是能够进行线上点餐,具体可以细化为:能够在线上获得餐品信息和进行点餐行为。买家作为消费者,都想得到更为优质的服务体验,希望能够通过较为简单顺利的操作就可以吃到满足自己口味的菜肴。这就要求系统界面能够生动形象地有效呈现出点餐的各项信息,菜品的价格,可以选择就坐的餐桌的数目等情况以及加餐时简洁的操作界面。

对于卖家,需求是能够对菜品进行增查删改以及增加会员,具体可以细化为,能够线上获得全部的菜品信息,添加菜品,修改菜品价格,删除菜品,增加会员。卖家即为商家,商家要能够高效地获取这些的信息,当然是图形化界面和几何形式的信息呈现最为直接明了。

二、系统设计

1. 功能结构设计

在这里插入图片描述

2、概念设计

2.2.1 bill_food表E-R图

在这里插入图片描述

2.2.2 bills表E-R图

在这里插入图片描述

2.2.3 categories E-R图

在这里插入图片描述

2.2.4 discounts表 E-R图

在这里插入图片描述

2.2.5 emp表E-R图

在这里插入图片描述

2.2.6 food 表E-R图

在这里插入图片描述

2.2.7 member表E-R图

在这里插入图片描述

2.2.8 member_point_bill表E-R图

在这里插入图片描述

2.2.9 servers表E-R图

在这里插入图片描述

2.2.10 tables表E-R图

在这里插入图片描述

2.2.11 user表E-R图

在这里插入图片描述

3. 逻辑设计(表的设计)

①bill_food表

CREATE TABLE `bill_food` (
  `id_food` int NOT NULL,
  `id_bill` int NOT NULL,
  `num` int NOT NULL,
  PRIMARY KEY (`id_food`,`id_bill`),
  KEY `FK_bill_food2` (`id_bill`),
  CONSTRAINT `FK_bill_food` FOREIGN KEY (`id_food`) REFERENCES `food` (`id_food`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `FK_bill_food2` FOREIGN KEY (`id_bill`) REFERENCES `bills` (`id_bill`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ;

在这里插入图片描述

②bills表

CREATE TABLE `bills` (
  `id_bill` int NOT NULL,
  `id_table` int NOT NULL,
  `id_member` int DEFAULT NULL,
  `time_order` datetime NOT NULL,
  `time_pay` datetime DEFAULT NULL,
  `money` int NOT NULL,
  PRIMARY KEY (`id_bill`),
  KEY `FK_bill_member` (`id_member`),
  KEY `FK_table_bill` (`id_table`),
  KEY `time_order` (`time_order`),
  CONSTRAINT `FK_bill_member` FOREIGN KEY (`id_member`) REFERENCES `member` (`id_member`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `FK_table_bill` FOREIGN KEY (`id_table`) REFERENCES `tables` (`id_table`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ;

在这里插入图片描述

③categories表

CREATE TABLE `categories` (
  `category` char(20) NOT NULL,
  PRIMARY KEY (`category`)
);

在这里插入图片描述

④discounts表

CREATE TABLE `discounts` (
  `id_discount` int NOT NULL,
  `off_price` int NOT NULL,
  `require_points` int NOT NULL,
  PRIMARY KEY (`id_discount`)
) ;

在这里插入图片描述

⑤emp表

CREATE TABLE `emp` (
  `id_emp` int NOT NULL,
  `id_server` int DEFAULT NULL,
  `name_emp` char(20) NOT NULL,
  `sex_emp` char(1) DEFAULT NULL,
  `phone_num` char(11) DEFAULT NULL,
  `position` char(20) DEFAULT NULL,
  PRIMARY KEY (`id_emp`)
);

在这里插入图片描述

⑥food表

CREATE TABLE `food` (
  `id_food` int NOT NULL,
  `category` char(20) NOT NULL,
  `name_food` char(20) NOT NULL,
  `introduction` char(100) DEFAULT NULL,
  `price` int NOT NULL,
  `url` char(100) DEFAULT NULL,
  PRIMARY KEY (`id_food`),
  KEY `FK_food_category` (`category`),
  CONSTRAINT `FK_food_category` FOREIGN KEY (`category`) REFERENCES `categories` (`category`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ;

在这里插入图片描述

⑦member表

CREATE TABLE `member` (
  `id_member` int NOT NULL,
  `name_member` char(20) DEFAULT NULL,
  `points` int NOT NULL,
  `sex` char(1) DEFAULT NULL,
  `phone_num` char(11) DEFAULT NULL,
  PRIMARY KEY (`id_member`)
) ;

在这里插入图片描述

⑧member_point_bills表

CREATE TABLE `member_point_bill` (
  `id_point_bill` int NOT NULL,
  `id_member` int NOT NULL,
  `time_point` datetime NOT NULL,
  `point` int NOT NULL,
  `note` char(20) DEFAULT NULL,
  PRIMARY KEY (`id_point_bill`),
  KEY `FK_member_point_bill` (`id_member`),
  CONSTRAINT `FK_member_point_bill` FOREIGN KEY (`id_member`) REFERENCES `member` (`id_member`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ;

在这里插入图片描述

⑨servers表

CREATE TABLE `servers` (
  `id_server` int NOT NULL,
  `id_emp` int NOT NULL,
  PRIMARY KEY (`id_server`),
  KEY `FK_to_server` (`id_emp`),
  CONSTRAINT `FK_to_server` FOREIGN KEY (`id_emp`) REFERENCES `emp` (`id_emp`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ;

在这里插入图片描述

⑩tables表

CREATE TABLE `tables` (
  `id_table` int NOT NULL,
  `id_server` int NOT NULL,
  `num_people` int NOT NULL,
  `id_bill` int DEFAULT NULL,
  `id_member` int DEFAULT NULL,
  PRIMARY KEY (`id_table`),
  KEY `FK_server_table` (`id_server`),
  CONSTRAINT `FK_server_table` FOREIGN KEY (`id_server`) REFERENCES `servers` (`id_server`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ;

在这里插入图片描述

11.user表

CREATE TABLE `user` (
  `user_id` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `user_password` varchar(255) NOT NULL,
  `user_name` varchar(255) DEFAULT NULL,
  `user_position` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`user_id`)
);

源码获取

源码获取和python实现在下一篇文章中。
基于python+MySQL的餐厅点餐系统(python代码实现)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/460239.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL的事务原理和实现

一、事务属性与架构概述 1、基本概念: 事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个sql语句,这些语句要么都执行,要么都不执行。作为一个关系型数据库,MySQL…

为什么很多程序员不反感加班?行内人:老板给钱是真的给啊

为什么很多程序员不反感加班?行内人:说给钱老板真的给! 一提到程序员,大部分人第一反应是加班多、996、脱发,这几乎成了外界对程序员刻板印象的标配。不少知名的互联网大厂也是加班之风盛行,譬如著名的华为…

Java版企业电子招投标采购系统源码之登录页面

信息数智化招采系统 服务框架:Spring Cloud、Spring Boot2、Mybatis、OAuth2、Security 前端架构:VUE、Uniapp、Layui、Bootstrap、H5、CSS3 涉及技术:Eureka、Config、Zuul、OAuth2、Security、OSS、Turbine、Zipkin、Feign、Monitor、Stre…

Centos8编译安装内核

首先下载kernel,5.x版本的内核,下载地址: https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/ 系统安装相关包: # yum install -y bc gcc make python3 ncurses-devel flex bison openssl-devel elfutils-libelf-devel将内…

南大通用数据库-Gbase-8a-学习-34-gcdump(导出数据库对象定义)

目录 一、测试环境 二、介绍 三、命令帮助 四、参数介绍 1、--print-defaults (1)含义 (2)例子 2、--connect_timeout (1)含义 (2)例子 3、-A, --all-databases &#xf…

软考初级考什么比较好?信息处理技术员怎么样?

软考初级信息处理技术员难度不大,零基础也是可以直接报考的,熟悉电脑,多练习就差不多了。 本考试设置的科目包括: (1)信息处理基础知识,考试时间为150分钟,笔试,选择题…

92、Nerfbusters: Removing Ghostly Artifacts from Casually Captured NeRFs

简介 主页:https://ethanweber.me/nerfbusters/ 在远离训练视图的新视图上渲染nerf可能会导致伪影,例如浮动或糟糕的几何形状。这些工件在野外捕获(a)中很普遍,但在NeRF基准测试中很少看到,因为评估视图通常从与训练视图相同的相机路径中选…

HTB_Under Construction—jwt伪造与sqlite注入

根据提示,此题目应该是代码审计类型的,文件结构如下 一般思路有两个,一是看有没有什么敏感信息,二就是看参数传递的地方能否利用,包括注入,伪造等 分析代码 index.js 先来分析入口文件,这是标…

零基础C/C++开发到底要学什么?

作者:黑马程序员 链接:https://www.zhihu.com/question/597037176/answer/2999707086 先和我一起看看,C/C学完了可以做什么: 软件工程师:负责设计、开发、测试和维护各类型的软件应用程序;游戏开发&#x…

【机智云物联网低功耗转接板】+模拟MCU快速上手

GE211是机智云自研的定制化转接板,使用 ESP32-C3-WROOM-02 通讯模块,适用于白色智能家电等设备应用。 转接板已经烧录了机智云连云的最新GAgent固件,所以不需要烧写任何软件就可以快速上手使用。 GE211板卡带有一个串口,一般是把这…

YOLOv1代码复现2:数据加载器构建

YOLOv1代码复现2:数据加载器构建 前言 ​ 在经历了Faster-RCNN代码解读的摧残后,下决心要搞点简单的,于是便有了本系列的博客。如果你苦于没有博客详细告诉你如何自己去实现YOLOv1,那么可以看看本系列的博客,也许可以帮…

同步辐射X射线断层扫描成像在各行业的应用

同步辐射X射线断层扫描成像在各行业的应用 同步辐射X射线断层扫描成像(synchrotron radiation X-ray computed tomography,SRCT)是一种非侵入式、高分辨率的成像技术,利用同步辐射光束产生的高强度、高亮度、单色性和相干性的X射线…

【C#】DockContent的使用

下载主题包和控件包 nuget Install-Package DockPanelSuite -Version 3.0.6 Install-Package DockPanelSuite.ThemeVS2015 -Version 3.0.6 在要靠的子界面继承DockContent 子界面上添加DockPanel控件,并将dock设置为fill。 主界面创建一个dockPanel1&#xff1b…

LDR6020全球第一颗PD MCU 无敌 Type-C手机背夹散热器方案

最近发现了个新玩意儿,因为经常玩游戏,手机发热的厉害,都可以煎鸡蛋了,心想着要买个东西给手机散散热,没想到还真的有手机散热器。 不知道手机散热器的也正常,毕竟一般人正常玩玩手机,发热就发…

局域网 - 高速以太网(百兆、千兆、万兆)

文章目录 1 概述1.1 802.3 物理层规范1.2 以太网标准中后缀 -T、-F、-X 含义 2 分类2.1 快速以太网(802.3μ、百兆)2.2 千兆以太网(802.3z、802.3ab)2.3 万兆以太网(802.3ae) 3 扩展3.1 网工软考真题 1 概述…

English Learning - L2-15 英音地道语音语调 语音语调四步法 2023.04.17 周一

English Learning - L2-15 英音地道语音语调 语音语调 2023.04.17 周一 语调概念和汉语拼音对比 语音语调四步法语调练习意群划分重音重中之重语调的选择 语调的含义 语调概念 广义:语音技巧,连读,失去爆破,音同化,还…

【Unity3D插件】Embedded Browser嵌入式浏览器插件使用教程

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 好久没有介绍插件了,今天分享一款比较好用的嵌入式…

【MySQL】GROUP BY分组子句与联合查询基本操作

目录 前篇都在这里喔~ MySQL的增删改查 MySQL数据库约束和聚合函数的使用 1.GROUP BY子句 练习表如下: 1.查询不包含董事长的平均工资 2.按照角色分组计算平均工资 3.过滤掉平均工资大于一万的角色 4.♥过滤数据♥ 2.联合查询 以下列表作为依据 1.内连接 …

Netty核心源码分析(五)核心组件EventLoop源码分析

文章目录 系列文章目录一、EventLoop源码分析1、NioEventLoop源码2、EventLoop的父接口SingleThreadEventExecutor(1)addTask方法(2)startThread方法 3、NioEventLoop的run方法(核心!)&#xff…

网口通讯与串口通讯

目录 一、简介以及数据格式: 二、网口通讯与串口通讯主要区别: 三、工具小助手: 一、简介以及数据格式: 网口通讯(Ethernet)和串口通讯(Serial)都是用于数据传输的通信协议。 1、…