Está en la página 1de 9

ÁLGEBRA RELACIONAL

Y CÁLCULO
RELACIONAL.
Emmanuel Alejandro Olvera León

FUNDAMENTOS DE BASES DE DATOS


ITESHU------ 4 SMESTRE ---- GRUPO 1
Contenido
Introducción.......................................................................................................................................2
Algebra Relacional..............................................................................................................................2
Operaciones unarias.......................................................................................................................2
Operaciones binarias......................................................................................................................2
Selección....................................................................................................................................3
Proyección..................................................................................................................................3
Producto Cartesiano...................................................................................................................3
Unión..........................................................................................................................................4
Intersección................................................................................................................................4
Diferencia...................................................................................................................................4
JOIN............................................................................................................................................5
División.......................................................................................................................................6
Diferencias.........................................................................................................................................6
Conclusión..........................................................................................................................................7
Referencias.........................................................................................................................................7
Introducción
El Álgebra Relacional es una notación algebraica, en la cual las consultas se expresan aplicando
operadores especializados a las relaciones. En cuanto al Cálculo Relacional es una notación lógica,
donde las consultas se expresan formulando algunas restricciones lógicas que las tuplas de la
respuesta deban satisfacer.

Algebra Relacional
El Algebra relacional es un lenguaje de consulta procedural. Consta de un conjunto de
operaciones que toman como entrada una o dos relaciones y producen como resultado una
nueva relación, por lo tanto, es posible anidar y combinar operadores. Hay ocho operadores en el
álgebra relacional que construyen relaciones y manipulan datos.

Las operaciones fundamentales del álgebra relacional son:

1. Selección
2. Proyección
3. Producto
4. Unión
5. Intersección
6. Diferencia
7. JOIN
8. División

Estas operaciones toman relaciones como operandos y regresan relaciones que a su vez pueden
ser manipuladas.

Operaciones unarias
Operan sobre una relación

 Selección
 Proyección
 Renombramiento

Operaciones binarias
Operan sobre pares de relaciones

 Unión
 Diferencia de conjuntos
 Producto cartesiano

Selección
Selecciona tuplas que satisfacen un predicado dado

Se utiliza la letra griega sigma minúscula (σ) para denotar la selección.

Ejemplo
σ nombre-sucursal = «Navacerrada» (préstamo) σ importe>1200 (préstamo)
Proyección
Es una operación unaria que devuelve una relación de argumentos, excluyendo algunos.

Dado que las relaciones son conjuntos, se eliminan todas las filas duplicadas.

La proyección se denota por la letra griega mayúscula pi (Π).

Ejemplo

La consulta para crear una lista de todos los números de préstamo y del importe de los mismos:

Π número-préstamo, importe (préstamo).

Producto Cartesiano
Notación: R × S

Permite combinar información de cualquier par de relaciones.

R × S = {tq|t ∈ r and q ∈ s}.

Si R y S tienen atributos en común es necesario renombrarlos. Para evitar ambigüedades se


precede el nombre del atributo con el nombre de la relación.

Ejemplo

Unión
Permite obtener la Unión de dos relaciones tomadas como conjuntos de tuplas.
Sintaxis:

(<Relación>) U (<relación>)

Donde:

Relación es una relación o expresión relacional.

Ejemplo

Sean R y S dos relaciones con igual esquema

(o compatible).

La operación:

(R υ S)

Da como resultado otra relación: Cuyo esquema es igual al de R (y S), y que tiene como conjunto
de tuplas a la unión de las de R y las de S.

Intersección
Sean R y S dos relaciones con igual esquema

(O compatible).

La operación:

(R ∩ S)

Da como resultado otra relación:

Cuyo esquema es igual al de R (y S), Y que tiene como conjunto de tuplas a la Intersección de las
de R y las de S.

Diferencia
Descripción General: Permite obtener la Diferencia de dos relaciones tomadas como conjuntos de
tuplas.

Sintaxis:

(<Relación>) - (<relación>)

Donde:

Relación es una relación o expresión relacional.

Ejemplo

Sean R y S dos relaciones con igual esquema

(o compatible).
La operación:

(R - S)

Da como resultado otra relación: cuyo esquema es igual al de R (y S), y que tiene como conjunto
de tuplas a la resta de las de R menos las de S.

JOIN
Descripción General:

Permite combinar tuplas de dos relaciones a través de una condición sobre los atributos.

Corresponde a una selección sobre el Prod. Cartesiano de las relaciones.

Sintaxis:

(<Relación>) |><| <Condición> (<relación>)

ϴ−Join

ϴ−Join. Sean R y S dos relaciones, la operación

R |><|condición S

Es equivalente a realizar: σ condición (R x S)

¿Cómo se ejecuta el Join?

Cuando se realiza un Join entre dos relaciones (R y S), cada vez que una tupla de R y otra de S
cumplen la condición del join, se genera una tupla en el resultado.

