You are on page 1of 9

Introducción al Álgebra Relacional 21/11/2013

1. ¿Qué es el
álgebra
relacional?
2. Conceptos
previos
Introducción al
3. Operadores
conjuntistas
4. Operadores
relacionales
Álgebra Relacional

Grupo de Ingeniería del Software y Bases de Datos


Departamento de Lenguajes y Sistemas Informáticos
Universidad de Sevilla

© Diseño de Amador Durán Toro, 2011


noviembre 2013

Introducción al Álgebra Relacional

• Objetivos de este tema


– Conocer los operadores básicos del álgebra
1. ¿Qué es el
álgebra relacional.
relacional?
2. Conceptos
previos – Ser capaz de expresar consultas sobre un modelo
3. Operadores
conjuntistas relacional usando álgebra relacional.
4. Operadores
relacionales
© Diseño de Amador Durán Toro, 2011

noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 1

IISSI 1
Introducción al Álgebra Relacional 21/11/2013

Introducción al Álgebra Relacional

• ¿Qué es el álgebra relacional (AR)?


– Es un conjunto de operadores sobre relaciones
1. ¿Qué es el
álgebra propuesto por Codd que permiten expresar
relacional?
2. Conceptos
previos
consultas sobre un modelo relacional.
3. Operadores
conjuntistas – Los operadores del AR devuelven como resultado
4. Operadores
relacionales una relación derivada,
derivada por lo que pueden anidarse
formando expresiones complejas.
Operadores conjuntistas Operadores relacionales
• Renombrado* • Selección
• Unión • Proyección
• Intersección • Combinación
• Diferencia • División

© Diseño de Amador Durán Toro, 2011


• Producto cartesiano
* No es estrictamente un operador conjuntista, pero es necesario.

noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 2

Introducción al Álgebra Relacional

• Nombres de atributos
– Se prefijan con el nombre de la relación a la que
1. ¿Qué es el
álgebra pertenecen cuando pueda haber ambigüedad.
ambigüedad
relacional?
2. Conceptos
previos
• R.a = atributo a de la relación R
3. Operadores
conjuntistas
4. Operadores
relacionales
• Relaciones compatibles
– Son relaciones que tienen la misma intensión y
sobre las que se pueden aplicar los operadores
conjuntistas de unión,
unión diferencia e intersección.
intersección
– Si se quiere aplicar dichos operadores sobre
relaciones no compatibles por tener nombres de
atributos diferentes, es necesario usar el operador
© Diseño de Amador Durán Toro, 2011

de renombrado para hacerlas compatibles.

noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 3

IISSI 2
Introducción al Álgebra Relacional 21/11/2013

Introducción al Álgebra Relacional

• Operador de renombrado
– Entradas:
1. ¿Qué es el
álgebra • Una relación R.
relacional?
2. Conceptos
previos
• Dos nombres de atributos (a,b), siendo b un nombre
3. Operadores
conjuntistas de atributo de R y a no.
4. Operadores
relacionales – Salida:
• Una relación S en la que el nombre del atributo b
se ha sustituido por a tanto en la intensión como en
todas las tuplas de la extensión.

© Diseño de Amador Durán Toro, 2011


noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 4

Introducción al Álgebra Relacional

• Operador de unión
– Entradas:
1. ¿Qué es el
álgebra • Dos relaciones compatibles R y S.
relacional?
2. Conceptos
previos – Salida:
3. Operadores
conjuntistas • Una relación T con la misma intensión que R y S
4. Operadores
relacionales y con la unión de las extensiones de R y S como
extensión.
• ó ó ó
• ó ∈ ó ∨ ∈ ó
• ó ó ∪ ó R
© Diseño de Amador Durán Toro, 2011

S
noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 5

IISSI 3
Introducción al Álgebra Relacional 21/11/2013

Introducción al Álgebra Relacional

