🥘 dish_ingredients 表 - 菜品配料表

菜品的配料和分类(荤素等)

📋 表结构信息

字段名 数据类型 约束 默认值 注释
id int PRIMARY KEY, AUTO_INCREMENT - 主键ID
dish_id int NOT NULL, FOREIGN KEY 0 关联菜品ID(可选)
name varchar(100) NOT NULL - 配料名称
amount decimal(10,2) NULL NULL 用量
unit varchar(20) NULL NULL 单位
note varchar(200) NULL NULL 描述
category varchar(100) NOT NULL - 分类
subcategory varchar(100) NULL NULL 子分类
created_at timestamp NOT NULL CURRENT_TIMESTAMP 创建时间
updated_at timestamp NOT NULL CURRENT_TIMESTAMP ON UPDATE 更新时间
dish_name varchar(100) NULL NULL 菜品名称
ingredient_specs_id int NULL NULL 关联食材规格ID

🔗 表关系

外键关系

dish_id 字段作为外键,关联到 dishes 表的 id 字段

CONSTRAINT: dish_ingredients_ibfk_1 FOREIGN KEY (dish_id) REFERENCES dishes (id) ON DELETE CASCADE

级联删除: 当 dishes 表中的记录被删除时,相关的配料记录也会被自动删除

索引信息

dish_id - 菜品ID索引,用于快速查询菜品配料信息

💾 建表SQL

CREATE TABLE `dish_ingredients` ( `id` int NOT NULL AUTO_INCREMENT, `dish_id` int NOT NULL DEFAULT '0' COMMENT '关联菜品ID(可选)', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配料名称', `amount` decimal(10,2) DEFAULT NULL COMMENT '用量', `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '单位', `note` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '描述', `category` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类', `subcategory` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `dish_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '菜品名称', `ingredient_specs_id` int DEFAULT NULL COMMENT '关联食材规格ID', PRIMARY KEY (`id`), KEY `dish_id` (`dish_id`), CONSTRAINT `dish_ingredients_ibfk_1` FOREIGN KEY (`dish_id`) REFERENCES `dishes` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=1443 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

📝 业务说明

dish_ingredients 表是菜品配料管理的核心表,提供完整的配料信息管理:

  • 支持精确的配料用量管理(decimal类型,支持小数点后两位)
  • 完整的单位系统,支持各种计量单位
  • 多级分类管理(分类和子分类)
  • 通过 dish_id 外键关联到 dishes 表,建立菜品与配料的关联关系
  • 支持级联删除,确保数据一致性
  • ingredient_specs_id 字段预留用于关联食材规格表
  • 自动维护创建和更新时间