Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/02/2011, 02:43
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: ¿Cómo estructuro estas tablas? (aconsejeme)

Entiendo que los tipos de reloj son los campos siguientes

`qtz` TINYINT(1) DEFAULT NULL,
`chronoqtz` TINYINT(1) DEFAULT NULL,
`auto` TINYINT(1) DEFAULT NULL,
`chronoauto` TINYINT(1) DEFAULT NULL,
`electro` TINYINT(1) DEFAULT NULL,
`otro` TINYINT(1) DEFAULT NULL,
`repbase` TINYINT(1) DEFAULT NULL,
`repmech` TINYINT(1) DEFAULT NULL,
`repcaja` TINYINT(1) DEFAULT NULL,
`reppulsera` TINYINT(1) DEFAULT NULL,

La estructura ideal serian tres tablas :

TipoReloj
IdTpReloj
Nombre

Tareas
idTarea
Tarea

RelTipoRelojTarea
idTarea
idTpReloj

Esto nos permite una realción N:M y te permitira trabajar con un numero infinito de tipos de reloj... en la estructura que tienes si cambian los tipos de reloj tendrás problemas.

Si mantienes la estructura actual para obtener las tareas de un tipo de reloj seria

SELECT tarea FROM Tareas WHERE $nombretiporeloj=true

$nombretiporeloj no es el nombre de ningun campo por lo que debes construir la sentencia sql en función de la selección previa de un tipo de reloj

en mi estructura

Código MySQL:
Ver original
  1. SELECT tarea FROM tareas
  2.          INNER JOIN RelTipoRelojTarea
  3.                ON tareas.idTarea=RelTipoRelojTarea.idTarea
  4. WHERE RelTipoRelojTarea.idTpReloj=$idTpReloj

donde $idTpReloj es el tipo de reloj elegido.

En definitiva siempre necesitas una selección previa pero la estructura que te propongo es mas general, esta normalizada y admite cualquier ampliación y ocupa mucho menos espacio en disco.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.