Documente Academic
Documente Profesional
Documente Cultură
lgebra Relacional
n
Introduccin
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
SQL (Structured Query Language), basado en lgebra relacional QBE (Query By Example), basado en clculo relacional
Bases de Datos
lgebra Relacional
n
Definicin
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
No aaden nada nuevo Se forman combinando los operadores bsicos Son tiles en determinadas consultas 3
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
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
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
Departamentos
D# D1 D1 D3 D3
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
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
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
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
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
R1
R2
E# 320 323
Bases de Datos
10
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
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
12
Join
R1 * LEFT R2 R1 R2
D# D1 D3 D4
Nombre Jos Rosa Mara Jos Nombre Jos Rosa Mara null Nombre Jos Rosa Mara Jos null
D# D1 D3 D3 D5
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
Bases de Datos
Asociacin
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
Bases de Datos
14
Ejemplos
Asignaturas
CodA NombreA
1 2 3 Program. Dibujo Ingls
Notas
Precio
15000 20000 18000
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
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
Ejemplo 1
n
Obtener los alumnos que figuren matriculados en todas las asignaturas Nmat,codA (Notas) codA (Asignaturas)
Nmat
0338
Apellidos
Prez Gmez
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
Bases de Datos
18