Clase9 OperacionesBDRelacionales I - Respuestas

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 47

ÁLGEBRA RELACIONAL

LIC. EN INGENIERÍA DE SOFTWARE

BASES DE DATOS

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
Bibliografía
Date, C. (2001). Introducción a los Sistemas de Bases de Datos. Madrid: Pearson
Educación.
de Miguel Castaño, A., & Piattini Velthuis, M. G. (1999). Fundamentos y modelos de
bases de datos. Alfaomega: Madrid.
Elmasri, R., & Navathe, S. (2005). Fundamentos de Sistemas de Bases de Datos.
Madrid: Addison-Wesley.
Silberschatz, A., Korth, H., & Sudarshan, S. (2006). Fundamentos de bases de datos.
España: McGraw-Hill/Interamericana.

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
UNIDAD IV
Álgebra relacional
▪Operadores unarios
▪Operadores binarios: Producto cartesiano, Unión,
Intersección

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
Operaciones fundamentales de álgebra relacional
❖Se usan como una representación intermedia de una consulta a
una base de datos.
❖Conjunto de operaciones simples sobre tablas relacionales.
❖Consiste básicamente en crear o construir nuevas relaciones a
partir de relaciones existentes.
❖Definen, por tanto, un pequeño lenguaje de manipulación de
datos.

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
Operaciones fundamentales de álgebra relacional
❖Existen operaciones unarias, sobre una sola relación y
binarias, se ejecutan sobre dos relaciones.
❖Las operaciones unarias son:
✓Selección.
✓Proyección.
✓Renombramiento.

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operación Selección.
◦ Selecciona tuplas que satisfacen un predicado dado.

nombre_alumno="Erika"
(alumno)
Sigma Predicad Relación
o
• Se permiten las comparaciones que usan =, ≠ , <, ≤, > o ≥ en el predicado de
selección.
• Se pueden combinar varios predicados en uno mayor usando las conectivas y
(∧), o (∨) y no (¬).
• El predicado de selección puede incluir comparaciones entre dos atributos.

Facultad de Estadística e Informática


Base de datos ejemplo. Banco

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operación Selección.

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operación Selección.

❖Préstamos con importe mayor a 1200

◦ Préstamos de más de 1,200 concedidos por la sucursal de


Navacerrada

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operación Proyección.
• Permite extraer columnas (atributos) de una relación, dando como
resultado un subconjunto de la relación.

Πid_curso,nombre_curso(cursos)
Pi Atributos Relación

• Elimina filas duplicadas

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operación Proyección.

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operaciones compuestas.

◦ Buscar los nombres de los clientes que viven en Peguerinos

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operación Renombramiento.
◦ Asigna un nombre a las relaciones que son resultado de las
expresiones de álgebra relacional

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operación Renombramiento.
◦ También puede aplicarse para cambiar el nombre de una
relación y/o sus atributos.

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
Operaciones fundamentales de álgebra relacional

❖Las operaciones binarias son:


✓Unión.
✓Diferencia.
✓Producto cartesiano.

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operación Unión.
RUS
Regresa el conjunto de tuplas que están en R, o en S, o en ambas.
1. Las relaciones r y s deben ser de la misma aridad. Es decir, deben
tener el mismo número de atributos.
2. Los dominios de los atributos i-ésimos de r y de s deben ser
iguales para todo i.

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
Obtener el nombre de todos los clientes
del banco que tienen una cuenta, un
préstamo o ambas cosas.
❖Clientes con préstamo:
Πnombre_cliente (prestatario)

❖Clientes con cuenta:


Πnombre_cliente (impositor)

Πnombre_cliente (prestatario) ∪ Πnombre_cliente (impositor)

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
Πnombre_cliente (prestatario) ∪ Πnombre_cliente (impositor)

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operación Diferencia.
R-S
• Permite hallar las tuplas que están en una relación pero no en la
otra.
• r − s da como resultado una relación que contiene las tuplas que
están en r pero no en s.
◦Por ejemplo: Obtener todos los clientes del banco
que tengan abierta una cuenta pero no tengan
concedido ningún préstamo
Facultad de Estadística e Informática
Operaciones sobre BD relacionales

Πnombre_cliente (impositor) − Πnombre_cliente (prestatario)

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operación Producto cartesiano.
r1 x r2
• Permite combinar información de dos relaciones.
• Por ejemplo: r = prestatario x prestamo
• Se agrega el nombre de la relación a cada atributo:

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operación Producto cartesiano.
• Se agrega el nombre de la relación a cada atributo:

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operación Producto cartesiano.
• El resultado se conformará uniendo por cada tupla de prestatario,
una tupla de prestamo.

Facultad de Estadística e Informática


Prestatario Prestamo

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operación
Producto
cartesiano.

r = prestatario x prestamo

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
Ejemlplo 2:
Determinar el nombre de todos los clientes
que tienen concedido un préstamo en la
sucursal de Navacerrada.

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operaciones en SQL
Determinar el nombre de todos los clientes que tienen concedido un préstamo
en la sucursal de Navacerrada.
Nuevamente se consulta en las relaciones
prestatario y prestamo.

Facultad de Estadística e Informática


Operaciones sobre BD relacionales

Prestatario Prestamo

Facultad de Estadística e Informática


