relacional online convertir sql relational-database relational-algebra

sql - online - Diferencia entre una a muchas y muchas a una relación



relational algebra calculator (9)

¿Cuál es la diferencia real entre una a muchas y muchas a una relación? Solo se invierte, tipo de?

No puedo encontrar ningún tutorial "bueno y fácil de entender" sobre este tema que no sea este: SQL para principiantes: Parte 3 - Relaciones con la base de datos


¿Cuál es la diferencia real entre una a muchas y muchas a una relación?

Existen diferencias conceptuales entre estos términos que deberían ayudarlo a visualizar los datos y también las diferencias en el esquema generado que deberían comprenderse por completo. En su mayoría, la diferencia es de perspectiva.

En una relación de uno a varios , la tabla local tiene una fila que puede asociarse con muchas filas en otra tabla. En el ejemplo de SQL para principiantes , un Customer puede estar asociado a muchos Order .

En la relación inversa de uno a uno , la tabla local puede tener muchas filas asociadas con una fila en otra tabla. En nuestro ejemplo, muchos Order pueden estar asociados a un Customer . Esta diferencia conceptual es importante para la representación mental.

Además, el esquema que admite la relación se representa de manera diferente en las tablas Customer y Order . Si el cliente tiene columnas id y name :

id,name 1,Bill Smith 2,Jim Kenshaw

Luego, para que un Customer se asocie con Order s, muchas implementaciones de SQL agregan a la tabla Order una columna que almacena la id del Customer asociado (en este esquema customer_id :

id,date,amount,customer_id 10,20160620,12.34,1 11,20160620,7.58,1 12,20160621,158.01,2

En las filas de datos anteriores, si miramos la columna id de ID de customer_id , vemos que Bill Smith (ID de cliente n. ° 1) tiene dos órdenes asociadas a él: una por $ 12.34 y otra por $ 7.58. Jim Kenshaw (id. De cliente n. ° 2) solo tiene 1 pedido por $ 158.01.

Lo importante es darse cuenta de que, por lo general, la relación de uno a varios no agrega ninguna columna a la tabla que sea el "uno". El Customer no tiene columnas adicionales que describan la relación con el Order . De hecho, es posible que el Customer también tenga una relación de uno a varios con las tablas ShippingAddress y SalesCall y, sin embargo, no tenga columnas adicionales agregadas a la tabla Customer .

Sin embargo, para una relación de muchos a uno que se describirá, a menudo se agrega una columna de id a la tabla de muchos que es una clave externa a la tabla única; en este caso, se agrega una columna customer_id al Order . Para la orden asociada # 10 por $ 12.34 a Bill Smith , asignamos la columna customer_id a la identificación 1 de Bill Smith .

Espero que esto ayude.


La respuesta a su primera pregunta es: ambas son similares,

La respuesta a su segunda pregunta es: uno a muchos -> una MAN (tabla MAN) puede tener más de una esposa (tabla MUJERES) muchas más de una -> más de una mujer se ha casado con un HOMBRE.

Ahora, si desea relacionar esta relación con dos tablas MAN y MUJERES, una fila de tabla MAN puede tener muchas relaciones con filas en la tabla MUJERES. espero que sea claro.


No hay diferencia práctica. Solo usa la relación que tenga más sentido dada la forma en que ves tu problema como Devendra ilustró.


No hay diferencia. Es solo una cuestión de lenguaje y preferencia en cuanto a qué camino tomar para establecer la relación.


Sí, es a la inversa. Depende de qué lado de la relación esté presente la entidad.

Por ejemplo, si un departamento puede emplear a varios empleados, el departamento a empleado es una relación de uno a varios (un departamento emplea a muchos empleados), mientras que la relación de un empleado a otro es de muchos a uno (muchos empleados trabajan en un departamento).

Más información sobre los tipos de relación:

Relaciones con la base de datos: documentación de IBM DB2


Uno a Muchos y Muchos a Uno son similares en Multiplicidad pero no Aspecto (es decir, Direccionalidad).

El mapeo de Asociaciones entre clases de entidad y las Relaciones entre tablas. Hay dos categorías de relaciones:

  1. Multiplicidad (término ER: cardinalidad)
    • Relaciones uno-a-uno : Ejemplo de esposo y esposa
    • Relaciones uno a muchos : ejemplo madre e hijos
    • Relaciones de muchos a muchos : ejemplo estudiante y sujeto
  2. Direccionalidad : no afecta al mapeo, pero hace la diferencia sobre cómo podemos acceder a los datos.
    • Relaciones unidireccionales : un campo de relación o propiedad que se refiere a la otra entidad.
    • Relaciones bidireccionales : cada entidad tiene un campo de relación o propiedad que se refiere a la otra entidad.

de http://www.sum-it.nl/cursus/dbdesign/english/intro030.php3

La mayoría de las relaciones entre tablas son uno a muchos.

Ejemplo:

* One area can be the habitat of many readers. * One reader can have many subscriptions. * One newspaper can have many subscriptions.

Una relación Muchos a Uno es lo mismo que uno a muchos, pero desde un punto de vista diferente.

* Many readers live in one area. * Many subscriptions can be of one and the same reader. * Many subscriptions are for one and the same newspaper.


uno-a-muchos tiene clase padre contiene n cantidad de hijos, por lo que es un mapeo de colección. mant-to-one tiene n número de childrens contiene un padre por lo que es un mapeo de objetos


  • --- Uno a muchos --- A Los padres pueden tener dos o más hijos.
  • --- Muchos a uno --- Esos 3 niños pueden tener un solo padre.

    Ambos son similares. Esto se puede usar pertenece a la necesidad. Si quieres encontrar niños para un padre en particular, entonces puedes ir con One-To-Many. o bien, si quieres encontrar padres para un gemelo, puedes ir con Many-To-One. Igualmente....,