Este documento presenta los conceptos clave del álgebra relacional. Explica las operaciones fundamentales como selección, proyección y unión, así como otras operaciones como intersección y división. También cubre el álgebra relacional extendido, el tratamiento de valores nulos y las operaciones básicas de modificación a la base de datos como inserción, borrado y actualización.
1. INSTITUTO TECNOLÓGICO SUPERIOR DE
FELIPE CARRILLO PUERTO
FUNDAMENTOS DE BASE DE DATOS
TRABAJO:
Investigación Unidad 5: Algebra relacional Relacional
DOCENTE:
Arizbé Del S. Arana Kantún
Felipe Carrillo Puerto Quintana Roo, a Viernes 10 de Mayo del 2013
ELABORADO POR:
Yama May José Luis
SEMESTRE: 4
GRUPO: B
AULA: J-4
2. Unidad 5 Algebra Relacional
Fundamentos de Base de Datos Página 2
Contenido
INTRODUCCIÓN.................................................................................................................3
UNIDAD 5: ALGEBRA RELACIONAL..............................................................................4
5.1 OPERACIONES FUNDAMENTALES DEL ALGEBRA RELACIONAL ................4
5.2 OTRAS OPERACIONES DEL ALGEBRA RELACIONAL......................................6
5.3 ALGEBRA RELACIONAL EXTENDIDA ....................................................................8
5.4 VALORES NULOS........................................................................................................9
5.5 OPERACIONES DE MODIFICACIONES A LA BASE DE DATOS ....................10
CONCLUSIÓN ...................................................................................................................11
BIBLIOGRAFÍA ..................................................................................................................12
3. Unidad 5 Algebra Relacional
Fundamentos de Base de Datos Página 3
INTRODUCCIÓN
En este trabajo de investigación que corresponde a la unida 5 algebra
relacional de la materia fundamentos de base de datos, se anexa información
básica y sencilla acerca de cada uno de los temas que componen esta fase, para
el diseño y la creación de una base de datos.
En primer lugar se presenta un pequeño concepto acerca de lo que es
álgebra relacional, así como su utilidad dentro de las bases de datos, entre otras
características que engloba este tema, que es uno de los más importantes en el
desarrollo de un sistema de base de datos, ya que es en esta etapa en la que se
aprenden la forma en la que se manipulara la información que contenga la BD.
Posteriormente se habla acerca de las operaciones elementales que se
utilizan en el álgebra relacional para manipular la información contenida en la BD.
Para cada una de las operaciones se agrega una pequeña definición, con el fin de
conocer cuál es su función; y además se agregan ejemplos sencillos de cada uno
para que se comprenda más su uso.
Además de las operaciones como seleccionar, proyectar, unión,
intersección, etc… existen otros con ciertas características que son diferentes a
las básicas y que por esta razón se incluyen en otro apartado, que habla
exclusivamente de estos. Pero esto no cambia el hecho de ser utilizados como
operaciones para trabajar con la información que se encuentre en la base de
datos.
De la misma forma se plantea un tema que viene a complementar todo lo
que respecta al algebra relacional, denominado algebra relacional extendido, que
cumplen además de las funciones del algebra relacional normal, otras que
normalmente se utilizan dependiendo de las necesidades de cada base de datos,
así como de su tamaño y complejidad.
Y al final también se habla un poco sobre las operaciones de modificación
de una base de datos, que si bien es cierto la mayoría ya conocemos sobre estas
operaciones, que son las más básicas y comunes; estas son borrar un dato,
insertar otro o modificarlo también llamado actualización.
Estos son en general los temas que se abordaron en este trabajo y que
ojala les sirva de mucho, o al menos les permita tener una idea clara sobre el
álgebra relacional en base de datos con sus características y operaciones.
4. Unidad 5 Algebra Relacional
Fundamentos de Base de Datos Página 4
UNIDAD 5: ALGEBRA RELACIONAL
El álgebra relacional es un conjunto de operaciones que describen paso a
paso como computar una respuesta sobre las relaciones, tal y como éstas son
definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia
del Cálculo relacional que es de tipo declarativo.
Describe el aspecto de la manipulación de datos. Estas operaciones se
usan como una representación intermedia de una consulta a una base de datos y,
debido a sus propiedades algebraicas, sirven para obtener una versión más
optimizada y eficiente de dicha consulta.
El álgebra relacional es un lenguaje teórico con operaciones que se aplican
a una o más relaciones, con el fin de definir otra relación, sin modificar las
relaciones originales.
5.1 OPERACIONES FUNDAMENTALES DEL ALGEBRA
RELACIONAL
El conjunto de operaciones para manipular las tuplas de las relaciones o
tablas y el resultado de cada operación es una nueva relación que podemos
manipular posteriormente.
Operaciones:
Seleccionar
Proyectar
Producto cartesiano
Unión
Diferencia
Cada operador del álgebra acepta una o dos relaciones y retorna una
relación como resultado. σ y Π son operadores unarios, el resto de los operadores
son binarios. Las operaciones básicas del álgebra relacional son:
Selección (σ): Permite seleccionar un subconjunto de tuplas de una
relación (R), todas aquellas que cumplan la(s) condición(es) P, esto es:
Ejemplo:
Selecciona todas las tuplas que contengan Gómez como apellido en la
relación Alumnos.
Una condición puede ser una combinación booleana, donde se pueden usar
operadores como: , , combinándolos con operadores: .
5. Unidad 5 Algebra Relacional
Fundamentos de Base de Datos Página 5
Proyección (π): Permite extraer columnas (atributos) de una relación,
dando como resultado un subconjunto vertical de atributos de la relación, esto es:
, … ,
Donde A1, A2,…, An son atributos de la relación R. Ejemplo:
, , _ ( )
Selecciona los atributos Apellido, Semestre y Numero_Control de la relación
Alumnos, mostrados como un subconjunto de la relación Alumnos.
Producto cartesiano (x): El producto cartesiano de dos relaciones se
escribe como:
Y entrega una relación, cuyo esquema corresponde a una combinación de
todas las tuplas de R con cada una de las tuplas de S, y sus atributos
corresponden a los de R seguidos por los de S. Ejemplo:
Muestra una nueva relación, cuyo esquema contiene cada una de las tuplas
de la relación Alumnos junto con las tuplas de la relación Maestros, mostrando
primero los atributos de la relación Alumnos seguidos por las tuplas de la relación
Maestros.
Unión (∪): Produce el conjunto de todas las tuplas que pertenecen ya sea
a R o a S o a Ambas. Al igual que en teoría de conjuntos el símbolo ∪ representa
aquí la unión de dos relaciones.
R y S deben ser uniones compatibles.
Diferencia (-): La diferencia de dos relaciones, R y S denotada por:
Entrega todas aquellas tuplas que están en R, pero no en S. R y S deben
ser uniones compatibles.
Estas operaciones son fundamentales en el sentido en que (1) todas las demás
operaciones pueden ser expresadas como una combinación de éstas y (2)
ninguna de estas operaciones pueden ser omitidas sin que con ello se pierda
información.
6. Unidad 5 Algebra Relacional
Fundamentos de Base de Datos Página 6
5.2 OTRAS OPERACIONES DEL ALGEBRA RELACIONAL
Intersección (∩): La operación de intersección permite identificar filas que
son comunes en dos relaciones. Supongamos que tenemos una tabla de
empleados y otra tabla con los asistentes que han realizado un curso de inglés
(los asistentes pueden ser empleados o gente de la calle). Queremos crear una
figura virtual en la tabla denominada "Empleados que hablan Inglés", esta figura
podemos crearla realizando una intersección de empleados y curso de inglés, los
elementos que existan en ambas tablas serán aquellos empleados que han
asistido al curso.
La intersección de dos relaciones se puede especificar en función de otros
operadores básicos:
La intersección, como en Teoría de conjuntos, corresponde al conjunto de todas
las tuplas que están en R y en S, siendo R y S uniones compatibles.
Reunión o JOIN(|x|): La reunión se utiliza para recuperar datos a través de
varias tablas conectadas unas con otras mediante cláusulas JOIN, en cualquiera
de sus tres variantes INNER, LEFT, RIGHT. La operación reunión se puede
combinar con las operaciones selección y proyección.
Un ejemplo de reunión es conseguir los pedidos que nos han realizado los
clientes nacionales cuyo importe supere 15.000 unidades de producto, generando
un informe con el nombre del cliente y el código del pedido. En este caso se da
por supuesto que la tabla clientes es diferente a la tabla pedidos y que hay
que conectar ambas mediante, en este caso, un INNER JOIN.
División: La operación división es la contraria a la operación producto y
quizás sea la más compleja de explicar, por tanto comenzaré directamente con un
ejemplo. Una determinada empresa posee una tabla de comerciales, otra tabla de
productos y otra con las ventas de los comerciales. Queremos averiguar que
comerciales han vendido todo tipo de producto.
Lo primero que hacemos es extraer en una tabla todos los códigos de todos
los productos, a esta tabla la denominamos
A.Tabla
ACódigo Producto
1035
2241
2249
2518
7. Unidad 5 Algebra Relacional
Fundamentos de Base de Datos Página 7
En una segunda tabla extraemos, de la tabla de ventas, el código del
producto y el comercial que lo ha vendido, lo hacemos con una proyección y
evitamos traer valores duplicados. El resultado podría ser el siguiente:
Tabla B
Código Comercial Código Producto
10 2241
23 2518
23 1035
39 2518
37 2518
10 2249
23 2249
23 2241
Si dividimos la tabla B entre la tabla A obtendremos como resultado una
tercera tabla que:
1. Los campos que contiene son aquellos de la tabla B que no existen en la
tabla A. En este caso el campo Código Comercial es el único de la tabla B que no
existe en la tabla A.
2. Un registro se encuentra en la tabla resultado si y sólo si está asociado
en la tabla B con cada fila de la tabla ATabla Resultado Código ¿Por qué el
resultado es 23? El comercial 23 es el único de la tabla B que tiene asociados
todos los posibles códigos de producto de la tabla A.
8. Unidad 5 Algebra Relacional
Fundamentos de Base de Datos Página 8
5.3 ALGEBRA RELACIONAL EXTENDIDA
Las operaciones básicas del álgebra relacional se han ampliado de varias
maneras. Una ampliación sencilla es permitir operaciones aritméticas como parte
de la proyección. Una ampliación importante es permitir operaciones de
agregación, como el cálculo de la suma delos elementos de un conjunto, o su
media. Otra ampliación importante es la operación reunión externa, que permite a
las expresiones del álgebra relacional trabajar con los valores nulos que modelan
la información que falta.
Proyección generalizada
La operación proyección generalizada amplía la operación proyección
permitiendo que se utilicen funciones aritméticas en la lista de proyección. La
operación proyección generalizada tiene la forma: π F1 ,F2,..., Fn
(E) donde E es cualquier expresión del álgebra relacional y F1, F2, . . . , Fn son
expresiones aritméticas. De forma trivial, la expresión aritmética puede ser
simplemente un atributo o una constante.
Funciones de agregación
Las funciones de agregación son funciones que toman una colección de
valores y devuelven como resultado un único valor. Las funciones de agregación
más habituales son sum (Suma), avg (Media aritmética), count (número de
elementos), min y max (Mínimo y máximo, respectivamente).
Reunión externa
La operación reunión externa es una ampliación de la operación reunión
para trabajar con la información que falta. Esta operación tiene tres formas
diferentes: reunión externa por la izquierda, denotada por |X, reunión externa por
la derecha, denotada por X| y reunión externa completa, denotada por X.
La reunión externa por la izquierda (|X) toma todas las tuplas de la relación
de la izquierda que no coincidan con ninguna tupla de la relación de la derecha,
las rellena con valores nulos en todos los demás atributos de la relación de
la derecha y las añade al resultado de la reunión natural. La reunión externa por la
derecha (X|) es simétrica de la reunión externa por la izquierda. La reunión externa
completa (X) realiza estas dos operaciones, rellenando las tuplas de la relación de
la izquierda que no coincidan con ninguna tupla de la relación de la derecha y las
tuplas de la relación de la derecha que no coincidan con ninguna tupla de la
relación de la izquierda, y añadiéndolas al resultado de la reunión
9. Unidad 5 Algebra Relacional
Fundamentos de Base de Datos Página 9
5.4 VALORES NULOS
A menudo hay varias formas de tratar los valores nulos. Las operaciones y
las comparaciones con valores nulos se deberían evitar siempre que sea posible.
Dado que el valor especial nulo indica “valor desconocido o no existente”,
cualquier operación aritmética que incluya valores nulos devolverá un valor nulo.
De manera similar, cualquier comparación (como <, _, >, _ y, /) que incluya un
valor nulo se evalúa al nuevo valor lógico desconocido. Las operaciones lógicas
tratan los valores desconocidos tal y como se muestra en la siguiente tabla.
A la hora de efectuar operaciones en el álgebra relacional que impliquen
valores nulos, hay que tener en cuenta que las operaciones de proyección, unión,
intersección y diferencia tratan los valores nulos como cualquier otro
valor al eliminar duplicados. Si dos tuplas del resultado de alguna de estas
operaciones son exactamente iguales, y ambos tienen nulos en los mismos
campos, se tratan como duplicados.
La decisión es un tanto arbitraria porque sin saber cuál es el valor real no se
sabe si los dos valores nulos son duplicados o no. Para las funciones de
agregación, hay que tener en cuenta que cuando hay nulos en los atributos
agregados, la operación borra los valores nulos del resultado antes de aplicar la
agregación. Si el multiconjunto resultante está vacío, el resultado agregado será
nulo. Obsérvese que el tratamiento de los valores nulos aquí es diferente que
en las expresiones aritméticas ordinarias.
10. Unidad 5 Algebra Relacional
Fundamentos de Base de Datos Página 10
5.5 OPERACIONES DE MODIFICACIONES A LA BASE DE DATOS
En este apartado se abordará la manera de insertar, borrar o modificar información
de la base de datos.
Borrado
Las solicitudes de borrado se expresan básicamente igual que las
consultas. Sin embargo, en lugar de mostrar las tuplas al usuario, se eliminan de
la base de datos las tuplas seleccionadas. Sólo se pueden borrar tuplas enteras;
no se pueden borrar valores de atributos concretos. En el álgebra relacional
los borrados se expresan mediante r r– E, donde r es una relación y E es una
consulta del álgebra relacional.
Inserción
Para insertar datos en una relación hay que especificar la tupla que se va a
insertar o escribir una consulta cuyo resultado sea un conjunto de tuplas que
vayan a insertarse. El valor de los atributos de las tuplas insertadas deben ser
miembros del dominio de cada atributo y las tuplas insertadas deben ser de
la clase correcta. En el álgebra relacional las inserciones se expresan mediante
r rU E donde r es una relación y E es una consulta del álgebra relacional.
Actualización
Puede que, en algunas situaciones, se desee modificar un valor de una
tupla sin modificar todos los valores de la tupla. Se puede utilizar el operador
proyección generalizada para realizar esta tarea: r π F1, F2, ..., Fn(r), donde cada Fi
es o bien el i-ésimo atributo de r, si el i-ésimo atributo no está actualizado, o una
expresión que sólo implique constantes y los atributos de r, y que del nuevo valor
del atributo.
Si se desea seleccionar varias tuplas de r y sólo actualizar esas mismas
tuplas, se puede utilizar la expresión siguiente, donde P denota la condición de
selección que escoge las tuplas que hay que actualizar:
11. Unidad 5 Algebra Relacional
Fundamentos de Base de Datos Página 11
CONCLUSIÓN
De manera general, este trabajo de investigación permite aprender las
características básicas que se deben de tomar en cuenta para poder
manipular sin ningún problema una base de datos; poder tener acceso a la
información, borrarla, modificar o actualizarla.
Además se aprende a cómo definir qué datos se deben mostrar al
ingresar alguna indicación, como enlazar las tuplas o tablas de nuestro
sistema de base de datos, entre otras acciones que en un momento dado se
requieran para que los usuarios que interactúen con el sistema puedan
realizar sus consultas, generen informes o realicen alguna otra operación
con la información que contenga la BD.
En conclusión en esta etapa del diseño y desarrollo de un sistema de
base de datos, es indispensable conocer a detalle las características de los
datos que se vayan a ingresar en las tablas, como se van a relacionar y
como optimizar el acceso a la información. El álgebra relacional requiere de
que los creadores del sistema contemplen todos los tipos de acciones que
los usuarios en un momento dado necesiten realizar y que datos requerirán
en cada consulta que realicen.
12. Unidad 5 Algebra Relacional
Fundamentos de Base de Datos Página 12
BIBLIOGRAFÍA
http://www.estructurayprogramacion.com/materias/fundamentos-de-base-de-datos/
http://es.scribd.com/doc/136222115/Fundamentos-de-Bases-de-Datos-UNIDAD-V
http://server-itp.servehttp.com/FBD/Unidad5/T51.html
http://www.estructurayprogramacion.com/materias/fundamentos-de-base-de-datos/
http://orlandotlilayatzi.wikispaces.com/UNIDAD+5
http://www.webdelprofesor.ula.ve/ingenieria/ibc/bd/c9ar.pdf