Вы находитесь на странице: 1из 13

Instituto Tecnolgico Superior De San Andrs Tuxtla Carrera Ing.

En Sistemas Computacionales Materia Fundamentos de Bases de Datos DOCENTE Eneida Honorato Rodrguez TRABAJO EJERCICIOS ALGEBRA RELACIONAL ESTUDIANTE Elia Del Carmen Garcia Trinidad Abraham Alexis Martinez Marcial Grupo 404-B

1. Sean las siguientes relaciones:


EDITORIALES (E#, NOMBRE, CIUDAD) LIBROS (L#, AUTOR, TITULO, AO) PAPELERIAS (P#, NOMP, CIUDAD) ELP (E#, L#, P#, CANTIDAD) Se pide escribir en algebra relacional las respuestas a las preguntas siguientes: a) Obtener los nombres de las papeleras abastecidas por alguna editorial de Madrid

NOMP (PAPELERIAS*ELP*(CIUDADD=MADRID (EDITORIALES)))


b) Obtener los valores de E# para las editoriales que suministran a las papeleras P1 y P3 libros publicados en el ao de 1978

NOMBRE (EDITORIALES * E# (ao=1978 (LIBROS) * P#=P1 (ELP)) E#


(ao=1978 (LIBROS) * P#=P2 (ELP)) c) Obtener los valores de P# de las papeleras abastecidas completamente por la editorial E1

PNOMBRE (PAPELERIAS * (E#, L#, P# (ELP) L#,P# (ELP)))


d) Obtener los valores de L# para los libros suministrados para todas las papeleras que no sean de Madrid

TITULO (LIBROS* (L# (LIBROS) L# (ELP)))

2.- Dada la base de datos compuesta por las siguientes relaciones:


PROGRAMAS (P#, MEMORIA, SO, DISTRIBUIDOR) USUARIOS (U#, EDAD, SEXO) ORDENADORES (O#, MODELO, SO, CAPACIDAD) USOS (U#, P#, O#, TIEMPO) Se pide expresar en trminos de algebra relacional la secuencia de operaciones necesarias para efectuar las siguientes consultas de base de datos: a) Obtener los usuarios (U#) que usan al menos todos los programas del distribuidor D1

U#,P# (USOS) P# (DISTRIBUIDOR=D1 (PROGRAMAS))


b) Obtener los programas (p#) que solo son usados por U5

P# (U#=U5 (USOS)) P#(U#<>U5 (USOS))


c) Obtener distribuidores que venden los programas P5 y P8

DISTRIBUIDOR (P# = P5 (PROGRAMAS)) DISTRIBUIDOR


(P#=P8(PROGRAMAS)) d) Obtener los modelos de los ordenadores que son usados por personas mayores de 30 aos durante mas de 3 horas.

MODELO (ORDENADOR * O# (TIEMPO>3 (USOS * U# (EDAD > 30


(USUARIO)))))

3.- Sean las siguientes relaciones siguientes:


SOCIO (AFICIONADO, VIDEOCLUB) GUSTA (AFICIONADO, PELICULA) VIDEOTECA (VIEDOCLUB, PELICULA) Se pide escribir en algebra relacional las sentencias necesarias para responder a las preguntas siguientes: a) Peliculas que le gustan al aficionado JosePerez

PELICULA (AFICIONADO=JOSE PEREZ)(GUSTA)


b) Videoclubes que disponen de alguna pelcula que le guste al aficionado JosePerez

VIDEOCLUB(VIDEOTECA * PELICULA (AFICIONADO =JOSE PEREZ (GUSTA)))


c) Aficionados que son socios al menos de un video club que dispone de alguna pelcula de su gusto.

AFICIONADOS(SOCIO * (VIDEOCLUB (SOCIO * AFICIONADOS(GUSTA))))


d) Aficionados que no son socios de ningn videoclub donde tengan alguna pelcula de su gusto.

AFICIONADOS(SOCIO - (VIDEOCLUB (SOCIO * AFICIONADOS (GUSTA))))

4.- Dada la base de datos formada para las siguientes tablas:


