la unidad de s sesion edussssssssssssssscacio fisca
Algebra relacional: operaciones y ejemplos
1. 3 Algebra relacional.
El Algebra relacional es un lenguaje desarrollado por Codd. Consta de un conjunto de operaciones
que toman como entrada una o dos relaciones y producen como resultado una nueva relación, por lo
tanto, es posible anidar y combinar operadores. Hay ocho operadores en el álgebra relacional que
construyen relaciones y manipulan datos, estos son:
1. Selección (σ) 2. Proyección (π) 3. Producto (X)
4. Unión (∪) 5. Intersección (∩) 6. Diferencia (–)
7. JOIN (comp) 8. División (/)
Tabla 3-1 - Operadores del Algebra relacional
Debemos tener claro tres cosas importantes antes de seguir adelante:
a) El álgebra relacional está fundamentada en la teoría de conjuntos
b) Una relación es un conjunto, por lo tanto no puede tener elementos duplicados
c) El resultado de una expresión algebraica es siempre una nueva relación
d) Existen dos tipos de operaciones en las relaciones, unarios y binarios, es decir una sola
relación (tabla) y binarios sobre dos o más relaciones.
Las operaciones de proyección, producto, unión, diferencia, y selección son llamadas primitivas,
puesto que las otras tres se pueden definir en términos de estas.
Se hace necesario en este punto incluir un modelo de datos de ejemplo en el cual trabajar para
generar ejercicios de comandos y operadores. Para este efecto se incluye un modelo básico de
administración de cursos ofrecidos por una organización dedicada a esto, El Gráfico que se presenta
a continuación representa el Modelo conceptual (Modelo Lógico) o Diagrama de Entidad-Relación
3-2 Diagrama de Entidad-Relación
2. Los Esquemas de relaciones que se pueden construir a partir de este modelo son los siguientes:
Alumno = { Id, Nombre, Ciudad, Edad }
Tutor = { Id, Nombre, Tel, Id_Alumno }
Inscripción ={ Id, Id_Al, Cod_curso }
Curso= { Codigo, Nombre, Fecha_Inicio, Duración, Costo }
Antes de comenzar
3.1. Selección (Conulta)
Permite seleccionar un subconjunto de tuplas de una relación (R), todas aquellas que cumplan la(s)
condición(es) P, esto es:
o σ (condición) (relación o tabla)π
P es la condicion del predicado.
Estan como subindices. Utilizan operadores relacionales como:
<, >, = >, <, .Los operadores loogicos son and,or xor.
Una condición puede ser una combinación booleana, donde se pueden usar operadores como: , Unión (∪) o
Intersección (∩) , combinándolos con operadores relacionales tales como: .
El operador de selección opta por tuplas que satisfagan cierto predicado, se utiliza la letra griega
sigma minúscula (σ) para señalar la selección. El predicado aparece como subíndice de la letra
griega sigma σ. La Relación que constituye el argumento se da entre paréntesis después de la σ.
3. Ejemplos:
Generar una lista con todos los alumnos que sean mayores a 14 años.
σ
edad>14 (Alumno)
ID NOMBRE CIUDAD EDAD
11 Juan Buenos Aires 18
31 Rosita Concepción 15
41 Manuel Lima 17
σ
nombre=’Diego (Alumno)
σ
ciudad=’lima (Alumno)
ID NOMBRE CIUDAD EDAD
21 Diego Lima 12
3.2. Proyección.
La operación de proyección permite quitar ciertos atributos de la relación, esta operación es unaria,
copiando su relación base dada como argumento y quitando ciertas columnas, La proyección se
señala con la letra griega pi mayúscula (π). Como subíndice de π se coloca una lista de todos los
atributos que se desea aparezcan en el resultado. La relación argumento se escribe después de Π
entre paréntesis.
π
(Lista de atributos) (Nombre de la tabla)
π
(Nombre,Edad) (Nombre de la tabla)
Ejemplos :
Se quiere hacer una proyección de la tabla alumnos con las tuplas o campos Id y Edad.
ID NOMBRE EDAD
1 Pedro 14
11 Juan 18
21 Diego 12
31 Rosita 15
41 Manuel 17
π
id, edad (Alumno)
ID EDAD
1 14
11 18
4. 21 12
31 15
41 17
3.3. Producto.
En álgebra relacional el producto de dos relaciones A y B es:
A Veces B o A X B
Produce el conjunto de todas las tuplas t tales que t es el encadenamiento de una tupla a
perteneciente a A y de una b que pertenece a B. se utiliza el símbolo X para representar el producto.
Ejemplos:
Alumno X Tutor
ID
(alumno)
NOMBRE
(alumno) CIUDAD EDAD
ID
(apoderado)
NOMBRE
(apoderado) FONO ID_ALUMNO
1 Pedro Santiago 14 54 Víctor 654644 21
1 Pedro Santiago 14 457 José 454654 11
1 Pedro Santiago 14 354 María 997455 31
1 Pedro Santiago 14 444 Paz 747423 1
11 Juan BuenosAires 18 54 Víctor 654644 21
11 Juan BuenosAires 18 457 José 454654 11
11 Juan BuenosAires 18 354 María 997455 31
11 Juan BuenosAires 18 444 Paz 747423 1
21 Diego Lima 12 54 Víctor 654644 21
21 Diego Lima 12 457 José 454654 11
21 Diego Lima 12 354 María 997455 31
21 Diego Lima 12 444 Paz 747423 1
31 Rosita Concepción 15 54 Víctor 654644 21
31 Rosita Concepción 15 457 José 454654 11
31 Rosita Concepción 15 354 María 997455 31
31 Rosita Concepción 15 444 Paz 747423 1
41 Manuel Lima 17 54 Víctor 654644 21
41 Manuel Lima 17 457 José 454654 11
41 Manuel Lima 17 354 María 997455 31
41 Manuel Lima 17 444 Paz 747423 1
5. Por tanto, el resultado final de la combinación es:
Alumno ∞ Alumnos.ID= Tutor.ID_ALUMNO Tutor
ID
(alumno)
NOMBRE
(alumno) CIUDAD EDAD ID (tutor)
NOMBRE
(tutor) FONO ID_ALUMNO
1 Pedro Santiago 14 444 Paz 747423 1
11 Juan BuenosAires 18 457 José 454654 11
21 Diego Lima 12 54 Víctor 654644 21
31 Rosita Concepción 15 354 María 997455 31
Ahora, aquí debemos mostrar solo el nombre del alumno y el nombre del tutor, esto lo hacemos con un
Proyect o Proyección, donde la tabla final sería:
NOMBRE
(alumno)
NOMBRE
(tutor)
Pedro Paz
Juan José
Diego Víctor
Rosita María
Se lee: Proyecta los nombre de alumnos y nombre de tutores de los alumnos cuyo ID sea el mismo que el
ID_ALUMNO de los tutores.
3.4. Unión.
En álgebra relacional la unión de dos relaciones compatibles A y B es:
A UNION B o A ∪ B
Produce el conjunto de todas las tuplas que pertenecen ya sea a A o a B o a Ambas. Al igual que en
teoría de conjuntos el símbolo ∪ representa aquí la unión de dos relaciones.
6. Ejemplo:
r r U s
c1 c2 c1 c2
a b a b
a c a c
z t z t
p k
s u z
c1 c2
p k
u z
Deben tener la misma
Dado que no puedo unir dos cosas diferentes, las relaciones r y s deben ser iguales.
3.5. Intersección.
En álgebra relacional la intersección de dos relaciones compatibles A y B
A INTERSECCION B o A ∩ B
Produce el conjunto de todas las tuplas pertenecientes a A y B. Al igual que en teoría de conjuntos el
símbolo ∩ representa aquí la intersección entre dos relaciones.
Ejemplo:
Dadas las tablas de dueños de Taxis y choferes hacer la intersección de estas dos tablas.
7. Devuelve todos los dueños que también son choferes
3.6. Diferencia
En álgebra relacional la diferencia entre dos relaciones compatibles A y B
A MENOS B o A – B
Produce el conjunto de todas las tuplas t que pertenecen a A y no pertenecen a B.
Ejemplo:
Dada las tablas Choferes y Dueños, realizar la diferencia entre estas dos relaciones
Devuelve todos los Choferes que NO son Dueños
3.7. Join o Reunión.
En álgebra relacional el JOIN entre el atributo X de la relación A con el atributo Y de la relación B
produce el conjunto de todas las tuplas t tal que t es el encadenamiento de una tupla a perteneciente
a A y una tupla b perteneciente a B que cumplen con el predicado “A.X comp B.Y es verdadero”
(siendo comp un operador relacional y los atributos A.X y B.Y pertenecientes al mismo dominio).
8. Ejemplo :
Dadas las tablas Empleados y Departamentos
Realizar la Reunión entre estas dos tablas
Existen variantes de esta operación, en un momento dado se quisiera tener los atributos de A con
todas sus tuplas y la correspondencia con B.
Ejemplo:
3.8. División
En álgebra relacional el operador de división divide la relación A con grado m + n por la relación B
entregando como resultado una relación con grado m. El atributo m + i de A y el atributo i de B deben
estar definidos dentro del mismo dominio. Así el resultado de
A DIVIDIDO POR B o A / B
produce la relación C con un sólo atributo X, tal que cada valor de x de C.X aparece como un valor
de A.X, y el par de valores (x, y) aparece en A para todos los valores y que aparecen en B.
9. Ejemplo:
Tabla A Tabla B
A B C D C D
A b c d c d
A b e f e f
B c e f
E d c d
E d e f
A b d e
A B
a b
e d
La llave esel idque tiene yaque este nose repetiráyse identificaporque estasubrayada.Eslallave primaria.
SelecciónyProyecciónesconunasolarelación.
And or xor
I I I 0 = 1 0 1 = 1
I I = 1 I 0 = 1
0 I = 1 I I = 0
0 0 = 0 0 0 = 0
(CONDICION (TABLA O
PREDICADO) RELACION)
σ EDAD =16 OR EDAD = 17 (ALUMNO)
σ EDAD >15 ANDEDAD < 18(ALUMNO)
σ EDAD >= 14 AND EDAD = 17 (ALUMNO)
σ EDAD > 13 ANDEDAD < 18 (ALUMNO)
t1 x T2
g h
i j
FREC CATALOGO
FRECUENCIA DE REGISTRO CATALOGODE ENTIDADESY MUNICIPIOS
ENT CANT ENT DESCR
01 34 01 AGUASCCALIENTES
02 40 02 BAJA CALIFORNIA
a b g h
a b i j
c d g h
c d i j
e f g H
e f i j
a B
c d
e f
10. 03 39 03 BAJA CALIFORNIA SUR
32 70 32 ZACATECAS
FREC.ENT.=CATALOGO.ENT