{
  "format": "dataset-manifest/1",
  "slug": "language-learning-sample-database",
  "version": 1,
  "seed": "flagship:language-learning-sample-database:1k",
  "engine": 2,
  "engineVersion": "1.0.0",
  "spec": {
    "format": "dataset/1",
    "engine": 2,
    "slug": "language-learning-sample-database",
    "name": "Language learning app sample database",
    "tagline": "Learners, courses, lessons, quizzes, progress, streaks of practice and subscriptions.",
    "description": "A language learning app: twelve languages, the courses and lessons taught in them, exercises and quizzes with their answers, and the learners working through them -- every lesson visit recorded with how far they got, every quiz attempt with its score. Learners sign up before they study, most never pay and a few subscribe, and progress clusters where real learners stall, early in a course.",
    "domain": "education",
    "shape": "event-log",
    "useCases": [
      "sql-practice",
      "bi-dashboards",
      "test-fixtures"
    ],
    "keywords": [
      "language learning",
      "edtech",
      "courses",
      "learner progress",
      "sample database"
    ],
    "locale": "en_US",
    "license": "CC0-1.0",
    "version": 1,
    "seed": "flagship:language-learning-sample-database",
    "tables": {
      "achievements": {
        "description": "Rows for the achievements table.",
        "rows": 40,
        "columns": {
          "achievement_id": {
            "kind": "pk"
          },
          "achievement_name": {
            "kind": "title",
            "min": 2,
            "max": 3,
            "pool": [
              "First",
              "Lesson",
              "Week",
              "Streak",
              "Perfect",
              "Score",
              "Night",
              "Owl",
              "Early",
              "Bird",
              "Polyglot",
              "Explorer",
              "Champion",
              "Hundred",
              "Words",
              "Master"
            ]
          },
          "description": {
            "kind": "sentence"
          }
        }
      },
      "audio_resources": {
        "description": "Rows for the audio_resources table.",
        "rows": 900,
        "columns": {
          "audio_id": {
            "kind": "pk"
          },
          "audio_url": {
            "kind": "internet.url"
          },
          "lesson_id": {
            "kind": "fk",
            "ref": "lessons.lesson_id",
            "skew": "long-tail"
          },
          "script": {
            "kind": "sentence",
            "min": 6,
            "max": 24
          }
        }
      },
      "courses": {
        "description": "Rows for the courses table.",
        "rows": 60,
        "columns": {
          "course_id": {
            "kind": "pk"
          },
          "course_name": {
            "kind": "title",
            "min": 2,
            "max": 4,
            "pool": [
              "Everyday",
              "Conversation",
              "Grammar",
              "Travel",
              "Business",
              "Essentials",
              "Beginner",
              "Intermediate",
              "Advanced",
              "Vocabulary",
              "Pronunciation",
              "Reading",
              "Writing",
              "Listening",
              "Culture",
              "Fast Track"
            ]
          },
          "description": {
            "kind": "sentence"
          },
          "difficulty_level": {
            "kind": "enum",
            "values": [
              "beginner",
              "elementary",
              "intermediate",
              "upper_intermediate",
              "advanced"
            ],
            "weights": [
              34,
              26,
              21,
              12,
              7
            ]
          },
          "language_id": {
            "kind": "fk",
            "ref": "languages.language_id",
            "skew": "long-tail"
          }
        }
      },
      "exercise_options": {
        "description": "Rows for the exercise_options table.",
        "rows": 14400,
        "columns": {
          "option_id": {
            "kind": "pk"
          },
          "exercise_id": {
            "kind": "fk",
            "ref": "exercises.exercise_id",
            "skew": "long-tail"
          },
          "is_correct": {
            "kind": "bool",
            "trueRate": 0.25
          },
          "option_text": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "pool": [
              "house",
              "water",
              "friend",
              "yesterday",
              "tomorrow",
              "please",
              "thank you",
              "station",
              "breakfast",
              "city",
              "beautiful",
              "quickly",
              "always",
              "never",
              "teacher",
              "ticket"
            ]
          }
        }
      },
      "exercises": {
        "description": "Rows for the exercises table.",
        "rows": 3600,
        "columns": {
          "exercise_id": {
            "kind": "pk"
          },
          "answer": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "pool": [
              "house",
              "water",
              "friend",
              "yesterday",
              "tomorrow",
              "please",
              "thank you",
              "station",
              "breakfast",
              "city",
              "beautiful",
              "quickly",
              "always",
              "never",
              "teacher",
              "ticket"
            ]
          },
          "exercise_type": {
            "kind": "enum",
            "values": [
              "multiple_choice",
              "fill_in_blank",
              "translation",
              "listening",
              "speaking",
              "matching"
            ],
            "weights": [
              30,
              20,
              18,
              14,
              8,
              10
            ]
          },
          "lesson_id": {
            "kind": "fk",
            "ref": "lessons.lesson_id",
            "skew": "long-tail"
          },
          "question": {
            "kind": "sentence",
            "min": 4,
            "max": 14
          }
        }
      },
      "forum_posts": {
        "description": "Rows for the forum_posts table.",
        "rows": 20,
        "columns": {
          "post_id": {
            "kind": "pk"
          },
          "forum_id": {
            "kind": "fk",
            "ref": "forums.forum_id",
            "skew": "long-tail"
          },
          "post_content": {
            "kind": "paragraph",
            "min": 1,
            "max": 3
          },
          "post_date": {
            "kind": "datetime",
            "after": "user_id.date_joined",
            "withinDays": 400,
            "dayProfile": "waking"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "long-tail"
          }
        }
      },
      "forums": {
        "description": "Rows for the forums table.",
        "rows": 12,
        "columns": {
          "forum_id": {
            "kind": "pk"
          },
          "forum_name": {
            "kind": "title",
            "min": 1,
            "max": 3,
            "pool": [
              "Grammar",
              "Help",
              "Study",
              "Partners",
              "Pronunciation",
              "Culture",
              "Travel",
              "Tips",
              "Exam",
              "Prep",
              "Beginners",
              "Corner",
              "Words",
              "Of",
              "The",
              "Day"
            ]
          }
        }
      },
      "friends": {
        "description": "Rows for the friends table.",
        "rows": 125,
        "columns": {
          "friend_id": {
            "kind": "pk"
          },
          "friendship_status": {
            "kind": "enum",
            "values": [
              "accepted",
              "pending",
              "blocked"
            ],
            "weights": [
              78,
              19,
              3
            ]
          },
          "user_id1": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "long-tail"
          },
          "user_id2": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "long-tail"
          }
        }
      },
      "languages": {
        "description": "Rows for the languages table.",
        "rows": 12,
        "columns": {
          "language_id": {
            "kind": "pk"
          },
          "language_name": {
            "kind": "enum",
            "unique": true,
            "values": [
              "Spanish",
              "French",
              "German",
              "Italian",
              "Portuguese",
              "Japanese",
              "Korean",
              "Mandarin Chinese",
              "Arabic",
              "Turkish",
              "Dutch",
              "Swedish"
            ]
          }
        }
      },
      "lessons": {
        "description": "Rows for the lessons table.",
        "rows": 900,
        "columns": {
          "lesson_id": {
            "kind": "pk"
          },
          "content": {
            "kind": "paragraph",
            "min": 2,
            "max": 4
          },
          "course_id": {
            "kind": "fk",
            "ref": "courses.course_id",
            "skew": "long-tail"
          },
          "lesson_name": {
            "kind": "title",
            "min": 2,
            "max": 4,
            "pool": [
              "Greetings",
              "Numbers",
              "Family",
              "Food",
              "Directions",
              "Shopping",
              "Weather",
              "Hobbies",
              "Work",
              "Past Tense",
              "Future Plans",
              "At the Doctor",
              "Hotel",
              "Restaurant",
              "Time",
              "Colors",
              "Questions",
              "Small Talk"
            ]
          },
          "video_url": {
            "kind": "internet.url"
          }
        }
      },
      "messages": {
        "description": "Rows for the messages table.",
        "rows": 30,
        "columns": {
          "message_id": {
            "kind": "pk"
          },
          "message_text": {
            "kind": "sentence"
          },
          "receiver_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "long-tail"
          },
          "sender_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "long-tail"
          },
          "timestamp": {
            "kind": "datetime",
            "after": "sender_id.date_joined",
            "withinDays": 400
          }
        }
      },
      "payments": {
        "description": "Rows for the payments table.",
        "rows": 20,
        "columns": {
          "payment_id": {
            "kind": "pk"
          },
          "amount": {
            "kind": "enum",
            "values": [
              "6.99",
              "12.99",
              "59.99",
              "119.99"
            ],
            "weights": [
              20,
              35,
              30,
              15
            ],
            "type": "numeric(8,2)"
          },
          "payment_date": {
            "kind": "datetime",
            "after": "user_id.date_joined",
            "withinDays": 365
          },
          "payment_method": {
            "kind": "enum",
            "values": [
              "card",
              "paypal",
              "apple_pay",
              "google_pay"
            ],
            "weights": [
              52,
              18,
              18,
              12
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "long-tail"
          }
        }
      },
      "post_replies": {
        "description": "Rows for the post_replies table.",
        "rows": 40,
        "columns": {
          "reply_id": {
            "kind": "pk"
          },
          "post_id": {
            "kind": "fk",
            "ref": "forum_posts.post_id",
            "skew": "long-tail"
          },
          "reply_content": {
            "kind": "sentence",
            "min": 4,
            "max": 30
          },
          "reply_date": {
            "kind": "datetime",
            "after": "post_id.post_date",
            "withinDays": 5,
            "dayProfile": "waking"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "long-tail"
          }
        }
      },
      "pronunciation_practices": {
        "description": "Rows for the pronunciation_practices table.",
        "rows": 125,
        "columns": {
          "practice_id": {
            "kind": "pk"
          },
          "audio_id": {
            "kind": "fk",
            "ref": "audio_resources.audio_id",
            "skew": "long-tail"
          },
          "feedback": {
            "kind": "sentence"
          },
          "user_audio_url": {
            "kind": "internet.url"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "long-tail"
          }
        }
      },
      "quiz_answers": {
        "description": "Rows for the quiz_answers table.",
        "rows": 4800,
        "columns": {
          "answer_id": {
            "kind": "pk"
          },
          "answer_text": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "pool": [
              "house",
              "water",
              "friend",
              "yesterday",
              "tomorrow",
              "please",
              "thank you",
              "station",
              "breakfast",
              "city",
              "beautiful",
              "quickly",
              "always",
              "never",
              "teacher",
              "ticket"
            ]
          },
          "is_correct": {
            "kind": "bool",
            "trueRate": 0.25
          },
          "question_id": {
            "kind": "fk",
            "ref": "quiz_questions.question_id",
            "skew": "long-tail"
          }
        }
      },
      "quiz_questions": {
        "description": "Rows for the quiz_questions table.",
        "rows": 1200,
        "columns": {
          "question_id": {
            "kind": "pk"
          },
          "question_text": {
            "kind": "sentence",
            "min": 5,
            "max": 16
          },
          "quiz_id": {
            "kind": "fk",
            "ref": "quizzes.quiz_id",
            "skew": "long-tail"
          }
        }
      },
      "quizzes": {
        "description": "Rows for the quizzes table.",
        "rows": 120,
        "columns": {
          "quiz_id": {
            "kind": "pk"
          },
          "course_id": {
            "kind": "fk",
            "ref": "courses.course_id",
            "skew": "long-tail"
          },
          "quiz_name": {
            "kind": "title",
            "min": 2,
            "max": 3,
            "pool": [
              "Unit",
              "Review",
              "Checkpoint",
              "Vocabulary",
              "Grammar",
              "Listening",
              "Final",
              "Weekly",
              "Practice",
              "Challenge",
              "Mid-Course",
              "Placement"
            ]
          }
        }
      },
      "subscriptions": {
        "description": "Rows for the subscriptions table.",
        "rows": 15,
        "columns": {
          "subscription_id": {
            "kind": "pk"
          },
          "end_date": {
            "kind": "datetime",
            "after": "start_date",
            "withinDays": 400
          },
          "start_date": {
            "kind": "datetime",
            "after": "user_id.date_joined",
            "withinDays": 120
          },
          "subscription_type": {
            "kind": "enum",
            "values": [
              "monthly",
              "annual",
              "family",
              "lifetime"
            ],
            "weights": [
              48,
              38,
              10,
              4
            ]
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "long-tail"
          }
        }
      },
      "user_achievements": {
        "description": "Rows for the user_achievements table.",
        "rows": 125,
        "columns": {
          "user_achievement_id": {
            "kind": "pk"
          },
          "achievement_id": {
            "kind": "fk",
            "ref": "achievements.achievement_id",
            "skew": "long-tail"
          },
          "date_achieved": {
            "kind": "datetime",
            "after": "user_id.date_joined",
            "withinDays": 365
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "long-tail"
          }
        }
      },
      "user_profiles": {
        "description": "Rows for the user_profiles table.",
        "rows": 125,
        "columns": {
          "profile_id": {
            "kind": "pk"
          },
          "bio": {
            "kind": "sentence"
          },
          "date_of_birth": {
            "kind": "date",
            "from": "1960-01-01",
            "to": "2010-12-31"
          },
          "first_name": {
            "kind": "person.firstName"
          },
          "last_name": {
            "kind": "person.lastName"
          },
          "profile_picture": {
            "kind": "image.url",
            "nullable": true,
            "nullRate": 0.4
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "long-tail"
          }
        }
      },
      "user_progress": {
        "description": "Rows for the user_progress table.",
        "rows": 1000,
        "columns": {
          "progress_id": {
            "kind": "pk"
          },
          "course_id": {
            "kind": "fk",
            "ref": "courses.course_id",
            "skew": "long-tail"
          },
          "last_accessed": {
            "kind": "datetime",
            "after": "user_id.date_joined",
            "withinDays": 400,
            "dayProfile": "waking"
          },
          "lesson_id": {
            "kind": "fk",
            "ref": "lessons.lesson_id",
            "skew": "long-tail"
          },
          "progress_percentage": {
            "kind": "decimal",
            "min": 0,
            "max": 100,
            "scale": 1,
            "distribution": "long-tail"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "long-tail"
          }
        }
      },
      "user_quiz_results": {
        "description": "Rows for the user_quiz_results table.",
        "rows": 150,
        "columns": {
          "result_id": {
            "kind": "pk"
          },
          "attempt_date": {
            "kind": "datetime",
            "after": "user_id.date_joined",
            "withinDays": 400,
            "dayProfile": "waking"
          },
          "quiz_id": {
            "kind": "fk",
            "ref": "quizzes.quiz_id",
            "skew": "long-tail"
          },
          "score": {
            "kind": "int",
            "min": 0,
            "max": 100,
            "distribution": "normal"
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "skew": "long-tail"
          }
        }
      },
      "users": {
        "description": "Rows for the users table.",
        "rows": 125,
        "columns": {
          "user_id": {
            "kind": "pk"
          },
          "date_joined": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2025-06-30",
            "trend": "growing"
          },
          "email": {
            "kind": "internet.email",
            "unique": true
          },
          "password_hash": {
            "kind": "pattern",
            "pattern": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
          },
          "user_type": {
            "kind": "enum",
            "values": [
              "learner",
              "tutor",
              "admin"
            ],
            "weights": [
              94,
              5,
              1
            ]
          },
          "username": {
            "kind": "internet.username",
            "unique": true
          }
        }
      },
      "vocabulary": {
        "description": "Rows for the vocabulary table.",
        "rows": 4000,
        "columns": {
          "vocabulary_id": {
            "kind": "pk"
          },
          "language_id": {
            "kind": "fk",
            "ref": "languages.language_id",
            "skew": "long-tail"
          },
          "part_of_speech": {
            "kind": "enum",
            "values": [
              "noun",
              "verb",
              "adjective",
              "adverb",
              "phrase"
            ],
            "weights": [
              46,
              22,
              18,
              8,
              6
            ]
          },
          "translation": {
            "kind": "words",
            "min": 1,
            "max": 1,
            "pool": [
              "casa",
              "agua",
              "amigo",
              "ayer",
              "mañana",
              "por favor",
              "estación",
              "desayuno",
              "ciudad",
              "hermoso",
              "rápido",
              "siempre",
              "nunca",
              "maestro",
              "billete",
              "ventana"
            ]
          },
          "word": {
            "kind": "words",
            "min": 1,
            "max": 1,
            "pool": [
              "house",
              "water",
              "friend",
              "yesterday",
              "tomorrow",
              "please",
              "station",
              "breakfast",
              "city",
              "beautiful",
              "quickly",
              "always",
              "never",
              "teacher",
              "ticket",
              "window",
              "garden",
              "morning",
              "evening",
              "market"
            ]
          }
        }
      }
    }
  },
  "counts": {
    "achievements": 40,
    "forums": 12,
    "languages": 12,
    "courses": 60,
    "lessons": 900,
    "audio_resources": 900,
    "exercises": 3600,
    "exercise_options": 14400,
    "quizzes": 120,
    "quiz_questions": 1200,
    "quiz_answers": 4800,
    "users": 125,
    "forum_posts": 20,
    "friends": 125,
    "messages": 30,
    "payments": 20,
    "post_replies": 40,
    "pronunciation_practices": 125,
    "subscriptions": 15,
    "user_achievements": 125,
    "user_profiles": 125,
    "user_progress": 1000,
    "user_quiz_results": 150,
    "vocabulary": 4000
  },
  "artifacts": [
    {
      "file": "csv/achievements.csv",
      "format": "csv",
      "table": "achievements",
      "key": "datasets/language-learning-sample-database/v1/csv/achievements.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/achievements.csv",
      "bytes": 3146,
      "sha256": "8bf41ab9e1743e03a6365d885ac631bfe54e85d4095ab70a9910c046bd5c7cdd",
      "rows": 40,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/forums.csv",
      "format": "csv",
      "table": "forums",
      "key": "datasets/language-learning-sample-database/v1/csv/forums.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/forums.csv",
      "bytes": 181,
      "sha256": "0f5c552da7679561fc6a48f8fcbaebbadfc988f67a3d555067634500f8f42527",
      "rows": 12,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/languages.csv",
      "format": "csv",
      "table": "languages",
      "key": "datasets/language-learning-sample-database/v1/csv/languages.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/languages.csv",
      "bytes": 169,
      "sha256": "899f3602cb5276744d40d88d882dab42033574d2b161fc68710a2206567a7553",
      "rows": 12,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/courses.csv",
      "format": "csv",
      "table": "courses",
      "key": "datasets/language-learning-sample-database/v1/csv/courses.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/courses.csv",
      "bytes": 6246,
      "sha256": "d33b2041b7a62bed1d6c7adc369c81f864aadbef0007b36f7080fe60f347062b",
      "rows": 60,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/lessons.csv",
      "format": "csv",
      "table": "lessons",
      "key": "datasets/language-learning-sample-database/v1/csv/lessons.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/lessons.csv",
      "bytes": 177987,
      "sha256": "0671b6e084f84efe0eba9444f64720cef5ee4ac4d1af9428d27648aa8fb70ce2",
      "rows": 900,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/audio_resources.csv",
      "format": "csv",
      "table": "audio_resources",
      "key": "datasets/language-learning-sample-database/v1/csv/audio_resources.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/audio_resources.csv",
      "bytes": 84315,
      "sha256": "31842fcdd6704529409f06bdf2bfb223c4f96840be4900c19213122c0e61f0ad",
      "rows": 900,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/exercises.csv",
      "format": "csv",
      "table": "exercises",
      "key": "datasets/language-learning-sample-database/v1/csv/exercises.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/exercises.csv",
      "bytes": 338568,
      "sha256": "257164c3b4d0d3acdec131f229e077ac6f804c0f9459ba7e3f08e4458ad34582",
      "rows": 3600,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/exercise_options.csv",
      "format": "csv",
      "table": "exercise_options",
      "key": "datasets/language-learning-sample-database/v1/csv/exercise_options.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/exercise_options.csv",
      "bytes": 457422,
      "sha256": "22eec1883170216f14e8c32004f051679627f21a04a90f758b19090da4724553",
      "rows": 14400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/quizzes.csv",
      "format": "csv",
      "table": "quizzes",
      "key": "datasets/language-learning-sample-database/v1/csv/quizzes.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/quizzes.csv",
      "bytes": 3482,
      "sha256": "040386ce6550717a0369548975cbf901816a8a829cd799eb2cc3e106c5fd740a",
      "rows": 120,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/quiz_questions.csv",
      "format": "csv",
      "table": "quiz_questions",
      "key": "datasets/language-learning-sample-database/v1/csv/quiz_questions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/quiz_questions.csv",
      "bytes": 77053,
      "sha256": "c523d2ff872976f0c41ddebded3b514c56208663905b0c90da87ccdf18d5650c",
      "rows": 1200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/quiz_answers.csv",
      "format": "csv",
      "table": "quiz_answers",
      "key": "datasets/language-learning-sample-database/v1/csv/quiz_answers.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/quiz_answers.csv",
      "bytes": 147018,
      "sha256": "11930e6f8f5b4c2193dfb3c2b8c68bde81bfb84025e7e8c88029298065c4de80",
      "rows": 4800,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/language-learning-sample-database/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/users.csv",
      "bytes": 13411,
      "sha256": "cc9ade569c1c8a38fbbe6deb88a2d912f814632a52f82d4046ed1ef872a338aa",
      "rows": 125,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/forum_posts.csv",
      "format": "csv",
      "table": "forum_posts",
      "key": "datasets/language-learning-sample-database/v1/csv/forum_posts.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/forum_posts.csv",
      "bytes": 3097,
      "sha256": "9402c07041500ab117f1df1f11fb3275b98edfb8415e6202cf7dc9c3cd068f7e",
      "rows": 20,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/friends.csv",
      "format": "csv",
      "table": "friends",
      "key": "datasets/language-learning-sample-database/v1/csv/friends.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/friends.csv",
      "bytes": 2366,
      "sha256": "6aeb93efd13b5f6bff1cd78c34a985de7f09c9a3ebc4fb06861fd111bea9935b",
      "rows": 125,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/messages.csv",
      "format": "csv",
      "table": "messages",
      "key": "datasets/language-learning-sample-database/v1/csv/messages.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/messages.csv",
      "bytes": 2654,
      "sha256": "50559fe98d6318e2b2dee6fa24227f39f48ab0f27386411719ef03ec42434c51",
      "rows": 30,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/payments.csv",
      "format": "csv",
      "table": "payments",
      "key": "datasets/language-learning-sample-database/v1/csv/payments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/payments.csv",
      "bytes": 841,
      "sha256": "dfeedb3cce5cb5f5477e59901707928af07176755287d1a77b66197acfd5c278",
      "rows": 20,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/post_replies.csv",
      "format": "csv",
      "table": "post_replies",
      "key": "datasets/language-learning-sample-database/v1/csv/post_replies.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/post_replies.csv",
      "bytes": 3548,
      "sha256": "3ec075a51f4c9e276be2b61fa485bbefdb927327682829294e43acc4aec08e70",
      "rows": 40,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/pronunciation_practices.csv",
      "format": "csv",
      "table": "pronunciation_practices",
      "key": "datasets/language-learning-sample-database/v1/csv/pronunciation_practices.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/pronunciation_practices.csv",
      "bytes": 12095,
      "sha256": "f372025ab4b5d4a3a250440a535f035c26682e3ab5ae54cf5c3c269013fe703c",
      "rows": 125,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/subscriptions.csv",
      "format": "csv",
      "table": "subscriptions",
      "key": "datasets/language-learning-sample-database/v1/csv/subscriptions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/subscriptions.csv",
      "bytes": 874,
      "sha256": "14a0f06fa0cfadf94e48c256919f0983fa09d0eb79aed47ab92f34e05c44e9bc",
      "rows": 15,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_achievements.csv",
      "format": "csv",
      "table": "user_achievements",
      "key": "datasets/language-learning-sample-database/v1/csv/user_achievements.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/user_achievements.csv",
      "bytes": 3744,
      "sha256": "5fa83560f889a9a193ed8b23d13ecb781f9ff996e5e424482a1abbf62251c063",
      "rows": 125,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_profiles.csv",
      "format": "csv",
      "table": "user_profiles",
      "key": "datasets/language-learning-sample-database/v1/csv/user_profiles.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/user_profiles.csv",
      "bytes": 14847,
      "sha256": "67f26b6681ebe3a3eb5c2c8bd42b6164cda8e37cebd268a7fa15c104fed45090",
      "rows": 125,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_progress.csv",
      "format": "csv",
      "table": "user_progress",
      "key": "datasets/language-learning-sample-database/v1/csv/user_progress.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/user_progress.csv",
      "bytes": 38658,
      "sha256": "8da5180908892d29fdfa7c3f2d288c9a6c176cda8ae28e610195b1ca3968a400",
      "rows": 1000,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_quiz_results.csv",
      "format": "csv",
      "table": "user_quiz_results",
      "key": "datasets/language-learning-sample-database/v1/csv/user_quiz_results.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/user_quiz_results.csv",
      "bytes": 4994,
      "sha256": "e4aee49437be358622968a9627a34697f1b136f16c6011f6df5cb4395dca2b9e",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/vocabulary.csv",
      "format": "csv",
      "table": "vocabulary",
      "key": "datasets/language-learning-sample-database/v1/csv/vocabulary.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/csv/vocabulary.csv",
      "bytes": 115980,
      "sha256": "753b279c248f242426cd30e3ba93e9f93dc498c1f11f5302bde95560d6390916",
      "rows": 4000,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "language-learning-sample-database.json",
      "format": "json",
      "table": null,
      "key": "datasets/language-learning-sample-database/v1/language-learning-sample-database.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/language-learning-sample-database.json",
      "bytes": 4877348,
      "sha256": "ccf6a161825e4d0f6ed55d50ffa881fa606d12fd694c228fc5cfcfeaf2d05508",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/language-learning-sample-database/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/sql/postgres.sql",
      "bytes": 1938541,
      "sha256": "418b1f0ff4ecb844a049ee1d13e7e5263ac7249fbfe04d93b2230f9f835b961e",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/language-learning-sample-database/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/sql/mysql.sql",
      "bytes": 1863799,
      "sha256": "889b2ba51f1614f0cba2e2907de373faa0bcd159da8cf098a28242b703ee0a6e",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/language-learning-sample-database/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/sql/mssql.sql",
      "bytes": 1916230,
      "sha256": "c40922982ed31a8046b9f5bdfaede6b8378de6e5a677de00a318477b3a3ea22c",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/language-learning-sample-database/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/sql/sqlite.sql",
      "bytes": 1861877,
      "sha256": "370e72c223b1a36ff0f2ee814073f844b8b0a5ad5827a02caa1c924d9b1359f7",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/language-learning-sample-database/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/prisma/seed.ts",
      "bytes": 3927115,
      "sha256": "16b76f2a0aedc4885ec1a95b0304a0d39f858cc260971be9c5da1cd17754e2f8",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/language-learning-sample-database/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/django/fixtures.json",
      "bytes": 6078515,
      "sha256": "dca6e29642bc03eb9e6e2fd95abc8d88ff7de5d12a6e688e5a15ec6abce8ce0b",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "flagship": {
    "sizes": {
      "1k": {
        "rows": 31944,
        "counts": {
          "achievements": 40,
          "forums": 12,
          "languages": 12,
          "courses": 60,
          "lessons": 900,
          "audio_resources": 900,
          "exercises": 3600,
          "exercise_options": 14400,
          "quizzes": 120,
          "quiz_questions": 1200,
          "quiz_answers": 4800,
          "users": 125,
          "forum_posts": 20,
          "friends": 125,
          "messages": 30,
          "payments": 20,
          "post_replies": 40,
          "pronunciation_practices": 125,
          "subscriptions": 15,
          "user_achievements": 125,
          "user_profiles": 125,
          "user_progress": 1000,
          "user_quiz_results": 150,
          "vocabulary": 4000
        },
        "notes": [],
        "downloads": [
          {
            "format": "sql-postgres",
            "label": "PostgreSQL",
            "file": "flagship/1k/postgres.sql.gz",
            "key": "datasets/language-learning-sample-database/v1/flagship/1k/postgres.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/flagship/1k/postgres.sql.gz",
            "bytes": 338517,
            "sha256": "0790c76f699771cdbcfff8547cad064248bbdde24da7372c375ba8dc84a2e7dc",
            "raw": {
              "bytes": 1938541,
              "sha256": "418b1f0ff4ecb844a049ee1d13e7e5263ac7249fbfe04d93b2230f9f835b961e"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-mysql",
            "label": "MySQL",
            "file": "flagship/1k/mysql.sql.gz",
            "key": "datasets/language-learning-sample-database/v1/flagship/1k/mysql.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/flagship/1k/mysql.sql.gz",
            "bytes": 335309,
            "sha256": "90aa655f06a0ecf620993d38dfe5af4fd072df288758d1f8a2aed0973b8b2d59",
            "raw": {
              "bytes": 1863799,
              "sha256": "889b2ba51f1614f0cba2e2907de373faa0bcd159da8cf098a28242b703ee0a6e"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-sqlite",
            "label": "SQLite",
            "file": "flagship/1k/sqlite.sql.gz",
            "key": "datasets/language-learning-sample-database/v1/flagship/1k/sqlite.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/flagship/1k/sqlite.sql.gz",
            "bytes": 334667,
            "sha256": "ca4cb660b52d6f95502f1f5c0bc86567f7a85fdac3bfc5005d716ec2f2f2870f",
            "raw": {
              "bytes": 1861877,
              "sha256": "370e72c223b1a36ff0f2ee814073f844b8b0a5ad5827a02caa1c924d9b1359f7"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "csv",
            "label": "CSV",
            "file": "flagship/1k/csv.zip",
            "key": "datasets/language-learning-sample-database/v1/flagship/1k/csv.zip",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/flagship/1k/csv.zip",
            "bytes": 346942,
            "sha256": "41879f277f83c89a7f8ef333575504bf18ad1bbc7769f91ec9775894ea558684",
            "tables": {
              "achievements": {
                "bytes": 3146,
                "sha256": "8bf41ab9e1743e03a6365d885ac631bfe54e85d4095ab70a9910c046bd5c7cdd"
              },
              "audio_resources": {
                "bytes": 84315,
                "sha256": "31842fcdd6704529409f06bdf2bfb223c4f96840be4900c19213122c0e61f0ad"
              },
              "courses": {
                "bytes": 6246,
                "sha256": "d33b2041b7a62bed1d6c7adc369c81f864aadbef0007b36f7080fe60f347062b"
              },
              "exercise_options": {
                "bytes": 457422,
                "sha256": "22eec1883170216f14e8c32004f051679627f21a04a90f758b19090da4724553"
              },
              "exercises": {
                "bytes": 338568,
                "sha256": "257164c3b4d0d3acdec131f229e077ac6f804c0f9459ba7e3f08e4458ad34582"
              },
              "forum_posts": {
                "bytes": 3097,
                "sha256": "9402c07041500ab117f1df1f11fb3275b98edfb8415e6202cf7dc9c3cd068f7e"
              },
              "forums": {
                "bytes": 181,
                "sha256": "0f5c552da7679561fc6a48f8fcbaebbadfc988f67a3d555067634500f8f42527"
              },
              "friends": {
                "bytes": 2366,
                "sha256": "6aeb93efd13b5f6bff1cd78c34a985de7f09c9a3ebc4fb06861fd111bea9935b"
              },
              "languages": {
                "bytes": 169,
                "sha256": "899f3602cb5276744d40d88d882dab42033574d2b161fc68710a2206567a7553"
              },
              "lessons": {
                "bytes": 177987,
                "sha256": "0671b6e084f84efe0eba9444f64720cef5ee4ac4d1af9428d27648aa8fb70ce2"
              },
              "messages": {
                "bytes": 2654,
                "sha256": "50559fe98d6318e2b2dee6fa24227f39f48ab0f27386411719ef03ec42434c51"
              },
              "payments": {
                "bytes": 841,
                "sha256": "dfeedb3cce5cb5f5477e59901707928af07176755287d1a77b66197acfd5c278"
              },
              "post_replies": {
                "bytes": 3548,
                "sha256": "3ec075a51f4c9e276be2b61fa485bbefdb927327682829294e43acc4aec08e70"
              },
              "pronunciation_practices": {
                "bytes": 12095,
                "sha256": "f372025ab4b5d4a3a250440a535f035c26682e3ab5ae54cf5c3c269013fe703c"
              },
              "quiz_answers": {
                "bytes": 147018,
                "sha256": "11930e6f8f5b4c2193dfb3c2b8c68bde81bfb84025e7e8c88029298065c4de80"
              },
              "quiz_questions": {
                "bytes": 77053,
                "sha256": "c523d2ff872976f0c41ddebded3b514c56208663905b0c90da87ccdf18d5650c"
              },
              "quizzes": {
                "bytes": 3482,
                "sha256": "040386ce6550717a0369548975cbf901816a8a829cd799eb2cc3e106c5fd740a"
              },
              "subscriptions": {
                "bytes": 874,
                "sha256": "14a0f06fa0cfadf94e48c256919f0983fa09d0eb79aed47ab92f34e05c44e9bc"
              },
              "user_achievements": {
                "bytes": 3744,
                "sha256": "5fa83560f889a9a193ed8b23d13ecb781f9ff996e5e424482a1abbf62251c063"
              },
              "user_profiles": {
                "bytes": 14847,
                "sha256": "67f26b6681ebe3a3eb5c2c8bd42b6164cda8e37cebd268a7fa15c104fed45090"
              },
              "user_progress": {
                "bytes": 38658,
                "sha256": "8da5180908892d29fdfa7c3f2d288c9a6c176cda8ae28e610195b1ca3968a400"
              },
              "user_quiz_results": {
                "bytes": 4994,
                "sha256": "e4aee49437be358622968a9627a34697f1b136f16c6011f6df5cb4395dca2b9e"
              },
              "users": {
                "bytes": 13411,
                "sha256": "cc9ade569c1c8a38fbbe6deb88a2d912f814632a52f82d4046ed1ef872a338aa"
              },
              "vocabulary": {
                "bytes": 115980,
                "sha256": "753b279c248f242426cd30e3ba93e9f93dc498c1f11f5302bde95560d6390916"
              }
            },
            "contentType": "application/zip"
          }
        ],
        "checks": {
          "postgres": {
            "version": "18.3",
            "ok": true
          },
          "sqlite": {
            "version": "3.53.1",
            "ok": true
          },
          "notRun": [
            {
              "engine": "MySQL",
              "note": "Written from the same rows; not loaded here, no MySQL server runs in the build."
            }
          ]
        },
        "rules": [
          {
            "name": "Every lesson visit comes after the learner signed up",
            "violations": 0
          },
          {
            "name": "Every quiz attempt comes after the learner signed up",
            "violations": 0
          },
          {
            "name": "Progress is a percentage",
            "violations": 0
          },
          {
            "name": "A subscription ends after it starts",
            "violations": 0
          },
          {
            "name": "A reply comes after the post it answers",
            "violations": 0
          },
          {
            "name": "Each language appears once",
            "violations": 0
          }
        ]
      },
      "100k": {
        "rows": 220044,
        "counts": {
          "achievements": 40,
          "forums": 12,
          "languages": 12,
          "courses": 60,
          "lessons": 900,
          "audio_resources": 900,
          "exercises": 3600,
          "exercise_options": 14400,
          "quizzes": 120,
          "quiz_questions": 1200,
          "quiz_answers": 4800,
          "users": 12500,
          "forum_posts": 2000,
          "friends": 12500,
          "messages": 3000,
          "payments": 2000,
          "post_replies": 4000,
          "pronunciation_practices": 12500,
          "subscriptions": 1500,
          "user_achievements": 12500,
          "user_profiles": 12500,
          "user_progress": 100000,
          "user_quiz_results": 15000,
          "vocabulary": 4000
        },
        "notes": [],
        "downloads": [
          {
            "format": "sql-postgres",
            "label": "PostgreSQL",
            "file": "flagship/100k/postgres.sql.gz",
            "key": "datasets/language-learning-sample-database/v1/flagship/100k/postgres.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/flagship/100k/postgres.sql.gz",
            "bytes": 4145457,
            "sha256": "86570b8628727b551ceb8fbd6cbde5586c95d54d7d39e70f45d066bcee732079",
            "raw": {
              "bytes": 15342077,
              "sha256": "4cb64e7ebae02af77cccc2a75c48d36a6899f32a644d4a1c25b072772c08d7fb"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-mysql",
            "label": "MySQL",
            "file": "flagship/100k/mysql.sql.gz",
            "key": "datasets/language-learning-sample-database/v1/flagship/100k/mysql.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/flagship/100k/mysql.sql.gz",
            "bytes": 4141061,
            "sha256": "9983fc426d5c3646d567dd4ed2491030995f8f9b0b163c9ebb5b43c5cf08e5cd",
            "raw": {
              "bytes": 15267323,
              "sha256": "c83d5adaa56364c9ea4e51d2104db3bd4826f7e0cdc00e101a4293c16f4cb926"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-sqlite",
            "label": "SQLite",
            "file": "flagship/100k/sqlite.sql.gz",
            "key": "datasets/language-learning-sample-database/v1/flagship/100k/sqlite.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/flagship/100k/sqlite.sql.gz",
            "bytes": 4140486,
            "sha256": "3ec27078df8c2b7f76f8de83111bedafabee9fd57eb26c72ad020f879c0e9f32",
            "raw": {
              "bytes": 15265401,
              "sha256": "eb472d413f13438739be5e9428186bf37242190b11b8ef716cbbbb61fbc64c79"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "csv",
            "label": "CSV",
            "file": "flagship/100k/csv.zip",
            "key": "datasets/language-learning-sample-database/v1/flagship/100k/csv.zip",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/flagship/100k/csv.zip",
            "bytes": 4176744,
            "sha256": "307aec30aded884f81d4808d5646031cea56d5aca7d736dbdb3fdc4fe036ff13",
            "tables": {
              "achievements": {
                "bytes": 3086,
                "sha256": "64a3cb62d1f8a9b7ecfade2104fd7002893a4eb0baa0c00bfffbdeb66d0342e0"
              },
              "audio_resources": {
                "bytes": 84492,
                "sha256": "c7fdea4b7d83e32d6f8b9f19bc09ea351301c21e4c19e3342f307e50d7f1c77a"
              },
              "courses": {
                "bytes": 6344,
                "sha256": "722ff900b914bac261e0594c80f9d4cf05350f9c219ddeb5bf6aa2be43827cae"
              },
              "exercise_options": {
                "bytes": 456325,
                "sha256": "59c59b6769cd16630451b3df1ae12527d6474c8ba0fd427d49ad670593ca0250"
              },
              "exercises": {
                "bytes": 338736,
                "sha256": "7d7a55ad463628cbdc0bee6fe9a0b7c75e040e42ecea635ba094e703ed78e2e1"
              },
              "forum_posts": {
                "bytes": 332228,
                "sha256": "8bd4ca8f06c32b46abd3d6183689ed101e6abe315c93cd6dba71293c17402e7f"
              },
              "forums": {
                "bytes": 218,
                "sha256": "92ae3e03d0a2cab7747c65f7d98edd9f556c4cc1c63dc79b2ebf1cb1b96ad587"
              },
              "friends": {
                "bytes": 303522,
                "sha256": "1b7641767ad915870f62b80e3f3cd9732aa556c9767ea10f30c437d5c8ea25b9"
              },
              "languages": {
                "bytes": 169,
                "sha256": "ca3203deb09d8bdab62776ae00b06d0c12f8030be7c8ad531c26263028973992"
              },
              "lessons": {
                "bytes": 176564,
                "sha256": "55967646f82ac09167772a630487e4bc0bb6b6b236cb6faf68e50965b0848903"
              },
              "messages": {
                "bytes": 274762,
                "sha256": "133e6c9cfe3930b13695fc46904ca88f224040161c2af45c8107d856cafdbee3"
              },
              "payments": {
                "bytes": 86163,
                "sha256": "99d8bc8d336a8eeef8149a9ac714cd09c331f31a49cf4f6eb904a5fbb404fa0a"
              },
              "post_replies": {
                "bytes": 363816,
                "sha256": "50449915b49f6717f77a41c4055a41a9ffaa0ad85dcf479b9f9752fdcaa8b34a"
              },
              "pronunciation_practices": {
                "bytes": 1245696,
                "sha256": "3296bb1f073e6eb8b8691103763cec896c14123ede595eca3167960cf09943d9"
              },
              "quiz_answers": {
                "bytes": 146997,
                "sha256": "3668314082b33864a9d8e5cb02e13c794c0b3dda5a34ea1a525b28cc80253117"
              },
              "quiz_questions": {
                "bytes": 77574,
                "sha256": "c8200d9c680a058942fdeaa60addfce83ac0a26e12347b05e299f0474e1bf1ed"
              },
              "quizzes": {
                "bytes": 3452,
                "sha256": "4645866b2e09e1a1f5ffad22c66c1655ea09741482af38a4494dd363eec92cc6"
              },
              "subscriptions": {
                "bytes": 86392,
                "sha256": "8c094bf72995a110371c139b3256cbcb0465c1a864f588eeb58261092dc98c27"
              },
              "user_achievements": {
                "bytes": 416852,
                "sha256": "54e5009d756216f6e698cc1f4c702aeab73025f78f508030429c50f2022f2b5c"
              },
              "user_profiles": {
                "bytes": 1505622,
                "sha256": "c2731ff9dda94a77d958d865a1424f34842ce0967b030fbdba145d470b5c885b"
              },
              "user_progress": {
                "bytes": 4246836,
                "sha256": "5f1c1ce56c95399a05e04541aaffef9e9c8b4d17dc41c1f2c9c390caa1057826"
              },
              "user_quiz_results": {
                "bytes": 551744,
                "sha256": "02b13bd67ddc4899a6f8c9f612cc5b5ece79d1c9f61d815a1610079ff36f26ee"
              },
              "users": {
                "bytes": 1365484,
                "sha256": "fef919420e8b68544cfcdb1449a35e45ea380e6440269d8abdbf8f3fa960e145"
              },
              "vocabulary": {
                "bytes": 116055,
                "sha256": "b69a7df31ea61ce8a4c6ed91ce7867fc57fb4ffa1014a55639a6a39438fc596c"
              }
            },
            "contentType": "application/zip"
          }
        ],
        "checks": {
          "postgres": {
            "version": "18.3",
            "ok": true
          },
          "sqlite": {
            "version": "3.53.1",
            "ok": true
          },
          "notRun": [
            {
              "engine": "MySQL",
              "note": "Written from the same rows; not loaded here, no MySQL server runs in the build."
            }
          ]
        },
        "rules": [
          {
            "name": "Every lesson visit comes after the learner signed up",
            "violations": 0
          },
          {
            "name": "Every quiz attempt comes after the learner signed up",
            "violations": 0
          },
          {
            "name": "Progress is a percentage",
            "violations": 0
          },
          {
            "name": "A subscription ends after it starts",
            "violations": 0
          },
          {
            "name": "A reply comes after the post it answers",
            "violations": 0
          },
          {
            "name": "Each language appears once",
            "violations": 0
          }
        ]
      },
      "1m": {
        "rows": 1930044,
        "counts": {
          "achievements": 40,
          "forums": 12,
          "languages": 12,
          "courses": 60,
          "lessons": 900,
          "audio_resources": 900,
          "exercises": 3600,
          "exercise_options": 14400,
          "quizzes": 120,
          "quiz_questions": 1200,
          "quiz_answers": 4800,
          "users": 125000,
          "forum_posts": 20000,
          "friends": 125000,
          "messages": 30000,
          "payments": 20000,
          "post_replies": 40000,
          "pronunciation_practices": 125000,
          "subscriptions": 15000,
          "user_achievements": 125000,
          "user_profiles": 125000,
          "user_progress": 1000000,
          "user_quiz_results": 150000,
          "vocabulary": 4000
        },
        "notes": [],
        "downloads": [
          {
            "format": "sql-postgres",
            "label": "PostgreSQL",
            "file": "flagship/1m/postgres.sql.gz",
            "key": "datasets/language-learning-sample-database/v1/flagship/1m/postgres.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/flagship/1m/postgres.sql.gz",
            "bytes": 39877067,
            "sha256": "44e652ff00885f410bfefa260455d1a89e4f2024abde557867fcbb87e6ef3ffe",
            "raw": {
              "bytes": 140995144,
              "sha256": "603e2da87f4547a9d56a6b47eef251bfeca7f306ad18dc98b80b72afa351ddc1"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-mysql",
            "label": "MySQL",
            "file": "flagship/1m/mysql.sql.gz",
            "key": "datasets/language-learning-sample-database/v1/flagship/1m/mysql.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/flagship/1m/mysql.sql.gz",
            "bytes": 39872282,
            "sha256": "bc95eb445558402182311ba4edf2c9fbc12591184b34f0a68070642bfb2699a1",
            "raw": {
              "bytes": 140920393,
              "sha256": "5c6667cd351f9ce6151840477fe5a5b49c99d61803647e582975da0b2d3637c8"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "sql-sqlite",
            "label": "SQLite",
            "file": "flagship/1m/sqlite.sql.gz",
            "key": "datasets/language-learning-sample-database/v1/flagship/1m/sqlite.sql.gz",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/flagship/1m/sqlite.sql.gz",
            "bytes": 39871735,
            "sha256": "943ebcff566fa45111c7aa918b712d3d62943d32afa6549bdbc677347d148c58",
            "raw": {
              "bytes": 140918471,
              "sha256": "ccec0ee04778b136b34e4f1b97f6766105ead9b29550d3056e653562243ed6e4"
            },
            "contentType": "application/gzip"
          },
          {
            "format": "csv",
            "label": "CSV",
            "file": "flagship/1m/csv.zip",
            "key": "datasets/language-learning-sample-database/v1/flagship/1m/csv.zip",
            "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/language-learning-sample-database/v1/flagship/1m/csv.zip",
            "bytes": 40441089,
            "sha256": "3fcf4515e56eeff2bfc97151fb42d9c03e453b9a9b1b4240395d8ab74b93fa23",
            "tables": {
              "achievements": {
                "bytes": 3042,
                "sha256": "549b93667d9aa4c32ae5c8e89e490386cf79f0941ca0d96825042091e74f76df"
              },
              "audio_resources": {
                "bytes": 84765,
                "sha256": "861a5ef0ab02033fe25143d7011a70a488a58aef9f6a3243f9c58f012e61e395"
              },
              "courses": {
                "bytes": 6204,
                "sha256": "ff1ceb0c68f6c8b899f7b47f0935cf800391c688f3a1978b7c0fb71a5f51f120"
              },
              "exercise_options": {
                "bytes": 456554,
                "sha256": "38e6ab8baf3a6355f33fb164ee0b291bc75724d5fae3a86c89cefe2648c2d668"
              },
              "exercises": {
                "bytes": 339568,
                "sha256": "3f19053b96b7dd9a1e46cecfd5a7cad3d16ef5ce42268b085b9e5afb205133d9"
              },
              "forum_posts": {
                "bytes": 3348896,
                "sha256": "e55d1ea928053ea9244204af71fdb67b7e6761ca459fd46f24ed48a0ba4d5f11"
              },
              "forums": {
                "bytes": 239,
                "sha256": "850e57d325ec2a918dc92b6c04866fcb2bc5664701b405a35fd53b94b6b8f09a"
              },
              "friends": {
                "bytes": 3411168,
                "sha256": "7e0dbd349f56cf8e3e3478910991ae681161071657898f27aaf08456ca499b01"
              },
              "languages": {
                "bytes": 169,
                "sha256": "585d666ced64c8e31721b1d891fb984a13a9239f53615c45928e9d96351a4b3b"
              },
              "lessons": {
                "bytes": 176759,
                "sha256": "14b007ff32b521238fdb8f28dc6e3a4dbfc40ecb0dfe989cc98c6918bdec3a4d"
              },
              "messages": {
                "bytes": 2836006,
                "sha256": "22f1d2b0d0a5e72139aa322fc22665dc9cbee8c5c85233ac327ec4ee11ec8ba7"
              },
              "payments": {
                "bytes": 901984,
                "sha256": "6f5cf5f836be66875d64bd221e82ad9dc7294977a797d5e57f7998279bb239a1"
              },
              "post_replies": {
                "bytes": 3753789,
                "sha256": "0b41c0fbf9b6a4320718bb68191a555176aa28cd39128203dad2f7db0db3c472"
              },
              "pronunciation_practices": {
                "bytes": 12716838,
                "sha256": "4e0bdcd5059aa2a648ad1cd310bfcb3b3316aa847c05d187836a628311c64f28"
              },
              "quiz_answers": {
                "bytes": 146748,
                "sha256": "b6ede7bd715ddf740bee7295f4ca315f7e9f571044e0113dcfd2969001acdfc0"
              },
              "quiz_questions": {
                "bytes": 76786,
                "sha256": "ecb07d9323db5c5aacc778a295b56c25bf8476b52f48fef3726a177db87990f8"
              },
              "quizzes": {
                "bytes": 3397,
                "sha256": "e6160e8ae4e41525ec5864dba2d2628e722b249d5490f8650aaa25e64184d851"
              },
              "subscriptions": {
                "bytes": 892639,
                "sha256": "64d0a8125584f8b484fb66b1279800729c26cc51a1990c2696d570f991a7e860"
              },
              "user_achievements": {
                "bytes": 4416823,
                "sha256": "57722a4c7dd6f72a3adbaf3724cb253662da733abca2df5cb162ff8144b30ea8"
              },
              "user_profiles": {
                "bytes": 15312966,
                "sha256": "b2e9822fd09f45ae5fead9d5bf26717eec3e008f5ab8a58412de436ad79c0b4a"
              },
              "user_progress": {
                "bytes": 44451802,
                "sha256": "4cd0f4d3643907ce9e18e4c3295023dc7b93653ab84bf0544d65d55c86f79201"
              },
              "user_quiz_results": {
                "bytes": 5816048,
                "sha256": "f33fca2eafb3edfcc6d8e3dc0450ab75eb23f7468e43fa1e338bca007d52c8fc"
              },
              "users": {
                "bytes": 13778735,
                "sha256": "5320d7c2d70910ba9f6a1899bf492f01fa28e5ba4df932ecc58d0730420c75c3"
              },
              "vocabulary": {
                "bytes": 116169,
                "sha256": "8c1911f933bf4442b65f793e0b2849806f24a5a722f0f3abf8779cf326a199bf"
              }
            },
            "contentType": "application/zip"
          }
        ],
        "checks": {
          "postgres": {
            "version": "18.3",
            "ok": true
          },
          "sqlite": {
            "version": "3.53.1",
            "ok": true
          },
          "notRun": [
            {
              "engine": "MySQL",
              "note": "Written from the same rows; not loaded here, no MySQL server runs in the build."
            }
          ]
        },
        "rules": [
          {
            "name": "Every lesson visit comes after the learner signed up",
            "violations": 0
          },
          {
            "name": "Every quiz attempt comes after the learner signed up",
            "violations": 0
          },
          {
            "name": "Progress is a percentage",
            "violations": 0
          },
          {
            "name": "A subscription ends after it starts",
            "violations": 0
          },
          {
            "name": "A reply comes after the post it answers",
            "violations": 0
          },
          {
            "name": "Each language appears once",
            "violations": 0
          }
        ]
      }
    },
    "rules": [
      {
        "name": "Every lesson visit comes after the learner signed up",
        "sql": "SELECT count(*) AS violations FROM user_progress up JOIN users u ON u.user_id = up.user_id WHERE up.last_accessed < u.date_joined"
      },
      {
        "name": "Every quiz attempt comes after the learner signed up",
        "sql": "SELECT count(*) AS violations FROM user_quiz_results r JOIN users u ON u.user_id = r.user_id WHERE r.attempt_date < u.date_joined"
      },
      {
        "name": "Progress is a percentage",
        "sql": "SELECT count(*) AS violations FROM user_progress WHERE progress_percentage < 0 OR progress_percentage > 100"
      },
      {
        "name": "A subscription ends after it starts",
        "sql": "SELECT count(*) AS violations FROM subscriptions WHERE end_date < start_date"
      },
      {
        "name": "A reply comes after the post it answers",
        "sql": "SELECT count(*) AS violations FROM post_replies r JOIN forum_posts p ON p.post_id = r.post_id WHERE r.reply_date < p.post_date"
      },
      {
        "name": "Each language appears once",
        "sql": "SELECT count(*) - count(DISTINCT language_name) AS violations FROM languages"
      }
    ]
  },
  "publishedAt": 1791242568297,
  "updatedAt": 1791242568297
}
