Sunteți pe pagina 1din 9

Asignatura de Bases de Datos

Tema 5 Algebra Relacional


Pedro Pablo Alarcn Cavero
Departamento de O.E.I. Escuela Universitaria de Informtica Universidad Politcnica de Madrid

lgebra Relacional
n

Introduccin
n

Lenguajes de acceso en BDR


n n

lgebra Relacional
n n n

Lenguaje procedimental (se indica qu y cmo obtenerlo) Lenguaje no procedimental (se indica qu pero no cmo obtenerlo) Dos tipos n Orientado a Tuplas n Orientado a Dominios

Clculo Relacional

n n

lgebra y Clculo Relacional son equivalentes en poder expresivo Lenguajes de Usuario


n n

SQL (Structured Query Language), basado en lgebra relacional QBE (Query By Example), basado en clculo relacional
Bases de Datos

2002 P.P. Alarcn

lgebra Relacional
n

Definicin
n

Conjunto cerrado de operaciones


n n n

Actan sobre relaciones Producen relaciones como resultados Pueden combinarse para construir expresiones ms complejas
n

Operadores Bsicos
n n n n n

Operadores Derivados
n n n n

Unin Diferencia Producto Cartesiano Seleccin Proyeccin


n n n

Interseccin Join Divisin Asociacin

Son operacionalmente completos, permiten expresar cualquier consulta a una BDR

No aaden nada nuevo Se forman combinando los operadores bsicos Son tiles en determinadas consultas 3

2002 P.P. Alarcn

Bases de Datos

Unin
n

R S
n

La unin de dos relaciones R y S, es otra relacin que contiene las tuplas que estn en R, o en S, o en ambas, eliminndose las tuplas duplicadas R y S deben ser unin-compatible, es decir, definidas sobre el mismo conjunto de atributos
Jefes Ingenieros Jefes

Ingenieros

E# Nombre Edad 320 Jos 34 322 Rosa 37 323 Mara 25

E# Nombre Edad 320 Jos 34 421 Jorge 48

E# Nombre Edad 320 Jos 34 322 Rosa 37 Mara 25 421 Jorge 48

2002 P.P. Alarcn

Bases de Datos

Diferencia
n

R-S
n

La diferencia de dos relaciones R y S, es otra relacin que contiene las tuplas que estn en la relacin R, pero no estn en S R y S deben ser unin-compatible
Ingenieros - Jefes Jefes

Ingenieros

E# Nombre Edad 320 Jos 34 322 Rosa 37 323 Mara 25

E# Nombre Edad 320 Jos 34 421 Jorge 48

E# Nombre Edad 322 Rosa 37 Mara 25


Jefes - Ingenieros

E# Nombre Edad 421 Jorge 48


2002 P.P. Alarcn Bases de Datos

Producto Cartesiano
n

RxS
n

Define una relacin que es la concatenacin de cada una de las filas de la relacin R con cada una de las filas de la relacin S
Ingenieros X Proyectos

Ingenieros

E# Nombre D# 320 Jos D1 322 Rosa D3


Proyectos

Departamentos

E# 320 320 322

Nombre Jos Jos Rosa Rosa

D# D1 D1 D3 D3

Proyecto Tiempo RX338A 21 PY254Z 32 RX338A 21 PY254Z 32

Proyecto Tiempo RX338A 21 PY254Z 32

D# Descrip D1 Central D3 I+D

Ingenieros X Departamentos

E# Nombre D# DD Descrip 320 Jos D1 D1 Central 320 Jos D1 D3 I+D 322 Rosa D3 D1 Central Rosa D3 D3 I+D
Bases de Datos

2002 P.P. Alarcn

Seleccin
n

predicado (R)
n n

Es un operador unario Define una relacin con los mimos atributos que R y que contiene solo aquellas filas de R que satisfacen la condicin especificada (predicado)
edad>=35 (Ingenieros) edad>=45 (Ingenieros)

Ingenieros

E# Nombre Edad 320 Jos 34 322 Rosa 37 323 Mara 25

E# Nombre Edad 322 Rosa 37

E# Nombre Edad

2002 P.P. Alarcn

Bases de Datos

Proyeccin
n

col1, . . . , coln(R) n Es un operador unario n Define una relacin que contiene un subconjunto vertical de R con los valores de los atributos especificados, eliminando filas duplicadas en el resultado
Ingenieros

Nombre,Edad (Ingenieros)
Nombre Edad Jos 34 Rosa 37 Mara 25 Jos 29

Nombre(Ingenieros)
Nombre Jos Rosa Mara

E# Nombre Edad 320 Jos 34 322 Rosa 37 Mara 25 Jos 29

2002 P.P. Alarcn

Bases de Datos

Interseccin
n

R S
n

n n

Define una relacin que contiene el conjunto de todas las filas que estn tanto en la relacin R como en S R y S deben ser unin-compatible Equivalencia con operadores bsicos
R S = R (R S)
Jefes Ingenieros Jefes

Ingenieros

E# Nombre Edad 320 Jos 34 322 Rosa 37 323 Mara 25

E# Nombre Edad 320 Jos 34 421 Jorge 48

E# Nombre Edad 320 Jos 34

2002 P.P. Alarcn

Bases de Datos

Divisin o Cociente
n

R S
n

Define una relacin sobre el conjunto de atributos C, incluido en la relacin R, y que contiene el conjunto de valores de C, que en las tuplas de R estn combinadas con cada una de las tuplas de S Condiciones
n n

