Você está na página 1de 47

Algebra relacional

Aritmtica
Es la rama de la matemtica cuyo objeto de
estudio son los nmeros y las operaciones
elementales hechas con ellos : suma, resta,
multiplicacin y divisin.

lgebra elemental
es la forma ms bsica del lgebra. A
diferencia de la aritmtica, en donde slo se
usan los nmeros y sus operaciones
aritmticas (como +, , , ), en lgebra los
nmeros son representados por smbolos
(usualmente a, b, c, x, y, z).

Aplicacin
Permite la formulacin general de leyes de
aritmtica (como a + b = b + a).
Permite referirse a nmeros "desconocidos.
formular ecuaciones y el estudio de cmo
resolverlas.
Permite la formulacin de relaciones
funcionales.

Modelo relacional
es un modelo de datos basado en la lgica de
predicados y en la teora de conjuntos. Es el
modelo ms utilizado en la actualidad para
modelar problemas reales y administrar datos
dinmicamente. Tras ser postuladas sus bases
en 1970 por Edgar Frank Codd, de los
laboratorios IBM en San Jos (California), no
tard en consolidarse como un nuevo
paradigma en los modelos de base de datos.

Ejemplo

Lgica de predicados
es un sistema formal diseado para estudiar
los lenguajes formales.
Un predicado es una expresin lingstica que puede
conectarse con una o varias otras expresiones para
formar una oracin. Por ejemplo, en la oracin Marte
es un planeta, la expresin es un planeta es un
predicado que se conecta con la expresin Marte
para formar una oracin.
Cuando un predicado se conecta con una expresin, se
dice que expresa una propiedad (como la propiedad
de ser un planeta).

Ejemplo
en la oracin Jpiter es ms grande que
Marte, la expresin es ms grande que es
un predicado que se conecta con dos
expresiones, Jpiter y Marte, para formar
una oracin.
cuando se conecta con dos o ms expresiones,
se dice que expresa una relacin (como la
relacin de ser ms grande que)

Teora de conjuntos
es una rama de las matemticas que estudia
las propiedades de los conjuntos: colecciones
abstractas de objetos, consideradas como
objetos en s mismas. Los conjuntos y sus
operaciones ms elementales son una
herramienta bsica en la formulacin de
cualquier teora matemtica.

lgebra de conjuntos
se denomina lgebra
de conjuntos a
las operaciones bsic
as que pueden
realizarse
con conjuntos, como
la unin, interseccin,
etc.

Operaciones con conjuntos


Las operaciones bsicas del lgebra de
conjuntos son:
Unin. La unin de dos conjuntos A y B es el
conjunto A B que contiene todos los
elementos de A y de B.
Interseccin. La interseccin de dos
conjuntos A y B es el conjunto A B que
contiene todos los elementos comunes
de A y B.

Ejemplo
Unin

Interseccin

Diferencia. La diferencia entre dos


conjuntos A y B es el conjunto A \ B que contiene
todos los elementos de A que no pertenecen a B.
Complemento. El complemento de un
conjunto A es el conjunto A que contiene todos
los elementos que no pertenecen a A.
Producto cartesiano. El producto cartesiano de
dos conjuntos A y B es el conjunto A B que
contiene todos los pares ordenados (a, b) cuyo
primer (segundo) elemento pertenece a A (a B).

Ejemplo
Diferencia

Complemento

Ejemplo
dados los conjuntos A = {1, 2, 3, 4} y B = {a, b},
su producto cartesiano es:
A B = {(1, a), (1, b), (2, a), (2, b), (3, a), (3, b),
(4, a), (4, b)}
Sean los conjuntos:
T de tubos de pintura y
P de pinceles:

Practiquemos un poco!!
Ejemplo: Sean los conjuntos A = {a, b, c, d, e, f} y
B = {a, h, j}
La unin de A y B es {a, b, c, d, e, f, h, j}
Ejemplo: Sean los conjuntos A = {a, b, c, d, e, f} y
B = {a, h, j}.
La interseccin de A y B es {a}
Ejemplo: Sean los conjuntos A = {a, b, c, d, e, f} y
B = {a, h, j}.
La diferencia A - B es {b, c, d, e, f}.
La diferencia B - A es {h, j}

Ejemplo: Sean A = {a, b, c} y B = {1, 2} dos


conjuntos.
El producto cartesiano A x B = {(a,1), (a,2),
(b,1), (b,2), (c,1), (c,2)}

Lenguajes de acceso en BDR


lgebra Relacional :Lenguaje procedimental (se indica qu
y cmo obtenerlo)
Clculo Relacional: Lenguaje no procedimental (se indica
qu pero no cmo obtenerlo)
Dos tipos
Orientado a Tuplas
Orientado a Dominios

lgebra y Clculo Relacional son equivalentes en poder


Expresivo
Lenguajes de Usuario
SQL (Structured Query Language), basado en lgebra relacional
QBE (Query By Example), basado en clculo relacional

lgebra relacional
es un conjunto de operaciones que describen
paso a paso como calcular una respuesta sobre
las relaciones, tal y como stas son definidas en
el modelo relacional.
El elemento fundamental del modelo relacional
de bases de datos es la relacion (Tabla).
Se llama tupla a cada ``fila'' de una tabla, y los
dominios dan nombre a las columnas ( atributos).

Conjunto cerrado de operaciones


Actan sobre relaciones (Tablas)
Producen relaciones (Tablas) como resultado
Pueden combinarse para construir
expresiones ms complejas

Operadores
Operadores Bsicos

