Saya akan mengatakan ini membutuhkan hubungan 1:n, di mana ada tabel "latihan" master, dan satu tabel "komponen" terpadu yang berisi semua aktivitas latihan.
Anda akan memiliki tabel utama workouts
:
id int
participant varchar(255)
date datetime
...... any other workout related data
Kemudian tabel anak 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 .....
nilai contoh akan terlihat seperti ini:
meja latihan:
id participant date
1 Harry Miller 2010-08-21
tabel komponen_latihan:
workout_id tabindex repeat quantity quantity_unit activity
1 1 3 45 pcs pushups
1 2 1 2 minutes rope-jumping
Keuntungan:
-
Tidak terbatas pada aktivitas tertentu
-
Mudah untuk ditanyakan - setiap pertanyaan yang terkait dengan cara mendapatkan sesuatu dari struktur data semacam ini telah dijawab di SO
-
Aktivitas dapat ditambahkan secara bebas ke setiap latihan