Você está na página 1de 23

Calculo relacional

Es un lenguaje de consulta de tipo declarativo. Describe la informacin deseada sin dar un procedimiento concreto para obtenerla. {t|P(t)}
Es decir, es el conjunto de tuplas t tales que el predicado P es cierto para t.

Se usa P[A] donde A es un atributo y t r para denotar que la tupla t est en la relacin r.

Se llama unin de dos conjuntos A y B al conjunto formado por objetos que son elementos de A o de B, es decir: A U B = { x | x A V x B}. Se llama interseccin de dos conjuntos A y B al conjunto formado por objetos que son elementos de A y de B, es decir: A B = { x | x A x B}.

Ejemplo: Sucursal={nombsuc,ciudad,capital} Cliente={nombcte, callecte,cdcte} Prestamo={noprestamo,nombsuc,importe} Cteprestamo={nombcte,noprestamo} Cuenta={numcta,nombsuc,saldo} Clientecta={nombcte,numcta}

Determinar a partir de calculo relacional El nombre de sucursal,no de prestamo e importe de los prestamos de mas de 1200
{t| s prestamo(t[numprest]=s[numprest] s [importe] > 1200)}

Otro ejemplo, determinar el nocta, donde los saldos sean menor a 20000
{t| s cuenta(t[nocta]=s[nocta] s [saldo] < 20000)}

Determinar el nombre de todos los clientes que tienen un prstamo en la sucursal Coyoacan. Se necesita prestamo y cteprestamo. {t | s cteprestamo(t[nombcte]=s[nombcte] u
prestamo(u[noprestamo]=s[noprestamo] u [nombsuc]=Coyoacan))}

Todos los clientes del banco que tienen un prestamo, una cuenta o ambos. {t | s cteprestamo(t [nombcte] = s[nombcte]) V | u ctecuenta
(t[nombcte]=u[nombcte])} Si slo queremos conocer los clientes que tienen una cuenta como un prestamo solo hay que cambiar por una

{t | s cteprestamo(t [nombcte] = s[nombcte]) | u ctecuenta


(t[nombcte]=u[nombcte])}

Determinar todos los clientes que tienen una cuenta abierta en el banco pero no tienen ningn prstamo.

Algebra Relacional

Algbra Relacional
La operaciones de lgebra relacional manipulan relaciones. Es decir de una o dos relaciones existentes se genera otra relacin. Se pueden operar tres operaciones fundamentales: Seleccin, proyeccin y producto cartesiano.

Seleccin
Consiste en la obtencin de una nueva tabla formada por algunas filas de otra tabla previamente existente. Se usa para aplicar una condicin a una relacin y obtener una nueva relacin que consiste de aquellas filas que satisfacen la condicin .

Seleccin ()
Permite seleccionar un subconjunto de tuplas de una relacin (R), todas aquellas que cumplan la(s) condicin(es) p, esto es:
P(R)

Una condicin puede ser una combinacin booleana, donde se pueden usar operadores como: U, combinndolos con operadores >,< ,=,<>,<=,>=

Proyeccin
Consiste en la obtencin de una nueva tabla formada por algunas columnas seleccionadas de otra previamente existente

Proyeccin
Permite extraer columnas de una relacin, dando como resultado un subconjunto vertical de atributos de la relacin, esto es: Donde A1, A2,,An son atributos de la relacin R .

Producto cartesiano
Consiste en la obtencin de una nueva tabla uniendo dos tablas ya existentes. La unin de registros se efecta si en ambas tablas coincide el contenido de cada una de ellas.

Producto Cartesiano
Considere dos relaciones A y B de dos columnas X, Y y W, Z respectivamente. A B X Y W Z 10 22 33 54 11 25 37 98 42 100

AXB
X 10 10 10 11 11 11 Y 22 22 22 25 25 25 W 33 37 42 33 37 42 Z 54 98 100 54 98 100

Unin
Esta operacin es el resultado de la tabla formada por la agregacin de dos tablas que ya existen. Las tablas con las que se ha de operar deben tener la misma estructura y los mismos nombres de columnas.

Interseccin
Esta operacin tiene como resultado la tabla formada por los registros comunes a las tablas que ya existen. Las tablas con las que se ha de operar deben tener la misma estructura y los mismos nombres de columnas.

Diferencia
Esta operacin tiene como resultado la tabla formada por los registros de una tabla ya creada que no figura en otra tabla tambin creada.

cliente {idcliente, nombcte, dircte, paiscte} vendedor { idvendedor, nomvendedor, oficina, comision} fabricante {idfabricante, nombfabr, dirfab, paisfab} producto { idproducto, idfabricante, descprod,costo,precio} venta { idcliente, idvendedor, idproducto, cantidad}

Seleccin
Dar toda la informacin de los vendedores en la oficina de Guadalajara (oficina=Guadalajara)vendedor Qu vendedor tiene ID=23? (idvendedor=23)vendedor Qu vendedores tienen una comisin menor o igual a 18%? (comision<=18)vendedor

Proyeccin
Nombre del vendedor, idvendedor de la tabla vendedor (nombrevendedor,idvendedor) vendedor Direccin y pas de los clientes (dirte,pais) cliente Nombre del vendedor con oficina en Guadalajara. (nombrevendedor) (oficina=Guadalajara)vendedor

Join
Adjuntar la informacin de las ventas a la informacin sobre los vendedores
(cliente.idvendedor=venta.idvendedor) (Vendedor x Venta)

Como se llama el cliente involucrado en cada venta?


(cliente.idcliente=venta.idcliente((nombvend))(Vendedor x Venta)

Você também pode gostar