点餐小程序实战教程11数据源设计

news2024/11/16 15:56:25

目录

  • 1 设计图
  • 2 创建数据源
    • 2.1 菜品分类
    • 2.2 菜品表
  • 3 创建管理应用
  • 4 设置上架下架功能
  • 总结

我们用了10篇讲解了一下用户管理及权限设计,有了用户和权限相当于有了骨架,但是我们还需要有良好的设计来确保我们的小程序的开发顺利进行。

在数据源的设计中,有一个比较好用的工具就是E-R图。他的中文名字叫实体关系图。所谓的实体可以理解为我们需要设计的表,所谓的关系就是表和表之间的关系。

我们本篇分析一下我们的点餐小程序的E-R设计

1 设计图

在这里插入图片描述
我们这里的设计是分两条线,一条是和餐厅相关的,我们拆分了三个实体,餐厅、餐桌和员工

餐厅主要记录餐厅的位置信息、营业时间和联系电话,当然如果是连锁店可能好需要考虑餐厅的城市信息

餐桌,我们通常会有编号,还有就是当前的状态,如果空闲、使用中,还有就是容纳的人数

员工我们已经在过往的篇幅中着重介绍了,包括员工的姓名、性别、联系方式、角色,后续可能会增加入职时间,当前的状态,比如上班、倒休、请假,方便日常的排班

第二条主线就是我们的点餐业务线了,包含了顾客、订单、菜品这些主要信息

顾客可以下单,订单里包括总价和菜品的详情,而订单详情记录点的菜品及数量、单价这些关键信息

在顾客浏览信息的时候我们可能会按照分类比如热菜、凉菜、冷饮这些分类供用户进行选择

在E-R图里还有关系的概念,我们主要是要记录主子表,即我们设计图里的1:N 的关系,1的一方表示主表,N的一方表示子表。

在微搭中是用关联关系来表达主子表的

2 创建数据源

图纸画好了之后,我们就需要照图施工。打开应用编辑器,在侧边栏打开数据源,点击创建

2.1 菜品分类

在这里插入图片描述
先创建菜品分类表
在这里插入图片描述
菜品分类我们需要两列,分别是名称和排序

点击添加列,输入名称,类型选择文本
在这里插入图片描述
在这里插入图片描述
名称我们设置为主列字段,继续添加一列,序号,类型选择数字
在这里插入图片描述
在这里插入图片描述

2.2 菜品表

继续增加我们的数据源,这次创建菜品表
在这里插入图片描述
先添加一列,名称,类型选择文本,设置为主列字段
在这里插入图片描述
继续添加一列,菜品分类,类型选择关联关系,数据源选择菜品分类
在这里插入图片描述
在我们的E-R图里,作为N的一方我们是要添加外键,在微搭里就是关联关系

继续添加一列,价格,类型选择数字
在这里插入图片描述
继续添加一列,图片,类型选择图片
在这里插入图片描述
继续添加一列,上架状态,类型选择枚举,枚举值为待上架、已上架、已下架

在这里插入图片描述
在这里插入图片描述

3 创建管理应用

我们的数据源搭建好了之后,通常需要有一个管理后台来维护数据。在微搭中也是通过自定义应用来搭建后台应用的。

打开应用,创建空白应用
在这里插入图片描述
切换应用的模式,切换成PC模式
在这里插入图片描述
点击创建页面的图标
在这里插入图片描述
选择表格与表单页,选择菜品分类数据源,选择左侧布局
在这里插入图片描述
选择数据表格,排序字段选择序号,升序
在这里插入图片描述
切换到页面布局,选择左侧导航布局
在这里插入图片描述
选中布局导航,点击右边的魔术棒图标
在这里插入图片描述
只保留列表页,并且设置一个自己喜欢的图标
在这里插入图片描述
再切换回页面设计,点击实时预览图标
在这里插入图片描述
这样我们的导航菜单就搭建好了
在这里插入图片描述
继续按照上述步骤,点击创建页面图标,这次数据源选择菜品表
在这里插入图片描述
在这里插入图片描述
点击页面布局,点击添加平级菜单
在这里插入图片描述
选择我们的菜品列表页面
在这里插入图片描述
切换到页面设计,设置筛选器,勾选必要的查询条件
在这里插入图片描述

4 设置上架下架功能

