gpt4 book ai didi

mysql - 带有两个表的简单数据库应该是什么样子?

转载 作者:行者123 更新时间:2023-11-29 07:22:00 25 4
gpt4 key购买 nike

我正在创建食谱应用程序以及从数据库获取的所有食谱。我正在使用 phpMyAdmin。

我之前学过一些关于数据库的类(class),所以我知道如何使用它来完成简单的任务。

现在我有两个表 RecipesIngredients 。我有两个简单的问题:

  1. 我应该创建单独的 recipe id或者使用自动分配的那个?我将在应用程序中搜索食谱并从列表中选择我想要的结果。

  2. 我应该如何连接Ingredients每个表Recipe table 。我想我应该在 Ingredient 中使用某种相同的 ID(“reciep_id”)和Recipe表格,以便稍后在显示结果时将它们连接起来。

最佳答案

  1. 我认为标准菜谱 ID 是可以接受的变体,因为我无法想象菜谱的自然主键。

  2. 您的每个食谱都包含一些成分。任何成分都可以在多个食谱中使用。因此,您应该使用标准的 n-n 关系与链接表。

您的表格可以是这样的( link to sqlfiddle with this code ):

CREATE TABLE Recipes (
id int,
name text,
PRIMARY KEY (`id`)
);

CREATE TABLE Ingredients(
id int,
name text,
PRIMARY KEY (`id`)
);

CREATE TABLE Recipes2Ingredients (
rec_id int,
ing_id int,
amount int,
-- and maybe some other needed fields
FOREIGN KEY (rec_id)
REFERENCES Recipes(id),
FOREIGN KEY (ing_id)
REFERENCES Ingredients(id)
);

关于mysql - 带有两个表的简单数据库应该是什么样子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35805658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com