Este documento presenta los fundamentos del álgebra relacional y las bases de datos relacionales. Introduce conceptos clave como tablas relacionales, tuplas, proyección, selección y producto cartesiano. Incluye un ejercicio práctico sobre un ejemplo de base de datos de campeonatos mundiales de fútbol y concluye resumiendo las propiedades del álgebra relacional.
1. REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN SUPERIOR
INSTITUTO UNIVERSITARIO DE TECNOLOGÍA “ANTONIO JOSÉ DE SUCRE”
SAN FELIPE- YARACUY
ÁLGEBRA RELACIONAL
ALAN VERASTEGUI ESCUELA: 78
C.I 12.078.560
FEBRERO, 2014
3. INTRODUCCIÓN
Se llama álgebra relacional a un conjunto de operaciones simples sobre tablas
relacionales, a partir de las cuales se definen operaciones más complejas
mediante composición. Definen, por tanto, un pequeño lenguaje de manipulación
de datos.
El álgebra relacional permite entender el modelo relacional de bases de
datos desde la perspectiva matemática. Aquí se introducen los fundamentos del
álgebra relacional, para comprender con más precisión lo que hacen los lenguajes
de consulta como SQL.
El elemento fundamental del modelo relacional de bases de datos es
la tabla relacional. Una tabla relacional es una representación extensional de una
relación definida sobre un cierto dominio.
4. ALGEBRA RELACIONAL
Se llama álgebra relacional a un conjunto de operaciones simples sobre
tablas relacionales, a partir de las cuales se definen operaciones más complejas
mediante composición. Definen, por tanto, un pequeño lenguaje de manipulación
de datos.
El elemento fundamental del modelo relacional de bases de datos es
la tabla relacional. Una tabla relacional es una representación extensional de una
relación definida sobre un cierto dominio. Así, son ejemplos de tablas:
Puede_asistir
Alumno
Grupo
Ingenioso 319-M
Ingenioso 327-M
Gracioso
344-T
Ocurrente 333-M
Gusta
Alumno
Profesor
Ingenioso D. Plomo
Ocurrente D Peñazo
Gracioso D. Plomo
Ocurrente D. Mucrmo
Da_clase_en
Profesor
D. Plomo
D. Mucrmo
D. Mucrmo
D. Peñazo
Grupo
319-M
327-M
344-T
333-M
cuyos dominios son, respectivamente: puede asistir: ALUMNO x GRUPO, gusta:
ALUMNO x PROFESOR, y da_clase_en: PROFESOR x GRUPO.
Se llama tupla a cada ``fila'' de una tabla, y es por supuesto un elemento del
producto cartesiano de los dominios que dan nombre a las columnas (atributos).
¶ ) PROYECCIÓN
Permite extraer columna de una relación, dando como resultado
un subconjunto vertical de atributos de la relación, señalada 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.
Ejemplos:
CLAVE
NOMBRE
DIRECCIÓN
001
Juan Carlos Torres Méndez
Atasta
002
Mónica Comes Pérez
Centro
003
Carmen Cruz Cruz
Tamute
004
Miguel Contreras León
Sabina
5. ¶ Clave (Empleados)
CLAVE
001
002
003
004
σ) Selección
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 Relación que constituye el argumento se da
entre paréntesis después de la σ.
Ejemplos:
CLAVE
EMPLEADOS
NOMBRE
DIRECCIÓN
001
Juan Carlos Torres
Méndez
Atasta
002
Mónica Comes
Pérez
Centro
003
Carmen Cruz Cruz
Tamute
004
Miguel Contreras
León
Sabina
¶ nombre σ nombre='Mónica Comes Pérez' (Empleados)
NOMBRE
Mónica Comes Pérez
6. (X) PRODUCTO CARTESIANO
El producto cartesiano de dos conjuntos A x B es el conjunto de todos
los pares ordenados que se pueden formar con un elemento perteneciente al
conjunto A y un elemento del conjunto B.
Los elementos de A x B son pares ordenados. Cada par que se forma con un
elemento del conjunto A y uno del conjunto B, en ese orden y recibe el nombre de
par ordenado. Sus elementos se colocan entre paréntesis, separados por coma.
Como ejemplo:
(x,y)≠ (y,x)
Como ejemplo:
A= (1,2)
2 elementos
B= (x,y,z) 3 elementos
A
B
1.
X.
Y.
2.
Z.
7. EMPLEADOS
NOMBRE
CLAVE
Juan Carlos Torres
Méndez
001
002
OFICIO
Chofer
Mónica Comes Pérez Enfermera
003
Carmen Cruz Cruz
Dentista
004
Miguel Contreras
León
Ingeniero
COLONIAS
CLAVE
001
002
003
004
COLONIA
Méndez
Rovisora
Sabina
Tamulte
C.P.
86003
86105
87100
85300
¶ Empleados.Nombre, Empleados.Oficio, Empleados.Colonia σ
Empleados.Nombre='Miguel Contreras León' ^ Empleados.Clave = Colonia.Clave
(Empleados x Colonias)
PRODUCTO CARTESIANO (EMPLEADOS X COLONIAS)
CLAVE
NOMBRE
OFICIO CLAVE COLONIA
C.P.
001
Juan Carlos Torres
Méndez
Chofer
001
Méndez
86003
001
Juan Carlos Torres
Méndez
Chofer
002
Rovirosa
86105
001
Juan Carlos Torres
Méndez
Chofer
003
Sabina
87100
001
Juan Carlos Torres
Méndez
Chofer
004
Tamulte
85300
002
Mónica Comes Pérez
Enfermera
001
Méndez
86003
002
Mónica Comes Pérez
Enfermera
002
Rovirosa
86105
002
Mónica Comes Pérez
Enfermera
003
Sabina
87100
002
Mónica Comes Pérez
Enfermera
004
Tamulte
85300
003
Carmen Cruz Cruz
Dentista
001
Méndez
86003
003
Carmen Cruz Cruz
Dentista
002
Rovirosa
86105
8. 003
Carmen Cruz Cruz
Dentista
003
Sabina
87100
003
Carmen Cruz Cruz
Dentista
004
Tamulte
85300
004
Miguel Contreras León
Ingeniero
002
Rovirosa
86105
004
Miguel Contreras León
Ingeniero
003
Sabina
87100
004
Miguel Contreras León
Ingeniero
001
Méndez
86003
004
Miguel Contreras León
Ingeniero
004
Tamulte
85300
RESULTADO
NOMBRE
OFICIO
Miguel Contreras
León
Ingeniero
COLONIA
Tamulte
COMPILADOR
Los compiladores son programas o herramientas encargadas de
compilador. Un compilador toma un texto escrito en un lenguaje de alto nivel
(Código Fuente) y los traduce a un lenguaje comprensible por las computadoras
(Código Objeto).
Generalmente un compilador se divide en dos partes:
Front End: parte que analiza el código fuente, comprueba su validez,
genera el árbol de derivación y rellena los valores de la tabla de símbolos.
Parte que suele ser independiente de la plataforma o sistema operativo
para el que funcionará.
Back End: parte en donde se genera el código máquina exclusivo para una
plataforma a partir de lo analizado en el front end.
Por lo general el resultado del back end no puede ser ejecutado
directamente, se necesita pasar por un proceso de enlazado (linker).
BASE DE DATOS RELACIONALES
Una Base de Datos Relacional, es una base de datos que cumple con
el modelo relacional, el cual es el modelo más utilizado en la actualidad
para implementar bases de datos ya planificadas. Permiten establecer
interconexiones (relaciones) entre los datos (que están guardados en
tablas), y a través de dichas conexiones relacionar los datos de ambas
tablas, de ahí proviene su nombre: "Modelo Relacional"
9. Ejemplo de Base de Datos
El modelo de Entidad-Relación: (Ejemplo de Diagramas)
AND
Se identifica en español " Y" y se identifica con le
símbolo ^
OR
Se identifica en español " Y" y se identifica con le
símbolo ٧
Varios a uno: una entidad en A se asocia con lo sumo de
una entidad en B. Una entidad en B, se puede asociar con
cualquier número de identidades en A.
CARDINALIDADES
Varios a varios: Una entidad en A se asocia con
cualquier número de entidades en B y una entidad B se
asocia en cualquier número de entidades.
GENERALIZACIÓN
Es una relación contenedora que existe entre el conjunto
de entidades de nivel más alto y entidades de nivel más
bajo.
Ejercicio
Se cuenta con una base de datos relacional con información sobre los
campeonatos mundiales de fútbol que incluye el año y lugar en que se realizaron y
los equipos que participaron.
Con relación a los equipos se almacena el nombre y la cantidad de campeonatos
que ganó.
- CAMPEONATO (año, país)
- EQUIPO (nom Equipo, cantCampGanados)
- PARTICIPA (nomEquipo, año, serie, direcTecnico, posicionEnLaSerie)
- PARTIDO (nomEquipo1, nomEquipo2, año, estadio, fecha, golesEq1, golesEq2)
Nota: como sólo se consideran los campeonatos mundiales el año determina el
campeonato, sin necesidad del lugar.
∏nomEquipo (PARTICIPA) ⊆ ∏nomEquipo (EQUIPO)
∏nomEquipo1 (PARTIDO) ⊆ ∏nomEquipo (EQUIPO)
10. ∏nomEquipo2 (PARTIDO) ⊆ ∏nomEquipo (EQUIPO)
∏año (PARTIDO) ⊆ ∏año (CAMPEONATO)
∏año (PARTICIPA) ⊆ ∏año (CAMPEONATO)
Resolver los siguientes requerimientos mediante operaciones del álgebra
relacional:
a. ¿Qué equipos de su serie le ganaron a Alemania en el mundial 2006?
b. Listar los directores técnicos de los equipos que ganaron el 14/6/06.
c. ¿Cuántos campeonatos han ganado cada uno de los equipos que perdieron en
el campeonato del 86 con el primero de la serie de Uruguay?
Fuente: Fundamentos de Bases de Datos 2011 Práctico 2 – Fing - Udelar
11. CONCLUSIÓN
Álgebra relacional es un conjunto de operaciones matemáticas definidas
sobre el modelo de conjuntos que se acaba de resumir, que permite especificar
formalmente consultas a bases de datos relacionales.
El álgebra relacional se define como un conjunto de operaciones. Una
característica importante de todas las operaciones del álgebra relacional es
quetanto los operandos como el resultado son relaciones. Esta propiedad se
denomina cierre (o clausura) relacional. Esto tiene dos consecuencias evidentes
pero importantes:
1. El resultado de una operación puede utilizarse como operando en
otra.
2. El resultado de una operación es una relación con todas las
características del modelo relacional: no puede haber tuplas
repetidas, las tuplas no están ordenadas, etc.