fbpx

Course Management Solution – Data Model

Below is an overview of the core entities, their attributes, relationships, and steps for implementation in a course management system using Dataverse.


Core Entities and Their Relationships

Entity NameAttributes (Fields)Relationships
CoursesID (Primary Key), Title, Description, Credits, Level, Category, CourseScheduleIDInstructors (N:1), Enrollments (1)
InstructorsID(Primary Key), Name, Email, Phone, Specialization, AssignedCoursesCourses (1)
StudentsID(Primary Key), Name, Email, EnrollmentStatus, RegisteredDateEnrollments (1)
EnrollmentsID(Primary Key), StudentID (Lookup), CourseID (Lookup), Date, StatusStudents (N:1), Courses (N:1)
Course SchedulesID(Primary Key), Name, StartDate, EndDate, Location, RecurrenceCourses (1)

Recommended Order of Creating Tables

  1. Courses: Manages the core details of educational content.
  2. Course Schedules: Establishes the foundation for course scheduling and recurring sessions.
  3. Instructors: Captures information about educators delivering the courses.
  4. Students: Maintains records of individuals enrolling in courses.
  5. Enrollments: Links students with courses, tracking registration and progress.

Entity Details

1. Courses

  • Purpose: Central table to store academic course details.
  • Attributes:
    • ID: Auto-generated Primary Key.
    • Title: Text.
    • Description: Text (Optional).
    • Credits: Number.
    • Level: Choice (Beginner, Intermediate, Advanced).
    • Category: Choice (e.g., Science, Arts, Business).
  • Relationships:
    • One-to-Many with Instructors: Each course is assigned to one instructor; an instructor can teach multiple courses.
    • One-to-Many with Enrollments: Each course can have multiple students enrolled.

2. Instructors

  • Purpose: Stores information about course instructors.
  • Attributes:
    • ID: Auto-generated Primary Key.
    • Name: Text.
    • Email: Text (Unique).
    • Phone: Text (Optional).
    • Specialization: Choice (e.g., Math, Physics, History).
    • AssignedCourses: Lookup to Courses.
  • Relationships:
    • One-to-Many with Courses: Each instructor can teach multiple courses.

3. Students

  • Purpose: Tracks student information.
  • Attributes:
    • ID: Auto-generated Primary Key.
    • Name: Text.
    • Email: Text (Unique).
    • EnrollmentStatus: Choice (Active, Inactive, Graduated).
    • RegisteredDate: Date.
  • Relationships:
    • One-to-Many with Enrollments: Each student can enroll in multiple courses.

4. Enrollments

  • Purpose: Tracks enrollment records linking students and courses.
  • Attributes:
    • ID: Auto-generated Primary Key.
    • StudentID: Lookup to Students.
    • CourseID: Lookup to Courses.
    • Date: Enrollment Date.
    • Status: Choice (Registered, Waitlisted, Dropped, Completed).
  • Relationships:
    • Many-to-One with Students: Multiple enrollments can belong to one student.
    • Many-to-One with Courses: Multiple enrollments can belong to one course.

5. Course Schedules

  • Purpose: Manages course scheduling and recurring sessions.
  • Attributes:
    • ID: Auto-generated Primary Key.
    • Name text.
    • StartDate: Date.
    • EndDate: Date.
    • Location: Text.
    • Recurrence: Choice (Daily, Weekly, Monthly).
    • CourseID
  • Relationships:
    • One-to-Many with Courses: Each schedule can be linked to multiple courses.