Online shop

customers, products, orders and what is in each order. 8 tables, 37 columns, no data.

The map

Map of the 8 tables and their linksNN1N1N1N1N1N1N1customersPKidbigintemailvarcharfull_namevarcharcreated_attimestamptzcategoriesPKidbigintnamevarcharFKparent_idbigintproduct_reviewsPKidbigintproduct_idbigintcustomer_idbigintratingsmallintbodytextaddressesPKidbigintFKcustomer_idbigintstreetvarcharcityvarcharcountryvarcharproductsPKidbigintnamevarcharpricenumericFKcategory_idbigintin_stockbooleanordersPKidbigintFKcustomer_idbigintFKshipping_address_idbigintplaced_attimestamptzstatusvarcharorder_itemsPKidbigintFKorder_idbigintFKproduct_idbigintquantityintegerunit_pricenumericpaymentsPKidbigintFKorder_idbigintamountnumericmethodvarcharpaid_attimestamptz

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

customers

  • id bigintPK
  • email varchar(255) required
  • full_name varchar(200) required
  • created_at timestamptz required

addresses

  • id bigintPK
  • customer_id bigint→ customers required
  • street varchar(200) required
  • city varchar(100) required
  • country varchar(100) required

categories

  • id bigintPK
  • name varchar(200) required
  • parent_id bigint→ categories

products

  • id bigintPK
  • name varchar(200) required
  • price numeric(12,2) required
  • category_id bigint→ categories required
  • in_stock boolean required

orders

  • id bigintPK
  • customer_id bigint→ customers required
  • shipping_address_id bigint→ addresses
  • placed_at timestamptz required
  • status varchar(30) required

order_items

  • id bigintPK
  • order_id bigint→ orders required
  • product_id bigint→ products required
  • quantity integer required
  • unit_price numeric(12,2) required

payments

  • id bigintPK
  • order_id bigint→ orders required
  • amount numeric(12,2) required
  • method varchar(30) required
  • paid_at timestamptz required

product_reviews

  • id bigintPK
  • product_id bigint required
  • customer_id bigint required
  • rating smallint required
  • body 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.