Como hacer una relación de 1 a 1

Hola chicos. Estoy diseñando una base de datos con mysql. Quiero hacer una relación de uno a uno entre las tablas ListaRepartos y Repartidores, cuyas claves primarias son id_listarepartos y id_repartidores respectivamente.
Lo que he hecho ha sido poner como Foreign Key el id_listarepartos a la tabla Repartidores.
Pero claro, ese id_listarepartos puede ser el mismo para distintos repartidores, por tanto la relación no sería de 1 (listarepartos) a 1(repartidor), sino de 1 a N.
He intentado añadir como clave primaria la id_listarepartos en la tabla repartidores, pensando que se tomaría como una clave independiente a id_repartidores. Sin embargo, parece que lo que hace es hacer la join de ambas claves primarias, por lo que pueden repetirse en su propia columna id_repartidores y id_listarepartos, siempre que su combinación sea distinta.
¿Alguien puede echarme una mano con esto?
Muchas gracias ;)

1 respuesta

0
Respuesta de
Hola peeper,
No termino de entender tu planteamiento. Si tienes una tabla con los repartos, es evidente como bien dices que un repartidor tendrá más de un reparto por lo que no puedes tener nunca una relación 1 a 1 entre repartidores y repartos, sino 1 a N. Para tener una relación 1 a 1 deberás tener un repartidor para cada reparto, por lo que tendrías que contratar un repartidor cada vez que quisieras hacer un reparto en la empresa y despedirlo cuando terminara el reparto.
La única forma de tener una relación 1 a 1 es crear cada vez que crees un reparto, un repartidor nuevo, con lo que los dos ID's formarían una relación 1 a 1, aunque en ese caso es mejor tener todo en la misma tabla.
Por favor, si estoy equivocado, amplíame tu explicación para poder ayudarte mejor.
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje