-
Notifications
You must be signed in to change notification settings - Fork 0
Database Architecture
Vishal Pawar edited this page Mar 20, 2026
·
1 revision
EduManage uses a relational MySQL database (cms_db) optimized for academic workflows and data integrity.
The system revolves around four primary tables:
-
users: Central store for all authenticated users (Admin, Instructor, Student).-
Key Fields:
id,name,email,password(hashed),role,status.
-
Key Fields:
-
courses: Stores the metadata for all academic offerings.-
Key Fields:
id,title,description,category,academic_year,instructor_id(FK),status,image.
-
Key Fields:
-
enrollments: Manages the many-to-many relationship between Students and Courses.-
Key Fields:
id,student_id(FK),course_id(FK),enrolled_at.
-
Key Fields:
-
customer_feedback: Stores inquiries and feedback from the public contact form.-
Key Fields:
id,visitor_name,email,category,comments.
-
Key Fields:
-
One-to-Many: One Instructor can be assigned to multiple Courses (
users.idโcourses.instructor_id). -
Many-to-Many: Students and Courses are linked through the
enrollmentsjunction table.
Data integrity is maintained using:
- Foreign Key Logic: Relationships are strictly maintained through structured SQL queries.
- PDO Prepared Statements: Used for ALL database interactions to eliminate the risk of SQL injection.
- Atomic Transactions: Utilized for bulk operations (e.g., the Randomize feature) to ensure system stability during updates.
ยฉ 2026 EduManage CMS | Premium Course Management Platform
Maintained by Vishal Pawar