• Operador de intersección
– Entradas:
1. ¿Qué es el
álgebra • Dos relaciones compatibles R y S.
relacional?
2. Conceptos
previos – Salida:
3. Operadores
conjuntistas • Una relación T con la misma intensión que R y S y
4. Operadores
relacionales
con la intersección de las extensiones de R y S como
extensión.
• ó ó ó
• ó ∈ ó ∧ ∈ ó
• ó ó ∩ ó R

© Diseño de Amador Durán Toro, 2011


S
noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 6

Introducción al Álgebra Relacional

• Operador de diferencia
– Entradas:
1. ¿Qué es el
álgebra • Dos relaciones compatibles R y S.
relacional?
2. Conceptos
previos – Salida:
3. Operadores
conjuntistas • Una relación T con la misma intensión que R y S y
4. Operadores
relacionales con la diferencia de las extensiones de R y S como
extensión.
• ó ó ó
• ó ∈ ó ∧ ∉ ó
• ó ó ó R
© Diseño de Amador Durán Toro, 2011

S
noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 7

IISSI 4
Introducción al Álgebra Relacional 21/11/2013

Introducción al Álgebra Relacional

• Operador de producto cartesiano


– Entradas:
1. ¿Qué es el
álgebra • Dos relaciones R y S con intensiones disjuntas.
relacional?
2. Conceptos
previos – Salida:
3. Operadores
conjuntistas • Una relación T con la unión de las intensiones de R
4. Operadores
relacionales
y S y con todas las combinaciones posibles de
tuplas de R y S como extensión.
• ó ó ∪ ó
• ó ∪ ∈ ó ∧ ∈ ó

a x
a y
a x b x
b y b y

© Diseño de Amador Durán Toro, 2011


c
c x
c y

noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 8

Introducción al Álgebra Relacional

• Operador de selección
– Entradas:
1. ¿Qué es el
álgebra • Una relación R.
relacional?
2. Conceptos
previos
• Una fórmula bien formada f definida sobre los
3. Operadores
conjuntistas atributos de R.
4. Operadores
relacionales – Salida:
• Una relación S con la misma intensión que R y con
las tuplas de R que satisfacen f como extensión.
• ó ó
• ó ∈ ó
© Diseño de Amador Durán Toro, 2011

noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 9

IISSI 5
Introducción al Álgebra Relacional 21/11/2013

Introducción al Álgebra Relacional