grado(R) > grado (S) conjunto atributos de S conjunto de atributos de R X1 = C(R); X2 = C((S X X1) R);
R2

Equivalencia con operadores bsicos


X = X1 X2
R1

R1

E# 320 320 323 324

Proyecto RX338A PY254Z RX338A NC168T PY254Z PY254Z NC168T

Proyecto RX338A PY254Z

R2

E# 320 323

2002 P.P. Alarcn

Bases de Datos

10

Join
n

Unin Natural (Natural Join)


n

R
n

S R*S El resultado es una relacin con los atributos de ambas relaciones y se obtiene combinando las tuplas de ambas relaciones que tengan el mismo valor en los atributos comunes Normalmente la operacin de join se realiza entre los atributos comunes de dos tablas que corresponden a la clave primaria de una tabla y la clave fornea correspondiente de la otra tabla Mtodo
n n

Se realiza el producto cartesiano R x S Se seleccionan aquellas filas del producto cartesiano para las que los atributos comunes tengan el mismo valor Se elimina del resultado una ocurrencia (columna) de cada uno de los atributos comunes

Equivalencia con operadores bsicos

R
2002 P.P. Alarcn

S = F(R S)
Bases de Datos

11

Join
n

Outer Join
n

Es una variante del Join en la que se intenta mantener toda la informacin de los operandos, incluso para aquellas filas que no participan en el Join Se rellenan con nulos las tuplas que no tienen correspondencia en el Join Tres variantes
n

Left
n

se tienen en cuenta todas las filas del primer operando se tienen en cuenta todas las filas del segundo operando se tienen en cuenta todas las filas de ambos operandos
Bases de Datos

Right
n

Full
n

2002 P.P. Alarcn

12

Join
R1 * LEFT R2 R1 R2

E# Nombre D# 320 Jos D1 322 Rosa D3 Mara D3 Jos D5

D# D1 D3 D4

Descrip Central I+D Ventas

E# 320 322 E# 322 null E# 320 322 null

Nombre Jos Rosa Mara Jos Nombre Jos Rosa Mara null Nombre Jos Rosa Mara Jos null

D# D1 D3 D3 D5

Descrip Central I+D I+D null

R1 * RIGHT R2

R1 * R2

D# Descrip D1 Central D3 I+D D3 I+D D4 Ventas D# Descrip D1 Central D3 I+D D3 I+D D5 null D4 Ventas
13

E# Nombre D# Descrip 320 Jos D1 Central 322 Rosa D3 I+D Mara D3 I+D

R1 * FULL R2

2002 P.P. Alarcn

Bases de Datos

Asociacin
n

Asociacin o Theta Join (-Join)


n

R
n

R*FS Define una relacin que contiene las tuplas que satisfacen el predicado F en el producto cartesiano de R y S El predicado F es de la forma R.ai S.bi donde representa un operador de comparacin (<, , >, , =, ) El predicado no tiene por que definirse sobre atributos comunes Equivalencia con operadores bsicos
F

R
n

S = F(R S)

Equijoin
n

Si el predicado F contiene nicamente el operador de igualdad

2002 P.P. Alarcn

Bases de Datos

14

Ejemplos
Asignaturas
CodA NombreA
1 2 3 Program. Dibujo Ingls

Notas
Precio
15000 20000 18000

Nmat CodA Conv


0338 0254 0168 0338 1 2 2 2 3 1 1 3 Feb 02 Feb 02 Feb 02 Feb 02 Jun 02 Jun 02 Jun 02 Jun 02

Nota
8 5 3 5 7 6 9 5

Alumnos
Nmat Nombre Apellidos
0338 0254 0168 Ana Rosa Juan Prez Gmez Lpez Lpez Garca Garca

Domicilio
C / Julio n 96 C/ Verano s/n C/ Playa n 1

Telefono
1112233 1113344 1114455

0338 0254 0168 0168

2002 P.P. Alarcn

Bases de Datos

15

Ejemplo 1
n

Obtener los apellidos y telfono de los alumnos de nombre Rosa apellidos, telefono (nombre=Rosa(Alumnos))
Apellidos
Lpez Lpez

Telefono
1113344

Obtener las notas obtenidas en la asignatura de Ingls nombre, apellidos, nota (nombreA=Ingles(Alumnos*Notas*Asignaturas))
Nombre
Ana Juan

Apellidos
Prez Gmez Garca Garca
Bases de Datos

Nota
7 5 16

2002 P.P. Alarcn

Ejemplo 1
n

Obtener los alumnos que figuren matriculados en todas las asignaturas Nmat,codA (Notas) codA (Asignaturas)
Nmat
0338

nombre, apellidos , (Alumnos * (Nmat,codA (Notas) codA (Asignaturas)))


Nombre
Ana

Apellidos
Prez Gmez

2002 P.P. Alarcn

Bases de Datos

17

Ejemplo 1
n

Obtener los alumnos que figuren matriculados en las asignaturas de Ingls y Dibujo Nmat (nombreA=Ingles (Asignaturas) * Alumnos) Nmat (nombreA=Dibujo (Asignaturas) * Alumnos)
Nmat
0338 0168

Obtener los alumnos que no han suspendido ninguna asignatura Nmat (nota>=5 (Notas)) - Nmat (nota<5 (Notas))
Nmat
0338 0254

2002 P.P. Alarcn

Bases de Datos

18

S-ar putea să vă placă și