July 26th, 2016, 08:38 PM
Help with MySQL DB Design
I have created a learning database (which I have attached which allows a user to set up a group and attach classes to this group which will then have lessons attached to the classes. If the lesson is too difficult for a user then they will be offered prerequisite lessons to help them understand the fundamentals..
I need to track how the user is progressing through each lesson and class that they have signed up for and I am trying to design the database around this.
I feel I have designed this part incorrectly. Could someone have a look at the ERD and give advice on the problems with it.
I have attached a pdf of the MySQL Workbench here
I have also attached the MySQL Workbench file here for anyone to have a look at.
Thanks in advance
July 27th, 2016, 05:13 PM
My comment for each table:
user: I am not sure why you have the associated_* fields in that table. I think users should be part of a class.
Lesson: If there is only one instructor, then instructor_id field is ok. I don't think lesson should know about classes, but instead let classes know which lesson it teach.
prerequisite_lesson: This looks fine.
classes: Maybe have some information on time schedule. instructor_id does not point anywhere?
group: Can't really see what the purpose is for this table.
user_details: Maybe this should be renamed to user_class_details. Where is module_id related to?
I hope it is a help.
Comments on this post
Last edited by MrFujin; July 27th, 2016 at 07:53 PM.
July 27th, 2016, 06:28 PM
Thanks for your input. I'll implement your suggestions. This is very useful. Thanks again.