MAQUINAS (M#, TIPO, MATRICULA, PRECIO, PRECIO_HORA) FINCAS (F#, NOMBRE, EXTENSION) TRABAJADOR (T#, NOMBRE, DIRECCION) PARTES (T#, M#, F#, FECHA, TIPO _FAENA, TIEMPO) a) Obtener todos los T# que usan todas las maquinas del tipo 1.

T#, M# (PARTE) M# (Tipo=1 (MAQUINA)).


b) Obtener todos los F# para aquellas fincas en las que han realizado trabajos las maquinas M1 y M3.

F#(M#=M1 AND TIPO FAENA< > NULL ) (PARTES) F# (M#=M3 AND TIPO FAENA < >
NULL)(PARTES).

c) Obtener el valor de M#, para aquellas maquinas que no han sido utilizadas nunca en ningn trabajo

M# (MAQUINA) - M# (TIPO FAENA < > NULL) (PARTES).


d) Obtener todos los nombres de fincas en las que se ha trabajado mas de 5 horas con maquinas cuyo precio por hora sea superior a 2000

NOMBRE# (FINCA * (F# (TIEMPO>5 (PARTES) * M# (PRECIO HORA>2000


(MAQUINA)).

5.- Dada la base de datos compuestas por la siguientes tablas:


ALUMNOS (a#, NOMBRE, GRUPO) PRACTICAS (P#, CURSO, FECHA) ENTREGA (A#, P#, NOTA) Se pide dar solucin en algebra relacional a las consultas: a) Obtener los nombres de los alumnos que han aprobado todas las practicas de tercer curso

NOMBRE (ALUMNO P#, A# (NOTA>= 3 (ENTREGA)) P# (CURSO=C3


(PRACTICAS)))) b) Obtener los nombres de los alumnos que han entregado todas las practicas de tercer curso

NOMBRE (ALUMNO (P#, A# (ENTREGA) P# (CURSO=C3 (PRACTICA))))


c) Obtener los alumnos que han entregado prcticas de segundo y tercer curso.

A# (ENTREGA (P# (CURSO=C2) AND (CURSO=C3) (PRACTICA))


d) Obtener los alumnos que solo han entregado prcticas de segundo curso.

A# (ENTREGA P# (CURSO=C2) (PRACTICA)))


e) Obtener los alumnos que han entregado prcticas de segundo curso y pertenecen al grupo BD-11

A# (GRUPO = BD = 11 (ALUMNO) B:= (P# (CURSO = C2)(PRACTICA)) A# (ENTREGA * (A B))


A:= ( f)

ENTREGA))

Obtener el nombre de los alumnos que no han suspendido ninguna practica de los que ra han entregado.

NOMBRE (ALUMNO - A# (NOTA=0.0) (PRACTICA))

6. La federacin Internacional del Ciclismo profesional debe tener una BDR con las siguientes tablas:
EQUIPOS (E#,NOMBRE, PAIS) CICLISTAS(C#,NOMBRE,E#) COMPETICIONES(M#, NOMBRE ,PAIS, DURACION) CLASIFICACION (M#,C#,PUESTO) Se piden escribir las sentencias necesarias en algebra relacional a) Obtener los ciclistas que solo han participado en competiciones de duracin inferior a 15 dias.

C# (CICLISTA) C# (CLASIFICACION * M# (DURACION 15


(COMPETICION))) b) Obtener los ciclistas de equipos espaoles que han competido en todas las competiciones de Espaa

C#,M# (CLASIFICACION * C# (CICLISTA * E# (PAIS=ESPAA (EQUIPO)))) M# (PAIS=ESPAA (COMPETICION))


c) Obtener los ciclistas que han obtenido un primer y un segundo puestos en competiciones con una duracin inferior a 15 dias

C# (PUESTO=1 (CLASIFICACION)) * M# (DURACION15 (COMPETICION)) C# (PUESTO=2 (CLASIFICACION)) * M# (DURACION15


(COMPETICION))

7.- Dadas las siguientes tablas:


