Pregunta

Aquí están las estructuras de mis dos tablas (teclas primarias en teclas en negrita y extranjeras en el texto en cursiva)

service_agreements ( id , client_id, cantidad, fecha_begin, duración, * servicios_id_1 *, * servicios_id_2 *, * servicios_id_3 *, * Services_id_4 *) Servicios ( id , date_proid, description, staff_person)

La idea detrás de las tablas es que se basa en un acuerdo que la compañía proporciona servicio hasta cuatro veces. Así que como se ve, los cuatro campos de la Tabla de Service_agreements (servicios_id_1, ...) tienen cuatro relaciones separadas individuales con tablas de servicios (campo de identificación). Me parece un poco inusual, porque generalmente he visto una sola relación entre dos mesas. SO. Sabe si esto es inusual o está bien, si es inusual, si es inusual, cuál es la mejor solución (sin fusionar los campos de los servicios al Service_agreements. Porque las tablas de servicios también tienen algunos registros en el servicio proporcionado sin un acuerdo.)

¿Fue útil?

Solución

La estructura podría ser incluso mejor:

service_agreements ( id , client_id, cantidad, fecha_begin, duración);

Servicios ( id , fecha_providada, descripción, staff_person);

service_agreement_services ( id , escriba enum (servicio1, servicio2, etc.), service_agreement_id , service_id );

Nueva tabla, service_agreement_services Agregue una relación de muchos a una relación entre Service_agreement and Services;

Ventajas :

1) Para cada nuevo servicio que proporcione, habrá nuevas inserciones (generalmente menos gastos generales que la actualización) 2) Incluso puedes proporcionar más servicios :)
3) Las relaciones de la tabla se vuelven más fáciles.

gracias

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top