问一个简单的数据表设计问题(多对一、一对多)?

发布于 2022-09-04 07:24:55 字数 1316 浏览 14 评论 0

举个栗子
现在有三张表:食材、灶具、食品

业务场景
选购某些食材,通过某种灶具,做成了一些食品。(取葱花、面粉->用平底锅->烙了白面饼和葱花饼)

用数据库关系描述
用数据库正常描述是这样的:食材(n)->食品(1),食品(n)->灶具(1),看起来很简单,多对一、多对一。但是注意业务场景,是先有食材,再将食材放入灶具,然后烹制出多个食品。也就是说不会事先知道食材(n)->食品(1)这个关系

我的使用场景
在食品烹制过程中,会根据食材查询灶具,会根据灶具查询食品;在食品烹制结束,会根据食材查食品,也会根据食品查食材。也许大家也想到了,还存在一层关系食材(n)->灶具(1),那就有了我下面的问题

问题
我怎么建立这三张表的关系?是否将三张表都建立关联关系,如下面所示:

食材表(例子有点不合适,把每个食材看做一份,用完就没有了):

idnamegoods_idpan_id
1面粉11
2葱花11
3花生油23

灶具表:

idname
1平底锅
2蒸笼
3炒锅

食品表:

idnamepan_id
1葱花饼1
2油条3

第一次在这里提问,望大神指导,谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

冷情妓 2022-09-11 07:24:55

食品(n)->灶具(1)

对这个不是很理解,一个灶具可以烹饪多种食品?

另外食品会不会需要多个灶具加工的情况?

通过我的理解

食材表

字段
sc_id
name

灶具表

字段
zj_id
name

食品表

字段
sp_id
name

食谱表

字段解释
id主键
sp_id做这个食品
step的第step步
sc_id需要用到sc_id这个材料
zj_id在zj_id里烹饪
梦亿 2022-09-11 07:24:55

ps:数据表的设计就是一个实体一个表,然后在用关联表建立实体直接的联系! 你知道了这个概念,然后再看你现在的问题是不是简单了!厨具一个表,食材一个表,食品一个表,然后食谱表就是建立三个实体的关系表!手机打字真累……

很快妥协 2022-09-11 07:24:55

首先、这三个东西都是单独的实体、所以要建立三张表、

关建是、你这三张表字段之间的关联关系、

这样在建好后查询或删除等操作才方便

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文