ER Diagram
全部模板

餐厅数据库表结构

一个面向餐厅或点餐产品的模型。菜品归属于某份菜单,入座于餐桌的顾客下单,每笔订单收集取自菜单的明细项。同样的结构可驱动 POS 系统、外卖应用和咖啡馆点餐终端。

在编辑器中打开 → 5 张表 · MySQL DDL

此结构中的表

menusmenu_itemsdining_tablesordersorder_items

表结构(SQL)

MySQL 方言的 DDL。在编辑器中打开可获得可编辑的可视化 ER 图,或直接将 SQL 复制到你的项目中。

CREATE TABLE menus (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(100) NOT NULL,
  active BOOLEAN NOT NULL DEFAULT TRUE
);

CREATE TABLE menu_items (
  id INT PRIMARY KEY AUTO_INCREMENT,
  menu_id INT NOT NULL,
  name VARCHAR(150) NOT NULL,
  description VARCHAR(255),
  price DECIMAL(10,2) NOT NULL,
  is_available BOOLEAN NOT NULL DEFAULT TRUE,
  FOREIGN KEY (menu_id) REFERENCES menus(id)
);

CREATE TABLE dining_tables (
  id INT PRIMARY KEY AUTO_INCREMENT,
  label VARCHAR(20) NOT NULL UNIQUE,
  seats INT NOT NULL
);

CREATE TABLE orders (
  id INT PRIMARY KEY AUTO_INCREMENT,
  table_id INT NOT NULL,
  status VARCHAR(20) NOT NULL,
  total DECIMAL(12,2) NOT NULL,
  placed_at DATETIME NOT NULL,
  FOREIGN KEY (table_id) REFERENCES dining_tables(id)
);

CREATE TABLE order_items (
  id INT PRIMARY KEY AUTO_INCREMENT,
  order_id INT NOT NULL,
  menu_item_id INT NOT NULL,
  quantity INT NOT NULL,
  unit_price DECIMAL(10,2) NOT NULL,
  notes VARCHAR(200),
  FOREIGN KEY (order_id) REFERENCES orders(id),
  FOREIGN KEY (menu_item_id) REFERENCES menu_items(id)
);