Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/01/2012, 05:02
miwelillo
 
Fecha de Ingreso: junio-2008
Mensajes: 175
Antigüedad: 15 años, 10 meses
Puntos: 11
no se me ocurre como modelar esta BDD

Hola a todos,

Vereis es un poco largo de explicar pero intentare resumirlo lo maximo posible. Estoy entrenando en el gimnasio con un amigo y nos interesaria almacenar en una BDD los progresos que vamos haciendo. Cada mes mas o menos cambiamos el programa (los ejercicios para que nos entendamos) y ponemos ejercicios nuevos. Habia pensado crear una plantilla en la BDD para almacenar estos ejercicios, el problema es que no siempre hacemos un numero fijo de ejercicios por lo que los campos de la BDD serian variables.

Os pongo un ejemplo:

Primer mes:
Pierna: 3 series x 10 repeticiones (60kg)
Hombro: 3 series x 8 repeticiones (20kg)
Biceps: 3 series x 6 repeticiones (15kg)

Segundo mes:
Pierna: 2 series x 20 repeticiones (80kg)
Hombro: 3 series x 6 repeticiones (20kg)
Pecho: 3 series x 8 repeticiones (70kg)
Triceps: 2 series x 10 repeticiones (50kg)

Como veis, tanto los ejercicios, como el numero de series y de repeticiones varian de un mes a otro asi que no puedo usar un campo fijo en la BDD para almacenarlos.

Lo que habia pensado era lo siguiente, ir añadiendo registros en la BDD a medida que los vayamos haciendo y en lugar de crear un campo SERIES y otro REPETICIONES crear un campo de tipo TEXT donde almacene la tira de series y repeticiones en un formato tipo {peso-repeticion, peso-repeticion, peso-repeticion};{peso-repeticion ...}

De manera que cada grupo de { ... } sea un ejercicio comprendido por pares de kilos-repeticiones separados por las series. Luego en PHP solo tendria que ir separando los grupos de {} e ir cogiendo los diferentes de pares kg-repeticion:

Código:
Primer mes:
Pierna: 3 series x 10 repeticiones (60kg)
Hombro: 3 series x 8 repeticiones (20kg)
Biceps: 3 series x 6 repeticiones (15kg)

Segundo mes:
Pierna: 2 series x 20 repeticiones (80kg)
Hombro: 3 series x 6 repeticiones (20kg)
Pecho: 3 series x 8 repeticiones (70kg)
Triceps: 2 series x 10 repeticiones (50kg)

Por lo que tendria una estructura en la base de datos similar a esta:
ID-------------Usuario--------------Fecha-----------------Resultados
1---------------Yo------------------Primer mes----------{60-10,60-10,60-10};{20-8,20-8,20-8};{15-6,15-6,15-6}
2---------------Yo------------------Segundo mes---------{80-20,80-20};{20-8,20-8,20-8};{70-8,70-8,70-8};{50-10,50-10}
3------------Amigo------------------Primer mes----------{60-10,60-10,60-10};{20-8,20-8,20-8};{15-6,15-6,15-6}
4------------Amigo------------------Segundo mes---------{80-20,80-20};{20-8,20-8,20-8};{70-8,70-8,70-8};{50-10,50-10}
A priori parece bastante simple pero me encuentro ahora con el problema de que no se como detectar a que ejercicio corresponde cada grupo de series y repeticiones y como he dicho, tampoco puedo poner los ejercicios en campos individuales de la BDD ya que puede que un mes ese ejercicio tenga 2 series o puede que tenga 5.

Agradeceria cualquier tipo de ayuda o indicacion. Es posible que mi aproximacion no sea la mas optima, aun no he empezado a modelar la BDD asi que aun se puede cambiar cualquier cosa.

Gracias de antemano y un saludo!