CONDUCTOR(C#, DNI, NOMBRE) AGENTE(A#, NOMBREA, RANGO) INFRACCION (I#, DESCRIP, IMPORTE) DENUNCIA(C#, I#, A#, FECHA, PAGADA) Se piden escribir las sentencias necesarias en algebra relacional A) Obtener el nombre de aquellos conductores que hayan sido denunciados por todas las infracciones inferiores a 1000

NOMBRE (CONDUCTOR * C# (DENUNCIA * I# (IMPORTE1000)


(INFRACCION))) B) Obtener el cdigo de aquellos agentes que solo hayan denunciados infracciones de ESTACIONAMIENTO (atributo DESCRIP)

A# (DENUNCIA * I# (DESCRIP=ESTACIONAMIENTO(INFRACCION)))
C) Obtener el cdigo de aquellos conductores que no tengan ninguna denuncia pendiente de pago (valor S o N en atributo PAGADA).

C# (C# (DENUNCIA) (PAGADA=S (DENUNCIA))

8.- Para la siguiente base de datos Relacional:


FEDERACION (NOMBRE#, DIRECCION, TELEFONO) MIEMBRO (DNI#, NOMBRE_M, TITULACION) COMPOSICION (NOMBRE#, DNI#, CARGO, FECHA_INICIO) Se pide dar respuesta algebraica a las siguientes consultas: a) Obtener el nombre de los presidentes de federacin

NOMBRE_M (CARGO=PRESIDENTE (COMPOSICION)*MIEMBRO)


b) Obtener la direccin de aquellas federaciones que tienen gerente

DIRECCION (CARGO=GERENTE

(COMPOSICION)*FEDERACION)

c) Obtener las federaciones que no tienen asesor tcnico

NOMBRE# (FEDERACION) NOMBRE# (CARGO=ASESOR TECNICO


(COMPOSICION)) d) Obtener las federaciones que tienen todos los cargos

NOMBRE#, CARGO (COMPOSICION) CARGO (COMPOSICION)


e) Obtener las federaciones que tiene asesor tcnico y psicolgico

NOMBRE# (CARGO=ASESOR TECNICO (COMPOSICION)) NOMBRE# (CARGO=PSICOLOGO (COMPOSICION))

9.- Para la siguiente base de datos relacional


AUTOR (DNI#, NOMBRE, UNIVERSIDAD) TEMA (CODTEMA#, DESCRIPCION) REVISTA (REFERENCIA#, TITULO_REV, EDITORIAL) ARTICULO (REFERENCIA#, DNI#, CODTEMA#, TITULO_ART, AO, VOLUMEN, NUMERO, PAGINAS) a) Obtener los artculos cuyo tema sea Base de Datos y hayan sido publicados en el ao de 1990.

TITULO_ART (DESCRIPCION=BASE DE DATOS (TEMA)* AO=1990 (ARTICULO))


b) Obtener las revistas de tipo general, es decir, que publiquen artculos de todos los temas.

TITULO_REV (REVISTA*(REFERENCIA#. CODTEMA# (ARTICULO) CODTEMA# (TEMA)))


c) Obtener las revistas que solo publiquen artculos cuyo tema es Medicina.

TITULO_REV (REVISTA*(REFERENCIA# (REVISTA) - REFERENCIA# (DESCRIPCION<>MEDICINA (TEMA)*ARTICULO))


d) Obtener los autores que han publicado artculos del tema SQL tanto en el ao 1991 como en el ao 1992.

NOMBRE (AUTOR*(DNI (AO=1991 (ARTICULO)* DESCRIPCION=SQL DNI ( AO=1992(ARTICULO)* DESCRIPCION=SQL (TEMA))))

(TEMA))

e) Obtener los artculos del ao 1993 publicados por autores de la Universidad Politecnica de Madrid.

TITULO_ART ( AO=1993 (ARTICULO)* UNIVERSIDAD=POLITCNICA DE MADRID (AUTOR))

10.- Para la siguiente base de datos relacional:


SALA (S#, PISO, CAPACIDAD) PELICULA (P#, TITULO, ESTILO) PROYECCION (S#, P#, SESION, FECHA_INICIO, FECHA_FIN) Se pide dar respuesta algebraica a las siguientes consultas: a) Obtener los ttulos de las pelculas proyectadas durante Febrero del ao 1994

TITULO (FECHA_INICIO < 01-02-1994(PROYECCION) * PELICULA)


b) Obtener las salas en las que se ha proyectado todas las pelculas

S#, P# (PROYECCION) P# (PELICULA)


c) Obtener los ttulos de las pelculas que no han sido proyectadas en la sesin de madrugada (1:00 hrs)

