Вы находитесь на странице: 1из 4

lgebra relacional

El lgebra relacional es un conjunto de operaciones que


describen paso a paso cmo computar una respuesta soP (R)
bre las relaciones, tal y como stas son denidas en el
modelo relacional. Denominada de tipo procedimental,
a diferencia del Clculo relacional que es de tipo declara- Ejemplo:
tivo.
Describe el aspecto de la manipulacin de datos. Estas
operaciones se usan como una representacin intermedia
Apellido=Gomez (Alumnos)
de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versin ms Selecciona todas las tuplas que contengan Gmez como
optimizada y eciente de dicha consulta.
apellido en la relacin Alumnos.

Una condicin puede ser una combinacin booleana, donde se pueden usar operadores como: , , combinndolos con operadores <, >, , , =, = .

Tuplas

Una tupla se dene como una funcin nita que asocia


Proyeccin ()
unvocamente los nombres de los atributos de una relacin con los valores de una instanciacin de la misma. En Permite extraer columnas (atributos) de una relacin,
trminos simplistas, es una la de una tabla relacional.
dando como resultado un subconjunto vertical de atributos de la relacin, esto es:

Unin compatible

A1 ,A2 ,...,An
Una unin es compatible entre dos relaciones R, S, si ellas
poseen el mismo grado y el dominio del i-simo elemento donde A , A , . . . , A son atributos de la relacin R .
1
2
n
de la relacin R es el mismo que el i-simo elemento de
Ejemplo:
la relacin S.

2.1

Grado (Aridad)

Apellido,Semestre,N umeroControl (Alumnos)

Nmero de atributos.

Selecciona los atributos Apellido, Semestre y NumeroControl de la relacin Alumnos, mostrados como un subconjunto de la relacin Alumnos

Las operaciones

3.0.1

Producto cartesiano (x)

Bsicas

El producto cartesiano de dos relaciones se escribe como:

Cada operador del lgebra acepta una o dos relaciones y


retorna una relacin como resultado. y son operadores unarios, el resto de los operadores son binarios. Las
operaciones bsicas del lgebra relacional son:

RS

y entrega una relacin, cuyo esquema corresponde a una


combinacin de todas las tuplas de R con cada una de
Permite seleccionar un subconjunto de tuplas de una rela- las tuplas de S, y sus atributos corresponden a los de R
cin (R), todas aquellas que cumplan la(s) condicin(es) seguidos por los de S.
P, esto es:
Ejemplo:
Seleccin - restriccin ()

4 EJEMPLOS

Unin natural () (Natural Join)


La operacin
unin natural en el lgebra relacional es la que permiAlumnos M aestros
te reconstruir las tablas originales previas al proceso de
normalizacin. Consiste en combinar las proyeccin, seleccin y producto cartesiano en una sola operacin, donMuestra una nueva relacin, cuyo esquema contiene cade la condicin es la igualdad Clave Primaria = Clave
da una de las tuplas de la relacin Alumnos junto con
Externa (o Fornea), y la proyeccin elimina la columna
las tuplas de la relacin Maestros, mostrando primero los
duplicada (clave externa).
atributos de la relacin Alumnos seguidos por las tuplas
Expresada en las operaciones bsicas, queda
de la relacin Maestros.
Unin ()
La operacin

R S = A1,A2...An ( (R S))
Una reunin theta ( -Join) de dos relaciones es equivalente a:

RS
retorna el conjunto de tuplas que estn en R, o en S, o en
ambas. R y S deben ser uniones compatibles.

R S = (R S)
donde la condicin es libre.

Diferencia (-)
La diferencia de dos relaciones, R y S denotada por:

RS

Si la condicin es una igualdad se denomina EquiJoin.


Divisin (/) Supongamos que tenemos dos relaciones
A(x, y) y B(y) donde el dominio de y en A y B, es el
mismo.
El operador divisin A / B retorna todos los distintos valores de x tales que para todo valor y en B existe una tupla
x, y en A.

entrega todas aquellas tuplas que estn en R, pero no en


S. R y S deben ser uniones compatibles.
Agrupacin () Permite agrupar conjuntos de valores
Estas operaciones son fundamentales en el sentido en que en funcin de un campo determinado y hacer operaciones
(1) todas las dems operaciones pueden ser expresadas con otros campos.
como una combinacin de stas y (2) ninguna de estas Por ejemplo: T E (PARTIDOS).
operaciones pueden ser omitidas sin que con ello se pierda
informacin.

4 Ejemplos
3.0.2

No bsicas o Derivadas
Suponga las relaciones o tablas:

Entre los operadores no bsicos tenemos:

Interseccin () La interseccin de dos relaciones se


puede especicar en funcin de otros operadores bsicos:

4.0.3 Mostrar los nombres de los alumnos y su apoderado

Primero, realizaremos una combinacin entre alumnos


