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

目录

  • 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.mfbz.cn/a/883536.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

通信工程学习:什么是PNF物理网络功能

PNF:物理网络功能 PNF(Physical Network Function)即物理网络功能,是指支持网络功能的物理设备。以下是关于PNF的详细解释: 一、定义与特点 定义: PNF是网络设备厂商(如Cisco、华为、H3C等)通过专用硬件实体提供软件功能的设备。这些设备直接在物理服务器上运…

拓数派荣获上海数据交易所“数据治理服务商”认证

近期,杭州拓数派科技发展有限公司(以下简称“拓数派”)荣获上海数据交易所“数据治理服务商”认证,标志着拓数派正式加入上海数据交易所数商生态,成为上海数据交易所官方认证的数据治理服务商。拓数派企业发展部总监吴…

初识 C 语言(一)

目录 一、 第一个 C 程序1. printf() 函数和 stdio.h 头文件2. main() 函数和 return 语句 二、类型和变量1. C 语言中的基本类型2. 变量的创建和命名规则3. 类型和变量的大小 三、printf() 函数和 scanf() 函数1. printf() 函数的使用2. 各种类型的输出格式3. scanf() 函数的使…

Java 中Lock接口锁的使用

目录 一. Lock接口下的实现类 1. ReentrantLock可重入锁 1.1. 可重入锁的原理 1.2. ReentrantLock的特点 1.3. 使用注意 1.4. 代码示例 2. ReentrantReadWriteLock读写锁 2.1. 实现原理 2.2. 注意事项 2.3. 代码示例 一. Lock接口下的实现类 在Java中,Lo…

【Kubernetes】日志平台EFK+Logstash+Kafka【实战】

一,环境准备 (1)下载镜像包(共3个): elasticsearch-7-12-1.tar.gz fluentd-containerd.tar.gz kibana-7-12-1.tar.gz (2)在node节点导入镜像: ctr -nk8s.io images i…

离散化 ---( 求区间和)

什么是离散化? 离散化是将连续的数值范围映射到有限的、离散的数值集合的过程。在许多情况下,数据可能会存在多个重复值或范围较大的连续值。为了简化处理,尤其是处理区间查询和增量问题时,我们可以将这些值转换为一组有限的、唯一…

C++ const成员函数

个人主页:Jason_from_China-CSDN博客 所属栏目:C系统性学习_Jason_from_China的博客-CSDN博客 所属栏目:C知识点的补充_Jason_from_China的博客-CSDN博客 C const引用常量 使用规则 引用常量对象:可以引用一个常量对象&#xff0…

zabbix基本概念与组件

文章目录 一、zabbix简介二、​​​​​​​zabbix构成三、​​​​​​​zabbix监控对象四、​​​​​​​zabbix常用术语五、 Zabbix 6.0 新特性1.Zabbix server高可用防止硬件故障或计划维护期的停机2.Kubernetes系统从多个维度采集指标 六、zabbix 工作原理1、主动模式2、…

基于飞桨paddle2.6.1+cuda11.7+paddleRS开发版的目标提取-道路数据集训练和预测代码

基于飞桨paddle2.6.1cuda11.7paddleRS开发版的目标提取-道路数据集训练和预测代码 预测结果: 预测影像: (一)准备道路数据集 下载数据集地址: https://aistudio.baidu.com/datasetdetail/56961 mass_road.zip …

基于SpringBoot + Vue的医院预约挂号系统(角色:用户、医生、管理员)

文章目录 前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S 四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论 五、项目代码参考六、数据库代码参考七、项目论文示例结语 前言 💛博主介绍&a…

excel单元格增加可选下拉列表

excel单元格增加可选下拉列表 下拉设置:数据–数据验证-选择序列-填写来源(来源数据用英文逗号分隔)(是,否)- 区域应用:选定区域-数据验证-是-确认

【代码随想录训练营第42期 Day61打卡 - 图论Part11 - Floyd 算法与A * 算法

目录 一、Floyd算法与A * 算法 1、Floyd算法 思想 伪代码 2、 A * 算法 思想 伪代码 二、经典题目 题目一:卡码网 97. 小明逛公园 题目链接 题解:Floyd 算法 题目二:卡码网 127. 骑士的攻击 题目链接 题解:A * 算法&a…

Windows系统修改Tomcat虚拟机内存参数

文章目录 I 修改Tomcat虚拟机内存参数基于tomcat管理程序进行配置基于setenv文件进行配置II 查看服务器状态/manager/status 查看服务器状态manager/jmxproxy 查询Tomcat指标I 修改Tomcat虚拟机内存参数 基于tomcat管理程序进行配置 查看堆内存分配情况: jmap -heap pid jst…

列表、数组排序总结:Collections.sort()、list.sort()、list.stream().sorted()、Arrays.sort()

列表类型 一.Collections.sort() Collections.sort()用于List类型的排序&#xff0c;其提供了两个重载方法&#xff1a; 1.sort(List<T> list) &#xff08;1&#xff09;List指定泛型时只能指定引用数据类型&#xff0c;也就是说无法用于基本数据类型的排序。 &am…

wsksvg - 优化升级,支持多进程处理文件和 SVG 图像转化

前言 在不断发展的前端技术中&#xff0c;图像的优化和处理始终是提升应用性能的关键。wsksvg 插件的最新版本在之前的基础上进行了重大升级&#xff0c;现支持多进程处理文件以及将 SVG 图像转化为多种其他格式的图片。这一功能的引入不仅提升了处理效率&#xff0c;还大幅度…

MySQL之内置函数

目录 一、日期函数 二、字符串函数 三、数学函数 四、其它函数 一、日期函数 常见的日期函数如下&#xff1a; 函数名称说明current_date()获取当前日期current_time()获取当前时间current_timestamp()获取当前时间戳date_add(date, interval d_value_type)在date中添加日…

Jenkins Pipeline 中通过勾选参数来控制是否构建 Docker 镜像

1.定义参数&#xff1a; 使用 booleanParam 定义一个布尔参数&#xff0c;示例如下 booleanParam(name: BUILD_DOCKER, description: 是否构建Docker镜像, defaultValue: false)2.使用参数&#xff1a; 在 stage 中&#xff0c;根据参数的值决定构建方式&#xff1a; stage(编…

如何把用过的试卷恢复?5个软件帮助你快速进行试卷清除

如何把用过的试卷恢复&#xff1f;5个软件帮助你快速进行试卷清除 要恢复或清除用过的试卷上的答案或标记&#xff0c;通常涉及去除笔记、擦除手写痕迹或处理扫描件中的内容。以下五款软件可以帮助你有效地清除试卷上的文字、答案或标记&#xff0c;并将其恢复到空白状态&…

云原生|浅谈云原生中的对象存储之MinIO 的使用

一、什么是对象储存 对象存储&#xff08;Object Storage&#xff09;以对象的形式存储和管理数据&#xff0c;这些对象可以是任何类型的数据&#xff0c;例如 PDF&#xff0c;视频&#xff0c;音频&#xff0c;文本或其他文件类型。对象存储使用分布式存储架构&#xff0c;数据…

大型语言模型:通过代码生成、调试和 CI/CD 集成改变软件开发的游戏规则

文章目录 1. 引言2. 代码生成2.1 提高开发人员的生产力2.2 训练与适应 3. 使用人工智能进行调试和修复错误3.1 提高准确性的创新工具3.2 定制解决方案 4. 无缝 CI/CD 集成4.1 CI/CD 集成人工智能&#xff1a;可靠部署的催化剂4.2 持续学习和改进4.3 缩小开发和运营之间的差距 5…