Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/02/2011, 21:09
Ojopex2
 
Fecha de Ingreso: abril-2010
Mensajes: 112
Antigüedad: 14 años, 1 mes
Puntos: 2
¿Cómo estructuro estas tablas? (aconsejeme)

Buenas!

Hola amigos les cuento lo que pretendo hacer y se me complicó todo el panorama.
Primero les cuento lo que quiero hacer a modo visual, es un combobox que me despliegue en tres distintos selectores multiples de forma anidada pero simultaneos, NO uno primero otro despues y otro al final como escalera.
(Consejos para ajax ya pedi por esos lados Ver tema)
Pero ahora estoy un tanto confundido como debería ser la base de datos.

Esta es mi situación actual

Sé como desplegar invidualmente los correspondientes selectores con un
Código MySQL:
Ver original
  1. SELECT id_tarea, tarea
  2. FROM tareas
  3. WHERE repcaja < 0

Actualmente tengo una tabla en la base de datos que sería una lista de tareas a realizarse a un reloj en reparación.
Teniendo los campos de id, nombre de la tarea, luego los tipos de máquina que aplica y luego las tareas que aplican a cada tipo de maquina.
Los campos booleanos tinyint(1) hacen true o false si aplica o no cierta tarea a cierto tipo de reloj.
Me pasaron exactamente esto (pero con más registros)
Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `tareas` (
  2.   `id_tarea` int(11) NOT NULL AUTO_INCREMENT,
  3.   `tarea` varchar(45) DEFAULT NULL,
  4.   `qtz` tinyint(1) DEFAULT NULL,
  5.   `chronoqtz` tinyint(1) DEFAULT NULL,
  6.   `auto` tinyint(1) DEFAULT NULL,
  7.   `chronoauto` tinyint(1) DEFAULT NULL,
  8.   `electro` tinyint(1) DEFAULT NULL,
  9.   `otro` tinyint(1) DEFAULT NULL,
  10.   `repbase` tinyint(1) DEFAULT NULL,
  11.   `repmech` tinyint(1) DEFAULT NULL,
  12.   `repcaja` tinyint(1) DEFAULT NULL,
  13.   `reppulsera` tinyint(1) DEFAULT NULL,
  14.   PRIMARY KEY (`id_tarea`)
  15.  
  16. --
  17. -- Volcar la base de datos para la tabla `tareas`
  18. --
  19.  
  20. INSERT INTO `tareas` (`id_tarea`, `tarea`, `qtz`, `chronoqtz`, `auto`, `chronoauto`, `electro`, `otro`, `repbase`, `repmech`, `repcaja`, `reppulsera`) VALUES
  21. (1001, 'Devuelto x mal estado', -1, -1, -1, -1, 0, 0, -1, 0, 0, 0),
  22. (1002, 'Revision y Limpieza', -1, -1, -1, -1, 0, 0, -1, 0, 0, 0),
  23. (1003, 'Sellos', -1, -1, -1, -1, 0, 0, -1, 0, 0, 0),
  24. (1008, 'Se limpio denuevo', -1, -1, -1, -1, 0, 0, -1, 0, 0, 0),
  25. (1009, 'Control atrasa', -1, -1, -1, -1, 0, 0, -1, 0, 0, 0),
  26. (2001, 'Tornillos fondo', -1, 0, -1, 0, 0, 0, 0, -1, 0, 0),
  27. (2003, 'Empaquetadura de corona', -1, -1, -1, -1, 0, 0, 0, -1, 0, 0),
  28. (2004, 'Pulsador (2)', 0, -1, 0, -1, 0, 0, 0, -1, 0, 0),
  29. (2005, 'Punteros crono (tot 1/10)', -1, -1, -1, -1, 0, 0, 0, -1, 0, 0);

Para la finalidad de hacer un combo, creo que tengo claro que debería hacer una tabla para los tipos de mecanismos...pero al tener que relacionarlo con el resto se me complica y no puedo ver bien la situacion teniendo la tabla actual tal como está

Creo que debería hacer cirugía mayor a la tabla para obtener los resultados que quiero ¿O no?

¿Alguna sugerencia?

Espero sus comentarios.

Saludos y gracias de antemano.