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 Name | Attributes (Fields) | Relationships |
---|---|---|
Courses | ID (Primary Key), Title, Description, Credits, Level, Category, CourseScheduleID | Instructors (N:1), Enrollments (1) |
Instructors | ID(Primary Key), Name, Email, Phone, Specialization, AssignedCourses | Courses (1) |
Students | ID(Primary Key), Name, Email, EnrollmentStatus, RegisteredDate | Enrollments (1) |
Enrollments | ID(Primary Key), StudentID (Lookup), CourseID (Lookup), Date, Status | Students (N:1), Courses (N:1) |
Course Schedules | ID(Primary Key), Name, StartDate, EndDate, Location, Recurrence | Courses (1) |
Recommended Order of Creating Tables
- Courses: Manages the core details of educational content.
- Course Schedules: Establishes the foundation for course scheduling and recurring sessions.
- Instructors: Captures information about educators delivering the courses.
- Students: Maintains records of individuals enrolling in courses.
- 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.