You are on page 1of 8

List of database tables that could be included in the design of an e-learning website:

1. Users:

 user_id (Primary Key)

 username

 password

 email

 role (e.g., student, teacher, admin)

2. Courses:

 course_id (Primary Key)

 course_name

 grade_level

 teacher_id (Foreign Key referencing Users table)

 textbook_id (Foreign Key referencing Textbooks table)

 teacher_guide_id (Foreign Key referencing Teacher_Guides table)

 lecture_notes_id (Foreign Key referencing Lecture_Notes table)

 past_exam_id (Foreign Key referencing Past_Year_Exam table)

 past_exam_solution_id (Foreign Key referencing Past_Year_Exam_Solution table)

3. Grade_9_Courses:

 grade_9_course_id (Primary Key)

 course_id (Foreign Key referencing Courses table)

4. Grade_10_Courses:

 grade_10_course_id (Primary Key)

 course_id (Foreign Key referencing Courses table)

5. Grade_11_Courses:

 grade_11_course_id (Primary Key)


 course_id (Foreign Key referencing Courses table)

6. Grade_12_Courses:

 grade_12_course_id (Primary Key)

 course_id (Foreign Key referencing Courses table)

7. Freshman_Courses:

 freshman_course_id (Primary Key)

 course_id (Foreign Key referencing Courses table)

8. Tech_Courses:

 tech_course_id (Primary Key)

 course_id (Foreign Key referencing Courses table)

9. Enrollments:

 enrollment_id (Primary Key)

 user_id (Foreign Key referencing Users table)

 course_id (Foreign Key referencing Courses table)

 date_enrolled

10. Textbooks:

 textbook_id (Primary Key)

 textbook_name

 author

 publication_date

11. Teacher_Guides:

 teacher_guide_id (Primary Key)

 guide_name

 course_id (Foreign Key referencing Courses table)

12. Lecture_Notes:
 lecture_notes_id (Primary Key)

 notes_title

 course_id (Foreign Key referencing Courses table)

13. Past_Year_Exam:

 past_exam_id (Primary Key)

 exam_title

 course_id (Foreign Key referencing Courses table)

14. Past_Year_Exam_Solution:

 past_exam_solution_id (Primary Key)

 solution_title

 course_id (Foreign Key referencing Courses table)

15. Messages:

 message_id (Primary Key)

 sender_id (Foreign Key referencing Users table)

 receiver_id (Foreign Key referencing Users table)

 message_content

 date_sent

16. Certificates

 certificate_id (Primary Key)

 student_id (Foreign Key to Students table)

 course_id (Foreign Key to Courses table)

 issue_date

17. Feedback

 feedback_id (Primary Key)


 student_id (Foreign Key to Students table)

 course_id (Foreign Key to Courses table)

 feedback_content

 feedback_date

18. Course_Ratings

 rating_id (Primary Key)

 student_id (Foreign Key to Students table)

 course_id (Foreign Key to Courses table)

 rating_value

 rating_date

19. Payment_History

 payment_id (Primary Key)

 student_id (Foreign Key to Students table)

 course_id (Foreign Key to Courses table)

 payment_amount

 payment_date
API END POINTS for above database schema

1. Users:

 Create a new user: POST /users

 Get user by ID: GET /users/{user_id}

 Update user by ID: PUT /users/{user_id}

 Delete user by ID: DELETE /users/{user_id}

2. Courses:

 Create a new course: POST /courses

 Get course by ID: GET /courses/{course_id}

 Update course by ID: PUT /courses/{course_id}

 Delete course by ID: DELETE /courses/{course_id}

3. Grade 9 Courses:

 Create a new grade 9 course: POST /grade9courses

 Get grade 9 course by ID: GET /grade9courses/{grade_9_course_id}

 Update grade 9 course by ID: PUT /grade9courses/{grade_9_course_id}

 Delete grade 9 course by ID: DELETE /grade9courses/{grade_9_course_id}

4. Grade 10 Courses:

 Create a new grade 10 course: POST /grade10courses

 Get grade 10 course by ID: GET /grade10courses/{grade_10_course_id}

 Update grade 10 course by ID: PUT /grade10courses/{grade_10_course_id}

 Delete grade 10 course by ID: DELETE /grade10courses/{grade_10_course_id}

