Ejercicios y Soluciones Algebra Relacional
April 29, 2017 | Author: Ipia Kuetia Leider | Category: N/A
Short Description
Descripción: ejercicios resueltos de base de datos en tema de ALGEBRA RELACIONAL...
Description
EJERCICIOS ALGEBRA RELACIONAL
MIYER ARNULFO CUETIA IPIA LEIDER IPIA CUETIA APRENDICES
CENTRO DE COMERCIOS Y SERVICIOS ANÁLISIS Y DESARROLLO DE SISTEMAS DE FORMACIÓN CAUCA POPAYÁN 2015
EJERCICIOS ALGEBRA RELACIONAL
MIYER ARNULFO CUETIA IPIA LEIDER IPIA CUETIA APRENDICES
ALGEBRA RELACIONAL
LEONARDO JAVIER BASTIDAS MORENO INSTRUCTOR
CENTRO DE COMERCIOS Y SERVICIOS SENA ANÁLISIS Y DESARROLLO DE SISTEMAS DE FORMACIÓN CAUCA POPAYÁN 2015
Ejercicio 1
SOLUCION
π
nombre, apellido(σ Asignatura.CodA = Notas.CodA and CodA=1 and
CodA=2 and CodA=3( Asignatura, Notas, Alumnos))
Nombre
Apellido
Ana Juan
Pérez Gómez García García
Ejercicio 2
SOLUCION
π
nombre, apellido(σ Asignatura.CodA = Notas.CodA and CodA=1 and
CodA=2 and CodA=3( Asignatura, Notas, Alumnos))
Nombre
Apellido
Ana Juan
Pérez Gómez García García
Ejercicio 3
SOLUCION
π
Nombre, Apellido, NombreA, Nota(σ Asignatura.CodA = Notas.CodA and
Notas.nota>5 ( Asignatura, Notas, Alumnos))
Nombre Apellido
NombreA
Nota
Ana Ana Rosa Juan
Programación Ingles Programación Programación
8 7 6 9
Pérez Gómez Pérez Gómez López López García Gracía
Si se hace tal como se plantea el enunciado la tabla quedaría:
π
Nombre, Apellido, (σ Asignatura.CodA = Notas.CodA and Notas.nota>5 (
Asignatura, Notas, Alumnos))
Nombre Apellido Ana Ana Rosa Juan
Pérez Gómez Pérez Gómez López López García Gracía
ALGEBRA RELACIONAL: EJEMPLO
π Se pide dar soluciones algebraicas a las siguientes consultas: 1. Obtener todos los datos de todas las clases.
π
C#, Piso, Bloques (Clases)
Clases C# Piso Bloque C1 C2 C3
1 1 2
1 2 1
2. Obtener todos los datos de todas las clases ubicadas en el primer piso.
π
C#, Piso, Bloque (σ Piso = 1 (Clases))
C# Piso Bloque C1 1 1
C2
1
Obtener los profesores que asisten a la clase “C1”.
3.
π
2
Nombre, C# (σ Asistencia.C# = C1 (Profesor*Asistencia*Clases))
Nomp
C#
Raúl Simón Adrián Rosa
C1 C1 C1 C1
4. Obtener el valor de PISO Y BLOQUE para las clases a las que asiste el profesor “P1”.
π
P#, Piso, Bloque (σ P# = P1 (Asistencia*Clases))
P# Piso Bloque P1 P1
1 2 5.
1 1
Obtener los valor de P# para los profesores que asisten a la clase “C1” impartiendo la asignatura de “FISICA”.
π P#, Nomp, Noma (σ C# = C1 and Noma = FISICA (Asignatura*Asistencia*Profesor)) P# Nomp Noma P1
Raúl
FISICA
6. Obtener los valores de “P#” para los profesores que asisten a la clase “C1” o “C2”.
π
P#, Nomp, (σ C# = C1 or C# = C2 (Asistencia*Profesor))
P# Nomp P1 P2 P3 P4
Raul Simon Rosa Adrian 7. Obtener los valores de “P#” para los profesores que asisten a las clases “C1” y “C2”.
π P#, Nomp, Clases(σ C# = C1 (Asistencia*Profesor)) INTERSECT π P#, Nomp, Clases(σ C# = C2 (Asistencia*Profesor)) P# Nomp Noma P1 P2 P3 P4 P3 P4
Raúl Simón Rosa Adrián Rosa Adrián
C1 C1 C1 C1 C2 C2
8. Obtener los nombres de los profesores que asisten solo a las clases del BLOQUE 1.
π Nomp, (σ Bloque = 1 (Profesor *Asistencia*Clases)) Nomp Raúl Simón Rosa Adrián
9. Obtener las clases en las que se imparten todas las asignaturas.
π
C# ( (ASISTENCIA) ÷
π A# (ASIGNATURA))
C# C1 ALGEBRA RELACIONAL 1. Sean las relaciones siguientes: EDITORIALES (E#, NAME, CIUDAD) LIBROS (L#, TITULO, AUTOR, AÑO) PAPALERIAS (P#, NOMP, CIUDAD) ELP (E#, L#, P#, CANTIDAD) EDITORIALES E# NAME E1 Aruna E2 Butrón E3 Cascada E4 Baxter
CIUDAD Madrid Córdoba Tú chin Lorica
PAPELERIA P# NOMP P1 MegaPapel P2 UltraPapel P3 PlusPapel P4 MasPapel
LIBRO L# TITULO L1 Noche 10 L2 Kamehasutra L3 Ninpha L4 Il Mio Reino
AUTOR Gerom Tokyotan Khunvyx Luggy
AÑO 1978 1980 2001 1978
ELP CIUDAD MADRID_C QUITO_C BOGOTA_C MONGOLIA_c
E# E1 E2 E3 E4
L# L1 L3 L2 L4
P# P3 P2 P4 P1
CANTIDAD 24 12 8 19
Se pide escribir en álgebra relacional las respuestas siguientes: a) Obtener los nombres de las papelerías abastecidas por alguna editorial de “Madrid”.
π P#, NOMP,(σ EDITORIAL.CIUDAD = Madrid (EDITORIALES* PAPELERIA)) P# P3
NOMP PlusPapel
b) Obtener los valores de E# para las editoriales que suministran a las papelerías P1 y P3 libros publicados en el año 1978.
π E#, NAME, P#, NOMP, L#, TITULO, AÑO (σ LIBRO.AÑO = 1978 and PAPELERIA.P# = P1 and P3 (LIBRO*PAPELERIA*EDITORIALES))
E# NAME P# NOMP L# TITULO E1 Aruna P3 PlusPapel L1 Noche 10 E4 Baxter P1 MegaPapel L4 II Mio Reino
AÑO
1978 1978
c) Obtener los valores de P# de las papelería abastecidas completamente por la editorial E1.
π P#, NOMP, CIUDAD (σ ELP.E# = E1 (PAPELERIA*ELP)) P# NOMP CIUDAD P3
PlusPapel BOGOTA
d) Obtener los valores de L# para los libros suministrados para todas las papelerías que no sean de “Madrid”.
π L#, TITULO, AUTOR, AÑO (σ EDITORIALES.E# = E2 and E#= E3 and E#= E4 (LIBRO*PAPELERIA*EDITORIALES)) L# TITULO
AUTOR
AÑO
L2 L3
Tokyotan Khunvyx
1980 2001
Kamehasutra Ninpha
L4
Il Mio Reino
Luggy
1978
2. Dada la base de datos compuesta por las siguientes relaciones: PROGRAMAS (P#, MEMORIAS, S.O, DISTRIBUIDOR) USUARIOS (U#, EDAD, SEXO) ORDENADORES (O#, MODELO, S.O, CAPACIDAD) USOS (U#, P#, 0#, TIEMPO) PROGRAMAS P# MEMORIA P1 1DB P5 2GB P8 3GB P5 4GB
S.O S.O1 S.O2 S.O3 SO.4
DISTRIBUIDOR D1 D2 D2 D4
USUARIOS
ORDENADORES O# MODELO O1 M1 O2 M2 O3 M3 O4 M4
S.O S.O1 S.O2 S.O3 S.O4
CAPACIDAD 320GB 500GB 320GB 500GB
U# EDAD U1 30 U2 45 U3 38 U4 20 USOS U# O# U1 O1 U2 O2 U5 O3 U4 O4
SEXO M F M F P# P1 P2 P8 P5
TIEMPO 3H 5H 3H 6H
Se pide expresar en términos de álgebra relacional la secuencia de operaciones necesaria para efectuar las siguientes consultas a la Base de Datos: a) Obtener los usuarios (U#) que usan al menos todos los programas del distribuidor 'D1'.
π U#, (σ DISTRIBUIDOR = D1 (PROGRAMAS*USUARIOS*)) U# U1 b) Obtener los programas (P#) que sólo son usados por el usuario 'U5'. c)
π P# (σ
U# = U5 (PROGRAMAS*USOS))
P#
MEMORIA
S.O
DISTRIBUIDOR
P8
3GB
S.O3
D2
c) Obtener distribuidores que venden los programas 'P5' y 'P8'.
π DISTRIBUIDOR (σ PROGRAMAS.P# = P5 and P# = P8 (PROGRAMAS)) DISTRIBUIDOR
D2 D4
d) Obtener los modelos de los ordenadores que son usados por personas mayores de 30 años durante más de 3 horas.
π MODELO (σ USUARIOS.EDAD > 30 and USOS.TIMEPO > 3H (ORDENADORES*USOS*USUARIOS)) 3. Sean las siguientes instrucciones: SOCIO (AFICIONADO, VIDEOCLUB) GUSTA (AFICIONADO, PELICULA) VIDEOTECA (VIDEOCLUB, PELICULA) SOCIO
AFICIONADO
VIDEOCLUB
JOSE PEREZ JHON ANAYA RAFA NADAL CARLOS PUYOL
CARANTAS EL_MEJOR NULL EL_PASPI
GUSTA AFICIONADO JOSE PEREZ JHON ANAYA RAFA NADAL CARLOS PUYOL
PELICULA DRACULA BARBIE BRUJAS BARNIE
VIDEOTECA
VIDEOCLUB PELICULA CARANTAS EL_MEJOR SUPERMAX EL_PASPI
DRACULA BARBIE BRUJAS BARNIE
Se pide escribir en álgebra relacional las sentencias necesarias para responder a las preguntas siguientes: a) Películas que le gustan al aficionado José Pérez.
π PELICULA (σ PELICULA DRACULA
AFICIONADO = JOSE PEREZ (GUSTA))
b) Videoclubes que disponen de alguna película que le guste al aficionado José Pérez. c)
π VIDEOCLUB, PELICULA (σ
AFICIONADO = JOSE PEREZ (GUSTA))
VIDEOCLUB PELICULA CARANTAS
DRACULA
d) Aficionados que son socios al menos de un videoclub que dispone de alguna película de su gusto. e)
π AFICIONADO, VIDEOCLUB, PELICULA(SOCIO, GUSTA)
AFICIONADO
VIDEOCLUB
PELICULA
JOSE PEREZ JHON ANAYA CARLOS PUYOL
CARANTAS EL_MEJOR E_PASPI
DRACULA BARBIE BARNIE
f) Aficionados que no son socios de ningún videoclub donde tengan alguna película de su gusto.
π AFICIONADO, PELICULA (σ (SOCIO*GUSTA))
SOCIO.VIDEOCLUB = NULL
AFICIONADO
PELICULA
RAFA NADAL
BRUJAS
4. Dada la base de datos formada por las siguientes tablas: MAQUINAS (M#, TIPO, MATRICULA, PRECIO_HORA) FINCAS (F#, NOMBRE, EXTENSION) TRABAJADOR (T#, NOMBRE, DIRECCION) PARTES (T#, M#, F#, FECHA, TIPO_FAENA, TIEMPO) MAQUINAS M# TIPO M1 1 M2 2 M3 3 M4 4 M5 5
MATRICULA MA1 MA2 MA3 MA4 MA5
TRABAJADOR F# NOMBRE T1 Abstrubal T2 Oscar T3 Hermes T4 Julián T5 Sebastián PARTES T# M# T1 M1 T1 M2 T2 M1 T2 M4 T3 M3 T3 M5 T4 M3 T4 M3 T5 M1
F# F1 F2 F2 F3 F4 F5 F3 F4 F5
PRECIO_HORA 1000 2000 3000 4000 5000
FINCAS F# NOMBRE F1 Abeja F2 Becerra F3 Caimanera F4 Diosita F5 La maría
DIRECCION Uno1 Dos2 Tres3 Cuatro4 Cinco5
FECHA 2008/7/24 2008/7/24 2008/7/28 2008/7/08 2008/7/20 2008/7/16 2008/8/10 2008/10/21 2008/10/16
TIPO_FAENA TIPO1 null TIPO1 TIPO1 TIPO2 TIPO3 TIPO2 TIPO2 TIPO3
TIEMPO 8 0 7 9 5 3 6 6 1
Se pide dar soluciones algebraicas a las siguientes consultas: a) Obtener todos los T# que usan todas las máquinas del tipo 1.
π T#(σ
MAQUINAS.M# = M1(MAQUINAS*PARTES))
EXTENSION 100 200 300 400 500
b) Obtener todos los F# para aquellas fincas en las que han realizado trabajos las máquinas M1 y M3
π F#, NOMBRE, M# (σ (MAQUINA*FINCAS))
MAQUINAS.M# = M1 and MAQUINAS.M# = M3
F#
NOMBRE
M#
F1 F2 F3 F4 F5
Abeja Becerra Caimanera Diosita La maría
M1 M1 M3 M3 M1
c) Obtener el valor de M# para aquellas máquinas que no han sido utilizadas nunca en ningún trabajo.
π M# (σ
PARTES.TIPO_FAENA = NULL (PARTES*MAQUINAS))
M# M2 d) Obtener todos los nombres de fincas en las que se ha trabajado más de 5 horas con máquinas cuyo precio por hora sea superior a 2000 pts.
π F#, NOMBRE, M#, TIEMPO, PRECIO_HORA (σ PARTES.TIEMPO > 5 and MAQUINAS.PRECIO_HORA > 2000 (MAQUINA*FINCAS*PARTES)) F# NOMBRE
M# TIEMPO PRECIO_HORA
F3 Caimanera F3 Caimanera F4 Diosita
M4 M3 M3
9 6 6
4000 3000 3000
5. Dada la base de datos compuesta por las siguientes tablas: ALUMNOS (A#, NOMBRE, GRUPO) PRÁCTICAS (P#, CURSO, FECHA) ENTREGA (A#, P#, NOTA) ALUMNOS A# NOMBRE GRUPO A1 JUAN BD-10 A2 PEDRO BD-09 A3 LUIS BD-11 A4 RAFAEL BD-11
PRÁCTICAS P# CURSO P1 C3 P2 C3 P3 C2 P4 C4
FECHA 03-02-11 06-10-11 03-02-11 06-10-11
ENTREGA A# P# NOTA A1 P1 3.5 A2 P2 0.0 A3 P3 5.0 A4 P4 4.0 Se pide dar solución en álgebra relacional a las consultas: a) Obtener los nombres de los alumnos que han aprobado todas las prácticas de tercer curso. Obtener los nombres de los alumnos que han entregado todas las prácticas de tercer curso.
π NOMBRE, NOTA (σ NOTA > 3.0 and CUSRO = C3 (ALUMNOS*PRACTICAS*ENTREGA)) NOMBRE
NOTA
JUAN
3.5
b) Obtener los alumnos que han entregado prácticas de segundo y tercer curso.
π NOMBRE, NOTA (σ NOTA > 3.0 and CUSRO = C3 (ALUMNOS*PRACTICAS*ENTREGA)) NOMBRE NOTA JUAN LUIS
and CURSO = C2
3.5 5.0
c) Obtener los alumnos que sólo han entregado prácticas de segundo curso.
π NOMBRE, NOTA (σ NOTA > 3.0 and CUSRO = C2 (ALUMNOS*PRACTICAS*ENTREGA)) NOMBRE NOTA LUIS
5.0
d) Obtener los alumnos que han entregado prácticas de segundo curso y pertenecen al grupo 'BD-11'.
π NOMBRE, NOTA, GRUPO (σ CUSRO = C2 and GRUPO = BD-11 (ALUMNOS*PRACTICAS*ENTREGA)) NOMBRE
NOTA
GRUPO
LUIS
5.0
BD-11
e) Obtener el nombre de los alumnos que no han suspendido ninguna práctica de las que han entregado.
π NOMBRE, NOTA (σ
NOTAS > 3.0 (ALUMNOS*ENTREGA))
NOMBRE
NOTA
JUAN LUIS RAFAEL
3.5 5.0 4.0
6. La Federación Internacional de Ciclismo Profesional desea tener una BDR con las siguientes tablas: EQUIPOS (E#, NOMBRE, PAIS) CICLISTAS (C#, NOMBREC, E#) COMPETICIONES (M#, NOMBRECO, PAIS, DURACION) CLASIFICACION (M#, C#, PUESTO) EQUIPOS E# NOMBRE E1 E2 E3 E4
ATLETICA BALSA CALSETO DEAZ
COMPETICIONES M# NOMBRECO M1 Il Giro M2 LaVuelta M3 Round M4 Tour
PAIS ARGENTINA BRASIL COLOMBIA ESPAÑA
PAISCO Italia España EEUU Francia
CLASIFICACIONES M# C# PUESTO M1 C3 1 M1 C1 2 M1 C4 3 M1 C2 4 M2 C4 1 M2 C3 2 M2 C2 3 M3 C2 1 M3 C4 2 M3 C3 3 M4 C2 1 M4 C3 2 M4 C4 3
CICLISTAS C# NOMBREC C1 ANDRES C2 JOAQUIN C3 SIMON C4 PIERE DURACION 12 15 16 20
E# E2 E4 E3 E1
Se pide escribir las sentencias necesarias en álgebra relacional para: a) Obtener los ciclistas que sólo han participado en competiciones de duración inferior a 15 días.
π
C#, NOMBREC (σ DURACION< 15 ( COMPETICIONES*CICLISTAS))
C# NOMBREC C1 C2 C3 C4
ANDRES JOAQUIN SIMON PIERE b) Obtener los ciclistas de equipos españoles que han competido en todas las competiciones de España
π
(σ EQUIPOS.PAIS = ESPAÑA and COMPETICIONES.PAISCO = España ( COMPETICIONES*CICLISTAS*EQUIPOS)) C# NOMBREC E# PAIS C2
C#, NOMBREC, PAIS, E#,
JOAQUIN
E4
ESPAÑA
c) Obtener los ciclistas que han obtenido un primer y un segundo puestos en competiciones con una duración inferior a 15 días.
π
(σ CLASIFICACIONES.PUESTO = 1 and puesto = 2 and COMPETICIONES < 15 ( COMPETICIONES*CICLISTAS)) C# C1 C3
C#, NOMBREC, PUESTO, DURACION
NOMBREC ANDRES
SIMON
PUESTO 2 1
DURACION 12 12
7. Dadas las tablas siguientes: CONDUCTOR (C#, DNI, NOMBREC) AGENTE (A#, NOMBREA, RANGO) INFRACCION (I#, DESCRIP, IMPORTE) DENUNCIA (C#, A#, I#, FECHA, PAGADA) CONDUCTOR C# DNI NOMBREC C1 000 CANELA C2 001 JHON C3 010 RUBEN C4 011 LEYDER C5 111 FLOR
INFRACCION I# DESCRIP I1 BORRACHERA I2 ESTACIONAMIENTO I3 BORRACHERA I4 ESTACIONAMIENTO I5 BORRACHERA
AGENTE A#
NOMBREA
RANGO
A1 A2 A3 A4 A5
ANDRES PEDRO MARCOS TOREDO CARLOS
OFICIAL PATRULLERO PATRULLERO PATRULLERO PATRULLERO
DENUNCIA IMPORTE 10000 80000 7000 5000 9500
C# C1 C2 C3 C4 C5
A# A1 A2 A3 A4 A5
I# I1 I2 I3 I4 I5
FECHA 30-07-11 30-07-11 12-07-11 30-07-11 09-07-11
PAGADA S N S N S
Se pide escribir en álgebra relacional las sentencias necesarias para: a) Obtener el nombre de aquellos conductores que hayan sido denunciados por todas las infracciones inferiores a 10000 Ptas.
π
NOMBREC, C# (σ IMPORTE
View more...
Comments