Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/03/2014, 18:58
matiD
 
Fecha de Ingreso: octubre-2008
Mensajes: 85
Antigüedad: 16 años, 2 meses
Puntos: 0
Recomendaciones sobre esta tabla si dividirla en 2 o no.

Como están?

Bueno necesito una recomendación, hace unos meses ya bastante tiempo atrás presenté un trabajo que estaba realizando, recien ahora puedo seguir con el mismo y estoy paso a paso.

Acabo de llegar al momento de crear la tabla de ordenes de trabajo. La cual muy amablemente un usuario de este foro me recomendó que debería separarla en 2 tablas porque son entidades distintas las máquinas que se repararán y las ordenes de trabajo.

Bien para comenzar explico de que consta la tabla y un poco el sistema.

Necesito principalmente poder cargar ordenes de trabajo de servicio técnico, no las voy a cargar solo yo, y le consulté a los clientes si preferían cargar a través de campos select o cargar ellos mismos la marca el modelo y demás. el 92% prefirío el ejemplo con carga manual de modelo y marca de los productos. Ya que con el Autocomplete mientras no borren el historial y demás si ya escribieron algo la próxima vez les aparece la opción y a veces entienden de manera diferente marca y modelo, Por ejemplo la mayoría de los clientes en una XBOX360 para ellos la marca era XBOX 360 y el modelo Fat o Slim, cuando la marca debería ser Microsoft. Pero bueno por tal motivo ellos completaran manualmente esos atributos.

ya teniendo esta idea principal es donde me surge la duda, para mí en mi cabeza, la orden de trabajo debe incluir todos los valores referentes a dicho trabajo a realizar y por esto ser una sola tabla, pero también me suena muy logico la explicación de un usuario mucho más avanzado que me indica que mejor sería separarlos.

Yo en mi cabeza la tabla de ordenes de trabajo la pienso de esta manera.

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS ordenes(
  2. id_cliente int unsigned NOT NULL,
  3. marca varchar(20),
  4. modelo varchar(20),
  5. numserie varchar(40) NOT NULL,
  6. procedencia tinyint unsigned NOT NULL,
  7. categoria tinyint unsigned NOT NULL,
  8. servicio VARCHAR (40) unsigned NOT NULL,
  9. precio decimal(6,2),
  10. senia decimal(6,2),
  11. movimientos int NOT NULL,
  12. ubicacion tinyint DEFAULT '1',
  13. detalles varchar(255),
  14. garantia int,
  15. PRIMARY KEY (orden),
  16. INDEX (numserie),
  17. FOREIGN KEY (id_cliente) REFERENCES clientes(id_clientes),
  18. FOREIGN KEY (procedencia) REFERENCES locales(id_locales),
  19. FOREIGN KEY (categoria) REFERENCES categ_servicios(id_categservicios),
  20. );

por favor si pudieran darme una mano y/o recomendaciones para que sería lo mejor les agradecería!!!

Desde ya muchas gracias por todo!!!