Airline sample database — MongoDB, flat (2,912,072 rows)

A collection per table. Each primary key is the document _id; foreign keys are fields under their own names, so the SQL version's joins become $lookup stages.

Load it:
  sh import.sh                    (into mongodb://localhost:27017)
  sh import.sh "<connection string>"

Or one collection at a time: mongoimport --db airline --collection <name> --file <name>.ndjson

Collections:
  aircraft_models — 8 documents
  aircrafts — 60 documents
  airlines — 6 documents
  airport_terminals — 80 documents
  airports — 40 documents
  baggage — 80,000 documents
  baggage_rules — 4 documents
  boarding_passes — 120,000 documents
  bookings — 350,000 documents
  cabins — 4 documents
  cities — 40 documents
  countries — 12 documents
  crews — 400 documents
  flight_crews — 20,000 documents
  flight_delays — 1,000 documents
  flight_instances — 10,000 documents
  flight_schedules — 300 documents
  flights — 300 documents
  frequent_flyer_members — 20,000 documents
  frequent_flyer_programs — 6 documents
  gates — 400 documents
  meal_bookings — 30,000 documents
  meals — 8 documents
  passengers — 120,000 documents
  payments — 350,000 documents
  promotions — 4 documents
  refunds — 5,000 documents
  seat_pricing — 30,000 documents
  seats — 14,400 documents
  ticket_flights — 1,000,000 documents
  tickets — 700,000 documents
  users — 60,000 documents

Types: numeric columns are Decimal128, so totals stay exact; dates and timestamps are
Date values read as UTC (the data has no time zone); times and UUIDs are strings;
JSON columns are embedded objects.

Synthetic data, CC0-1.0, from databasesample.com. The same rows as the SQL and CSV files.