除了组件提供的默认功能外,我们还需要给菜品添加上架下架功能。先给菜品分类录入数据
在这里插入图片描述
然后录入菜品
在这里插入图片描述
在操作列,添加按钮,修改按钮的内容为上架,类型设置为链接
在这里插入图片描述
继续添加按钮,按钮内容修改为下架,类型设置为链接
在这里插入图片描述
按钮添加好了之后就是给按钮设置事件,点击按钮,设置点击事件,方法选择数据源方法
在这里插入图片描述
在这里插入图片描述
名称选择菜品,方法选择修改单条
在这里插入图片描述
查询条件设置为数据标识等于表格所在行的数据标识
在这里插入图片描述
将上架状态修改为2
在这里插入图片描述
下架的设置也是一样的,只是状态修改为3

数据源修改了之后,需要继续刷新一下表格数据
在这里插入图片描述

总结

我们本篇主要介绍了数据源的设计方法,讲解了E-R图该如何画,我们目前这个小程序项目识别了哪些实体。

接着介绍了数据源的创建方法,以及如何用自定义应用搭建管理后台。数据源设计还是非常重要的,好的设计在后续功能迭代时可以提供很大的便利,需要在实际中通过项目锻炼设计能力。

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

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

相关文章

光伏开发:一分钟生成光伏项目报告

传统光伏项目报告的编制往往需要收集大量数据、进行复杂计算与分析,耗时长且易受人为因素影响。自动生成光伏项目报告,依托大数据、云计算、人工智能等先进信息技术,实现了对光伏项目关键参数的快速分析、评估与预测。 一、核心功能与流程 1…

Python学习笔记--BeeWare跨平台打包方案2

文章目录 1. 多文件开发支持 首先贴上官方的地址: BeeWare 教程 其中的安装和初始化过程在上一片有描述,这张介绍一些基础使用: 1. 多文件开发支持 通常一个工程下我们通常会分为多个 app进行开发,例如如下目录: 如…

vue3/Element-Plus/路由的使用

我们来实现一个简单的二级路由 1.准备主页和要配置的组件 主页面 <template><!-- 加载配置路由 --><RouterView></RouterView> </template><style scoped></style>组件1 <template><div>考试组件</div> </t…

在 Docker 中部署无头 Chrome:在 Browserless 中运行

什么是 Browserless&#xff1f; Browserless 是一款基于云的浏览器解决方案&#xff0c;旨在实现高效的浏览器自动化、网页抓取和测试。 它利用 Nstbrowser 的指纹库&#xff0c;实现随机指纹切换&#xff0c;确保流畅的数据收集和自动化。得益于其强大的云基础设施&#xf…

ROS理论与实践学习笔记——2 ROS通信机制之话题通信

话题通信是ROS中使用频率最高的一种通信模式&#xff0c;话题通信是基于发布订阅模式的&#xff0c;也即:一个节点发布消息&#xff0c;另一个节点订阅该消息&#xff0c;用于不断更新的、少逻辑处理的数据传输场景。 1.1 话题通信理论模 话题通信实现模型是比较复杂的&#x…

qm 命令:管理PVE虚拟机

一、命令简介 ​qm​ 是 Proxmox Virtual Environment (PVE) 中用于管理虚拟机的命令行工具。它允许用户创建、启动、停止、删除虚拟机&#xff0c;以及管理虚拟机的配置和状态。 ‍ 介绍 PVE Proxmox Virtual Environment (PVE) 是一个开源的虚拟化管理平台&#xff0c;专…

Java 注解详解:从基础到自定义及解析

注解&#xff1a;概述 目标 能够理解注解在程序中的作用 路径 什么是注解注解的作用 注解 什么是注解&#xff1f; 注解(Annotation)也称为元数据&#xff0c;是一种代码级别的说明注解是JDK1.5版本引入的一个特性&#xff0c;和类、接口是在同一个层次注解可以声明在包…

Linux系统--五种IO模型

1、简介 Linux IO 模型根据实现的功能可以划分为为阻塞 IO、 非阻塞 IO、 信号驱动 IO&#xff0c; IO 多路复用和异 步 IO。 根据等待 IO 的执行结果进行划分&#xff0c; 前四个 IO 模型又被称为同步 IO&#xff0c;如下图&#xff1a; 2、详细介绍 2.1 阻塞IO 在阻塞IO模…

Docker容器常用命令详解

Docker容器常用命令&#xff0c;我们经常使用&#xff0c;又经常忘记&#xff0c;今天我们系统分析一下&#xff1a; 1、查看运行的进程 #列出所有运行的容器 sudo docker ps#列出所有容器&#xff0c;包括运行和停止的 docker ps -a #列出所有容器&#xff0c;并过滤 docker…

