您的位置:首頁技術文章
文章詳情頁

mysql - 問一個簡單的數據表設計問題(多對一、一對多)?

瀏覽:107日期:2022-06-16 14:41:04

問題描述

舉個栗子:現在有三張表:食材、灶具、食品

業務場景:選購某些食材,通過某種灶具,做成了一些食品。(取蔥花、面粉->用平底鍋->烙了白面餅和蔥花餅)

用數據庫關系描述:用數據庫正常描述是這樣的:食材(n)->食品(1),食品(n)->灶具(1),看起來很簡單,多對一、多對一。但是注意業務場景,是先有食材,再將食材放入灶具,然后烹制出多個食品。也就是說不會事先知道食材(n)->食品(1)這個關系

我的使用場景:在食品烹制過程中,會根據食材查詢灶具,會根據灶具查詢食品;在食品烹制結束,會根據食材查食品,也會根據食品查食材。也許大家也想到了,還存在一層關系食材(n)->灶具(1),那就有了我下面的問題

問題:我怎么建立這三張表的關系?是否將三張表都建立關聯關系,如下面所示:

食材表(例子有點不合適,把每個食材看做一份,用完就沒有了):

idnamegoods_idpan_id1面粉112蔥花113花生油23

灶具表:

idname1平底鍋2蒸籠3炒鍋

食品表:

idnamepan_id1蔥花餅12油條3

第一次在這里提問,望大神指導,謝謝!

問題解答

回答1:

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

對這個不是很理解,一個灶具可以烹飪多種食品?

另外食品會不會需要多個灶具加工的情況?

通過我的理解

食材表

字段sc_idname

灶具表

字段zj_idname

食品表

字段sp_idname

食譜表

字段解釋id主鍵sp_id做這個食品step的第step步sc_id需要用到sc_id這個材料zj_id在zj_id里烹飪回答2:

ps:數據表的設計就是一個實體一個表,然后在用關聯表建立實體直接的聯系! 你知道了這個概念,然后再看你現在的問題是不是簡單了!廚具一個表,食材一個表,食品一個表,然后食譜表就是建立三個實體的關系表!手機打字真累……

相關文章:
国产综合久久一区二区三区