Está en la página 1de 6

Algebra Relacional

U N A R I A S B I N A R I A S

Seleccin (tuplas) Proyeccin (atributos) Renombramiento Unin U Diferencia de conjuntos Producto cartesiano x

Operaciones fundamentales

AR consulta de

es

Un lenguaje de consulta procedimental

Un conjunto de operaciones Ejemplos.Prstamo nmero-cuenta C-101 C-102 C-201 C-215 C-217 C-222 C-305

toman

Una o dos relaciones

NUEVA RELACIN

nombre-sucursal Centro Navacerrada Galapagar Becerril Galapagar Moralzarzal Collado Mediano

saldo 500 400 900 700 750 700 350

Tupla 1. nmero-cuenta(Prstamo)=C-101 numero-cuenta,saldo(Prstamo)=C-101,500 Ejercicios.Cuentahabiente nombre-cliente Abril Gmez Gonzlez Lpez Prez

nmero-cuenta C-102 C-101 C-201 C-222 C-215

Santos Gonzlez Prstamos nombre-cliente Fernndez Gmez Gmez Lpez Snchez Santos Sotoca Valdevieso

C-305 C-217

nmero-prstamo P-16 P-93 P-15 P-14 P-17 P-11 P-23 P-17

Consultar los nmeros de cuenta de la sucursal Galapagar. nmero-cuenta(nombre-sucursal=Galapagar(Prstamo)) nmero-cuenta C-102 C-217 saldo=400(Prstamo) Consultar los nombre de los clientes que tiene una cuenta en el banco. nombre-cliente(Cuentahabiente) Consultar los nombre de los clientes que tiene un prstamo. nombre-cliente(Prstamos) Consultar los nombres de los clientes que tiene una cuenta en el banco y/o un prstamo. nombre-cliente(Cuentahabiente) U nombre-cliente(Prstamos) nombre-cliente Abril Gmez Gonzlez Lpez Prez Santos Gonzlez

Fernndez Snchez Sotoca Valdivieso Consultar los nombres de los clientes que tienen prstamo pero que no tienen cuenta. nombre-cliente(Prstamos)- nombre-cliente(Cuentahabiente) nombre-cliente Fernndez Snchez Sotoca Valdivieso Sucursal nmero-sucursal nmero-prstamo importe Prstamos x Sucursal nombre-cliente Prstamos.nmero-prstamo Fernndez P-17 Fernndez P-17 Fernndez P-17 04 02 07 P-15 P-10 P-17 5000 10000 30000

nmero-sucursal 04 02 07

Sucursal.nmero-prstamo P-15 P-10 P-17

importe 5000 10000 30000

Pelcula (Ttulo, ao, longitud, tipo, Estudio) Actor (Ttulo, ao, Nombre-actor) Consulta de las pelculas cuya longitud sea >=100. longitud>=100(Pelcula)

Ejemplo: Listar las sucursales cuya ciudad sea Aluche. ciudad_sucursal=Aluche(Sucursal)

Consulta del nombre de los actores que trabajan en pelculas con duracin >=100. Nombre-actor(longitud<=100(Pelcula x Actor)) Producto cartesiano n * m tuplas donde n es el nmero de tuplas de E1

m es el nmero de tuplas de E2 |X| reunin nautal

Clculo relacional de tuplas


{t | P(t)} Ejemplos: Prstamo nmero-prstamo P-11 P-14 P-15 P-16 P-17 P-23 P-93

nombre-sucursal Collado Mediano Centro Navacerrada Navacerrada Centro Moralzarzal Becerril

importe 900 1500 1500 1300 1000 2000 500

Seleccin de la relacin Prstamo donde importe = 1500. {t | t Prstamo ^ t[importe]=1500} importe=1500(Prstamo) Seleccin de la relacin Prstamo donde nombre-sucursal = Navacerrada. {t | t Prstamo ^ t[nombre-sucursal]=Navacerrada} nombre-sucursal=Navacerrada(Prstamo) Slo un atributo t r (Q(t))

Ejemplos: El nmero-prstamo de todos los prstamos con importe > 1200. {t | s Prstamo (t[nmero-prstamo]=s[nmero-prstamo] ^ s[importe]>1200)} Prestatario nombre-cliente Fernndez Gmez Gmez Lpez Snchez Santos Sotoca

nmero-prstamo P-16 P-93 P-15 P-14 P-17 P-11 P-23

Valdevieso

P-17

Todos los prstamos nombre-sucursal=Navacerrada. {t | t Prstamo ^ t[nombre-sucursal]=Navacerrada} nmero-prstamo donde nombre-sucursal=Navacerrada. {t | s Prstamo (t[nmero-prstamo]=s[nmero-prstamo] ^ s[nombre-sucursal]=Navacerrada)} Nombre del cliente con nmero-prstamo=P-15. {t | s Prestatario (t[nombre-cliente]=s[nombre-cliente] ^ s[nmero-prstamo]=P-15)} Nombre de los clientes que tienen prstamo en nombre-sucursal=Navacerrada. {t | s Prestatario (t[nombre-cliente]=s[nombre-cliente] ^ u Prstamo (s[nmero-prstamo]=u[nmero-prstamo] ^ u[nombre-sucursal]=Navacerrada))}

Clculo relacional de dominios


{< x1, x2, , xn > | P(x1, x2, , xn)} Ejemplo: Empleado (nombre, sueldo, cod_dept, fecha_ing) nmero-prstamo de los prstamos con importe>1200. {<p> | s (<p, s, i> Prstamo ^ i>1200)} Obtener nombre, sueldo, cod_dept y fecha de ingreso de todos los empleados del departamento de Contabilidad (04). {<n, s, c, f> | <n, s, c, f> Empleado ^ c=04} Obtener nombre y fecha de ingreso de todos los empleados del departamento de contabilidad. {<n, f> | <n, f> s, c (<n, s, c, f> Empleado ^ c=04)}

Dependencias funcionales
Hacen referencia entre un buen diseo y un mal diseo de BD. Son restricciones del conjunto de relaciones Se escribe: x y A a1 B b1 C c1 D d1

a1 a2 a2 a3

b2 b2 b3 b3

c1 c2 c2 c2

d2 d2 d3 d4

Se satisface la dependencia funcional: A C No satisface la dependencia funcional: C A t1[C]=t2[C] y t1[A]t2[A] La dependencia funcional: Se CUMPLE si para todos los pares de tuplas t 1 y t2 tales que t1[]=t2[]

También podría gustarte