Unin
Diferencia
Producto Cartesiano
Seleccin
Proyeccin

Son operacionalmente
completos, permiten
expresar cualquier
consulta a una BDR

Operadores Derivados

Interseccin
Join
Divisin
Asociacin

No aaden nada nuevo


Se forman combinando
los operadores bsicos
Son tiles en
determinadas consultas

OPERADORES BSICOS

Unin
Se representa con el simbolo:
Por lo tanto R S significa R unin S, donde R y S
son 2 relaciones cualesquiera (Tablas).
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 compatible, es decir, definidas
sobre el mismo conjunto de atributos (numero y
tipo).

Ejemplo de unin
Dadas las relaciones Ingenieros y Jefes, realizar:
Ingenieros Jefes

La relacin resultante muestra la unin de todas


Tuplas ya que rene a todos los que son jefes con
todos los que son ingenieros.

Diferencia Se representa con el smbolo:


Por lo tanto R S significa R diferencia S,
donde R y S son 2 relaciones cualesquiera
(Tablas).
La diferencia de dos relaciones R y S, es otra
relacin que contiene las tuplas que estn en
la relacin R, pero no estan en S.
R y S deben ser compatible, es decir, definidas
sobre el mismo conjunto de atributos (numero
y tipo).

Ejemplo de diferencia
Dadas las relaciones Ingenieros y Jefes, realizar:
Ingenieros Jefes y Jefes - Ingenieros

La operacin Ingenieros Jefes, muestra todos los ingenieros


que no son jefes.
La operacin Jefes - ingenieros, muestra a todos los jefes que
no son ingenieros.

Producto cartesiano X
Se representa con el smbolo: X
Por lo tanto R X S significa R producto cartesiano
S, donde R y S son 2 relaciones cualesquiera
(Tablas).
Define una relacin que es la combinacin de
cada una de las filas de la relacin R con cada una
de las filas de la relacin S.

Ejemplo de producto cartesiano


Dadas las relaciones Ingenieros y Jefes, realizar:
Ingenieros X proyectos y Ingenieros X Departamentos

Seleccin
Se representa con el smbolo:
Es un operador unario (solo una relacin): p (R)
Define una relacin con los mismos atributos que
R y que contiene solo aquellas tuplas(filas) de R
que satisfacen la condicin especificada
(predicado): predicado (R).
Permite seleccionar un subconjunto de tuplas de
una relacin (R), todas aquellas que cumplan
la(s) condicin(es) P.

Ejemplo de Seleccin
Una condicin puede ser una combinacin
booleana, donde se pueden usar operadores
como: (and), (or), combinndolos con
operadores relacionales: <, >, <=, >=, =, <>

Proyeccin
Se representa con el smbolo:
Es un operador unario (solo una relacin o el
resultado de otra operacin).
Permite extraer columnas (atributos) de una
relacin, dando como resultado un subconjunto
de atributos de la relacin con los valores de los
atributos especificados, eliminando filas
duplicadas en el resultado.

Ejemplo de proyeccin
Nombre, Edad (Ingenieros): Selecciona los
atributos nombre y edad de la relacin
Ingenieros, mostrando un subconjunto de la
relacin Ingenieros (Vertical).

OPERADORES DERIVADOS

Ejemplos

Mostrar los nombres de los alumnos y


de su tutor
Primero, realizaremos una combinacin entre
alumnos y tutores (pues necesitamos saber a
que alumno le corresponde tal tutor). La
combinacin realizar:
un producto cartesiano, es decir, para cada tupla
de alumnos (todas las filas de alumnos) har una
mezcla con cada una tupla de tutores y:
seleccionar aquellas nuevas tuplas en que
alumno.id sea igual a tutor.id_alumno, esto es:

Alumno X Tutor

Alu_tutor

Alumno.ID_alu = Tutor.ID_ALUMNO(Alumno X Tutor)

Relacin Alu_tutor

Nombre_Alumno, Nombre_Tutor (Alu_Tutor)

Unin natural (Join)

Se representa con el smbolo:


donde
es la condicin de igualdad.
La operacin unin natural en el lgebra relacional
permite reconstruir las tablas originales previas al
proceso de normalizacin.
Consiste en combinar las proyeccin, seleccin y
producto cartesiano en una sola operacin, donde
la condicin es la igualdad Clave Primaria = Clave
Externa (o Foranea), y la proyeccin elimina la
columna duplicada (clave externa).
Expresada en las operaciones bsicas, queda:

Ejemplo: Mostrar los nombres de los


alumnos y de su tutor

Alumno Tutor equivale a:


Alumno Alumno.ID = Tutor.ID_ALUMNO Tutor
Y aplicando el operador de proyeccin : Alumno.Nombre, Tutor.Nombre (Alumno Tutor)

Ejemplo: Mostrar el nombre de los alumnos


inscritos y el nombre de los cursos que tomaron
Comenzaremos con una combinacin entre los inscritos y
los cursos para obtener el nombre de los cursos:
Inscrito Inscrito.COD = Curso.COD Curso

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.
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:

Finalmente con una Proyeccin mostraremos el nombre


del alumno y el curso inscrito:

Ejemplo: Mostrar los nombres y precios de los


cursos inscritos con valor menor a 3.000

Interseccin
Se representa con el smbolo:
Por lo tanto R S significa R interseccin S,
donde R y S son 2 relaciones cualesquiera
(Tablas).
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 compatible, es decir, definidas
sobre el mismo conjunto de atributos (numero y
tipo

Ejemplo
Ingenieros Jefes

Você também pode gostar