ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Algebra Relacional


Enviado por   •  29 de Enero de 2014  •  2.216 Palabras (9 Páginas)  •  320 Visitas

Página 1 de 9

Introducción al álgebra relacional. Con ejemplos en SQL

Introducción al álgebra relacional. Con ejemplos en SQL.

El álgebra relacional permite entender el modelo relacional de bases de datos desde la perspectiva matemática. Aquí se introducen los fundamentos del álgebra relacional y se les relaciona con la estructura del lenguaje de consulta de bases de datos relacionales SQL, para conectar la teoría con la práctica.

Breve recordatorio del modelo (formal) relacional

El modelo relacional de bases de datos se basa en un modelo formal especificado de acuerdo a la teoría de conjuntos. Una base de datos en este modelo es simplemente un conjunto de relaciones. Estas relaciones las vemos informalmente como “tablas” en los gestores de bases de datos relacionales, pero no hay que olvidar que se basan en una cierta representación matemática.Una relación de nombre R se define sobre el un conjunto de atributos Ai y se denota como R(A1, A2, ... , An).A la definición del conjunto de atributos se le denomina esquema de la relación. En contraste, la extensión de la relación de esquema R(A1, A2, ... , An) es un conjunto de tuplasti (i = 1, 2, ..., m), donde cada tupla es un conjunto de pares:

ti = {<A1:v[i,1]>, <A2:v[i,2]> ... <An:v[i, n])>}

y, para cada par <Aj:v[i,j]>, se cumple que v[i,j] es un valor que pertenece dominio(Aj), o bien un valor especial que denominaremos nulo.

Para seguir la discusión teórica utilizaremos un ejemplo de una base de datos para modelar la actividad docente de los profesores de un departamento. Comenzaremos por un esquema muy sencillo, con dos relaciones que se muestran a continuación.

*********************

Siguiendo la notación anterior, por ejemplo, tenemos una relación DEPARTAMENTOS(nombre, grado-experimentalidad, telefono). Una posible tupla sería la siguiente:

t1 = {<nombre: Matemáticas>, <grado-experimentalidad:1.5>, <fax:918845689>}

¿Qué es el álgebra relacional?

Es un conjunto de operaciones matemáticas definidas sobre el modelo de conjuntos que se acaba de resumir, que permite especificar formalmente consultas a bases de datos relacionales.

¿Por qué estudiar el álgebra relacional?

Para comprender con más precisión lo que hacen los lenguajes de consulta como SQL.

El álgebra relacional es un conjunto de operaciones

El álgebra relacional se define como un conjunto de operaciones. Una característica importante de todas las operaciones del álgebra relacional es que tanto los operandos como el resultado son relaciones. Esta propiedad se denomina cierre (o clausura) relacional. Esto tiene dos consecuencias evidentes pero importantes:

1. El resultado de una operación puede utilizarse como operando en otra.

2. El resultado de una operación es una relación con todas las características del modelo relacional: no puede haber tuplas repetidas, las tuplas no están ordenadas, etc.

Dado que en muchas ocasiones trabajaremos con los resultados de operaciones como operandos de otras, es conveniente poder dar nombres a los resultados de ciertas operaciones. Esta es la operación de redenominación (:=). Es simplemente lo siguiente:

R:=expr

Con esto expresamos que el resultado de la expresión de álgebra relacional expr (que es una relación en toda regla) pasaremos a llamarla R. También es útil redenominar los atributos de una relación, con la misma notación:

R(A1 , A2, ... , An):= S(B1, B2, ... , Bn)

Lógicamente, cada atributo Bi tendrá que estar definido sobre el mismo dominio que Ai. Para ver las operaciones las dividiremos en dos grupos, las específicamente relacionales y las que son típicas de la teoría de conjuntos.En el lenguaje SQL se pueden redenominar atributos mediante la cláusula AS. Por ejemplo:

SELECT "grado-experimentalidad", nombre as denominacion

FROM DEPARTAMENTOS

Operaciones específicamente relacionales

La proyección permite elegir algunos atributos

La operación de proyección permite seleccionar algunos atributos de una relación (sea ésta una relación o el resultado de otras operaciones). Formalmente, dada una relación R(A1, A2, ... , An), y un subconjutno de atributos de esa relación (Ai, Aj, ..., Ak), la proyección sobre esos atributos se denota como R(Ai, Aj, ..., Ak), y contiene las partes de las tuplas con los valores de los atributos proyectados.Es importante notar lo siguiente en las proyecciones:Como el resultado de cualquier operación de álgebra relacional es una relación, las tuplas repetidas en el resultado de la proyección se eliminarán. El orden de los atributos en la proyección no tiene que ser el mismo que en la relación original.La operación de proyección en el lenguaje de consulta SQL se realiza simplemente especificando el subconjunto de atributos en la cláusula SELECT.

SELECT Ai, Aj, ..., Ak FROM R

Por ejemplo, si tuviésemos la siguiente extensión de la tabla PROFESORES:Tabla 1

********************

La siguiente sentencia SELECT hace una proyección del nombre y los apellidos.

SELECT nombre, apellidos FROM PROFESORES

Es importante notar que la siguiente sentencia no devolvería una relación, ya que tendría dos tuplas repetidas.

SELECT nombre FROM profesores

Para asegurar que el resultado es una relación en el sentido matemático, hay que utilizar el modificador DISTINCT.

...

Descargar como (para miembros actualizados) txt (11 Kb)
Leer 8 páginas más »
Disponible sólo en Clubensayos.com