大数据Hologres(一):Hologres 简单介绍

文章目录 Hologres 简单介绍 一、什么是实时数仓 Hologres 二、产品优势 1、专注实时场景 2、亚秒级交互式分析 3、统一数据服务出口 4、开放生态 5、MaxCompute查询加速 6、计算存储分离架构 三、应用场景 搭建实时数仓 四、产品架构 1、Shared Disk/Storage &am…

深入探索linux的零拷贝(zero-copy):底层技术原理与代码实现

前言 I/O 或输入/输出通常意味着中央处理器(CPU) 与外部设备&#xff08;如磁盘、鼠标、键盘等&#xff09;之间的读写。在深入研究零拷贝之前&#xff0c;有必要指出磁盘 I/O&#xff08;包括磁盘设备和其他块导向设备&#xff09;和网络 I/O之间的区别。 磁盘 I/O 的常用接…

mysql安装教程(新手版)

本教程不需要手动设置配置文件&#xff0c;比较简单&#xff0c;适合新手&#xff0c;过程需联网。 1.找到mysql官网 mysql官网 一.mysql的安装 1.界面如下图&#xff0c;点击箭头所指。 2.选择mysql版本&#xff0c;系统&#xff0c;安装。 3.下载完成后双击打开&#xff0…

JavaWeb--纯小白笔记03:servlet入门---动态网页的创建

笔记&#xff1a;index.html在tomcat中为默认的名字&#xff0c;html里面的语法不严谨。改配置文件要小心&#xff0c;不然容易删掉其他 Servlet&#xff1a;服务器端小程序&#xff0c;写动态网页需要用Servlet&#xff0c;普通的java类通过继承HttpServlet&#xff0c;可以响…

c++9月25日

1.栈的实现 头文件 #ifndef STACKHEAD_H #define STACKHEAD_H #include <iostream> #define MAX 30 using namespace std;class Stack { private:int *ptr;int top; public:Stack();Stack(int *,int);~Stack();bool full();bool empty();int push(int);void show();Sta…

一个超强的Python库!HTTP请求性能分析工具推荐:httpstat!

什么是Python httpstat&#xff1f; httpstat是一个基于命令行的工具&#xff0c;用于在终端中展示HTTP请求的详细统计信息。它以可视化和易读的方式显示了HTTP请求的各个阶段的性能数据&#xff0c;如DNS解析、TCP连接、TLS握手、发送请求、服务器处理、接收响应等。 使用ht…

2024.9.26 Spark学习

资料&#xff1a; Spark基础入门-第一章-1.1-Spark简单介绍_哔哩哔哩_bilibili &#xff08;1&#xff09;基础知识 Apache Spark 是用于大规模数据&#xff08;large-scale data&#xff09;处理的统一分析引擎。 分布式处理数据 PySpark模块 Spark 和 Hadoop 有区别&…

QT编译之后的debug包下运行程序双击运行出现无法定位程序输入点__gxx_personlity_seh0于动态链接库

1.出现这个错误的原因是&#xff1a; 缺少如下文件&#xff1a; 2.解决方法&#xff1a; 在运行程序.exe所在的目录执行&#xff1a;windeployqt untitled.exe&#xff08;指打包的运行程序&#xff09; 3.如果执行提示由于找不到qt5core.dll,无法继续执行代码和无法识别win…

c++进阶学习-----继承

1.继承的概念及定义 1.1继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保持原有类特性的基础上进行扩展&#xff0c;增加功能&#xff0c;这样产生新的类&#xff0c;称派生类。 继承呈现了面向对象 程序设计的…

聚合函数count 和 group by

count函数&#xff1a; count&#xff08;列名&#xff09; SELECT COUNT(sid) FROM grade 统计列中所有的数值个数&#xff0c;会忽略null值。 count&#xff08;*&#xff09;和count&#xff08;1&#xff09; SELECT COUNT(*) FROM grade SELECT COUNT(1) FROM grade 统…

前端接口报错302 [已解决]

前端接口报错302 [已解决] 在前端开发中&#xff0c;与后端接口的交互是项目成功的关键。然而&#xff0c;遇到如302这样的状态码报错时&#xff0c;可能会让开发者感到困惑。本文将通过详细解析和多个代码案例&#xff0c;帮助你深入理解前端接口报错302&#xff0c;并提供有效…