Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何构造数据库以避免插入数组?(记录数量可变)_Mysql_Database - Fatal编程技术网

Mysql 如何构造数据库以避免插入数组?(记录数量可变)

Mysql 如何构造数据库以避免插入数组?(记录数量可变),mysql,database,Mysql,Database,我目前有3张表,但我不确定如何构造最后一张表(配方表)。用户表包含每个用户帐户和帐户设置的基本信息。成分表列出了用户拥有(或曾经拥有)的每一项。配方表包含用户的配方,并包含关于每种成分的成分、用量和制备的信息,以及执行配方的编号步骤。成分和步骤的数量都是可变的,在插入DB之前由用户决定 成分:成分:以成分为单位的量,如何制备1,如何制备2 还有 烹饪说明:烹饪步骤-说明 其中每种成分都必须由成分表中的IngCreditID引用 是否有可行的方法做到这一点: A.高效且不会强制执行太多数据库调用?

我目前有3张表,但我不确定如何构造最后一张表(配方表)。用户表包含每个用户帐户和帐户设置的基本信息。成分表列出了用户拥有(或曾经拥有)的每一项。配方表包含用户的配方,并包含关于每种成分的成分、用量和制备的信息,以及执行配方的编号步骤。成分和步骤的数量都是可变的,在插入DB之前由用户决定

成分:成分:以成分为单位的量,如何制备1,如何制备2

还有

烹饪说明:烹饪步骤-说明

其中每种成分都必须由成分表中的IngCreditID引用

是否有可行的方法做到这一点:

A.高效且不会强制执行太多数据库调用? B.没有违反任何规范化规则

用户表
  • 用户ID
  • 用户名
  • 密码
  • 电子邮件
  • 等等
配料表
  • 英格里丁
  • 用户ID
  • 名字
  • 食物组
  • 图画
  • 因斯托克
  • 等等
配方表
  • 往复
  • 用户ID

我认为我需要创建一个配方配料表和一个配方烹饪步骤表。两者都有唯一的ID,并引用它们所使用的配方ID。或者我可以将烹饪说明保存在blob或文本字段中,但在用户输入时强制格式化。然而,仍然需要一张配方表。有人能为我证实或否认这一点吗?如果这样做有效,还有更好的方法吗?你可以有一个链接表,将配料与配方联系起来(可能还包含特定配方的配料量)。您还可以有一个配方步骤表,每个配方有多行。