TITULO (PELICULA) * P# (PROYECCION) - P# (SESION=1:00


(PROYECCION)) d) Obtener las salas en las que se ha proyectado la misma pelcula de estilo cine negro tanto en la sesin de 16:00 hrs como en la sesin de 19:00 hrs.

S# (SESION=16:00 (PROYECCION) * ESTILO=CINE NEGRO (PELICULA)) S# (SESION=19:00 (PROYECCION) * ESTILO=CINE NEGRO (PELICULA))
e) Obtener las salas que solo proyectan pelculas cuyo estilo sea musical.

S# (PROYECCION) - S# (PROYECCION * ESTILO<>MUSICAL


(PELICULA))

11.- Para la siguiente base de datos relacional


TIENDA (C_TDA#, NOM_TDA, DIRECCION, TELEFONO) ELECTRODOMESTICO (C_E#, DESCRIPCION, PRECIO) CLIENTE (C_CLI#, NOM_CLI, DOMICILIO) VENTA (C_TDA#, C_E#, C_CLI#, DESCUENTO) Se pide dar respuesta algebraica a las siguientes consultas: a) Obtener los nombres de los clubes con presupuesto mayor que 5 millones y que haya participado en competiciones de categoras igual a 2.

NOM_CLL, DOMICILIO (DESCUENTO> 10 (VENTA)*CLIENTE)


b) Obtener los nombres de los clubes que solo han conseguido el primer puesto.

NOM_TDA, DIRECCION (TIENDA (C_TDA# (DESCUENTO =>15


(VENTA))*TIENDA)) c) Obtener los nombres de los clubes que han participado en todas las competiciones.

DESCUENTO, PRECIO (ELECTRODOMESTICO* (C_E#, C_TDA# (VENTA)


C_TDA# (TIENDA))
d) Obtener los nombres de los clubes que han participado en las competiciones P1 y P2 (en ambas).

DESCRIPCION (ELECTRODOMESTICO* (C_E# (DESCUENTO=10 (VENTA)) C_E# (DESCUENTO=15 (VENTA))))


e) Obtener el nombre y presupuesto de los clubes que no han conseguido un

primer puesto.

NOM_TDA, TELEFONO (TIENDA (C_TDA# (C_E#=E1 (VENTA))*TIENDA))

12.- Para la siguiente base de datos relacional


SOFTWARE (S#, DESCRIPCION, VERSION, FABRICANTE) HARDWARE (H#, NOMBRE, PROCESADOR, CONSTRUCTOR) INSTALACION(S#,H#,C#,EDIFICIO,RESPONSABLE, PROTOCOLO) a) Obtener las descripciones del software existentes en cualquier instalacin

DESCRIPCION (INSTALACION*SOFTWARE)
b) Obtener las instalaciones en que se tiene instalado todo el software

S#, C# (INSTALACION) S# (SOFTWARE)


c) Obtener los nombres de los equipos con procesador M65000 instalados tanto por el protocolo TCP/IP como para protocolo CICS

NOMBRE (HARDWARE * H# (PROTOCOLO=TCP/IP(INSTALACION)* PROCESADOR=M65000 (HARDWARE)) H# (PROTOCOLO=CICS(INSTALACION)* PROCESADOR=M65000 (HARDWARE))


d) Obtener los nombres de los equipos de hardware que no han sido instalados en ningn edificio

NOMBRE (HARDWARE * (H# (HARDWARE) - H# (INSTALACION)))

Вам также может понравиться