{
  "format": "dataset-manifest/1",
  "slug": "online-learning-insights",
  "version": 2,
  "seed": "online-learning-insights:1",
  "spec": {
    "format": "dataset/1",
    "slug": "online-learning-insights",
    "name": "Online Learning Insights",
    "tagline": "Student enrollments, course details, lesson completions, assignment submissions, and reviews from online education.",
    "description": "Students navigate a variety of courses designed to enhance their skills and knowledge. Each student selects from a catalog of courses, engaging with a set of lessons and completing assignments that contribute to their overall learning experience. Reviews allow learners to give feedback on the courses, providing valuable insights into course effectiveness and user satisfaction. This dataset captures these interactions, highlighting the journey of learners from enrollment through to course completion.\n\nIn this model, the 'students' table contains individual records of each learner, detailing personal information and their learning preferences. The 'courses' table lists the available courses, complete with descriptions and prerequisites. 'Lessons' break down the courses into manageable segments, and 'assignments' outline tasks that students must complete for each lesson. The 'enrollments' table serves as a bridge, linking students to the courses they have chosen, while the 'reviews' table captures student feedback on their experiences. A single row in 'enrollments' connects a student to a specific course, while the 'assignments' table connects lessons to the relevant course.\n\nBy examining this dataset, developers can answer key questions about student engagement, identify challenges in course completion, and analyze the impact of assignments on overall learning outcomes. It serves as an excellent resource for practicing data analysis techniques, allowing users to explore trends such as completion rates, assignment submission patterns, and the correlation between reviews and course popularity. All data included in this dataset is synthetic, designed specifically for practice and development purposes.",
    "domain": "education",
    "shape": "hierarchical",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "online learning",
      "education",
      "student engagement",
      "course performance",
      "assignments",
      "reviews"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "students": {
        "description": "Each row represents a unique student enrolled in the online learning platform. This table includes personal information and metrics related to their engagement.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the student."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the student.",
            "nullable": true
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "Email address of the student.",
            "nullable": true
          },
          "enrollment_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "Date when the student enrolled.",
            "trend": "growing"
          },
          "total_courses": {
            "kind": "int",
            "min": 1,
            "max": 10,
            "description": "Total number of courses the student is enrolled in.",
            "nullable": true
          }
        }
      },
      "courses": {
        "description": "This table lists all the courses available on the platform, including their structure and content.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the course."
          },
          "title": {
            "kind": "title",
            "description": "The title of the course.",
            "pool": [
              "introduction",
              "advanced",
              "beginner",
              "data",
              "science",
              "programming",
              "web",
              "development",
              "machine",
              "learning",
              "artificial",
              "intelligence",
              "design",
              "marketing",
              "analytics",
              "business",
              "finance",
              "project",
              "management",
              "software",
              "engineering",
              "cloud",
              "computing",
              "cybersecurity",
              "user",
              "experience",
              "digital",
              "photography",
              "writing",
              "communication",
              "leadership"
            ],
            "min": 1,
            "max": 3
          },
          "category": {
            "kind": "enum",
            "values": [
              "Technology",
              "Business",
              "Arts",
              "Science"
            ],
            "description": "The category of the course."
          },
          "duration_weeks": {
            "kind": "int",
            "min": 1,
            "max": 12,
            "description": "Duration of the course in weeks.",
            "nullable": true,
            "when": {
              "column": "category",
              "in": [
                "Technology",
                "Business"
              ]
            }
          },
          "difficulty": {
            "kind": "enum",
            "values": [
              "Beginner",
              "Intermediate",
              "Advanced"
            ],
            "description": "The difficulty level of the course.",
            "weights": [
              6,
              3,
              1
            ]
          }
        }
      },
      "lessons": {
        "description": "Each lesson is part of a course and can be accessed by students. This table tracks lesson details and their respective courses.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the lesson."
          },
          "course_id": {
            "kind": "fk",
            "ref": "courses.id",
            "description": "The course to which this lesson belongs."
          },
          "title": {
            "kind": "title",
            "description": "The title of the lesson.",
            "nullable": true,
            "pool": [
              "overview",
              "setup",
              "installation",
              "basics",
              "techniques",
              "strategies",
              "tools",
              "applications",
              "case",
              "studies",
              "best",
              "practices",
              "assessment",
              "evaluation",
              "feedback",
              "resources",
              "examples",
              "projects",
              "exercises",
              "quizzes",
              "conclusion",
              "summary",
              "discussion",
              "implementation",
              "challenges",
              "solutions",
              "trends",
              "innovations",
              "principles",
              "concepts",
              "theory",
              "methods"
            ],
            "min": 1,
            "max": 3
          },
          "completion_rate": {
            "kind": "decimal",
            "min": 0,
            "max": 100,
            "scale": 2,
            "description": "Percentage of students who completed this lesson.",
            "nullable": true,
            "distribution": "high"
          }
        }
      },
      "enrollments": {
        "description": "This table records the enrollment of students in various courses, linking them to their respective performance.",
        "rows": 400,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the enrollment record."
          },
          "student_id": {
            "kind": "fk",
            "ref": "students.id",
            "description": "The student who enrolled in the course."
          },
          "course_id": {
            "kind": "fk",
            "ref": "courses.id",
            "description": "The course the student is enrolled in."
          },
          "enrollment_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "Date when the student enrolled in the course.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "completed",
                "dropped"
              ]
            },
            "trend": "growing"
          },
          "status": {
            "kind": "enum",
            "values": [
              "active",
              "completed",
              "dropped"
            ],
            "description": "Current status of the student's enrollment.",
            "weights": [
              5,
              4,
              1
            ]
          }
        }
      },
      "assignments": {
        "description": "This table tracks assignments related to lessons and their submission by students.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the assignment."
          },
          "lesson_id": {
            "kind": "fk",
            "ref": "lessons.id",
            "description": "The lesson associated with this assignment."
          },
          "due_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The due date for the assignment.",
            "nullable": true
          },
          "submitted": {
            "kind": "bool",
            "trueRate": 0.6,
            "description": "Whether the assignment was submitted or not.",
            "nullable": true
          }
        }
      },
      "reviews": {
        "description": "Students can leave reviews for courses, providing feedback and ratings.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the review."
          },
          "course_id": {
            "kind": "fk",
            "ref": "courses.id",
            "description": "The course being reviewed."
          },
          "student_id": {
            "kind": "fk",
            "ref": "students.id",
            "description": "The student who wrote the review."
          },
          "rating": {
            "kind": "int",
            "min": 1,
            "max": 5,
            "description": "Rating given to the course.",
            "distribution": "high"
          },
          "comment": {
            "kind": "sentence",
            "max": 200,
            "description": "A comment about the course.",
            "nullable": true
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "timestamped",
      "nullable"
    ],
    "analysisQuestions": [
      "What percentage of students complete their courses?",
      "Which lessons have the highest completion rates?",
      "What is the average rating for courses in each category?",
      "How do submission rates for assignments vary by course difficulty?",
      "What patterns can be observed in student feedback?"
    ],
    "suggestedQueries": [
      {
        "title": "List all students with their enrolled courses",
        "sql": "SELECT students.full_name, courses.title FROM students JOIN enrollments ON students.id = enrollments.student_id JOIN courses ON enrollments.course_id = courses.id;",
        "dialect": "postgres"
      },
      {
        "title": "Count of students by course status",
        "sql": "SELECT courses.title, enrollments.status, COUNT(enrollments.student_id) FROM enrollments JOIN courses ON enrollments.course_id = courses.id GROUP BY courses.title, enrollments.status;",
        "dialect": "postgres"
      },
      {
        "title": "Average rating and completion rate by course",
        "sql": "SELECT courses.title, AVG(reviews.rating) AS avg_rating, AVG(lessons.completion_rate) AS avg_completion FROM courses JOIN reviews ON courses.id = reviews.course_id JOIN lessons ON courses.id = lessons.course_id GROUP BY courses.title;",
        "dialect": "postgres"
      },
      {
        "title": "Percentage of assignments submitted by lesson",
        "sql": "SELECT lessons.title, SUM(CASE WHEN assignments.submitted THEN 1 ELSE 0 END) * 100.0 / COUNT(assignments.id) AS submission_rate FROM lessons LEFT JOIN assignments ON lessons.id = assignments.lesson_id GROUP BY lessons.title;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Data Analysis for Educators",
        "body": "Educators can use this dataset to analyze patterns in student engagement across different courses and identify which lessons are most effective in maintaining student interest. By examining completion rates and assignment submissions, they can gain insights into how to enhance the learning experience."
      },
      {
        "title": "Course Improvement Strategies",
        "body": "Course developers can leverage the insights from student reviews and performance metrics to refine course content and structure. By understanding which areas students struggle with, they can make targeted improvements aimed at increasing overall course completion rates."
      },
      {
        "title": "Researching Online Learning Trends",
        "body": "Researchers in the field of education can utilize this dataset to study trends in online learning engagement. They may focus on how course difficulty affects student retention and performance, providing valuable insights for future online education initiatives."
      }
    ]
  },
  "counts": {
    "courses": 100,
    "lessons": 300,
    "assignments": 150,
    "students": 200,
    "enrollments": 400,
    "reviews": 200
  },
  "stats": {
    "students": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 14,
          "distinct": 185,
          "min": "Alice Martin",
          "max": "Zoe Young"
        },
        "email": {
          "nulls": 37,
          "distinct": 163
        },
        "enrollment_date": {
          "nulls": 0,
          "distinct": 191,
          "min": "2020-01-06",
          "max": "2023-12-31"
        },
        "total_courses": {
          "nulls": 27,
          "distinct": 10,
          "min": 1,
          "max": 10
        }
      }
    },
    "courses": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "title": {
          "nulls": 0,
          "distinct": 78
        },
        "category": {
          "nulls": 0,
          "distinct": 4,
          "min": "Arts",
          "max": "Technology"
        },
        "duration_weeks": {
          "nulls": 45,
          "distinct": 12,
          "min": 1,
          "max": 12
        },
        "difficulty": {
          "nulls": 0,
          "distinct": 3,
          "min": "Advanced",
          "max": "Intermediate"
        }
      }
    },
    "lessons": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "course_id": {
          "nulls": 0,
          "distinct": 96,
          "min": 1,
          "max": 100
        },
        "title": {
          "nulls": 35,
          "distinct": 208
        },
        "completion_rate": {
          "nulls": 26,
          "distinct": 264,
          "min": 0.49,
          "max": 100
        }
      }
    },
    "enrollments": {
      "rows": 400,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "student_id": {
          "nulls": 0,
          "distinct": 171,
          "min": 1,
          "max": 200
        },
        "course_id": {
          "nulls": 0,
          "distinct": 97,
          "min": 1,
          "max": 100
        },
        "enrollment_date": {
          "nulls": 186,
          "distinct": 193,
          "min": "2020-01-06",
          "max": "2023-12-28"
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "active",
          "max": "dropped"
        }
      }
    },
    "assignments": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "lesson_id": {
          "nulls": 0,
          "distinct": 124,
          "min": 1,
          "max": 296
        },
        "due_date": {
          "nulls": 21,
          "distinct": 111,
          "min": "2023-01-04",
          "max": "2023-12-25"
        },
        "submitted": {
          "nulls": 15,
          "distinct": 2,
          "min": "false",
          "max": "true"
        }
      }
    },
    "reviews": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "course_id": {
          "nulls": 0,
          "distinct": 81,
          "min": 3,
          "max": 100
        },
        "student_id": {
          "nulls": 0,
          "distinct": 124,
          "min": 1,
          "max": 200
        },
        "rating": {
          "nulls": 0,
          "distinct": 5,
          "min": 1,
          "max": 5
        },
        "comment": {
          "nulls": 17,
          "distinct": 183
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/courses.csv",
      "format": "csv",
      "table": "courses",
      "key": "datasets/online-learning-insights/v2/csv/courses.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/online-learning-insights/v2/csv/courses.csv",
      "bytes": 4263,
      "sha256": "16243205732dc1797a77096a38def7ee2f7032bba11a28b8862396b99539cc73",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/lessons.csv",
      "format": "csv",
      "table": "lessons",
      "key": "datasets/online-learning-insights/v2/csv/lessons.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/online-learning-insights/v2/csv/lessons.csv",
      "bytes": 9088,
      "sha256": "04e46ef6774f4142b16a086e7540aab685fd78f5c170605d03e46c50dacf3ac5",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/assignments.csv",
      "format": "csv",
      "table": "assignments",
      "key": "datasets/online-learning-insights/v2/csv/assignments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/online-learning-insights/v2/csv/assignments.csv",
      "bytes": 3395,
      "sha256": "1e89fbaf5bfa2079c67ea23483db285174cee7211171af0a0618ec3a863a37b6",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/students.csv",
      "format": "csv",
      "table": "students",
      "key": "datasets/online-learning-insights/v2/csv/students.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/online-learning-insights/v2/csv/students.csv",
      "bytes": 9767,
      "sha256": "24d4355b5b9db5f016c21a244ff2f2acc78c0a872ef1a983c89a447eca9968f3",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/enrollments.csv",
      "format": "csv",
      "table": "enrollments",
      "key": "datasets/online-learning-insights/v2/csv/enrollments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/online-learning-insights/v2/csv/enrollments.csv",
      "bytes": 10386,
      "sha256": "a90c82dc470248f172fb5e672b746a09d32b69761970571cff33566708d6df2e",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/reviews.csv",
      "format": "csv",
      "table": "reviews",
      "key": "datasets/online-learning-insights/v2/csv/reviews.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/online-learning-insights/v2/csv/reviews.csv",
      "bytes": 13120,
      "sha256": "6900ef1443b3bfabb338add20936f81fca76c843122f4cae2df60699a9159781",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "online-learning-insights.json",
      "format": "json",
      "table": null,
      "key": "datasets/online-learning-insights/v2/online-learning-insights.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/online-learning-insights/v2/online-learning-insights.json",
      "bytes": 189498,
      "sha256": "3c863898b91f674c8885abc4cc30417763f598d4644c8f1666959e88e76b02d3",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/online-learning-insights/v2/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/online-learning-insights/v2/sql/postgres.sql",
      "bytes": 72047,
      "sha256": "2cba47d41ef6424f9b96081c5a8d34ffad17304e061e249ef2469f5af805d3e1",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/online-learning-insights/v2/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/online-learning-insights/v2/sql/mysql.sql",
      "bytes": 70912,
      "sha256": "5a7b03cb21cccae08cb8ff3be8f7545529e259ebc0e4603c85a66dcf32e7e36b",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/online-learning-insights/v2/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/online-learning-insights/v2/sql/mssql.sql",
      "bytes": 73333,
      "sha256": "be744d19c0fba61b343c4aae9093e385e8345143a04efefca3ae9f3791154ba8",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/online-learning-insights/v2/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/online-learning-insights/v2/sql/sqlite.sql",
      "bytes": 70663,
      "sha256": "412e10f90ad8853f84654e9544f17578c60055781cb37be44fa22e3c6e24412c",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/online-learning-insights/v2/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/online-learning-insights/v2/prisma/seed.ts",
      "bytes": 146071,
      "sha256": "cd8cb93bfacb451041d34a03ef8480c4399e3b3c33686943638bd4eac43edbed",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/online-learning-insights/v2/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/online-learning-insights/v2/django/fixtures.json",
      "bytes": 245362,
      "sha256": "36e30171efe7a69a88b2b7c70e6be3f376ef240c3df34c9fa9450daa6a8552d6",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766595365,
  "updatedAt": 1788785179783
}
