Database table relation
Posted: Thu May 22, 2014 11:59 am
I'm looking for someone who can look at my table that i sketch before i creating the database on phpmyadmin based on the case. I not really good in creating database that involve too much table since i going mixed up and confuse with foreign key.. i attached with the screenshot of my case. when i searching around this things that i going to build is nearly same with moodle its like e-learning...
From what i understand from the task, there are 3 types of users admin, lecturer and students. This 3 users have different kind of level access. For example admin are able to add new course, delete existing course, admin are able to assign which course are that lecturer belong to.. Mean 1 lecturer can have many courses in one time.. Admin also can send mass messages to all users(lecturers and students).
The 2nd user is lecturer, they able to upload/delete/edit the notes/assignment/announcements. Lecturer are able to view students who enroll in their subject.. Means students who enrolled that course can view the materials such as notes/assignment / announcements. Lecturer also can send and receive individual messages from enrolled students and also able to mass messages to all students who enrolled in the course that lecturer assigned. Lecturer able to create a mini forum for student who enrolled for discussion.
The 3rd user is student.. Before student are able to view the notes/assignment/announcement, they must enroll themself to the course. Student able to submit their assigment via link provided by lecturer. Student able to enroll and unenroll from the course. Student also able to send and receive messages to individual or mass messages. Student able to participate in forum that created by lecturer.
This what i understand briefly... but for me new to this database especially it involve alot of table.. it might be confused for me...
From what i understand from the task, there are 3 types of users admin, lecturer and students. This 3 users have different kind of level access. For example admin are able to add new course, delete existing course, admin are able to assign which course are that lecturer belong to.. Mean 1 lecturer can have many courses in one time.. Admin also can send mass messages to all users(lecturers and students).
The 2nd user is lecturer, they able to upload/delete/edit the notes/assignment/announcements. Lecturer are able to view students who enroll in their subject.. Means students who enrolled that course can view the materials such as notes/assignment / announcements. Lecturer also can send and receive individual messages from enrolled students and also able to mass messages to all students who enrolled in the course that lecturer assigned. Lecturer able to create a mini forum for student who enrolled for discussion.
The 3rd user is student.. Before student are able to view the notes/assignment/announcement, they must enroll themself to the course. Student able to submit their assigment via link provided by lecturer. Student able to enroll and unenroll from the course. Student also able to send and receive messages to individual or mass messages. Student able to participate in forum that created by lecturer.
This what i understand briefly... but for me new to this database especially it involve alot of table.. it might be confused for me...
Code: Select all
Users
-user_id(pk)
-user_name
-user_pass
-email
-forum_notification
courses
-course_id(pk)
-user_id(fk)
-course_name
-description
Messages
-msg_id(pk)
-user_id(fk)
-msg
-msg_date
Notes
-note_id(pk)
-user_id(fk)
-course_id
-note_name
-note_date
Assignments
-assg_id(pk)
-user_id(fk)
-course_id(fk)
-assg_name
-assg_date
announcements
-ann_id(pk)
-user_id(fk)
-course_id(fk)
-ann_name
-ann_description
-ann_date
categories
-category_id(pk)
-category_title
-category_description
-last_post_date
-last_user_posted
topics
-topic_id(pk)
-category_id(fk)
-topic_title
-topic_creator
-topic_last_user
-topic_date
-topic_replay_date
-topic_views
posts
-post_id(pk)
-category_id(fk)
-topic_id(fk)
-post_creator
-post_content
-post_date