Uniones de DBMS: THETA, interna, externa, equi Tipos de unión

⚡ Resumen inteligente

En los sistemas de gestión de bases de datos (DBMS), la operación de unión (join) es una operación binaria que combina filas de dos o más tablas utilizando sus claves primarias y foráneas. Las uniones se dividen en uniones internas, que devuelven solo las filas coincidentes, y uniones externas, que conservan las filas no coincidentes y rellenan los huecos con valores nulos.

  • 🔗 Propósito principal: Una operación de unión combina tablas relacionadas en un único conjunto de resultados basándose en una condición de unión.
  • 🎯 Unir internamente: Devuelve únicamente las filas que cumplen la condición en ambas tablas; es el tipo de unión predeterminado.
  • 📐 Theta y EQUI: Una unión theta utiliza cualquier operador de comparación; una unión EQUI utiliza solo la igualdad.
  • 🔄 Unión natural: Busca coincidencias en atributos con nombres idénticos y elimina la columna duplicada.
  • ⬅️ Izquierda combinación externa: Conserva todas las filas de la tabla izquierda, rellenando con valores nulos donde la tabla derecha no tenga coincidencias.
  • ➡️ Unión exterior derecha: Conserva todas las filas de la tabla derecha, rellenando con valores nulos donde la tabla izquierda no tiene coincidencias.
  • 🌐 Unión externa completa: Conserva todas las filas de ambas tablas, independientemente de si coinciden o no.

Uniones en DBMS Izquierda Derecha

¿Qué es una unión (Join) en un sistema de gestión de bases de datos (DBMS)?

Únete a DBMS es una operación binaria que permite combinar un producto de unión y una selección en una sola instrucción. El objetivo de crear una condición de unión es combinar los datos de dos o más tablas. Las tablas se asocian mediante sus claves primarias y llaves extranjeras.

Tipos de Unión

Existen principalmente dos tipos de uniones en DBMS:

  1. Uniones internas: Theta, Natural, EQUI
  2. Uniones externas: izquierda, derecha, completa

La tabla que aparece a continuación muestra una vista previa de todos los tipos de unión antes de explicar cada uno con un ejemplo.

Recibir el boletín Returns Filas no coincidentes
Interno (Theta / EQUI / Natural) Filas que coinciden con la condición en ambas tablas Abandonado
Exterior izquierdo Todas las filas de la izquierda más los partidos Conservado de la izquierda, nulo de la derecha
exterior derecho Todas las filas derechas más partidos Conservado desde la derecha, nulo en la izquierda
Exterior completo Todas las filas de ambas tablas Conservado de ambos, nulo donde falta

Unir internamente

Unir internamente Se utiliza para devolver filas de ambas tablas que cumplan la condición dada. Es la operación de unión más utilizada y puede considerarse el tipo de unión predeterminado.

Una unión interna, o equijoin, es una unión basada en comparadores que utiliza comparaciones de igualdad en el predicado de unión. Sin embargo, si se utilizan otros operadores de comparación como ">", no se puede denominar equijoin. La unión interna se divide además en tres subtipos:

  • Theta unirse
  • Unión natural
  • Únete a EQUI

Unión theta

Unión theta Permite fusionar dos tablas según la condición representada por theta. Las uniones theta funcionan con todos los operadores de comparación. Se denota con el símbolo θEl caso general de una operación JOIN se denomina unión theta.

Sintaxis:

A ⋈θ B

Una unión theta puede utilizar cualquier condición en los criterios de selección.

Considere las siguientes tablas.

Tabla A Tabla b
columna 1 columna 2 columna 1 columna 2
1 1 1 1
1 2 1 3

Por ejemplo:

A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A.columna 2 > B.columna 2 (B)
columna 1 columna 2
1 2

Únete a EQUI

Únete a EQUI se realiza cuando una unión theta utiliza solo la condición de equivalencia. La unión EQUI es la operación más difícil de implementar de manera eficiente en un RDBMSy es una de las razones por las que un sistema de gestión de bases de datos relacionales (RDBMS) puede tener problemas de rendimiento.

Por ejemplo:

A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A.columna 2 = B.columna 2 (B)
columna 1 columna 2
1 1

Unión natural (⋈)

Unión natural No utiliza ningún operador de comparación. En este tipo de unión, los atributos deben tener el mismo nombre y dominio. En una unión natural, debe haber al menos un atributo común entre las dos relaciones.

Realiza una selección que establece la igualdad en los atributos que aparecen en ambas relaciones y elimina los atributos duplicados.

Ejemplo: Considere las dos tablas siguientes.

C
num Cuadrado
2 4
3 9
D
num Cubo
2 8
3 18
C ⋈ D
C⋈D
num Cuadrado Cubo
2 4 8
3 9 18

Unión externa

An Unión externa No requiere que cada registro en las dos tablas unidas tenga un registro coincidente. En este tipo de unión, la tabla conserva cada registro incluso si no existe ningún otro registro coincidente. Los tres tipos de unión externa son:

  • Izquierda combinación externa
  • Unión exterior derecha
  • Unión externa completa

Unión exterior izquierda (A ⟕ B)

Izquierda combinación externa Devuelve todas las filas de la tabla de la izquierda, incluso si no se encuentran filas coincidentes en la tabla de la derecha. Si no se encuentra ningún registro coincidente a la derecha, se devuelve null.

Izquierda combinación externa

Considere las dos tablas siguientes.

A
num Cuadrado
2 4
3 9
4 16
B
num Cubo
2 8
3 18
5 75
A Left Outer Join B
A ⟕ B
num Cuadrado Cubo
2 4 8
3 9 18
4 16

Unión externa derecha (A ⟖ B)

Unión exterior derecha Devuelve todas las columnas de la tabla de la derecha, incluso si no se encuentran filas coincidentes en la tabla de la izquierda. Si no se encuentran coincidencias en la izquierda, se devuelve null. Una unión externa derecha es lo opuesto a una unión izquierda.

Unión exterior derecha

A Right Outer Join B
A ⟖ B
num Cubo Cuadrado
2 8 4
3 18 9
5 75

Unión externa completa (A ⟗ B)

En un Unión externa completa, todas las tuplas de ambas relaciones se incluyen en el resultado, independientemente de la condición de coincidencia.

Ejemplo:

A Full Outer Join B
A ⟗ B
num Cuadrado Cubo
2 4 8
3 9 18
4 16
5 75

Preguntas Frecuentes

Una unión interna devuelve solo las filas que coinciden en ambas tablas. Una unión externa también conserva las filas que no coinciden en una o ambas tablas, rellenando el lado faltante con valores nulos.

Una unión theta puede usar cualquier operador de comparación, como mayor que o menor que. Una unión EQUI es una unión theta restringida al operador de igualdad, por lo que solo compara valores iguales.

Ambas coinciden por igualdad, pero una unión natural coincide automáticamente con las columnas con el mismo nombre y elimina la columna duplicada. Una unión EQUI especifica la condición explícitamente y conserva ambas columnas.

Sí. Dado el esquema y la pregunta, la IA puede elegir el tipo de unión y las claves; por ejemplo, una unión izquierda para conservar los clientes sin pedidos. Confirme el resultado, ya que una unión incorrecta modifica el número de filas.

Sí. La IA puede detectar que la clave de unión no es única en un lado, lo que produce una explosión de muchos a muchos, y sugerir agregar una condición o agregar primero para que cada coincidencia se cuente una sola vez.

Resumir este post con: