Food delivery

restaurants, menus, orders, riders and deliveries. 8 tables, 31 columns, no data.

The map

Map of the 8 tables and their linksN1N1N1N1N1N1N1N1restaurantsPKidbigintnamevarcharcityvarcharcustomersPKidbigintfull_namevarcharphonevarcharridersPKidbigintfull_namevarcharon_shiftbooleanmenu_itemsPKidbigintFKrestaurant_idbigintnamevarcharpricenumericordersPKidbigintFKcustomer_idbigintFKrestaurant_idbigintplaced_attimestamptzstatusvarcharorder_linesPKidbigintFKorder_idbigintFKmenu_item_idbigintquantityintegerdeliveriesPKidbigintFKorder_idbigintFKrider_idbigintpicked_up_attimestamptzdelivered_attimestamptzratingsPKidbigintFKorder_idbigintstarssmallintnotetext

Each line runs from a linking column (N) to the key it points at (1). The same tables are listed below as text.

The tables

restaurants

  • id bigintPK
  • name varchar(200) required
  • city varchar(100) required

menu_items

  • id bigintPK
  • restaurant_id bigint→ restaurants required
  • name varchar(200) required
  • price numeric(12,2) required

customers

  • id bigintPK
  • full_name varchar(200) required
  • phone varchar(30) required

riders

  • id bigintPK
  • full_name varchar(200) required
  • on_shift boolean required

orders

  • id bigintPK
  • customer_id bigint→ customers required
  • restaurant_id bigint→ restaurants required
  • placed_at timestamptz required
  • status varchar(30) required

order_lines

  • id bigintPK
  • order_id bigint→ orders required
  • menu_item_id bigint→ menu_items required
  • quantity integer required

deliveries

  • id bigintPK
  • order_id bigint→ orders required
  • rider_id bigint→ riders required
  • picked_up_at timestamptz
  • delivered_at timestamptz

ratings

  • id bigintPK
  • order_id bigint→ orders required
  • stars smallint required
  • note text

What you could look at in SSDO

Create a free workspace and open this sample   All samples

PK is a primary key. “→ table” is a link (a foreign key) to that table. This page is a description of a structure we wrote; it holds no rows.