Prestatario Prestamo

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operaciones en SQL

Facultad de Estadística e Informática


Operaciones sobre BD relacionales

❖Sin embargo, la columna nombre_cliente puede contener clientes


que no tengan concedido ningún préstamo en la sucursal de
Navacerrada.

¿Cómo solucionarlo?

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Si un cliente tiene un prestamo en la sucursal de Navacerrada, hay una
tupla de prestatario × prestamo que contiene su nombre y que
prestatario.numero_prestamo = prestamo.numero_prestamo.

Prestatario Prestamo

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
Por lo tanto, se tiene:

Y dado que sólo se desea obtener nombre_cliente, se realiza una proyección:

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
❖Operaciones en SQL
Prestatario Prestamo

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
Ejercicio de repaso
Base de datos EMPLEADOS

Facultad de Estadística e Informática


Operaciones sobre BD relacionales
Base de datos EMPLEADOS
1. Determinar el nombre y ciudad de residencia de todos los empleados que
trabajan en el Banco BANAMEX
2. Determinar el nombre, domicilio y ciudad de residencia de todos los
empleados que ganan más de 10.000.
3. Determinar el nombre, domicilio y ciudad de residencia de todos los
empleados que trabajan en el Banco BANAMEX y ganan más de 10.000.
4. Determinar el nombre de los jefes con empleados en la ciudad de Xalapa.

Facultad de Estadística e Informática


Ejercicio
Base de datos EMPLEADOS
¿Qué atributos se solicitan en la proyección indicada a través de la instrucción
“Determinar”?
¿De acuerdo a los atributos solicitados qué relaciones se necesitan?
¿Qué condición se requiere para obtener las tuplas solicitadas?
¿De acuerdo a la condición presentada qué relaciones se necesitan?

Facultad de Estadística e Informática


Respuestas
Base de datos EMPLEADOS
Determinar el nombre y ciudad de residencia de todos los empleados que
trabajan en el Banco BANAMEX.

Π empleado.nombre_empleado, ciudad(Ϭ
empleado.nombre_empleado=trabaja.nombre_empleado( Ϭnombre_e
mpresa="Banamex" ( empleado X trabaja)))

Facultad de Estadística e Informática


Respuestas
Base de datos EMPLEADOS
Determinar el nombre, domicilio y ciudad de residencia de todos los empleados
que ganan más de 10.000.
Π empleado.nombre_empleado, calle, ciudad (Ϭ
empleado.nombre_empleado=trabaja.nombre_empleado( Ϭsueldo>10000
( empleado X trabaja)))

Facultad de Estadística e Informática


Respuestas
Base de datos EMPLEADOS
Determinar el nombre, domicilio y ciudad de residencia de todos los empleados
que trabajan en el Banco BANAMEX y ganan más de 10.000.
Π empleado.nombre_empleado, calle, ciudad (Ϭ
empleado.nombre_empleado=trabaja.nombre_empleado( Ϭnombre_empresa="Banamex“∧ sueldo>10000
( empleado X trabaja)))

Facultad de Estadística e Informática


Respuestas
Base de datos EMPLEADOS
Determinar el nombre de los jefes con empleados en la ciudad de Xalapa.

Π nombre_jefe (Ϭ
empleado.nombre_empleado=jefe.nombre_empleado ( Ϭ
ciudad="Xalapa" ( empleado X jefe)))

Facultad de Estadística e Informática


Ejercicio
Base de datos banco
Otros ejercicios:
1. Mostrar nombre_sucursal y ciudad_sucursal que tengan préstamos con
importes mayores a 1000 pesos.
2. Mostrar el nombre del cliente, ciudad del cliente y número de cuenta
de todos los clientes con una cuenta abierta en el banco.
3. Mostrar el nombre de la sucursal y activos, que tengan cuentas con
saldo mayor a 50000 pesos

Facultad de Estadística e Informática


Base de datos ejemplo. Banco

Facultad de Estadística e Informática


Ejercicio
Base de datos banco
Otros ejercicios:
1. Mostrar nombre_sucursal y ciudad_sucursal que tengan préstamos
con importes mayores a 1000 pesos.

Π sucursal.nombre_sucursal, ciudad_sucursal
(Ϭsucursal.nombre_sucursal=préstamo.nombre_sucursal
(Ϭpréstamo.importe>1000 ( sucursal X prestamo)))

Facultad de Estadística e Informática


Ejercicio
Base de datos banco
Otros ejercicios:
2. Mostrar el nombre del cliente, ciudad del cliente y número de cuenta
de todos los clientes con una cuenta abierta en el banco.

Π cliente.nombre_cliente, ciudad_cliente, numero_cuenta


(Ϭcliente.nombre_cliente=impositor.nombre_cliente ( cliente X impositor))

Facultad de Estadística e Informática


Ejercicio
Base de datos banco
Otros ejercicios:
3. Mostrar el nombre de la sucursal y activos, que tengan cuentas con
saldo mayor a 50000 pesos

Π sucursal.nombre_sucursal, activos
(Ϭsucursal.nombre_sucursal=cuenta.nombre_sucursal (Ϭsaldo>50000
( sucursal X cuenta)))

Facultad de Estadística e Informática


Operaciones sobre BD relacionales

Gracias por su atención

Facultad de Estadística e Informática

También podría gustarte