當冰箱裡面,存在一些名稱不同,但是本質上是一樣的東西,比如不同不同廠牌的全脂鮮乳。 為了後面想做到產出料理推薦的功能,因此需要實作分類。
GET /api/ingredients/available
CREATE TABLE ingredients (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL UNIQUE,
category TEXT
);
海鮮總匯義大利麵,使用「海鮮」搭配「義大利麵」
海鮮可能是蛤蜊、花枝、蝦子
義大利麵可能是直麵、斜管麵
而一種材料必定也能做成多種產品
依存關係是 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)
);