作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建食谱应用程序以及从数据库获取的所有食谱。我正在使用 phpMyAdmin。
我之前学过一些关于数据库的类(class),所以我知道如何使用它来完成简单的任务。
现在我有两个表 Recipes
和Ingredients
。我有两个简单的问题:
我应该创建单独的 recipe id
或者使用自动分配的那个?我将在应用程序中搜索食谱并从列表中选择我想要的结果。
我应该如何连接Ingredients
每个表Recipe
table 。我想我应该在 Ingredient
中使用某种相同的 ID(“reciep_id”)和Recipe
表格,以便稍后在显示结果时将它们连接起来。
最佳答案
我认为标准菜谱 ID 是可以接受的变体,因为我无法想象菜谱的自然主键。
您的每个食谱都包含一些成分。任何成分都可以在多个食谱中使用。因此,您应该使用标准的 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/
我是一名优秀的程序员,十分优秀!