Operaciones del Álgebra Relacional y Lenguajes de Consulta en Bases de Datos
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,79 KB
Operaciones del Álgebra Relacional
La operación Dividir (Divide)
Toma dos relaciones, una binaria y otra unaria. Construye una relación formada por todos los valores de un atributo de la relación binaria que concuerdan (en el otro atributo) con todos los valores de la relación unaria. Se representa con la orden DIVIDEBY
.
NomTablaBin DIVIDEBY NomTablaUna
La operación Diferencia (Difference)
Construye una relación formada por todas las tuplas (filas) de la primera relación que no aparecen en la segunda de las dos relaciones especificadas. Se representa con la orden MINUS
.
Nom_tablaA MINUS NomTablaB;
La operación Unión (Union)
Construye una relación formada por todas las tuplas de la primera relación y todas las tuplas de la segunda relación. El requisito es que ambas relaciones sean del mismo tipo (compatibles en unión).
Nom_TablaA UNION Nom_tablaB;
La operación Intersección (Intersection)
Construye una nueva tabla compuesta por todas las tuplas que están presentes tanto en la primera como en la segunda tabla.
Nom_TablaA INTERSECT Nom_tablaB;
Lenguajes de Consulta
Lenguajes de Consulta Comerciales
Un lenguaje de consulta comercial proporciona una interfaz más amigable al usuario. Un ejemplo destacado de este tipo de lenguaje es:
- SQL (Structured Query Language - Lenguaje de Consulta Estructurado).
Las partes más importantes del SQL son:
- DDL (Data Definition Language): Lenguaje de definición de datos, que nos permite crear las estructuras de la base de datos (tablas, índices, etc.).
- DML (Data Manipulation Language): Lenguaje de manipulación de datos, que nos permite acceder a los datos dentro de las estructuras para consultarlos, insertarlos, modificarlos o suprimirlos.
Lenguajes de Consulta Formales
Se clasifican principalmente en dos tipos:
- En el lenguaje de tipo procedimental, el usuario da instrucciones al sistema para que realice una secuencia específica de operaciones en la base de datos para calcular el resultado deseado.
- En el lenguaje no procedimental, el usuario describe la información deseada sin especificar un procedimiento detallado para obtener dicha información.
Operaciones Fundamentales del Álgebra Relacional
Las operaciones seleccionar, proyectar y renombrar son denominadas operaciones unarias, ya que operan sobre una única tabla (relación). Las otras operaciones (Unión, Diferencia, Producto Cartesiano, etc.) operan sobre pares de relaciones y, por tanto, se llaman operaciones binarias.
La operación Seleccionar (Select)
Esta operación selecciona tuplas (filas) completas que satisfacen una condición (predicado) dada dentro de una tabla. Se representa simbólicamente con la letra griega sigma (σ), aunque en lenguajes como SQL se usa la cláusula WHERE
.
SELECT * FROM nombre_tabla WHERE condición;
La condición después de la cláusula WHERE
puede incluir comparaciones como =
, <
, >
, <=
, >=
, !=
(o <>
), combinadas con operadores lógicos como AND
, OR
y NOT
.
La operación Proyectar (Project)
Consiste en identificar y extraer las columnas (atributos) específicas que nos interesa conocer de una tabla, eliminando las columnas restantes y las filas duplicadas resultantes. Se representa simbólicamente con la letra griega pi (π), aunque en SQL se especifica listando los nombres de las columnas deseadas en la cláusula SELECT
.
SELECT Nombre_atributo1, Nombre_atributo2 FROM nombre_tabla WHERE condición;
Si se desea obtener todas las columnas, se utiliza *
en SQL (SELECT *
).
La operación Producto Cartesiano (Cartesian Product)
Consiste en combinar cada tupla de una tabla con cada tupla de otra tabla, obteniendo como resultado una nueva tabla que contiene todas las columnas de ambas tablas originales y todas las combinaciones posibles de filas. Se especifica con la orden TIMES
en algunos contextos formales o mediante la simple enumeración de tablas en la cláusula FROM
de SQL sin una condición de join.
-- Representación conceptual
Nombre_tablaA TIMES Nombre_tablaB;
-- En SQL (implícito)
SELECT * FROM Nombre_tablaA, Nombre_tablaB;
Nota: Generalmente, el producto cartesiano por sí solo no es útil y suele ir acompañado de una selección para filtrar las combinaciones relevantes (lo que lleva a la operación Join).
La operación Reunión (Join)
Consiste en combinar filas de dos o más tablas basándose en una condición de relación entre ellas (normalmente, la igualdad de valores en columnas comunes). Esencialmente, es un producto cartesiano seguido de una selección. Genera como resultado una nueva tabla que contiene las tuplas que cumplen con la condición establecida. Se representa con la orden JOIN
en SQL.
-- Ejemplo de Natural Join (implícito en algunos sistemas o conceptual)
TablaA JOIN TablaB;
-- Ejemplo en SQL (Inner Join explícito)
SELECT *
FROM TablaA
JOIN TablaB ON TablaA.AtributoComun = TablaB.AtributoComun;
Existen varios tipos de Join (Inner Join, Left Join, Right Join, Full Outer Join) que difieren en cómo manejan las filas que no tienen correspondencia en la otra tabla.