🍽️ dishes 表 - 菜品信息表

存储系统所有菜品的基本信息、分类、口味、厨具等详细数据

📋 表结构信息

字段名 数据类型 约束 默认值 注释
id int PRIMARY KEY, AUTO_INCREMENT - 主键ID
category varchar(50) NOT NULL - 大类
subcategory varchar(50) NULL NULL 小类
name varchar(100) NOT NULL - 菜名
taste varchar(50) NULL NULL 口味
equipment varchar(100) NULL NULL 厨具
created_at timestamp NOT NULL CURRENT_TIMESTAMP 创建时间
updated_at timestamp NOT NULL CURRENT_TIMESTAMP ON UPDATE 更新时间
author varchar(30) NULL NULL 作者名称
author_id int NULL NULL 作者ID
description text NULL NULL 菜品说明
image_url varchar(255) NULL NULL 图片URL
likes int NULL 0 点赞数
favorites int NULL 0 收藏数
views int NULL 0 浏览量
rating int NULL 1 评分
review text NULL NULL 评价内容
monthly_rank int NULL NULL 月度排名
promotion_status enum('Normal','Featured','Trending') NULL 'Normal' 推广状态
promotion_start datetime NULL NULL 推广开始时间
promotion_end datetime NULL NULL 推广结束时间

🔗 表关系

主键关系

id 字段作为主键,被以下表引用:

  • daily_menu.dish_id - 外键约束
  • dish_ingredients.dish_id - 外键约束(级联删除)

索引信息

idx_author_id - 作者ID索引,用于快速查询作者相关的菜品

💾 建表SQL

CREATE TABLE `dishes` ( `id` int NOT NULL AUTO_INCREMENT, `category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '澶х被', `subcategory` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '灏忕被', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑿滃悕', `taste` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙e懗', `equipment` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍘ㄥ叿', `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `author` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '作者名称', `author_id` int DEFAULT NULL COMMENT '作者ID', `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '菜品说明', `image_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '图片URL', `likes` int DEFAULT '0', `favorites` int DEFAULT '0', `views` int DEFAULT '0', `rating` int DEFAULT '1', `review` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, `monthly_rank` int DEFAULT NULL, `promotion_status` enum('Normal','Featured','Trending') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'Normal', `promotion_start` datetime DEFAULT NULL, `promotion_end` datetime DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_author_id` (`author_id`) ) ENGINE=InnoDB AUTO_INCREMENT=528 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci

📝 业务说明

dishes 表是系统的核心表之一,存储了所有菜品的基础信息:

  • 支持多级分类(大类、小类)
  • 包含完整的菜品属性(口味、厨具、描述等)
  • 支持作者信息和用户互动数据(点赞、收藏、浏览)
  • 具备推广功能,支持不同推广状态和时间控制
  • 自动维护创建和更新时间