SlideShare una empresa de Scribd logo
1 de 48
FUNDAMENTOS DE BASE DE DATOS
Unidad V: Álgebra Relacional
Este material está desarrollado para la asignatura Fundamentos de Base de Datos, de la carrera de Ingeniería en
Sistemas Computacionales, plan de estudios ISIC-2010-224.
FUNDAMENTOS DE BASE DE DATOS
Competencia
Aplicar el álgebra relacional para la manipulación de datos.
Competencia Específica de la Unidad
• Aplicar el álgebra relacional para la manipulación de datos.
Desarrollo de la Unidad
• En la unidad cinco, se trabaja con álgebra relacional a un nivel de
comprensión de las funciones que se utilizan en lenguaje de consulta
SQL, sin profundizar en la formalización matemática.
FUNDAMENTOS DE BASE DE DATOS
Álgebra Relacional
• Un álgebra es un sistema matemático constituido por operandos:
objetos (valores o variables) desde los cuales nuevos objetos pueden
ser construidos, y por operadores: símbolos que denotan nuevos
objetos desde objetos dados.
FUNDAMENTOS DE BASE DE DATOS
• El álgebra relacional es un álgebra en la cual sus operandos son
relaciones (instancias) o variables que representan relaciones. Sus
operadores están diseñados para hacer las tareas más comunes que
se necesitan para manipular relaciones en una base de datos.
• El resultado es que el álgebra relacional se puede utilizar como un
lenguaje de consulta.
FUNDAMENTOS DE BASE DE DATOS
• El álgebra relacional es un lenguaje de consulta procedimental.
Consta de un conjunto de operaciones que toman como entrada una
o dos relaciones y producen como resultado una nueva relación.
• Las operaciones fundamentales del álgebra relacional son selección,
proyección, unión, diferencia de conjuntos, producto cartesiano y
renombramiento.
• Además de las operaciones fundamentales hay otras operaciones, por
ejemplo; intersección de conjuntos, reunión natural, división y
asignación. Estas operaciones se definirán en términos de las
operaciones fundamentales.
FUNDAMENTOS DE BASE DE DATOS
Operaciones fundamentales del álgebra relacional
• Las operaciones selección, proyección y renombramiento se
denominan operaciones unarias, porque operan sobre una sola
relación. Las otras tres operaciones funcionan sobre pares de relaciones
y se denominan, por lo tanto, operaciones binarias.
FUNDAMENTOS DE BASE DE DATOS
La Operación Selección (σ)
• La operación selección selecciona tuplas que satisfacen un predicado
dado. Se utiliza la letra griega sigma minúscula (σ) para denotar la
selección. El predicado aparece como subíndice de σ. La relación del
argumento se da entre paréntesis a continuación del predicado.
Sintaxis σP(r)
• Por ejemplo, para seleccionar las tuplas de la relación préstamo en
que el nombre-sucursal es «GUASAVE» hay que escribir:
σnombre-sucursal = «GUASAVE» (préstamo)
FUNDAMENTOS DE BASE DE DATOS
• Relación resultante de la consulta
FUNDAMENTOS DE BASE DE DATOS
• En general, se permiten las comparaciones que utilizan =, ≠, <, ≤, > y ≥
en el predicado de selección. Además, se pueden combinar varios
predicados en uno mayor utilizando las conectivas and (∧) y or (∨).
• Ejemplo: buscar todas las tuplas en las que el importe prestado sea
mayor que 1.200 escribiendo:
σimporte>1200 (préstamo)
• Relación resultante:
FUNDAMENTOS DE BASE DE DATOS
• El predicado de selección puede incluir comparaciones entre dos atributos.
Por ejemplo; considere la relación responsable-préstamo, que consta de
tres atributos: nombre-cliente, nombre-banquero y númeropréstamo, que
especifica que un empleado concreto es el responsable del préstamo
concedido a un cliente. Para hallar todos los clientes que se llaman igual
que su responsable de préstamos se puede escribir:
σnombre-cliente = nombre-banquero (responsable-préstamo)
• Dado que el valor especial nulo indica «valor desconocido o inexistente»,
cualquier comparación que implique a un valor nulo se evalúa como falsa.
FUNDAMENTOS DE BASE DE DATOS
• Ejercicio:
FUNDAMENTOS DE BASE DE DATOS
Obtener las tuplas con las siguientes características:
1. Empleados con sueldo mayor a 1000.00
2. Empleados que pertenecen al depto. A3
3. Empleados que ingresaron antes del año 2003
4. Empleados que entraron en el año 2003
5. Empleados que pertenecen al depto. A1 y tienen un sueldo igual o
mayor a 1200.00
6. Empleados que entraron antes del año 2004 y tienen un sueldo
menor a 1000.00
FUNDAMENTOS DE BASE DE DATOS
La Operación Proyección (Π)
• La operación proyección es una operación unaria que devuelve su
relación de argumentos, excluyendo algunos argumentos.
• Supóngase que se desea hacer una lista de todos los números de
préstamo y del importe de los mismos, pero sin que aparezcan los
nombres de las sucursales.
• Dado que las relaciones son conjuntos, se eliminan todas las filas
duplicadas. La proyección se denota por la letra griega mayúscula pi (Π).
Se crea una lista de los atributos que se desea que aparezcan en el
resultado como subíndice de Π.
FUNDAMENTOS DE BASE DE DATOS
• La relación a la que pertenecen los argumentos se escribe a continuación de
los mismos entre paréntesis. Por tanto, la consulta para crear una lista de
todos los números de préstamo y del importe de los mismos puede
escribirse como sigue:
Πnúmero-préstamo, importe (préstamo)
FUNDAMENTOS DE BASE DE DATOS
• Es importante el hecho de que el resultado de una operación
relacional sea también una relación. Considérese la consulta más
compleja «Encontrar los clientes que viven en «guasave». Hay que
escribir:
Πnombre-cliente (σciudad-cliente = «guasave» (cliente))
• Debemos tener en cuenta que, en vez de dar en el argumento de la
operación proyección el nombre de una relación, se da una expresión
que se evalúa como una relación.
FUNDAMENTOS DE BASE DE DATOS
• Ejercicio:
FUNDAMENTOS DE BASE DE DATOS
De la tabla anterior obtener las tuplas correspondientes:
1. El nombre y la sucursal de todos los clientes.
2. El nombre, fecha de préstamo y cantidad de los clientes de la sucursal
Los Mochis.
3. El número de préstamo, nombre y apellido del cliente, y el importe de
aquellos prestamos que son anteriores al 2012.
4. Apellido del cliente e importe prestado de aquellos que son de la
sucursal Guasave y el monto es mayor a 1000.
5. Número de préstamo, fecha y apellido del cliente cuyo monto sea
menor a 1000 y la fecha del préstamo del año 2013
FUNDAMENTOS DE BASE DE DATOS
La Operación Unión (∪ )
• En ocasiones se requiere extraer información de dos o más relaciones, por
o que las operaciones que hemos visto hasta ahora no funcionan por si
solas ya que son operaciones unarias. Por lo tanto se requiere de un nuevo
tipo de operación que es binaria, es decir, trabaja con dos tablas o más.
• La unión de dos relaciones A y B que deben ser compatibles a tal
operación, es el conjunto de tuplas que pertenecen a la relación A, a la
relación B o a ambas relaciones, y es denotada, como en la teoría de
conjuntos, por ∪:
A ∪ B (A UNION B)
FUNDAMENTOS DE BASE DE DATOS
Dos relaciones son compatibles a la unión si y solo si:
• Tienen el mismo número de atributos (es decir son del mismo grado), y
• Tienen atributos equivalentes dentro de las dos relaciones, es decir: El
atributo 1 de la relación A debe estar definido en el mismo dominio del
atributo 1 de la relación B, el atributo 2 de la relación A debe estar
definido en el mismo dominio del atributo 2 de la relación B, y así
sucesivamente.
FUNDAMENTOS DE BASE DE DATOS
Todos  ΠEMP#, SAL (Solteros) ∪ Π#EMP, SUELDO (Casados)
• El resultado de la unión conserva los nombres
de los atributos de la primer relación.
FUNDAMENTOS DE BASE DE DATOS
Ejercicio
FUNDAMENTOS DE BASE DE DATOS
Obtener las tuplas que cumplan con lo siguiente:
1. Unión de ambas relaciones.
2. Unión de ambas relaciones dónde los clientes tengan un crédito por
monto superior a 1000.
3. Unión de ambas relaciones dónde los clientes hayan recibido su
préstamo con fecha del año 2014.
4. Unión de ambas relaciones dónde los clientes hayan recibido su
préstamo antes del año 2012.
5. Unión de ambas relaciones dónde los clientes tengan un préstamo
menor o igual a 1000.
FUNDAMENTOS DE BASE DE DATOS
Operación Diferencia de Conjuntos (–)
• En álgebra relacional la diferencia entre dos relaciones compatibles A y B
produce el conjunto de todas las tuplas t que pertenecen a A y no
pertenecen a B. Se representa con el signo menos (-):
A – B (A menos B)
Ejemplo
Π apellido, nombre(clientes) – Π apellido, nombre(prestamos)
El ejemplo anterior regresa todos los clientes que no tienen un préstamo
FUNDAMENTOS DE BASE DE DATOS
• Ejercicio de Diferencia de Conjuntos
FUNDAMENTOS DE BASE DE DATOS
Obtenga lo siguiente aplicando diferencia de conjuntos
1. Nombre y apellido de todos los clientes que no tienen un préstamo
2. Nombre y apellido de todos los clientes que son de los Mochis y
que no tienen préstamo
3. Nombre y apellido de todos los clientes que son de Guasave tienen
préstamo mayor o igual a 2000.
Π apellido, nombre(σimporte>=2000(prestamos)) – Π apellido,
nombre(σciudad-cliente<>«Guasave»(prestamos))
FUNDAMENTOS DE BASE DE DATOS
Operación Producto Cartesiano (×)
• La operación producto cartesiano, denotada por un aspa (×), permite
combinar información de cualesquiera dos relaciones. El producto
cartesiano de las relaciones A y B como:
A × B (A Veces B )
• Produce el conjunto de todas las tuplas t tales que t es el encadenamiento
de una tupla a perteneciente a A y de una b que pertenece a B. se utiliza
el símbolo × para representar el producto.
• Es decir, dadas dos relaciones específicas, construye una tercera relación
que contiene todas las combinaciones posibles de tuplas, una de cada una
de las relaciones
FUNDAMENTOS DE BASE DE DATOS
• Ejercicio de producto cartesiano:
Π nombre-cliente (σ clientes.apellido-cliente=prestamos.apellido-
cliente(σ nombre-sucursal= «GUASAVE» (clientes x prestamos)))
FUNDAMENTOS DE BASE DE DATOS
FUNDAMENTOSDEBASEDEDATOS
Resultado Final
FUNDAMENTOS DE BASE DE DATOS
Otras Operaciones
• Las operaciones fundamentales del álgebra relacional son suficientes
para expresar cualquier consulta del álgebra relacional. Sin embargo,
si uno se limita únicamente a las operaciones fundamentales, algunas
consultas habituales resultan de expresión intrincada.
• Por lo tanto, se definen otras operaciones que no añaden potencia al
álgebra, pero que simplifican las consultas habituales. Para cada
operación nueva se facilita una expresión equivalente utilizando sólo
las operaciones fundamentales.
FUNDAMENTOS DE BASE DE DATOS
La Operación Intersección de Conjuntos (∩)
• En álgebra relacional la intersección de dos relaciones compatibles A y B
(A ∩ B) o (A INTERSECCION B)
• Esta operación produce el conjunto de todas las tuplas pertenecientes a A y B.
Al igual que en teoría de conjuntos el símbolo ∩ representa aquí la
intersección entre dos relaciones.
Ejemplo:
Π apellido, nombre(clientes) ∩ Π apellido, nombre (prestamos)
Devuelve todos los clientes que tienen un préstamo
FUNDAMENTOS DE BASE DE DATOS
• Ejercicio de intersección de conjuntos
FUNDAMENTOS DE BASE DE DATOS
Obtenga las siguientes intersecciones:
1. Nombre y apellido de los clientes que tienen un préstamo
2. Nombre y apellido de los clientes que tienen un préstamo y son de la
ciudad de Guasave
3. Nombre y apellido de los clientes que tienen un préstamo mayor a
1000
4. Nombre y apellido de los clientes que tienen un préstamo y fue
otorgado antes del año 2014
FUNDAMENTOS DE BASE DE DATOS
La operación reunión natural ( Join)
• Dadas dos relaciones específicas A y B, construye una tercera relación C que
combina ciertas selecciones, proyección y un producto cartesiano en una
sola operación. Se representa con el símbolo 
FUNDAMENTOS DE BASE DE DATOS
A  B (A Reunión B) o (A Join B)
• La reunión natural es una operación binaria que permite combinar ciertas
selecciones y un producto cartesiano en una sola operación. La operación
reunión natural forma un producto cartesiano de sus dos argumentos,
realiza una selección forzando la igualdad de los atributos que aparecen en
ambos esquemas de relación y, finalmente, elimina los atributos
duplicados.
FUNDAMENTOS DE BASE DE DATOS
• Ejemplo: Averiguar los nombres de todos los clientes que tienen concedido
un préstamo, el importe de éste y la sucursal donde se lo otorgaron;
Prestatario Préstamo
Π N_cliente, N_Sucursal, $Importe (Prestatario  Préstamo)
FUNDAMENTOS DE BASE DE DATOS
Resultado:
FUNDAMENTOS DE BASE DE DATOS
La operación División ()
• La operación división, denotada
por ÷, resulta adecuada para las
consultas que incluyen la
expresión «para todos».
• Supóngase que se desea hallar
el producto de la división de la
relación r entre la relación s.
r  s
FUNDAMENTOS DE BASE DE DATOS
Valores Nulos
• En este apartado se define la forma en que las diferentes operaciones
del álgebra relacional tratan los valores nulos y las complicaciones
que surgen cuando los valores nulos participan en las operaciones
aritméticas o en las comparaciones.
• Dado que el valor especial nulo indica «valor desconocido o no
existente», cualquier operación aritmética (como +, –, * y /) que
incluya valores nulos debe devolver un valor nulo.
• De manera similar, cualquier comparación (como <, <=, >, >= y ≠) que
incluya un valor nulo se evalúa al valor especial desconocido; no se
puede decir si el resultado de la comparación es cierto o falso, así que
se dice que el resultado es el nuevo valor lógico desconocido.
FUNDAMENTOS DE BASE DE DATOS
Valores Nulos
• Las comparaciones que incluyan nulos pueden aparecer dentro de
expresiones booleanas que incluyan las operaciones y (conjunción), o
(disyunción) y no (negación). Se debe definir la forma en que estas
operaciones tratan el valor lógico desconocido.
• y: (cierto y desconocido) = desconocido; (falso y desconocido) = falso;
(desconocido y desconocido) = desconocido.
• o: (cierto o desconocido) = cierto; (falso o desconocido) = desconocido;
(desconocido o desconocido) = desconocido.
• no: (no desconocido) = desconocido.
FUNDAMENTOS DE BASE DE DATOS
• reunión: las reuniones se pueden expresar como un
producto cartesiano seguido de una selección. Por tanto, la
definición de la forma en que la selección trata los nulos
también define la forma en que la operación reunión trata
los nulos.
• proyección: la operación proyección trata los nulos como cualquier
otro valor al eliminar duplicados. Así, si dos tuplas del resultado de la
proyección 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.
FUNDAMENTOS DE BASE DE DATOS
• unión, intersección, diferencia: estas operaciones tratan los
valores nulos al igual que la operación proyección; tratan las
tuplas que tienen los mismos valores en todos los campos
como duplicados incluso si algunos de los campos tienen
valores nulos en ambas tuplas.
• El comportamiento es un tanto arbitrario, especialmente en
el caso de la intersección y la diferencia, dado que no se sabe
si los valores reales (si existen) representados por los nulos
son los mismos.
FUNDAMENTOS DE BASE DE DATOS
Operaciones de Modificación de la Base de Datos
• Hasta ahora hemos visto como obtener información desde la Base de
Datos. En ocasiones es necesario entregar herramientas para poder
alterar el estado de la Base de Datos.
• Eliminación, Inserción, Actualización son algunas de las tareas
necesarias, usaremos el álgebra relacional.
FUNDAMENTOS DE BASE DE DATOS
Operación de Eliminación
• Usamos el operador de diferencia (−) y asignación (←)
r ← r − E
Donde r es una relación y E una expresión del álgebra relacional.
Ejemplo: Eliminar los datos de los empleados que se apellidan «Soto»
empleado ← empleado - apellido_empleado = «Soto» (empleado)
FUNDAMENTOS DE BASE DE DATOS
Operación de Inserción
• Para realizar la inserción de tuplas en una relación usamos el
operador de unión.
r ← r ∪ E
donde r es una relación y E una expresión del álgebra relacional.
• Ejemplo: Agregar el departamento de Finanzas con código A5 y fecha
de creación 5/8/2004
departamento ← departamento ∪ {(Finanzas,A5, 5/8/2004)}
FUNDAMENTOS DE BASE DE DATOS
Operación de Actualización
• A veces queremos cambiar el valor de algún atributo de una tupla sin
cambiarla entera. Podría hacerse una eliminación e inserción, pero
resulta laborioso muchas veces. Para hacer esta operación usamos un
nuevo operador (no reasignamos):
que representa el hecho de cambiar el atributo A por la expresión
matemática E en la relación r.
FUNDAMENTOS DE BASE DE DATOS
Ejemplo: Subir el sueldo de todos los empleados en%10 si su sueldo
actual es mayor que $1.000.000 y en %20 si es menor
sueldo←sueldo∗1.1(sueldo≥1000000(empleado))
sueldo←sueldo∗1.2(sueldo<1000000(empleado))
FUNDAMENTOS DE BASE DE DATOS