y apoderados (pues necesitamos saber a que alumno le
corresponde tal apoderado). La combinacin realizar un
producto cartesiano, es decir, para cada tupla de alumnos
R S = R (R S)
(todas las las de alumnos) har una mezcla con cada una
tupla de apoderados y seleccionar aquellas nuevas tuplas
La interseccin, como en Teora de conjuntos, correspon- en que alumnos.id sea igual a apoderados.id_alumno, esto
de al conjunto de todas las tuplas que estn en R y en S, es:
siendo R y S uniones compatibles.
Por tanto, el resultado nal de la combinacin es:

3
Ahora, aqu debemos mostrar solo el nombre del alumno Lo que nos entregara la tabla:
y el nombre del apoderado, esto lo hacemos con un Pro- Y la expresin completa sera:
yect o Proyeccin, donde la tabla nal sera:
(
(

Resultado1.V ALOR<3000
Resultado1.N
OM
BRE,
Resultado1.V
ALOR
Resumiendo en un solo paso:
))
(
Alumnos.N OM BRE,Apoderados.N OM BRE Alumnos Curso Inscriptos.COD=Cursos.COD Inscrito

) Alumnos.ID = Apoderados.ID_ALU M N O Apoderados


Se lee: Proyecta los nombre de alumnos y nombre de
apoderados de los alumnos cuyo ID sea el mismo que el
ID_ALUMNO de los apoderados.

5 Vase tambin
Relacin matemtica
Modelo relacional

4.0.4

Mostrar el nombre de los alumnos inscritos y


el nombre de los cursos que tomaron

Modelo de datos
Clculo relacional

Comenzaremos con una combinacin entre los inscritos


y los cursos para obtener el nombre de los cursos:

Inscritos Inscritos.COD=Cursos.COD Cursos

SQL

6 Enlaces externos

Lo que nos da la tabla:

RAT, Software Rational Algebra Translator to SQL

Como podemos observar, la combinacin solo nos entrega las combinaciones entre Inscritos y Cursos en que COD
sea igual entre los inscritos y el curso correspondiente.

TQL, a relational query language draft proposal

Ahora necesitamos los nombres de los alumnos inscritos.


Al resultado anterior (Resultado 1) aplicaremos una nueva combinacin comparando los ID de los alumnos para
colocar el nombre adecuado con el estudiante adecuado:

WinRDBI Home, Educational Tool

Resultado 1
Alumnos

LEAP - An implementation of the relational algebra

Resultado 1.ID_AL = Alumnos.ID

O escrito todo junto:


(
)
Inscritos Inscritos.COD = Cursos.COD Cursos
Resultado 1.ID_AL = Alumnos.ID Alumnos
La tabla de este nuevo resultado sera:
Finalmente con una Proyeccin mostraremos el nombre
del alumno y el curso inscrito:

( Resultado2.N OM
) BRE (alumno),Resultado2.N OM BRE (curso)
Resultado 2
Donde la tabla nal sera:
La expresin completa sera:
Resultado2.N OM BRE (alumno),Resultado2.N OM BRE (curso)
)
Inscritos
Inscritos.COD = Cursos.COD )Cursos
)
Resultado1.ID_AL = Alumnos.ID Alumnos

4.0.5

((

Mostrar los nombres y precios de los cursos


inscritos con valor menor a 3.000
(
(
Resultado1.N OM BRE, Resultado1.V ALOR Cursos.V ALOR<3000
))
Resultado 1

7 TEXTO E IMGENES DE ORIGEN, COLABORADORES Y LICENCIAS

Texto e imgenes de origen, colaboradores y licencias

7.1

Texto

lgebra relacional Fuente: http://es.wikipedia.org/wiki/%C3%81lgebra_relacional?oldid=83116354 Colaboradores: Sabbut, Elwikipedista, Barcex, Troodon, RobotQuistnix, Yrbot, BOT-Superzerocool, FlaBot, Vitamine, BOTijo, YurikBot, Jesuja, Baneld, Cheveri, Faelomx, BOTpolicia, CEM-bot, Laura Fiorucci, Retama, Thijs!bot, Yeza, Bernard, Dogor, Vitorres, Jurgens~eswiki, Y0rx, Kved, Humberto,
Metalpotato, ZrzlKing, Naldo 1065, Bucephala, VolkovBot, Technopat, Gensin, Muro Bot, SieBot, Loveless, Jarisleif, Dnu72, Fuentesmelendez, Leonpolanco, Alexbot, AVBOT, SpBot, Diegusjaimes, Arjuno3, Luckas-bot, Amirobot, ArthurBot, SuperBraulio13, Obersachsebot, Jkbw, RedBot, Leugim1972, TjBot, Humbefa, Jorge c2010, Addbot, Jojana 4, Jarould y Annimos: 113

7.2

Imgenes

7.3

Licencia de contenido

Creative Commons Attribution-Share Alike 3.0

Вам также может понравиться