• Operador de selección
– Fórmulas bien formadas (FBFs)
1. ¿Qué es el
álgebra • Son predicados*
predicados sobre los atributos de una relación.
relacional?
2. Conceptos
previos
• Si es una FBF, y son FBFs.
3. Operadores
conjuntistas • Si y son FBFs, ∧ y ∨ son FBFs.
4. Operadores
relacionales
• Toda comparación ( , , , , !, ") entre dos atributos o
valores definidos sobre el mismo dominio es una FBF.
• La precedencia es (), , ∧, ∨

© Diseño de Amador Durán Toro, 2011


* Expresiones que se evalúan como ciertas o falsas.

noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 10

Introducción al Álgebra Relacional

• Operador de proyección
– Entradas:
1. ¿Qué es el
álgebra • Una relación R.
relacional?
2. Conceptos
previos
• Un subconjunto B de los atributos de R.
3. Operadores
conjuntistas – Salida:
4. Operadores
relacionales
• Una relación S con la intensión formada por los
atributos en B y por las tuplas de R al eliminar los
atributos que no están en B como extensión.
• ó #$ : &$ ∈ ó #$ ∈ #
• ó ' | ∀#$ ∈ # ∙ ∃ ∈ ó ∙ . #$ . #$
© Diseño de Amador Durán Toro, 2011

noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 11

IISSI 6
Introducción al Álgebra Relacional 21/11/2013

Introducción al Álgebra Relacional

• Operador de combinación natural


– Entradas:
1. ¿Qué es el
álgebra • Dos relaciones R y S con un conjunto de atributos
relacional?
2. Conceptos comunes C definidos sobre los mismos dominios.
previos
3. Operadores
conjuntistas – Salida:
4. Operadores
relacionales
• Una relación T con la intensión formada por la unión
de las intensiones de R y S y la extensión formada
por la unión de las tuplas de R y S que coinciden en
los valores de los atributos comunes.
• ó ó ∪ ó
ó ∪ ∈ ó ∧ ∈ ó ∧

∀-$ ∈ - ∙ . -$ . -$

© Diseño de Amador Durán Toro, 2011


noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 12

Introducción al Álgebra Relacional

• Operador de combinación natural


– Permite combinar los datos de
1. ¿Qué es el
álgebra relaciones enlazadas mediante claves ajenas.
ajenas
relacional?
2. Conceptos
previos – Es un operador costoso en tiempo de ejecución.
3. Operadores
conjuntistas
– Es derivado:
4. Operadores
relacionales
• '-$ : &$ ó ∩ ó (atributos comunes)

• './ : &/ ó ∪ ó (atributos sin repetidos)

012

a1 b 1 b1 c 1 a1 b 1 c 1
© Diseño de Amador Durán Toro, 2011

a2 b 1 ⋈ b2 c2 a2 b 1 c 1
a3 b 2 b3 c 3 a3 b 2 c 2

noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 13

IISSI 7
Introducción al Álgebra Relacional 21/11/2013

Introducción al Álgebra Relacional

• Operador de división
– Entradas:
1. ¿Qué es el
álgebra • Dos relaciones R y S, siendo la intensión de S un
relacional?
2. Conceptos subconjunto de la intensión de R.
previos
3. Operadores
conjuntistas – Salida:
4. Operadores
relacionales
• Una relación T con la diferencia de las intensiones
de R y S como intensión y con la extensión
formada por tuplas con aquellos valores para los que
existen tuplas en R con todas las combinaciones
posibles con los valores de los atributos de S.
• ó ó ó
• ó ∀ ∈ ó ∙ ∪ ∈ ó

© Diseño de Amador Durán Toro, 2011


noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 14

Introducción al Álgebra Relacional

• Operador de división
– Es un operador derivado:
1. ¿Qué es el
álgebra • ' $ : &$ ó ó (atributos sólo de R)
relacional?
2. Conceptos
previos • onlyR = R
3. Operadores
conjuntistas – Todos los valores exclusivos de R.
4. Operadores
relacionales • allComb = onlyR S
– Todas las combinaciones de los valores exclusivos de R con los de S.

• combNotInR = allComb -R
– Todas las combinaciones de valores que no están en R.

• notAllCombR = ( combNotInR )
– Valores de R que no tienen todas las combinaciones.

• R S = onlyR - notAllCombR a x
a y
– Valores de R que sí tienen todas las x
a z 5 a
© Diseño de Amador Durán Toro, 2011

combinaciones.
y
b x
c y

noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 15

IISSI 8
Introducción al Álgebra Relacional 21/11/2013

Introducción al Álgebra Relacional

• Bibliografía
– R. Elmasri, S. Navathe, Fundamentos
1. ¿Qué es el
álgebra
de Sistemas de Bases de Datos
relacional?
2. Conceptos
(5ª edición). Ed. Addison-Wesley, 2007.
previos
3. Operadores
conjuntistas
4. Operadores
relacionales

– A. Silberschatz, H. Korth, S. Sudarskhan,


Fundamentos de Bases de Datos
(5ª edición). Ed. McGraw-Hill, 2006.

– C. J. Date, An Introduction to Database


Systems (8th edition). Ed. Addison-Wesley,

© Diseño de Amador Durán Toro, 2011


2003.

noviembre 2013 Introducción a la Ingeniería del Software y a los Sistemas de Información 16

IISSI 9

You might also like