举个栗子:
现在有三张表:食材、灶具、食品
业务场景:
选购某些食材,通过某种灶具,做成了一些食品。(取葱花、面粉->用平底锅->烙了白面饼和葱花饼)
用数据库关系描述:
用数据库正常描述是这样的:食材(n)->食品(1),食品(n)->灶具(1),看起来很简单,多对一、多对一。但是注意业务场景,是先有食材,再将食材放入灶具,然后烹制出多个食品。也就是说不会事先知道食材(n)->食品(1)这个关系
我的使用场景:
在食品烹制过程中,会根据食材查询灶具,会根据灶具查询食品;在食品烹制结束,会根据食材查食品,也会根据食品查食材。也许大家也想到了,还存在一层关系食材(n)->灶具(1),那就有了我下面的问题
问题:
我怎么建立这三张表的关系?是否将三张表都建立关联关系,如下面所示:
食材表(例子有点不合适,把每个食材看做一份,用完就没有了):
id | name | goods_id | pan_id |
---|---|---|---|
1 | 面粉 | 1 | 1 |
2 | 葱花 | 1 | 1 |
3 | 花生油 | 2 | 3 |
灶具表:
id | name |
---|---|
1 | 平底锅 |
2 | 蒸笼 |
3 | 炒锅 |
食品表:
id | name | pan_id |
---|---|---|
1 | 葱花饼 | 1 |
2 | 油条 | 3 |
第一次在这里提问,望大神指导,谢谢!
對這個不是很理解,一個爐具可以烹飪多種食品?
另外食品會不會需要多個爐具加工的狀況?
透過我的理解
食材表
灶具表
食品表
食譜表
ps:資料表的設計就是一個實體一個表,然後在用關聯表建立實體直接的聯繫! 你知道了這個概念,然後再看你現在的問題是不是簡單了!廚具一個表,食材一張表,食品一個表,然後食譜表就是建立三個實體的關係表!手機打字真累…