Database Engineering

Schemas that scale. Queries that fly.

Schema Explorer

Scroll and pan across the full system schema

15 tables in an expandable workspace

Zoom 50%

customers

PKIX
id
SERIAL
name
VARCHAR(100)
UQIX
email
VARCHAR(255)
phone
VARCHAR(20)
created_at
TIMESTAMP
updated_at
TIMESTAMP

orders

PKIX
id
SERIAL
FKIX
customer_id
INTEGER
FK
shipping_address_id
INTEGER
status
VARCHAR(20)
total_amount
DECIMAL(10,2)
IX
created_at
TIMESTAMP

order_items

PKIX
id
SERIAL
FKIX
order_id
INTEGER
FKIX
product_id
INTEGER
quantity
INTEGER
unit_price
DECIMAL(10,2)

products

PKIX
id
SERIAL
name
VARCHAR(200)
FKIX
category_id
INTEGER
UQIX
sku
VARCHAR(50)
price
DECIMAL(10,2)
description
TEXT
active
BOOLEAN

categories

PKIX
id
SERIAL
name
VARCHAR(100)
FKIX
parent_id
INTEGER
UQIX
slug
VARCHAR(100)

invoices

PKIX
id
SERIAL
FKUQIX
order_id
INTEGER
UQIX
invoice_number
VARCHAR(20)
issued_at
TIMESTAMP
due_date
DATE
status
VARCHAR(20)

payments

PKIX
id
SERIAL
FKIX
invoice_id
INTEGER
amount
DECIMAL(10,2)
method
VARCHAR(30)
paid_at
TIMESTAMP
status
VARCHAR(20)

employees

PKIX
id
SERIAL
name
VARCHAR(100)
UQIX
email
VARCHAR(255)
FKIX
department_id
INTEGER
role
VARCHAR(50)
hired_at
DATE

departments

PKIX
id
SERIAL
name
VARCHAR(100)
FKIX
location_id
INTEGER
budget
DECIMAL(12,2)

locations

PKIX
id
SERIAL
name
VARCHAR(100)
address
VARCHAR(255)
city
VARCHAR(100)
country
VARCHAR(50)

support_tickets

PKIX
id
SERIAL
FKIX
customer_id
INTEGER
FKIX
assigned_to
INTEGER
subject
VARCHAR(200)
IX
status
VARCHAR(20)
priority
VARCHAR(10)
created_at
TIMESTAMP
resolved_at
TIMESTAMP

ticket_comments

PKIX
id
SERIAL
FKIX
ticket_id
INTEGER
FKIX
employee_id
INTEGER
body
TEXT
created_at
TIMESTAMP

addresses

PKIX
id
SERIAL
FKIX
customer_id
INTEGER
type
VARCHAR(10)
street
VARCHAR(255)
city
VARCHAR(100)
state
VARCHAR(50)
zip
VARCHAR(20)
country
VARCHAR(50)

reviews

PKIX
id
SERIAL
FKIX
customer_id
INTEGER
FKIX
product_id
INTEGER
rating
INTEGER CHECK (rating BETWEEN 1 AND 5)
title
VARCHAR(200)
body
TEXT
created_at
TIMESTAMP

inventory

PKIX
id
SERIAL
FKUQIX
product_id
INTEGER
FKIX
location_id
INTEGER
quantity
INTEGER
reorder_point
INTEGER
last_restocked
TIMESTAMP

Query Runner

SELECT o.id, c.name, c.email, o.total_amount, o.status, o.created_at FROM orders o JOIN customers c ON o.customer_id = c.id ORDER BY o.created_at DESC LIMIT 20;

Goes great with...

Database Engineering | Right Click