Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(ITSC)
Nombre:
Rosaly Dorali
Apellido:
Muñoz Rodríguez
Matrícula:
2020-0563
Carrera:
Soporte Informático
Materia:
Fundamentos de Base de Datos 105
Sección:
01
Maestro:
Luis Bessewell Féliz
Tema:
Álgebra Relacional en las Bases de Datos
Fecha:
Viernes 23 Oct. 2020
Álgebra Relacional en las Bases de Datos
El álgebra relacional es un conjunto de operaciones que describen el paso a paso como
computar un a respuesta sobre las relaciones, tal y como están definidas en el modelo
relacional. Denominada de tipo procedimental, a diferencia de calculo relacional que es de tipo
declarativo.
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, con el fin de definir
otra relación, sin modificar las relaciones originales.
Operaciones son:
Ejemplo:
σ Apellido=Gómez(Alumnos)
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: ^, ˅, como combinaciones de operadores ≤, ≥, ˂, ˃, =, ≠.
• Proyectar (π): Permite extraer columnas (Atributos) de una relación, dando como
resultado un subconjunto vertical de atributos de la relación, esto es: π𝑨 𝟏, 𝑨𝟐, … , 𝑨𝒏
Ejemplo:
π Apellidos,Semestres,Numeros_Control(Alumnos)
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.
Muestra una relación, cuyo esquema contiene cada una de las tuplas de la relación
Alumnos junto con las tuplas de la relación Maestro, mostrando primero los atributos
de la relación Alumnos por las tuplas de la relación Maestro.
• 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 la teoría de conjuntos de símbolos ∪ representa aquí la unión de
dos relaciones.
Es decir: R ∪ S.
Entrega todas aquellas tuplas que están en R, pero no en S. R y S deben ser uniones
compatibles. Estas operaciones pueden ser omitidas sin que con ellos se pierda
información.
Un ejemplo de 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
INNER JOIN.
Ejemplo: una determinada empresa posee una tabla de comerciales, otra tabla de
productos y otra con las ventas de los comerciales. Queremos averiguar qué 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 esa tabla la denominamos
A.Tabla
ACódigo Producto
1035
2241
2249
2518
Si dividimos la tabla B entre la tabla A obtendremos somo resultado una tercera tabla
que:
A. 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
B. 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 A.Tabla Resultado Código, el resultado es 23, ¿por qué? El
comercial 23 es el único de la tabla B que tiene asociados todos los posibles códigos
de producto de la tabla A.
1. Proyección generalizada
La 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: π𝑭 𝟏, 𝑭𝟐, … , 𝑭𝒏
2. 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).
3. 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 deferentes: reunión
externa por la izquierda (denotada por |X), reunión externa por la derecha (denotada por
X|) y la reunión externa completa (denotada X).
3.1La reunión externa por la izquierda (|X) toma todas la 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.
3.2La reunión externa por la derecha (X|) es simétrica de la reunión externa por
la izquierda.
3.3La 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.
A menudo hay varias formas de tratar los valores nulos. Las operaciones y las comparaciones
con valores nulos 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.
A la hora de efectuar operaciones en el álgebra relacional que impliquen valores nulos, Hay
que tener en cuenta que las operaciones se proyección, unión, intersección y diferencia tratan
los valores nulos en los mismos campos, se tratan como duplicados.
La decisión en 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 agregación. Si el multiconjunto resultante está vacío, el resultado
agregado será nulo.
Borrado
Las solicitudes de borrado se expresan básicamente igual que las de consulta. Sin embargo, en
lugar de mostrar las tuplas del usuario, se eliminan de las bases 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 borradores se expresan mediante r r-E, donde r es la
relación y E es una consulta de álgebra relacional.
Intersecció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 algebra relacional las inserciones se expresan
mediante r r ∪ E donde r es una relación y E es una consulta de algebra 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 π𝑭 𝟏, 𝑭𝟐, … , 𝑭𝒏 (r), donde cada Fi es o bien el i-ésimo atributo no está actualizado,
o una expresión que solo implique constantes y los atributos de r, y que del nuevo valor del
atributo.
Si se desea seleccionar varias tuplas de r y solo 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:
r π𝑭 𝟏, 𝑭𝟐, … , 𝑭𝒏 (σp(r)) ∪ (r - σp(r))
Bibliografía:
https://es.slideshare.net/LuyzMeyner/unidad5-algebra-relacional-yamamayjoseluisj4