0% encontró este documento útil (0 votos)
33 vistas9 páginas

Algebra

Este documento proporciona una introducción al álgebra relacional. Explica que el álgebra relacional es un lenguaje procedimental que indica qué datos obtener y cómo. Describe los operadores básicos como unión, diferencia, producto cartesiano, selección y proyección, así como operadores derivados como intersección. Además, explica el funcionamiento de cada operador a través de ejemplos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
33 vistas9 páginas

Algebra

Este documento proporciona una introducción al álgebra relacional. Explica que el álgebra relacional es un lenguaje procedimental que indica qué datos obtener y cómo. Describe los operadores básicos como unión, diferencia, producto cartesiano, selección y proyección, así como operadores derivados como intersección. Además, explica el funcionamiento de cada operador a través de ejemplos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

Asignatura de Bases de Datos

Tema 5
Algebra Relacional
Pedro Pablo Alarcón Cavero
Departamento de O.E.I.
Escuela Universitaria de Informática
Universidad Politécnica de Madrid

Álgebra Relacional
n Introducción
n Lenguajes de acceso en BDR
n Álgebra Relacional
n Lenguaje procedimental (se indica qué y cómo obtenerlo)
n Cálculo Relacional
n Lenguaje no procedimental (se indica qué pero no cómo obtenerlo)
n Dos tipos
n Orientado a Tuplas
n Orientado a Dominios

n Álgebra y Cálculo Relacional son equivalentes en poder


expresivo
n Lenguajes de Usuario
n SQL (Structured Query Language), basado en álgebra relacional
n QBE (Query By Example), basado en cálculo relacional
2002 © P.P. Alarcón Bases de Datos 2

1
Álgebra Relacional
n Definición
n Conjunto cerrado de operaciones
n Actúan sobre relaciones
n Producen relaciones como resultados
n Pueden combinarse para construir expresiones más complejas

n Operadores Básicos n Operadores Derivados


n Unión n Intersección
n Diferencia n Join
n Producto Cartesiano n División
n Selección n Asociación
n Proyección
n Son operacionalmente completos, n No añaden nada nuevo
permiten expresar cualquier consulta a n Se forman combinando los operadores básicos
una BDR n Son útiles en determinadas consultas

2002 © P.P. Alarcón Bases de Datos 3

Unión
n R ∪S
n La unión de dos relaciones R y S, es otra relación que
contiene las tuplas que están en R, o en S, o en ambas,
eliminándose las tuplas duplicadas
n R y S deben ser unión-compatible, es decir, definidas
sobre el mismo conjunto de atributos

Ingenieros Jefes Ingenieros ∪ Jefes

E# Nombre Edad E# Nombre Edad E# Nombre Edad


320 José 34 320 José 34 320 José 34
322 Rosa 37 421 Jorge 48 322 Rosa 37
323 María 25 • María 25
421 Jorge 48

2002 © P.P. Alarcón Bases de Datos 4

2
Diferencia
n R-S
n La diferencia de dos relaciones R y S, es otra relación
que contiene las tuplas que están en la relación R, pero
no están en S
n R y S deben ser unión-compatible
Ingenieros - Jefes
Ingenieros Jefes E# Nombre Edad
E# Nombre Edad E# Nombre Edad 322 Rosa 37
320 José 34 320 José 34 • María 25
322 Rosa 37 421 Jorge 48
323 María 25 Jefes - Ingenieros

E# Nombre Edad
421 Jorge 48

2002 © P.P. Alarcón Bases de Datos 5

Producto Cartesiano
n RxS
n Define una relación que es la concatenación de cada
una de las filas de la relación R con cada una de las
filas de la relación S
Ingenieros X Proyectos
Ingenieros E# Nombre D# Proyecto Tiempo
E# Nombre D# 320 José D1 RX338A 21
320 José D1 PY254Z 32
320 José D1 322 Rosa D3 RX338A 21
322 Rosa D3 Departamentos • Rosa D3 PY254Z 32

Proyectos
D# Descrip Ingenieros X Departamentos
D1 Central
Proyecto Tiempo E# Nombre D# DD Descrip
D3 I+D 320 José D1 D1 Central
RX338A 21 320 José D1 D3 I+D
PY254Z 32 322 Rosa D3 D1 Central
• Rosa D3 D3 I+D

2002 © P.P. Alarcón Bases de Datos 6

3
Selección
n σpredicado (R)
n Es un operador unario
n Define una relación con los mimos atributos que R y
que contiene solo aquellas filas de R que satisfacen
la condición especificada (predicado)

Ingenieros σ edad>=35 (Ingenieros) σ edad>=45 (Ingenieros)

E# Nombre Edad E# Nombre Edad E# Nombre Edad


320 José 34 322 Rosa 37
322 Rosa 37
323 María 25

2002 © P.P. Alarcón Bases de Datos 7

Proyección
n Πcol1, . . . , coln(R)
n Es un operador unario
n Define una relación 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(Ingenieros)


E# Nombre Edad Nombre Edad Nombre
320 José 34 José 34 José
322 Rosa 37 Rosa 37 Rosa
• María 25 María 25 María
• José 29 José 29

2002 © P.P. Alarcón Bases de Datos 8

4
Intersección
n R ∩S
n Define una relación que contiene el conjunto de
todas las filas que están tanto en la relación R como
en S
n R y S deben ser unión-compatible
n Equivalencia con operadores básicos
R ∩ S = R – (R – S)

Ingenieros Jefes Ingenieros ∩


∩ Jefes

E# Nombre Edad E# Nombre Edad E# Nombre Edad


320 José 34 320 José 34 320 José 34
322 Rosa 37 421 Jorge 48
323 María 25

2002 © P.P. Alarcón Bases de Datos 9

División o Cociente
n R ÷S
n Define una relación sobre el conjunto de atributos C, incluido en la
relación R, y que contiene el conjunto de valores de C, que en las
tuplas de R están combinadas con cada una de las tuplas de S
n Condiciones
n grado(R) > grado (S)
n conjunto atributos de S ⊂ conjunto de atributos de R
n Equivalencia con operadores básicos
X1 = ΠC(R); X2 = ΠC((S X X1) – R); X = X1 – X2

R1 E# Proyecto R2 Proyecto R1 ÷ R2
320 RX338A RX338A
320 PY254Z E#
PY254Z 320
• RX338A
323 NC168T 323
• PY254Z
• PY254Z
324 NC168T

2002 © P.P. Alarcón Bases de Datos 10

5
Join
n Unión Natural (Natural Join)
n R S ó R*S
n El resultado es una relación con los atributos de ambas
relaciones y se obtiene combinando las tuplas de ambas
relaciones que tengan el mismo valor en los atributos comunes
n Normalmente la operación de join se realiza entre los atributos
comunes de dos tablas que corresponden a la clave primaria
de una tabla y la clave foránea correspondiente de la otra tabla
n Método
n Se realiza el producto cartesiano R x S
n Se seleccionan aquellas filas del producto cartesiano para las
que los atributos comunes tengan el mismo valor
n Se elimina del resultado una ocurrencia (columna) de cada uno
de los atributos comunes
n Equivalencia con operadores básicos
R F S = σF(R Χ S)
2002 © P.P. Alarcón Bases de Datos 11

Join
n Outer Join
n Es una variante del Join en la que se intenta mantener
toda la información de los operandos, incluso para
aquellas filas que no participan en el Join
n Se “rellenan con nulos” las tuplas que no tienen
correspondencia en el Join
n Tres variantes
n Left
n se tienen en cuenta todas las filas del primer operando
n Right
n se tienen en cuenta todas las filas del segundo operando
n Full
n se tienen en cuenta todas las filas de ambos operandos

2002 © P.P. Alarcón Bases de Datos 12

6
Join
R1 * LEFT R2
E# Nombre D# Descrip
R1 R2 320 José D1 Central
E# Nombre D# D# Descrip 322 Rosa D3 I+D
• María D3 I+D
320 José D1 D1 Central • José D5 null
322 Rosa D3 D3 I+D
• María D3 D4 Ventas R1 * RIGHT R2
• José D5 E# Nombre D# Descrip
• José D1 Central
322 Rosa D3 I+D
• María D3 I+D
R1 * R2 null null D4 Ventas
E# Nombre D# Descrip R1 * FULL R2
320 José D1 Central E# Nombre D# Descrip
322 Rosa D3 I+D 320 José D1 Central
• María D3 I+D 322 Rosa D3 I+D
• María D3 I+D
• José D5 null
null null D4 Ventas
2002 © P.P. Alarcón Bases de Datos 13

Asociación
n Asociación o Theta Join (θ-Join)
n R F S
ó R*FS
n Define una relación que contiene las tuplas que satisfacen el
predicado F en el producto cartesiano de R y S
n El predicado F es de la forma R.ai θ S.bi donde θ representa
un operador de comparación (<, ≤, >, ≥, =, ≠)
n El predicado no tiene por que definirse sobre atributos
comunes
n Equivalencia con operadores básicos
R F S = σF(R Χ S)
n Equijoin
n Si el predicado F contiene únicamente el operador de igualdad

2002 © P.P. Alarcón Bases de Datos 14

7
Ejemplos

Asignaturas Notas
CodA NombreA Precio Nmat CodA Conv Nota

1 Program. 15000 0338 1 Feb 02 8


2 Dibujo 20000 0254 2 Feb 02 5
3 Inglés 18000 0168 2 Feb 02 3
Alumnos 0338 2 Feb 02 5
Nmat Nombre Apellidos Domicilio Telefono 0338 3 Jun 02 7

0338 Ana Pérez Gómez C / Julio nº 96 1112233 0254 1 Jun 02 6


0254 Rosa López López C/ Verano s/n 1113344 0168 1 Jun 02 9
0168 Juan García García C/ Playa nº 1 1114455 0168 3 Jun 02 5

2002 © P.P. Alarcón Bases de Datos 15

Ejemplo 1
n Obtener los apellidos y teléfono de los alumnos de
nombre Rosa
πapellidos, telefono (σnombre=‘Rosa’(Alumnos))

Apellidos Telefono
López López 1113344

n Obtener las notas obtenidas en la asignatura de Inglés


πnombre, apellidos, nota (σnombreA=‘Ingles’(Alumnos*Notas*Asignaturas))

Nombre Apellidos Nota


Ana Pérez Gómez 7
Juan García García 5

2002 © P.P. Alarcón Bases de Datos 16

8
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 Apellidos
Ana Pérez Gómez

2002 © P.P. Alarcón Bases de Datos 17

Ejemplo 1
n Obtener los alumnos que figuren matriculados en las asignaturas de
Inglés y Dibujo
πNmat (σnombreA=‘Ingles’ (Asignaturas) * Alumnos) ∩
πNmat (σnombreA=‘’Dibujo’ (Asignaturas) * Alumnos)

Nmat
0338
0168

n Obtener los alumnos que no han suspendido ninguna asignatura


πNmat (σnota>=5 (Notas)) - π Nmat (σnota<5 (Notas))

Nmat
0338
0254

2002 © P.P. Alarcón Bases de Datos 18

También podría gustarte