I am new to database design and I am using php and laravel in particular with mysql as my db layer.
I want to allow people to create and save training programs. each program can have multiple weeks, each week has 7 days, each day can have many training sessions, each session has 3 phases and each phase has many excersises.
I have a table of excersises already and I initially thought that I should just build an array of the data and store that array, unfortunately mysql does not support arrays so it would have to be stored as a string in the programs table. Now i am thinking that maybe a table for each object(weeks, days, session) that are all related in some way to the programs table might be a better way to go.
in the near future I would like for people to be able to mark each excersise /session /day / week as completed so which solution might make that easier?
If the array is the best option should I switch to postgres from mysql for their array functionality or is saving it as a string accepted practice?
Thanks