Está en la página 1de 3

1.

Considérese el siguiente esquema relacional de una base de datos de empresas


(COMP) y sus empleados, con el significado intuitivo:

SEDE TRABAJA
NOM_COMP CIUDAD NOM_EMP NOM_COMP SALARIO

VIVE TIENE-JEFE
NOM_EMP CALLE CIUDAD NOM_EMP NOM_JEFE

2. Expresar las siguientes consultas usando expresiones del álgebra relacional:


 Nombre de todos los empleados que trabajan en IBM
σ (condicion) (Tabla)
Selección
σ NOM_COMP= IBM (TRABAJA)

 Nombre de todos los empleados que no trabajan en IBM. Tener en cuenta que un
empleado puede trabajar en distintas empresas.

σ NOM_COMP ≠ IBM (TRABAJA)


 Nombre, calle y ciudad de los empleados de IBM que ganen más de 200.000 pts.
Vive x trabaja
Nom_emp/calle/ciudad/nom_comp/salario

σ VIVE.NOM_EMP, VIVE.CALLE, VIVE.CIUDAD (VIVE) and


 Empleados que viven en la misma ciudad en la que trabajan.
 Empleados que viven en la misma ciudad y calle que su jefe.

MAYERLY AVILA MONTILLA

1026566326

Dese una expresión del álgebra relacional, otra del cálculo relacional de
tuplas y una tercera del cálculo relacional de dominios para cada una de las
consultas siguientes: a.

Averiguar los nombres de todos los empleados que trabajan para el Banco
Importante. (trabaja WHERE nombre_empresa=‟Banco
Importante‟) [nombre_empleado].
b.

Averiguar el nombre y la ciudad de residencia de todos los empleados que


trabajan para el Banco Importante. (empleado INTERSECT trabaja
WHERE nombre empresa=”Banco Importante”)

[nombre_emplado, ciudad].

c.

Averiguar el nombre, la calle y la ciudad de residencia de todos los empleados


que trabajan para el Banco Importante y ganan más de 2.000.000 de pesetas
anuales. (trabaja.sueldo>2000 WHERE nombre_empresa=‟Banco
Importante‟) [empleado].

d.

Averiguar el nombre de todos los empleados que viven en la misma ciudad y en la


misma calle que sus jefes.

Averiguar el nombre de todos los empleados de esta base de datos que viven
en la misma ciudad que la compañía para la que
trabajan. П(if(empresa.ciudad==empleado.ciudad))

f.

Averiguar el nombre de todos los empleados de esta base de datos que no


trabajan para el Banco Importante. (trabaja WHERE
nombre_empresa!=‟Banco Importante‟)[nombre_empleado]

g.

Averiguar el nombre de todos los empleados que ganan más que cualquier
empleado del Banco Pequeño. T1

:- (trabaja.sueldo WHERE nombre_empresa=‟Banco


Pequeño‟)[nombre_empleado] T2

:- (if(trabaja.sueldo>T1)) [T2.nombre_empleado] h.

Supóngase que las compañías pueden estar instala- das en ciudades


pequeñas. Hállense todas las com-pañías instaladas en cada ciudad en la que
está instalado el Banco Pequeño. T1:-
(empresa.nombre_empresa=‟Banco Pequeño‟)

П (empresa.nombre_empresa=T1) [ciudad]

B.
Dese una expresión del álgebra relacional para cada petición:

a.

Modificar la base de datos de manera que Santos viva ahora en Tres Cantos.

T1:- (if(nombre_empleado=‟Santos‟) then

Empleado UNION { ciudad: „Tres Cantos‟};

b.

También podría gustarte