TransWikia.com

¿relación 1 a 1 igual a relación muchos a muchos?

Stack Overflow en español Asked by makoto on August 9, 2020

Según me dijeron que la relación de 1 a 1 se podría considerar como muchos a muchos y por ende se crearía una tabla intermedia. Eso es cierto ?

Algo así como :

  • auto
  • conductor

habría otra tabla intermedia que seria

  • auto_conductor.

One Answer

La relación 1 a 1.

Indica que el registro de la tabla de la izquierda (una llave foránea) solo este relacionada con un registro de la tabla de la derecha, conviene aclarar que a nivel de SQL para limitar que la llave foránea sea única lo podemos hacer a través de un constraint de tipo UNIQUE.

Pudiendose ver de este modo en tu propio ejemplo

Vehiculos
id
marca
....
....
usuario_id UNIQUE

Ejemplo

Usuario 1----maneja-----1 Vehiculo

En la relación de muchos a muchos.

Donde:

  • Al menos existen 3 tablas relacionadas
  • la de medio la tabla pivote almacenará N cantidad de veces las llaves foráneas que la unen o vinculan con las otras 2 tablas.

Que se vería de este modo: La tabla de usuarios

Usuario
id
nombre
.....
.....

La tabla de vehiculos

Vehiculos
id
modelo
.....
.....

La tabla pivote que se pudiera llamar

usuarios_vehiculos
id
usuario_id   FK
vehiculo_id  FK

Entonces no no se pueden considerar que funcionan para lo mismo, en este punto sugiero revisar las formas de normalización1

Por ejemplo para tu escenario.

  • Sería una relación de 1 a 1 cuando el vehículo tiene 1 solo dueño que en teoría es el que lo conduce y solamente el.

  • Sería una relación de muchos a muchos cuando por ejemplo se trata de una agencia de taxis donde muchos choferes pueden manejar muchos taxis.

Ahora si tu escenario (ya que la respuesta de que relación usar depende de lo que tratas de resolver, aunque no por eso quiere decir que son lo mismo), un chofer solo puede manejar un vehículo entonces es relación 1 a 1 hasta donde entiendo no hay razón para que exista una tercera tabla que las vinvule.

Enlaces de interés

En especial recomiendo esta respuesta de A.Cedano que complementa muchísimo este pobre aporte

Correct answer by BetaM on August 9, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP