iT邦幫忙

2026 iThome 鐵人賽

DAY 19
0
ChatGPT & Codex

窮鬼冰箱升級計劃系列 第 19 篇

【Day 19】分類食材歸類

  • 分享至 

  • xImage
  •  

前言

當冰箱裡面,存在一些名稱不同,但是本質上是一樣的東西,比如不同不同廠牌的全脂鮮乳。 為了後面想做到產出料理推薦的功能,因此需要實作分類。

Design API

GET /api/ingredients/available

新建資料表

CREATE TABLE ingredients (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL UNIQUE,
    category TEXT
);

Ingredients Mapping

海鮮總匯義大利麵,使用「海鮮」搭配「義大利麵」
海鮮可能是蛤蜊、花枝、蝦子
義大利麵可能是直麵、斜管麵

而一種材料必定也能做成多種產品
依存關係是 N:M

CREATE TABLE product_ingredients (
    product_id INTEGER NOT NULL,
    ingredient_id INTEGER NOT NULL,

    PRIMARY KEY (
        product_id,
        ingredient_id
    ),

    FOREIGN KEY(product_id)
        REFERENCES products(id),

    FOREIGN KEY(ingredient_id)
        REFERENCES ingredients(id)
);

上一篇
【Day 18】從即期規則到 Notification Service
下一篇
【Day 20】使用優先順序的權重計算
系列文
窮鬼冰箱升級計劃 共 22 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言