HR sample database — MongoDB, embedded (115,911 rows)

Tables that belong to another are folded into it as arrays, so the documents read the way the application uses them. The rest are collections of their own, joined by key as in the flat version.

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

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

Collections:
  addresses — 200 documents
  applications — 500 documents
  attendance — 100,000 documents
  benefits — 8 documents
  candidates — 400 documents
  companies — 1 documents
  contacts — 200 documents
  contracts — 200 documents
  departments — 12 documents
  dependents — 200 documents
  educations — 300 documents
  employees — 200 documents, each with its employee_benefits, its employee_salaries, its employee_skills
  employment_statuses — 4 documents
  equipment — 400 documents, each with its equipment_assignments
  grades — 8 documents
  interviews — 300 documents
  job_openings — 120 documents
  jobs — 30 documents
  leave_allocations — 600 documents
  leave_requests — 1,000 documents
  leave_types — 6 documents
  locations — 6 documents
  onboarding_tasks — 400 documents
  payrolls — 60 documents
  payslips — 6,000 documents
  performance_reviews — 600 documents
  review_goals — 1,200 documents
  salary_components — 6 documents
  skills — 30 documents
  training_enrollments — 600 documents
  trainings — 20 documents

Folded in (no collection of their own):
  employee_benefits — 600 rows, as the "employee_benefits" array on employees (its employee_id is the parent's _id)
  employee_salaries — 600 rows, as the "employee_salaries" array on employees (its employee_id is the parent's _id)
  employee_skills — 800 rows, as the "employee_skills" array on employees (its employee_id is the parent's _id)
  equipment_assignments — 300 rows, as the "equipment_assignments" array on equipment (its equipment_id is the parent's _id)

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.