5. Grade 11 Courses:

 Create a new grade 11 course: POST /grade11courses

 Get grade 11 course by ID: GET /grade11courses/{grade_11_course_id}

 Update grade 11 course by ID: PUT /grade11courses/{grade_11_course_id}


 Delete grade 11 course by ID: DELETE /grade11courses/{grade_11_course_id}

6. Grade 12 Courses:

 Create a new grade 12 course: POST /grade12courses

 Get grade 12 course by ID: GET /grade12courses/{grade_12_course_id}

 Update grade 12 course by ID: PUT /grade12courses/{grade_12_course_id}

 Delete grade 12 course by ID: DELETE /grade12courses/{grade_12_course_id}

7. Freshman Courses:

 Create a new freshman course: POST /freshmancourses

 Get freshman course by ID: GET /freshmancourses/{freshman_course_id}

 Update freshman course by ID: PUT /freshmancourses/{freshman_course_id}

 Delete freshman course by ID: DELETE /freshmancourses/{freshman_course_id}

8. Tech Courses:

 Create a new tech course: POST /techcourses

 Get tech course by ID: GET /techcourses/{tech_course_id}

 Update tech course by ID: PUT /techcourses/{tech_course_id}

 Delete tech course by ID: DELETE /techcourses/{tech_course_id}

9. Enrollments:

 Create a new enrollment: POST /enrollments

 Get enrollment by ID: GET /enrollments/{enrollment_id}

 Update enrollment by ID: PUT /enrollments/{enrollment_id}

 Delete enrollment by ID: DELETE /enrollments/{enrollment_id}

10. Textbooks:

 Create a new textbook: POST /textbooks

 Get textbook by ID: GET /textbooks/{textbook_id}

 Update textbook by ID: PUT /textbooks/{textbook_id}


 Delete textbook by ID: DELETE /textbooks/{textbook_id}

11. Teacher Guides:

 Create a new teacher guide: POST /teacherguides

 Get teacher guide by ID: GET /teacherguides/{teacher_guide_id}

 Update teacher guide by ID: PUT /teacherguides/{teacher_guide_id}

 Delete teacher guide by ID: DELETE /teacherguides/{teacher_guide_id}

12. Lecture Notes:

 Create new lecture notes: POST /lecturenotes

 Get lecture notes by ID: GET /lecturenotes/{lecture_notes_id}

 Update lecture notes by ID: PUT /lecturenotes/{lecture_notes_id}

 Delete lecture notes by ID: DELETE /lecturenotes/{lecture_notes_id}

13. Past Year Exam:

 Create a new past year exam: POST /pastexams

 Get past year exam by ID: GET /pastexams/{past_exam_id}

 Update past year exam by ID: PUT /pastexams/{past_exam_id}

 Delete past year exam by ID: DELETE /pastexams/{past_exam_id}

14. Past Year Exam Solution:

 Create a new past year exam solution: POST /pastexamsolutions

 Get past year exam solution by ID: GET /pastexamsolutions/{past_exam_solution_id}

 Update past year exam solution by ID: PUT /pastexamsolutions/{past_exam_solution_id}

 Delete past year exam solution by ID: DELETE /pastexamsolutions/{past_exam_solution_id}

15. Messages:

 Create a new message: POST /messages

 Get message by ID: GET /messages/{message_id}

 Update message by ID: PUT /messages/{message_id}


 Delete message by ID: DELETE /messages/{message_id}

16. Certificates:

 Create a new certificate: POST /certificates

 Get certificate by ID: GET /certificates/{certificate_id}

 Update certificate by ID: PUT /certificates/{certificate_id}

 Delete certificate by ID: DELETE /certificates/{certificate_id}

17. Feedback:

 Create a new feedback: POST /feedback

 Get feedback by ID: GET /feedback/{feedback_id}

 Update feedback by ID: PUT /feedback/{feedback_id}

 Delete feedback by ID: DELETE /feedback/{feedback_id}

18. Course Ratings:

 Create a new course rating: POST /courseratings

 Get course rating by ID: GET /courseratings/{rating_id}

 Update course rating by ID: PUT /courseratings/{rating_id}

 Delete course rating by ID: DELETE /courseratings/{rating_id}

19. Payment History:

 Create a new payment entry: POST /paymenthistory

 Get payment entry by ID: GET /paymenthistory/{payment_id}

 Update payment entry by ID: PUT /paymenthistory/{payment_id}

 Delete payment entry by ID: DELETE /paymenthistory/{payment_id}

You might also like