• Excellent, thanks for the input, everyone. I have modified my design, please find it attached.

    Some notes -

    ALZDBA - you are correct, I did not plan for the fact that body weight and BMR can change over time (as can age, etc). So for this reason, I have created a FitnessUser table which lists each user once, then a FitnessDetails table which contains all of the (hopefully) changing body metrics. This does pose one question.

    The biggest challenge I seem to have is how often users should weigh/calculate personal metrics on themselves - a large University of Minnesota fitness study says daily, while psychologists say it's best to do it weekly. For this reason I decided that it's better to have a FitnessDetails table with a DATE field to capture the last time a user checked their personal body weight and metrics as opposed to making it a part of every session. Additionally, I know that at my gym scales are not always available - they always seem to be broken or out of commission. For this reason, for me personally it's easier to do it weekly but maybe for someone else they prefer daily. I don't know if you guys agree that letting the user decide when to calculate their body weight and metrics and recording it in a FitnessDetails table is a good idea, or if I should impose a weekly standard in the application. I'm feeling as if i'm going on a tangent here, so I guess the real question i'm asking is this: is it okay to be recording changing user body metrics in a FitnessDetails table, or should I leave that to the WorkoutSession table?

    I generally feel that this current design is okay and will work, but other opinions are always great.

    Thanks!!