Álgebra relacional

📅 04/01/2025 👤 Julio Fuente 📂 programar
Álgebra relacional

Main Image

Cuando trabajamos con el modelo relacional, tenemos dos grupos de operaciones que podemos utilizar. Uno de ellos es el álgebra relacional.

Cuando trabajamos con el modelo relacional , tenemos dos grupos de operaciones que podemos utilizar.

El primero se llama álgebra relacional y es un lenguaje procedimental .

Esto es en lo que se basa SQL y, como tal, es muy importante aprenderlo, ya que SQL es el estándar de facto para trabajar con bases de datos relacionales.

El segundo se llama cálculo relacional y, en lugar de ser procedimental, es un lenguaje declarativo . Es una diferencia fundamental en la forma en que interactuamos con las bases de datos, porque no le dices al software de la base de datos qué hacer , solo le dices lo que quieres y dejas que resuelva los detalles de cómo hacerlo.

Esta es una distinción común entre los lenguajes de programación. En el frontend moderno, decimos que la interacción con el DOM en React es declarativa. El uso de JavaScript puro para modificar el DOM es procedimental.

Lenguajes como Datalog , QBE y QUEL tienen como base el cálculo relacional. No voy a hablar de esto porque creo que es una forma mucho más específica de hacer las cosas en comparación con el enfoque más práctico que sigue SQL, pero puedes echarle un vistazo si quieres.

Dada esta introducción, continuemos con el álgebra relacional .

Tenemos 2 tipos de operaciones:

Operaciones primarias en álgebra relacional

Las operaciones principales son:

Operaciones de unión en álgebra relacional

Las uniones son probablemente las operaciones más potentes que se pueden realizar con el álgebra relacional. Se basan en operaciones primarias y permiten correlacionar datos contenidos en diferentes relaciones (tablas).

Nota: Pronto hablaré sobre las uniones en la práctica en un DBMS, esto es principalmente teoría.

Tenemos dos versiones principales de unión: unión natural y unión theta . Todas las demás versiones se extraen de esas dos.

Unión natural

La unión natural correlaciona dos relaciones (tablas) y crea una nueva tabla basada en los mismos valores de un atributo.

Primero, necesitamos dos relaciones con el mismo nombre de atributo (columna). Luego, si los valores de los atributos de la relación A no coinciden con los de la relación B, la fila no forma parte del resultado y se ignora.

Ejemplo:

Relación A

Identificación del empleado Nombre
1 Marca
2 Tony
3 Almiar

Relación B

Nombre del gerente Identificación del empleado
Todd 1
Alberto 2

Podemos realizar una unión natural para obtener el nombre del jefe de cada empleado:

Identificación del empleado Nombre Nombre del gerente
1 Marca Todd
2 Tony Alberto

Dado que las relaciones tienen en común el nombre del atributo ID de empleado, éste solo está presente una vez en el resultado, no dos veces.

El empleado número 3 presente en la relación A, Rick, no está incluido en esta tabla, porque no hay una entrada correspondiente en la relación B.

Unión theta

Una unión theta permite realizar una unión basada en cualquier criterio para comparar dos columnas en dos relaciones diferentes, no solo igualdad como lo hace la unión natural.

Realiza un producto cartesiano de dos tablas, y filtra los resultados en función de la selección que queramos realizar.

Unión equitativa

La unión equi es una unión theta, donde la selección se basa en la igualdad entre los valores de los atributos en las dos tablas diferentes.

La diferencia con la unión natural es que podemos elegir qué nombres de atributos (columnas) queremos comparar.

Hablaremos mucho más sobre las uniones más adelante cuando se introduzca SQL, para que podamos usarlas en la práctica.




Tal vez te puede interesar:

  1. Introducción a React
  2. Agregar evento de clic a los elementos DOM devueltos desde querySelectorAll
  3. Cómo cambiar el valor de un nodo DOM
  4. Cómo comprobar si un elemento DOM tiene una clase