• No se han encontrado resultados

Unidad v Algebra Relacional

N/A
N/A
Protected

Academic year: 2021

Share "Unidad v Algebra Relacional"

Copied!
16
0
0

Texto completo

(1)

UNIDAD 5 ALGEBRA RELACIONAL

UNIDAD 5 ALGEBRA RELACIONAL

5.1 Operaciones fundamentales del algebra relacional. 5.1 Operaciones fundamentales del algebra relacional. 5.2 Otras operaciones del algebra relacional.

5.2 Otras operaciones del algebra relacional. 5.3 Algebra relacional extendida.

5.3 Algebra relacional extendida. 5.4 Valores nulos.

5.4 Valores nulos.

5.5 Operaciones de modificación a la base de datos. 5.5 Operaciones de modificación a la base de datos.

(2)

El Modelo Relacional .

El modelo relacional, como todo modelo de datos, tiene que ver con tres aspectos de los datos:

Estructura de datos. Integridad de datos. Manejo de datos.

(3)

 3.2 Álgebra Relacional.

El álgebra relacional es un lenguaje formal con una serie de operadores que trabajan sobre una o varias relaciones para obtener otra relación resultado, sin que cambien las relaciones originales. Tanto los operandos como los resultados son relaciones, por lo que la salida de una operación puede ser la entrada de otra operación. Esto permite anidar expresiones del álgebra, del mismo modo que se pueden anidar las expresiones aritméticas. A esta propiedad se le denomina clausura :

las relaciones son cerradas bajo el álgebra, del mismo modo que los números son cerrados bajo las operaciones aritméticas.

(4)

 De los ocho operadores, sólo hay cinco que son

fundamentales: selección, proyección , producto  cartesiano , unión  y diferencia , que permiten realizar la

mayoría de las operaciones de obtención de datos. Los operadores no fundamentales son la concatenación  (join), la intersección  y la división , que se pueden

expresar a partir de los cinco operadores fundamentales.

 La selección y la proyección son operaciones unarias 

porque operan sobre una sola relación. El resto de las operaciones son binarias  porque trabajan sobre pares

de relaciones. En las definiciones que se presentan a continuación, se supone que R y S son dos relaciones cuyos atributos son A=(a , a , ..., a ) y B=(b , b , ..., b ) respectivamente.

(5)

 Selección

La

selección 

, opera sobre una sola relación R

y da como resultado otra relación cuyas

tuplas son las tuplas de R que satisfacen la

condición especificada. Esta condición es una

comparación en la que aparece al menos un

atributo de R, o una combinación booleana de

varias de estas comparaciones. Se utiliza la

(6)

En

general,

se

permiten

las

comparaciones que utilizan =,

≠,

<,

≤,

> o

en el predicado de selección.

 Además, se pueden combinar varios

predicados en uno mayor utilizando

las conectivas

(

Λ

) y

(

ν

).

(7)

 Por tanto,para seleccionar las tuplas de la relación préstamo en que

la sucursal es «Banco X» hay que escribir:

σnombre-sucursal = «Banco X» (préstamo )

 Se pueden buscar todas las tuplas en las que el importe prestado

sea mayor que 1,200 escribiendo:

σimporte> 1,200 (préstamo )

Para encontrar las tuplas correspondientes a préstamos de más de 1.200 concedidos por la sucursal de Banco X, se escribe:

(8)

 Proyección

La proyección opera sobre una sola relación R y da

como resultado otra relación que contiene un

subconjunto vertical de R, extrayendo los valores

de los atributos especificados y eliminando

duplicados. Se utiliza la letra mayuscula griega

Π

.

Ejemplo: La consulta para crear una lista de todos los

números de préstamo y del importe de los mismos puede escribirse como:

(9)

 Producto Cartesiano

El producto cartesiano obtiene una

relación

cuyas

tuplas

están

formadas por la concatenación de

todas las tuplas de R con todas las

tuplas de S.

 La restricción y la proyección son operaciones que permiten extraer información de

una sola relación. Habrá casos en que sea necesario combinar la información de varias relaciones. El producto cartesiano ``multiplica" dos relaciones, definiendo una nueva relación que tiene todos los pares posibles de tuplas de las dos relaciones. Si la relación R tiene tuplas y atributos y la relación S tiene tuplas y atributos, la relación resultado tendrá tuplas y atributos. Ya que es posible que haya atributos con el mismo nombre en las dos relaciones, el nombre de la relación se antepondrá al del atributo en este caso para que los nombres de los atributos sigan siendo únicos en la relación resultado.

(10)

 Ejemplo: Supóngase que se desea averiguar los nombres de todos

los clientes que tienen concedido un préstamo en la sucursal de Navacerrada. Se escribe:

(11)

 Unión

 La unión de dos relaciones R y S, con y tuplas respectivamente, es otra relación que tiene como mucho tuplas siendo éstas las tuplas que se encuentran en R o en S o en ambas relaciones a la vez. Para poder realizar esta operación, R y S deben ser compatibles para la unión.

 Se dice que dos relaciones son compatibles para la unión si ambas tienen la misma cabecera, es

decir, si tienen el mismo número de atributos y éstos se encuentran definidos sobre los mismos dominios. En muchas ocasiones será necesario realizar proyecciones para hacer que dos relaciones sean compatibles para la unión.

Simboloυ.

 Ejemplo: Mostrar todos los nombres de clientes que aparecen en alguna de las dos relaciones o

en ambas.

(12)

una operación unión

r U  s 

sea válida hay

que exigir que se cumplan dos

condiciones:

1. Las relaciones

y

deben ser de la

misma aridad. Es decir, deben tener el

mismo número de atributos.

2. Los dominios de los atributos

-ésimos de

y de

deben ser iguales para todo

.

(13)

 Diferencia

La diferencia obtiene una relación que tiene

las tuplas que se encuentran en r y no se

encuentran en s. Para realizar esta

operación, r y s deben ser compatibles para

la unión.

Simbolo utilizado (-).

Ejemplo: Se pueden buscar todos los clientes

del banco que tienen abierta una cuenta pero

no

tienen

concedido

ningún

préstamo

escribiendo

(14)

Lenguajes procedimentales

En los

lenguajes procedimentales

el

usuario instruye al sistema para que lleve

a cabo una serie de operaciones en la

base de datos para calcular el resultado

deseado.

En

los

lenguajes

no

procedimentales

el usuario describe la

información

deseada

sin

dar

un

procedimiento concreto para obtener esa

información.

(15)

La mayor parte de los sistemas comerciales de

bases de datos relacionales ofrecen un lenguaje

de consulta que incluye elementos de los

enfoques procedimental y no procedimental.

los lenguajes «puros»:

el álgebra relacional es procedimental, mientras

que el cálculo relacional de tuplas y el de

dominios son no procedimentales.

(16)

Fundamentos de Bases de Datos Abraham Silberschatz, Henry F. Korth, S. Sudarshan, Quinta edición, Editorial McGraw Hill.

Bibliografía

Referencias

Documento similar