mysql - 問一個簡單的數(shù)據(jù)表設(shè)計問題(多對一、一對多)?
問題描述
舉個栗子:現(xiàn)在有三張表:食材、灶具、食品
業(yè)務(wù)場景:選購某些食材,通過某種灶具,做成了一些食品。(取蔥花、面粉->用平底鍋->烙了白面餅和蔥花餅)
用數(shù)據(jù)庫關(guān)系描述:用數(shù)據(jù)庫正常描述是這樣的:食材(n)->食品(1),食品(n)->灶具(1),看起來很簡單,多對一、多對一。但是注意業(yè)務(wù)場景,是先有食材,再將食材放入灶具,然后烹制出多個食品。也就是說不會事先知道食材(n)->食品(1)這個關(guān)系
我的使用場景:在食品烹制過程中,會根據(jù)食材查詢灶具,會根據(jù)灶具查詢食品;在食品烹制結(jié)束,會根據(jù)食材查食品,也會根據(jù)食品查食材。也許大家也想到了,還存在一層關(guān)系食材(n)->灶具(1),那就有了我下面的問題
問題:我怎么建立這三張表的關(guān)系?是否將三張表都建立關(guān)聯(lián)關(guān)系,如下面所示:
食材表(例子有點不合適,把每個食材看做一份,用完就沒有了):
idnamegoods_idpan_id1面粉112蔥花113花生油23灶具表:
idname1平底鍋2蒸籠3炒鍋食品表:
idnamepan_id1蔥花餅12油條3第一次在這里提問,望大神指導(dǎo),謝謝!
問題解答
回答1:食品(n)->灶具(1)
對這個不是很理解,一個灶具可以烹飪多種食品?
另外食品會不會需要多個灶具加工的情況?
通過我的理解
食材表
字段sc_idname灶具表
字段zj_idname食品表
字段sp_idname食譜表
字段解釋id主鍵sp_id做這個食品step的第step步sc_id需要用到sc_id這個材料zj_id在zj_id里烹飪回答2:ps:數(shù)據(jù)表的設(shè)計就是一個實體一個表,然后在用關(guān)聯(lián)表建立實體直接的聯(lián)系! 你知道了這個概念,然后再看你現(xiàn)在的問題是不是簡單了!廚具一個表,食材一個表,食品一個表,然后食譜表就是建立三個實體的關(guān)系表!手機打字真累……
相關(guān)文章:
1. css - 新手做響應(yīng)式布局, 斷點過后右側(cè)出現(xiàn)空白,求幫助,謝謝。2. python - 啟動Eric6時報錯:’qscintilla_zh_CN’ could not be loaded3. javascript - vue 怎么渲染自定義組件4. javascript - 關(guān)于<a>元素與<input>元素的JS事件運行問題5. mysql - 查詢字段做了索引為什么不起效,還有查詢一個月的時候數(shù)據(jù)都是全部出來的,如果分拆3次的話就沒問題,為什么呢。6. mysql - 記得以前在哪里看過一個估算時間的網(wǎng)站7. 大家好,我想請問一下怎么做搜索欄能夠搜索到自己網(wǎng)站的內(nèi)容。8. ID主鍵不是自增的嗎 為什么還要加null9. MySQL中的enum類型有什么優(yōu)點?10. python - 安裝pyspider時出錯:No space left on device:
