Álgebra relacional en DBMS: operaciones con ejemplos

Tabla de contenido:

Anonim

Álgebra relacional

ÁLGEBRA RELACIONAL es un lenguaje de consulta procedimental ampliamente utilizado. Recopila instancias de relaciones como entrada y da ocurrencias de relaciones como salida. Utiliza varias operaciones para realizar esta acción. SQL Las operaciones de consulta de álgebra relacional se realizan de forma recursiva en una relación. El resultado de estas operaciones es una nueva relación, que podría formarse a partir de una o más relaciones de entrada.

En este tutorial, aprenderá:

  • Álgebra relacional
  • SELECCIONAR (σ)
  • Proyección (π)
  • Cambiar nombre (ρ)
  • Operación sindical (υ)
  • Establecer diferencia (-)
  • Intersección
  • Producto cartesiano (X)
  • Unir operaciones
  • Unir internamente:
  • Theta Join:
  • EQUI se une a:
  • UNIÓN NATURAL (⋈)
  • ÚNETE EXTERIOR
  • Unión exterior izquierda (A B)
  • Unión exterior derecha: (A B)
  • Unión externa completa: (A B)

Operaciones básicas de álgebra relacional de SQL

Álgebra relacional dividida en varios grupos

Operaciones relacionales unarias

  • SELECCIONAR (símbolo: σ)
  • PROYECTO (símbolo: π)
  • RENOMBRAR (símbolo: ρ)

Operaciones de álgebra relacional de la teoría de conjuntos

  • UNIÓN (υ)
  • INTERSECCIÓN ( ),
  • DIFERENCIA (-)
  • PRODUCTO CARTESIANO (x)

Operaciones binarias relacionales

  • UNIRSE
  • DIVISIÓN

Estudiémoslos en detalle con soluciones:

SELECCIONAR (σ)

La operación SELECT se utiliza para seleccionar un subconjunto de las tuplas de acuerdo con una condición de selección dada. Sigma (σ) El símbolo lo denota. Se utiliza como expresión para elegir tuplas que cumplen la condición de selección. El operador de selección selecciona tuplas que satisfacen un predicado determinado.

σp(r) σes el predicado rsignifica relación que es el nombre de la tabla pes lógica preposicional

Ejemplo 1

σ topic = "Database" (Tutorials)

Salida : selecciona tuplas de los tutoriales donde tema = 'Base de datos'.

Ejemplo 2

σ topic = "Database" and author = "guru99"( Tutorials)

Salida : selecciona tuplas de los tutoriales donde el tema es 'Base de datos' y 'autor' es guru99.

Ejemplo 3

σ sales > 50000 (Customers)

Salida : selecciona tuplas de clientes donde las ventas son superiores a 50000

Proyección (π)

La proyección elimina todos los atributos de la relación de entrada, excepto los mencionados en la lista de proyección. El método de proyección define una relación que contiene un subconjunto vertical de Relación.

Esto ayuda a extraer los valores de los atributos especificados para eliminar los valores duplicados. El símbolo (pi) se utiliza para elegir atributos de una relación. Este operador le ayuda a mantener columnas específicas de una relación y descarta las otras columnas.

Ejemplo de proyección:

Considere la siguiente tabla

Identificación del cliente Nombre del cliente Estado
1 Google Activo
2 Amazonas Activo
3 manzana Inactivo
4 Alibaba Activo

Aquí, la proyección de CustomerName y el estado dará

Π CustomerName, Status (Customers)
Nombre del cliente Estado
Google Activo
Amazonas Activo
manzana Inactivo
Alibaba Activo

Cambiar nombre (ρ)

Renombrar es una operación unaria que se utiliza para cambiar el nombre de los atributos de una relación.

ρ (a / b) R cambiará el nombre del atributo 'b' de la relación por 'a'.

Operación sindical (υ)

La UNIÓN está simbolizada por el símbolo ∪. Incluye todas las tuplas que están en las tablas A o en B. También elimina las tuplas duplicadas. Entonces, el conjunto A UNION conjunto B se expresaría como:

El resultado <- A ∪ B

Para que una operación sindical sea válida, se deben cumplir las siguientes condiciones:

  • R y S deben tener el mismo número de atributos.
  • Los dominios de atributos deben ser compatibles.
  • Las tuplas duplicadas deben eliminarse automáticamente.

Ejemplo

Considere las siguientes tablas.

Cuadro A Cuadro B
columna 1 columna 2 columna 1 columna 2
1 1 1 1
1 2 1 3

A ∪ B da

Tabla A ∪ B
columna 1 columna 2
1 1
1 2
1 3

Establecer diferencia (-)

- El símbolo lo denota. El resultado de A - B es una relación que incluye todas las tuplas que están en A pero no en B.

  • El nombre del atributo de A debe coincidir con el nombre del atributo en B.
  • Las relaciones de dos operandos A y B deben ser compatibles o compatibles con la Unión.
  • Debe definirse una relación que consiste en las tuplas que están en la relación A, pero no en B.

Ejemplo

A-B
Tabla A - B
columna 1 columna 2
1 2

Intersección

Una intersección está definida por el símbolo ∩

A ∩ B

Define una relación que consta de un conjunto de todas las tuplas que están tanto en A como en B. Sin embargo, A y B deben ser compatibles con la unión.

Definición visual de intersección

Ejemplo:

A ∩ B
Tabla A ∩ B
columna 1 columna 2
1 1

Producto cartesiano (X) en DBMS

El producto cartesiano en DBMS es una operación que se utiliza para fusionar columnas de dos relaciones. Generalmente, un producto cartesiano nunca es una operación significativa cuando se realiza solo. Sin embargo, adquiere significado cuando le siguen otras operaciones. También se denomina producto cruzado o unión cruzada.

Ejemplo: producto cartesiano

σ columna 2 = '1' (AXB)

Salida: el ejemplo anterior muestra todas las filas de la relación A y B cuya columna 2 tiene el valor 1

σ columna 2 = '1' (AXB)
columna 1 columna 2
1 1
1 1

Unir operaciones

La operación de unión es esencialmente un producto cartesiano seguido de un criterio de selección.

Operación de unión denotada por ⋈.

La operación JOIN también permite unir tuplas relacionadas de diferentes relaciones.

Tipos de JOIN:

Varias formas de operación de combinación son:

Uniones internas:

  • Theta unirse
  • EQUI unirse
  • Unión natural

Unión externa:

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

Unir internamente:

En una combinación interna, solo se incluyen las tuplas que satisfacen los criterios de coincidencia, mientras que el resto se excluye. Estudiemos varios tipos de Inner Joins:

Theta Join:

El caso general de la operación JOIN se denomina combinación Theta. Se denota con el símbolo θ

Ejemplo

A ⋈θ B

Theta join puede usar cualquier condición en los criterios de selección.

Por ejemplo:

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

EQUI se une a:

Cuando una combinación theta usa solo una condición de equivalencia, se convierte en una combinación equi.

Por ejemplo:

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

La unión de EQUI es la operación más difícil de implementar de manera eficiente usando SQL en un RDBMS y una de las razones por las que los RDBMS tienen problemas de rendimiento esenciales.

UNIÓN NATURAL (⋈)

La unión natural solo se puede realizar si hay un atributo común (columna) entre las relaciones. El nombre y el tipo del atributo deben ser iguales.

Ejemplo

Considere las siguientes dos tablas

C
Num Cuadrado
2 4
3 9
D
Num Cubo
2 8
3 27
C ⋈ D
C ⋈ D
Num Cuadrado Cubo
2 4 4
3 9 27

ÚNETE EXTERIOR

En una combinación externa, junto con las tuplas que satisfacen los criterios de coincidencia, también incluimos algunas o todas las tuplas que no coinciden con los criterios.

Unión exterior izquierda (A B)

En la combinación externa izquierda, la operación permite mantener todas las tuplas en la relación izquierda. Sin embargo, si no se encuentra una tupla coincidente en la relación correcta, los atributos de la relación correcta en el resultado de la combinación se rellenan con valores nulos.

Considere las siguientes 2 tablas

A
Num Cuadrado
2 4
3 9
4 dieciséis
B
Num Cubo
2 8
3 18
5 75
A  B
A ⋈ B
Num Cuadrado Cubo
2 4 4
3 9 9
4 dieciséis -

Unión exterior derecha: (A B)

En la combinación externa derecha, la operación permite mantener todas las tuplas en la relación correcta. Sin embargo, si no se encuentra una tupla coincidente en la relación izquierda, los atributos de la relación izquierda en el resultado de la combinación se rellenan con valores nulos.

A  B
A ⋈ B
Num Cubo Cuadrado
2 8 4
3 18 9
5 75 -

Unión externa completa: (A B)

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

A  B
A ⋈ B
Num Cubo Cuadrado
2 4 8
3 9 18
4 dieciséis -
5 - 75

Resumen

Operación (símbolos)

Objetivo

Seleccione (σ)

La operación SELECT se usa para seleccionar un subconjunto de las tuplas de acuerdo con una condición de selección dada

Proyección (π)

La proyección elimina todos los atributos de la relación de entrada, excepto los mencionados en la lista de proyección.

Operación Unión (∪)

La UNIÓN está simbolizada por un símbolo. Incluye todas las tuplas que están en las tablas A o en B.

Establecer diferencia (-)

- El símbolo lo denota. El resultado de A - B es una relación que incluye todas las tuplas que están en A pero no en B.

Intersección (∩)

La intersección define una relación que consta de un conjunto de todas las tuplas que están tanto en A como en B.

Producto cartesiano (X)

La operación cartesiana es útil para fusionar columnas de dos relaciones.

Unir internamente

Unión interna, incluye solo aquellas tuplas que satisfacen los criterios de coincidencia.

Theta Join (θ)

El caso general de la operación JOIN se denomina combinación Theta. Se denota con el símbolo θ.

EQUI Únete

Cuando una combinación theta usa solo una condición de equivalencia, se convierte en una combinación equi.

Unión natural (⋈)

La unión natural solo se puede realizar si hay un atributo común (columna) entre las relaciones.

Unión externa

En una combinación externa, junto con tuplas que satisfacen los criterios de coincidencia.

Unión exterior izquierda ( )

En la combinación externa izquierda, la operación permite mantener todas las tuplas en la relación izquierda.

Unión externa derecha ( )

En la combinación externa derecha, la operación permite mantener todas las tuplas en la relación correcta.

Unión externa completa ( )

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