Para que se genere una tupla en el resultado alcanza con que exista una tupla en R y otra en S que
se "conecten" por la condición del Join.

Ejemplos:

1). Dar los nombres de fabricantes y la descripción de los productos que vende.

π nombre, desc ( ( FABS * VENTAS ) * PRODS)

2). Dar descripción y precio de productos vendidos por Juan.

π desc, precio ((σ nombre= 'Juan'(FABS) * VENTAS ) * PRODS )

División

Sean R y S dos relaciones con esquemas


(A1,...,An,B1,...,Bm) y (B1,...,Bm) respectivamente.

La operación

R÷S

Da como resultado otra relación con esquema

(A1,..., An)

Y su contenido es:

Las tuplas tomadas a partir de las de r(R) tales que su valor

(a1,...,an) está asociado en r(R) con TODOS los valores (b1,...,bm ) que están en s(S).

Calculo Relacional
El Cálculo relacional es un lenguaje de consulta que describe la respuesta deseada sobre una Base
de datos sin especificar como obtenerla

El cálculo relacional es de tipo declarativo; pero siempre ambos métodos logran los mismos
resultados.

El cálculo relacional usa un enfoque completamente diferente al álgebra relacional. No obstante,


los dos lenguajes son lógicamente equivalentes. Esto significa que cualquier consulta que pueda
resolverse en un lenguaje puede resolverse en el otro. La solución para toda consulta en este tipo
de cálculo se define por:

Una lista de resultados


La lista de resultados está clara, son aquellos registros que cumplen las condiciones que deseamos

Una sentencia de cualificación


La sentencia de cualificación contiene las condiciones que deseamos que cumplan los registros de
la lista de resultados.

El cálculo relacional incluye un concepto nuevo denominado cuantificador, los cuantificadores


tratan de averiguar el número de registros afectados por una determinada operación, incluso
antes de realizarla. Según su naturaleza los podemos dividir en dos grupos:

Cuantificadores existenciales
Son aquellos que tratan de averiguar el número de registros que devolvería un tipo de consulta.
Por ejemplo: saber el número de clientes de Madrid que han comprado el producto 2015

Cuantificadores universales
Son aquellos que indican que una condición se aplica a todas las filas de algún tipo. Se usa para
brindar la misma capacidad que la operación división del álgebra relacional.
VARIABLES
Una variable es un nombre asociado a un elemento de datos que está situado en posiciones
contiguas de la memoria principal, y su valor puede cambiar durante la ejecución de un programa.

Toda variable pertenece a un tipo de dato concreto. En la declaración de una variable se debe
indicar el tipo al que pertenece. Así tendremos variables enteras, reales, booleanas, etc. Por otro
lado, distinguimos tres partes fundamentales en la vida de una variable:

 Declaración
 Iniciación
 Utilización

CONSTANTES
Una constante es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe
un valor en el momento de la compilación y este permanece inalterado durante todo el programa.

TIPOS DE CÁLCULO RELACIONAL


Cálculo relacional orientado a tuplas
Se procesan tuplas de una o más relaciones SQL orientado a la tupla utilizando nombres de
relación y etiquetas como variables de tupla.

Cálculo relacional orientado a los dominios


 Variables de tupla se reemplazan por variables de dominio Se procesan dominios que alcanzan
una o más relaciones.

Diferencias

La diferencia básica entre el Álgebra Relacional y el Cálculo Relacional es que el Álgebra Relacional
es un lenguaje de procedimiento, mientras que el Cálculo Relacional no es de procedimiento, es
un lenguaje declarativo.

El Álgebra Relacional define cómo obtener el resultado, mientras que el Cálculo Relacional define
qué información debe contener el resultado.

Álgebra relacional especifica la secuencia en la que se deben realizar las operaciones en la


consulta. Por otro lado, el cálculo relacional no especifica la secuencia de operaciones a realizar en
la consulta.

El Álgebra Relacional no es dependiente del dominio, mientras que el Cálculo Relacional puede
depender del dominio, ya que tenemos Cálculo Relacional del Dominio.
El lenguaje de consulta de Álgebra Relacional está estrechamente relacionado con el lenguaje de
programación, mientras que el Cálculo Relacional está estrechamente relacionado con el Lenguaje
Natural.

Conclusión
El álgebra relacional y el cálculo relacional son los lenguajes de consulta formales para un modelo
relacional. Ambos forman la base para el lenguaje SQL que se usa en la mayoría de los DBMS
relacionales.

El álgebra relacional y el cálculo relacional tienen un poder expresivo equivalente. La principal


diferencia entre ellos es que el Álgebra Relacional especifica cómo recuperar datos y el Cálculo
Relacional define qué datos se recuperarán.

Referencias

http://basdatos.tripod.com/algebra.html

http://clasesbasedatos1.blogspot.com/2016/05/calculo-relacional.html

También podría gustarte