Ik zou zeggen dat dit een 1:n-relatie vereist, met een hoofdtabel voor 'workouts' en een uniforme tabel met 'componenten' die alle activiteiten van een training bevat.
Je zou je hoofdtabel hebben workouts
:
id int
participant varchar(255)
date datetime
...... any other workout related data
Dan de onderliggende tabel workout_components
:
workout_id int // Which workout this belongs to
tabindex int // Which sorting order this component has in the list
repeat int // Number of repetitions (e.g. 3 sets)
quantity int // e.g. 45 push-ups or 150 meters of cycling
quentity_unit varchar // e.g. minutes or laps
activity varchar // push-ups, cycling .....
een voorbeeldwaarde ziet er als volgt uit:
trainingstafel:
id participant date
1 Harry Miller 2010-08-21
tabel workout_componenten:
workout_id tabindex repeat quantity quantity_unit activity
1 1 3 45 pcs pushups
1 2 1 2 minutes rope-jumping
Voordelen:
-
Niet beperkt tot specifieke activiteiten
-
Eenvoudig op te vragen - elke vraag met betrekking tot hoe u iets uit dit soort gegevensstructuur kunt halen, is al beantwoord op SO
-
Activiteiten kunnen vrij worden toegevoegd aan elke training