MYSQL 数据库结构 - 存储多个值

标签 mysql types

我对新的数据库结构有一些疑问。

1. 假设用户可以创建菜谱。每个食谱显然都会有几种成分。每个成分都有以下 4 个字段。

1. ingredients
2. quantity of ingredients
3. unit size of the ingredients
4. prep method for the ingredients

我一直在绞尽脑汁试图弄清楚如何构建它。我是否应该简单地创建四行并将每个输入包含到一个数组中并将其存储在它所属的行中?做到这一点的最佳且最有效的方法是什么?

2.如果您有一个描述字段和方向字段,其中字符长度未知,那么 blob 类型是否最好?

谢谢!

最佳答案

由于您的成分可能出现在许多食谱中,并且不同的食谱可能包含相同的成分,因此食谱和成分之间存在 N:N 关系。

另一方面,你有所谓的关系属性,所以我会尝试类似的东西:

  • 菜谱表:菜谱
  • 成分表:成分
  • 配方 - 具有 - 成分关系:存储在表中:HAS_INGREDIENT,其中:数量单位大小预方法 是字段,其中 RECIPES 主键和 INGREDIENTS 主键是外键。

考虑以下 ER 图:

enter image description here

关于MYSQL 数据库结构 - 存储多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22896447/

相关文章:

mysql - 如何使用flume从mysql中读取数据?

java - 具有部分限定命名空间的引用类型

typescript - React Navigation V5 + Typescript 错误 : Property 'fullName' does not exist on type 'object'

C++ 静态成员函数中封闭类的类型

c - 关于无符号整数下溢的 C 行为问题

java - 如何将包含List的Java Map转换为Scala Map

mysql - 无法通过 Kubernetes 集群中的主机名连接到 MariaDB

mysql - 如何将一些数据从一个表导入到另一个表(MYSQL)

php - 更新我的表 PHP/MySQL 时出现问题

mysql - 使用连接时如何区分 sum()