Más contenido relacionado

La actualidad más candente

Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
Giancarlo Aguilar
 
Componentes de un sistema de base de datos
Componentes de un sistema de base de datosComponentes de un sistema de base de datos
Componentes de un sistema de base de datos
Isabel
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
josecuartas
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
josecuartas
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
yoiner santiago
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
basilioj
 

La actualidad más candente (20)

Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de Datos
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normal
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Unidad 6 Lenguaje Sql
Unidad 6 Lenguaje SqlUnidad 6 Lenguaje Sql
Unidad 6 Lenguaje Sql
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
1. Modelo de Datos
1. Modelo de Datos1. Modelo de Datos
1. Modelo de Datos
 
Componentes de un sistema de base de datos
Componentes de un sistema de base de datosComponentes de un sistema de base de datos
Componentes de un sistema de base de datos
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Lenguaje estructurado de consulta
Lenguaje estructurado de consultaLenguaje estructurado de consulta
Lenguaje estructurado de consulta
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
 
Conceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de DatosConceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de Datos
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 

Destacado

Destacado (20)

Fundamentos de Programacion - Unidad 2 Algoritmos
Fundamentos de Programacion - Unidad 2 AlgoritmosFundamentos de Programacion - Unidad 2 Algoritmos
Fundamentos de Programacion - Unidad 2 Algoritmos
 
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movil
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacional
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BDFundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
 
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Simulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasSimulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatorias
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Conexiones inalámbricas punto a punto usando wds
Conexiones inalámbricas punto a punto usando wds Conexiones inalámbricas punto a punto usando wds
Conexiones inalámbricas punto a punto usando wds
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
 

