Breaking

Post Top Ad

Your Ad Spot

sábado, 28 de diciembre de 2019

Álgebra Relacional

Cuando trabajamos con el modelo relacional , tenemos 2 grupos de operaciones que podemos usar.
El primero se llama álgebra relacional , y es un lenguaje de procedimiento .
Esto es en lo que se basa SQL, y como tal es muy importante aprender, 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 de procedimiento, es un lenguaje declarativo . Es una diferencia fundamental en la forma en que interactuamos con las bases de datos, porque no le dice al software de la base de datos qué hacer , simplemente le dice lo que quiere y deja que resuelva los detalles de cómo hacerlo.
Esta es una distinción común entre los lenguajes de programación. En la interfaz moderna, decimos que la interacción con el DOM en React es declarativa. El uso de JavaScript vainilla para modificar el DOM es de procedimiento.
Lenguajes como Datalog , QBE y QUEL tienen el cálculo relacional como base. 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 seguido por SQL, pero puede verlo si lo desea.
Dada esta introducción, sigamos con el álgebra relacional .
Tenemos 2 tipos de operaciones:
  • operaciones primarias
  • unir operaciones

Operaciones primarias en álgebra relacional

Las operaciones principales son:
  • unión para obtener datos de dos tablas, generando una suma de las tuplas, siempre que las dos tablas tengan las mismas columnas y tipos de atributos (dominio).
  • diferencia para obtener datos contenidos en la primera tabla pero no en la segunda tabla, generando una diferencia de las tuplas, siempre que las dos tablas tengan las mismas columnas y tipos de atributos (dominio).
  • producto cartesiano para obtener datos de dos tablas y generar una sola tabla que combine los datos de ellas, en función de un valor de atributo.
  • seleccione extraer solo algunas de las tuplas (filas) contenidas en una tabla según ciertos criterios.
  • proyecto para generar una nueva tabla que contenga solo uno o más atributos (columnas) de una tabla existente
  • cambiar nombre usado para cambiar el nombre de un atributo, usado para evitar conflictos cuando varias tablas tienen el mismo nombre para diferentes datos

Unir operaciones en álgebra relacional

Las uniones son probablemente las operaciones más poderosas que puede realizar con álgebra relacional. Se basan en operaciones primarias y le 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 2 versiones principales de unión: unión natural y unión theta . Todas las otras versiones se extraen de esos 2.

Únete natural

La unión natural correlaciona dos relaciones (tablas) y crea una nueva tabla basada en los mismos valores de un atributo.
Necesitamos dos relaciones con el mismo nombre de atributo (columna), primero. Entonces, si los valores en los atributos en la relación A no coinciden en los atributos en la relación B, la fila no es parte del resultado, se ignora.
Ejemplo:
Relación A
ID de empleadoNombre
1marca
2Tony
3Almiar
Relación B
Nombre del gerenteID de empleado
Todd1
Albert2
Podemos realizar una unión natural para obtener el nombre del jefe para cada empleado:
ID de empleadoNombreNombre del gerente
1marcaTodd
2TonyAlbert
Dado que las relaciones tienen en común el nombre del atributo ID de empleado, solo está presente una vez en el resultado, no 2 veces.
El empleado # 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.

Theta-join

Una combinación theta permite realizar una combinación basada en cualquier criterio para comparar dos columnas en dos relaciones diferentes, no solo la igualdad como lo hace la combinación natural.
Realiza un producto cartesiano de dos tablas y filtra los resultados en función de la selección que queremos hacer.

Equi-join

Equi-join es una combinació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 combinación natural es que podemos elegir qué nombres de atributos (columnas) queremos comparar.
Hablaremos mucho más sobre las uniones más tarde cuando se introduzca SQL, para que podamos usarlas en la práctica.

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Post Top Ad

Your Ad Spot

Páginas