Tôi muốn nói điều này yêu cầu mối quan hệ 1:n, trong đó có một bảng "bài tập" chính và một bảng "thành phần" thống nhất chứa tất cả các hoạt động của bài tập.
Bạn sẽ có bảng chính của mình workouts
:
id int
participant varchar(255)
date datetime
...... any other workout related data
Sau đó, bảng con 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 .....
một giá trị mẫu sẽ giống như sau:
bảng tập luyện:
id participant date
1 Harry Miller 2010-08-21
bảng workout_components:
workout_id tabindex repeat quantity quantity_unit activity
1 1 3 45 pcs pushups
1 2 1 2 minutes rope-jumping
Ưu điểm:
-
Không giới hạn trong các hoạt động cụ thể
-
Dễ dàng truy vấn - mọi câu hỏi liên quan đến cách lấy thứ gì đó từ loại cấu trúc dữ liệu này đã được trả lời trên SO
-
Các hoạt động có thể được thêm tự do vào mỗi buổi tập luyện