Similar a Fundamentos de BD - Unidad 5 algebra relacional

Lenguajes formales
Lenguajes formalesLenguajes formales
Lenguajes formales
laloflatland
 
Lenguajes formales
Lenguajes formalesLenguajes formales
Lenguajes formales
laloflatland
 
Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datos
JosepSalvadorSotoObregon
 
Repasando Excel
Repasando ExcelRepasando Excel
Repasando Excel
mpfarias
 
Introducción a los algoritmos
Introducción a los algoritmosIntroducción a los algoritmos
Introducción a los algoritmos
rulo182
 

Similar a Fundamentos de BD - Unidad 5 algebra relacional (20)

Lenguajes formales
Lenguajes formalesLenguajes formales
Lenguajes formales
 
Lenguajes formales
Lenguajes formalesLenguajes formales
Lenguajes formales
 
P:\Lenguajes Formales
P:\Lenguajes FormalesP:\Lenguajes Formales
P:\Lenguajes Formales
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
5.-Algebra-Relacional_parte-1.pdf
5.-Algebra-Relacional_parte-1.pdf5.-Algebra-Relacional_parte-1.pdf
5.-Algebra-Relacional_parte-1.pdf
 
unidad v Algebra Relacinal
unidad v Algebra Relacinalunidad v Algebra Relacinal
unidad v Algebra Relacinal
 
Diseño de base de datos Relacionales
Diseño de base de datos RelacionalesDiseño de base de datos Relacionales
Diseño de base de datos Relacionales
 
Unidad v algebra relacional
Unidad v   algebra relacionalUnidad v   algebra relacional
Unidad v algebra relacional
 
Pb operaciones modelorelacional_gris
Pb operaciones modelorelacional_grisPb operaciones modelorelacional_gris
Pb operaciones modelorelacional_gris
 
Sql
SqlSql
Sql
 
clase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.pptclase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.ppt
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
TRES TIPOS DE FUNCIONES DE EXCEL
TRES TIPOS DE FUNCIONES DE EXCELTRES TIPOS DE FUNCIONES DE EXCEL
TRES TIPOS DE FUNCIONES DE EXCEL
 
ALGEBRA RELACIONAL
ALGEBRA RELACIONALALGEBRA RELACIONAL
ALGEBRA RELACIONAL
 
Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datos
 
Proyecto 2
Proyecto 2Proyecto 2
Proyecto 2
 
Repasando Excel
Repasando ExcelRepasando Excel
Repasando Excel
 
Modelos
ModelosModelos
Modelos
 
Introducción a los algoritmos
Introducción a los algoritmosIntroducción a los algoritmos
Introducción a los algoritmos
 
Guia practica1
Guia practica1Guia practica1
Guia practica1
 

Más de José Antonio Sandoval Acosta

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
bcondort
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
Ricardo705519
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
susafy7
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
gustavoiashalom
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
BRAYANJOSEPTSANJINEZ
 

Último (20)

LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdfJM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 

Fundamentos de BD - Unidad 5 algebra relacional

  • 1. FUNDAMENTOS DE BASE DE DATOS Unidad V: Álgebra Relacional Este material está desarrollado para la asignatura Fundamentos de Base de Datos, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224.
  • 2. FUNDAMENTOS DE BASE DE DATOS Competencia Aplicar el álgebra relacional para la manipulación de datos.
  • 3. Competencia Específica de la Unidad • Aplicar el álgebra relacional para la manipulación de datos. Desarrollo de la Unidad • En la unidad cinco, se trabaja con álgebra relacional a un nivel de comprensión de las funciones que se utilizan en lenguaje de consulta SQL, sin profundizar en la formalización matemática. FUNDAMENTOS DE BASE DE DATOS
  • 4. Álgebra Relacional • Un álgebra es un sistema matemático constituido por operandos: objetos (valores o variables) desde los cuales nuevos objetos pueden ser construidos, y por operadores: símbolos que denotan nuevos objetos desde objetos dados. FUNDAMENTOS DE BASE DE DATOS
  • 5. • El álgebra relacional es un álgebra en la cual sus operandos son relaciones (instancias) o variables que representan relaciones. Sus operadores están diseñados para hacer las tareas más comunes que se necesitan para manipular relaciones en una base de datos. • El resultado es que el álgebra relacional se puede utilizar como un lenguaje de consulta. FUNDAMENTOS DE BASE DE DATOS
  • 6. • El álgebra relacional es un lenguaje de consulta procedimental. Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación. • Las operaciones fundamentales del álgebra relacional son selección, proyección, unión, diferencia de conjuntos, producto cartesiano y renombramiento. • Además de las operaciones fundamentales hay otras operaciones, por ejemplo; intersección de conjuntos, reunión natural, división y asignación. Estas operaciones se definirán en términos de las operaciones fundamentales. FUNDAMENTOS DE BASE DE DATOS
  • 7. Operaciones fundamentales del álgebra relacional • Las operaciones selección, proyección y renombramiento se denominan operaciones unarias, porque operan sobre una sola relación. Las otras tres operaciones funcionan sobre pares de relaciones y se denominan, por lo tanto, operaciones binarias. FUNDAMENTOS DE BASE DE DATOS
  • 8. La Operación Selección (σ) • La operación selección selecciona tuplas que satisfacen un predicado dado. Se utiliza la letra griega sigma minúscula (σ) para denotar la selección. El predicado aparece como subíndice de σ. La relación del argumento se da entre paréntesis a continuación del predicado. Sintaxis σP(r) • Por ejemplo, para seleccionar las tuplas de la relación préstamo en que el nombre-sucursal es «GUASAVE» hay que escribir: σnombre-sucursal = «GUASAVE» (préstamo) FUNDAMENTOS DE BASE DE DATOS
  • 9. • Relación resultante de la consulta FUNDAMENTOS DE BASE DE DATOS
  • 10. • En general, se permiten las comparaciones que utilizan =, ≠, <, ≤, > y ≥ en el predicado de selección. Además, se pueden combinar varios predicados en uno mayor utilizando las conectivas and (∧) y or (∨). • Ejemplo: buscar todas las tuplas en las que el importe prestado sea mayor que 1.200 escribiendo: σimporte>1200 (préstamo) • Relación resultante: FUNDAMENTOS DE BASE DE DATOS
  • 11. • El predicado de selección puede incluir comparaciones entre dos atributos. Por ejemplo; considere la relación responsable-préstamo, que consta de tres atributos: nombre-cliente, nombre-banquero y númeropréstamo, que especifica que un empleado concreto es el responsable del préstamo concedido a un cliente. Para hallar todos los clientes que se llaman igual que su responsable de préstamos se puede escribir: σnombre-cliente = nombre-banquero (responsable-préstamo) • Dado que el valor especial nulo indica «valor desconocido o inexistente», cualquier comparación que implique a un valor nulo se evalúa como falsa. FUNDAMENTOS DE BASE DE DATOS
  • 13. Obtener las tuplas con las siguientes características: 1. Empleados con sueldo mayor a 1000.00 2. Empleados que pertenecen al depto. A3 3. Empleados que ingresaron antes del año 2003 4. Empleados que entraron en el año 2003 5. Empleados que pertenecen al depto. A1 y tienen un sueldo igual o mayor a 1200.00 6. Empleados que entraron antes del año 2004 y tienen un sueldo menor a 1000.00 FUNDAMENTOS DE BASE DE DATOS
  • 14. La Operación Proyección (Π) • La operación proyección es una operación unaria que devuelve su relación de argumentos, excluyendo algunos argumentos. • Supóngase que se desea hacer una lista de todos los números de préstamo y del importe de los mismos, pero sin que aparezcan los nombres de las sucursales. • Dado que las relaciones son conjuntos, se eliminan todas las filas duplicadas. La proyección se denota por la letra griega mayúscula pi (Π). Se crea una lista de los atributos que se desea que aparezcan en el resultado como subíndice de Π. FUNDAMENTOS DE BASE DE DATOS
  • 15. • La relación a la que pertenecen los argumentos se escribe a continuación de los mismos entre paréntesis. Por tanto, la consulta para crear una lista de todos los números de préstamo y del importe de los mismos puede escribirse como sigue: Πnúmero-préstamo, importe (préstamo) FUNDAMENTOS DE BASE DE DATOS
  • 16. • Es importante el hecho de que el resultado de una operación relacional sea también una relación. Considérese la consulta más compleja «Encontrar los clientes que viven en «guasave». Hay que escribir: Πnombre-cliente (σciudad-cliente = «guasave» (cliente)) • Debemos tener en cuenta que, en vez de dar en el argumento de la operación proyección el nombre de una relación, se da una expresión que se evalúa como una relación. FUNDAMENTOS DE BASE DE DATOS
  • 18. De la tabla anterior obtener las tuplas correspondientes: 1. El nombre y la sucursal de todos los clientes. 2. El nombre, fecha de préstamo y cantidad de los clientes de la sucursal Los Mochis. 3. El número de préstamo, nombre y apellido del cliente, y el importe de aquellos prestamos que son anteriores al 2012. 4. Apellido del cliente e importe prestado de aquellos que son de la sucursal Guasave y el monto es mayor a 1000. 5. Número de préstamo, fecha y apellido del cliente cuyo monto sea menor a 1000 y la fecha del préstamo del año 2013 FUNDAMENTOS DE BASE DE DATOS
  • 19. La Operación Unión (∪ ) • En ocasiones se requiere extraer información de dos o más relaciones, por o que las operaciones que hemos visto hasta ahora no funcionan por si solas ya que son operaciones unarias. Por lo tanto se requiere de un nuevo tipo de operación que es binaria, es decir, trabaja con dos tablas o más. • La unión de dos relaciones A y B que deben ser compatibles a tal operación, es el conjunto de tuplas que pertenecen a la relación A, a la relación B o a ambas relaciones, y es denotada, como en la teoría de conjuntos, por ∪: A ∪ B (A UNION B) FUNDAMENTOS DE BASE DE DATOS
  • 20. Dos relaciones son compatibles a la unión si y solo si: • Tienen el mismo número de atributos (es decir son del mismo grado), y • Tienen atributos equivalentes dentro de las dos relaciones, es decir: El atributo 1 de la relación A debe estar definido en el mismo dominio del atributo 1 de la relación B, el atributo 2 de la relación A debe estar definido en el mismo dominio del atributo 2 de la relación B, y así sucesivamente. FUNDAMENTOS DE BASE DE DATOS
  • 21. Todos  ΠEMP#, SAL (Solteros) ∪ Π#EMP, SUELDO (Casados) • El resultado de la unión conserva los nombres de los atributos de la primer relación. FUNDAMENTOS DE BASE DE DATOS
  • 23. Obtener las tuplas que cumplan con lo siguiente: 1. Unión de ambas relaciones. 2. Unión de ambas relaciones dónde los clientes tengan un crédito por monto superior a 1000. 3. Unión de ambas relaciones dónde los clientes hayan recibido su préstamo con fecha del año 2014. 4. Unión de ambas relaciones dónde los clientes hayan recibido su préstamo antes del año 2012. 5. Unión de ambas relaciones dónde los clientes tengan un préstamo menor o igual a 1000. FUNDAMENTOS DE BASE DE DATOS
  • 24. Operación Diferencia de Conjuntos (–) • En álgebra relacional la diferencia entre dos relaciones compatibles A y B produce el conjunto de todas las tuplas t que pertenecen a A y no pertenecen a B. Se representa con el signo menos (-): A – B (A menos B) Ejemplo Π apellido, nombre(clientes) – Π apellido, nombre(prestamos) El ejemplo anterior regresa todos los clientes que no tienen un préstamo FUNDAMENTOS DE BASE DE DATOS
  • 25. • Ejercicio de Diferencia de Conjuntos FUNDAMENTOS DE BASE DE DATOS
  • 26. Obtenga lo siguiente aplicando diferencia de conjuntos 1. Nombre y apellido de todos los clientes que no tienen un préstamo 2. Nombre y apellido de todos los clientes que son de los Mochis y que no tienen préstamo 3. Nombre y apellido de todos los clientes que son de Guasave tienen préstamo mayor o igual a 2000. Π apellido, nombre(σimporte>=2000(prestamos)) – Π apellido, nombre(σciudad-cliente<>«Guasave»(prestamos)) FUNDAMENTOS DE BASE DE DATOS
  • 27. Operación Producto Cartesiano (×) • La operación producto cartesiano, denotada por un aspa (×), permite combinar información de cualesquiera dos relaciones. El producto cartesiano de las relaciones A y B como: A × B (A Veces B ) • Produce el conjunto de todas las tuplas t tales que t es el encadenamiento de una tupla a perteneciente a A y de una b que pertenece a B. se utiliza el símbolo × para representar el producto. • Es decir, dadas dos relaciones específicas, construye una tercera relación que contiene todas las combinaciones posibles de tuplas, una de cada una de las relaciones FUNDAMENTOS DE BASE DE DATOS
  • 28. • Ejercicio de producto cartesiano: Π nombre-cliente (σ clientes.apellido-cliente=prestamos.apellido- cliente(σ nombre-sucursal= «GUASAVE» (clientes x prestamos))) FUNDAMENTOS DE BASE DE DATOS
  • 31. Otras Operaciones • Las operaciones fundamentales del álgebra relacional son suficientes para expresar cualquier consulta del álgebra relacional. Sin embargo, si uno se limita únicamente a las operaciones fundamentales, algunas consultas habituales resultan de expresión intrincada. • Por lo tanto, se definen otras operaciones que no añaden potencia al álgebra, pero que simplifican las consultas habituales. Para cada operación nueva se facilita una expresión equivalente utilizando sólo las operaciones fundamentales. FUNDAMENTOS DE BASE DE DATOS
  • 32. La Operación Intersección de Conjuntos (∩) • En álgebra relacional la intersección de dos relaciones compatibles A y B (A ∩ B) o (A INTERSECCION B) • Esta operación produce el conjunto de todas las tuplas pertenecientes a A y B. Al igual que en teoría de conjuntos el símbolo ∩ representa aquí la intersección entre dos relaciones. Ejemplo: Π apellido, nombre(clientes) ∩ Π apellido, nombre (prestamos) Devuelve todos los clientes que tienen un préstamo FUNDAMENTOS DE BASE DE DATOS
  • 33. • Ejercicio de intersección de conjuntos FUNDAMENTOS DE BASE DE DATOS
  • 34. Obtenga las siguientes intersecciones: 1. Nombre y apellido de los clientes que tienen un préstamo 2. Nombre y apellido de los clientes que tienen un préstamo y son de la ciudad de Guasave 3. Nombre y apellido de los clientes que tienen un préstamo mayor a 1000 4. Nombre y apellido de los clientes que tienen un préstamo y fue otorgado antes del año 2014 FUNDAMENTOS DE BASE DE DATOS
  • 35. La operación reunión natural ( Join) • Dadas dos relaciones específicas A y B, construye una tercera relación C que combina ciertas selecciones, proyección y un producto cartesiano en una sola operación. Se representa con el símbolo  FUNDAMENTOS DE BASE DE DATOS A  B (A Reunión B) o (A Join B)
  • 36. • La reunión natural es una operación binaria que permite combinar ciertas selecciones y un producto cartesiano en una sola operación. La operación reunión natural forma un producto cartesiano de sus dos argumentos, realiza una selección forzando la igualdad de los atributos que aparecen en ambos esquemas de relación y, finalmente, elimina los atributos duplicados. FUNDAMENTOS DE BASE DE DATOS
  • 37. • Ejemplo: Averiguar los nombres de todos los clientes que tienen concedido un préstamo, el importe de éste y la sucursal donde se lo otorgaron; Prestatario Préstamo Π N_cliente, N_Sucursal, $Importe (Prestatario  Préstamo) FUNDAMENTOS DE BASE DE DATOS
  • 39. La operación División () • La operación división, denotada por ÷, resulta adecuada para las consultas que incluyen la expresión «para todos». • Supóngase que se desea hallar el producto de la división de la relación r entre la relación s. r  s FUNDAMENTOS DE BASE DE DATOS
  • 40. Valores Nulos • En este apartado se define la forma en que las diferentes operaciones del álgebra relacional tratan los valores nulos y las complicaciones que surgen cuando los valores nulos participan en las operaciones aritméticas o en las comparaciones. • Dado que el valor especial nulo indica «valor desconocido o no existente», cualquier operación aritmética (como +, –, * y /) que incluya valores nulos debe devolver un valor nulo. • De manera similar, cualquier comparación (como <, <=, >, >= y ≠) que incluya un valor nulo se evalúa al valor especial desconocido; no se puede decir si el resultado de la comparación es cierto o falso, así que se dice que el resultado es el nuevo valor lógico desconocido. FUNDAMENTOS DE BASE DE DATOS
  • 41. Valores Nulos • Las comparaciones que incluyan nulos pueden aparecer dentro de expresiones booleanas que incluyan las operaciones y (conjunción), o (disyunción) y no (negación). Se debe definir la forma en que estas operaciones tratan el valor lógico desconocido. • y: (cierto y desconocido) = desconocido; (falso y desconocido) = falso; (desconocido y desconocido) = desconocido. • o: (cierto o desconocido) = cierto; (falso o desconocido) = desconocido; (desconocido o desconocido) = desconocido. • no: (no desconocido) = desconocido. FUNDAMENTOS DE BASE DE DATOS
  • 42. • reunión: las reuniones se pueden expresar como un producto cartesiano seguido de una selección. Por tanto, la definición de la forma en que la selección trata los nulos también define la forma en que la operación reunión trata los nulos. • proyección: la operación proyección trata los nulos como cualquier otro valor al eliminar duplicados. Así, si dos tuplas del resultado de la proyección 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. FUNDAMENTOS DE BASE DE DATOS
  • 43. • unión, intersección, diferencia: estas operaciones tratan los valores nulos al igual que la operación proyección; tratan las tuplas que tienen los mismos valores en todos los campos como duplicados incluso si algunos de los campos tienen valores nulos en ambas tuplas. • El comportamiento es un tanto arbitrario, especialmente en el caso de la intersección y la diferencia, dado que no se sabe si los valores reales (si existen) representados por los nulos son los mismos. FUNDAMENTOS DE BASE DE DATOS
  • 44. Operaciones de Modificación de la Base de Datos • Hasta ahora hemos visto como obtener información desde la Base de Datos. En ocasiones es necesario entregar herramientas para poder alterar el estado de la Base de Datos. • Eliminación, Inserción, Actualización son algunas de las tareas necesarias, usaremos el álgebra relacional. FUNDAMENTOS DE BASE DE DATOS
  • 45. Operación de Eliminación • Usamos el operador de diferencia (−) y asignación (←) r ← r − E Donde r es una relación y E una expresión del álgebra relacional. Ejemplo: Eliminar los datos de los empleados que se apellidan «Soto» empleado ← empleado - apellido_empleado = «Soto» (empleado) FUNDAMENTOS DE BASE DE DATOS
  • 46. Operación de Inserción • Para realizar la inserción de tuplas en una relación usamos el operador de unión. r ← r ∪ E donde r es una relación y E una expresión del álgebra relacional. • Ejemplo: Agregar el departamento de Finanzas con código A5 y fecha de creación 5/8/2004 departamento ← departamento ∪ {(Finanzas,A5, 5/8/2004)} FUNDAMENTOS DE BASE DE DATOS
  • 47. Operación de Actualización • A veces queremos cambiar el valor de algún atributo de una tupla sin cambiarla entera. Podría hacerse una eliminación e inserción, pero resulta laborioso muchas veces. Para hacer esta operación usamos un nuevo operador (no reasignamos): que representa el hecho de cambiar el atributo A por la expresión matemática E en la relación r. FUNDAMENTOS DE BASE DE DATOS
  • 48. Ejemplo: Subir el sueldo de todos los empleados en%10 si su sueldo actual es mayor que $1.000.000 y en %20 si es menor sueldo←sueldo∗1.1(sueldo≥1000000(empleado)) sueldo←sueldo∗1.2(sueldo<1000000(empleado)) FUNDAMENTOS DE BASE DE DATOS