You are on page 1of 6

Universidad Dominicana O&M

Base de Datos
Prof. Junior A. Mendez, MCP, MCSA, LIC

1. Se tiene una base de datos de pelculas reflejada por las siguientes
tablas:
Pelcula (#ttulo, #ano, duracin, nombre_estudio)
Estrella (#nombre, direccin, sexo, fecha_nacimiento)
Estudio (#nombre, direccin)
Protagoniza (#ttulo_pelcula, #ano_pelcula, #nombre_estrella)

CREATE TABLE "PELICULAS"
( "ID_PELI" NUMBER(2,0),
"NOM_PELI" VARCHAR2(50),
"DURA_PELI" NUMBER(4,4),
"ANO_PELI" NUMBER(4,0),
"ID_ESTUDIO" NUMBER(2,0),
CONSTRAINT "PELICULAS_PK" PRIMARY KEY ("ID_PELI"),
CONSTRAINT "ESTUDIO_FK" FOREIGN KEY ("ID_ESTUDIO")
REFERENCES "ESTUDIOS" ("ID_ESTUDIO")
)
/

Estrella (#nombre, direccin, sexo, fecha_nacimiento)

CREATE TABLE "ESTRELLA"
( "ID_ESTRELLA" NUMBER(2,0),
"NOM_EST" VARCHAR2(50),
"DIR_EST" VARCHAR2(40),
"NAC_EST" DATE,
"SEXO_EST" CHAR(1),
CONSTRAINT "ESTRELLA_PK" PRIMARY KEY ("ID_ESTRELLA")
)
/

Estudio (#nombre, direccin)

CREATE TABLE "ESTUDIOS"
( "ID_ESTUDIO" NUMBER(2,0),
"NOM_ESTUDIO" VARCHAR2(50),
"DIR_ESTUDIO" VARCHAR2(50),
CONSTRAINT "ESTUDIOS_PK" PRIMARY KEY ("ID_ESTUDIO")
)


Protagoniza (#ttulo_pelcula, #ao_pelcula, #nombre_estrella)

CREATE TABLE "PROTAGONISTAS"
( "ID_PELI" NUMBER(2,0),
"ID_ESTRELLA" NUMBER(2,0),
CONSTRAINT "PELICULA_FK" FOREIGN KEY ("ID_PELI")
REFERENCES "PELICULAS" ("ID_PELI"),
CONSTRAINT "ESTRELLA_FK" FOREIGN KEY ("ID_ESTRELLA")
REFERENCES "ESTRELLA" ("ID_ESTRELLA")
)

Se pide realizar las siguientes consultas en SQL (Se supone que todos los datos necesarios se encuentran
almacenados en las tablas):

1. Encontrar la direccin de los estudios MGM.

select dir_estudio
from estudios
where nom_estudio='mgm'

2. Encontrar todas las estrellas que participaron en pelculas realizadas en 2006 o en alguna pelcula que
contenga la palabra Amor en el ttulo.

Select nom_est
from peliculas p,estrella e,protagonistas pr
where pr.id_peli=p.id_peli and pr.id_estrella=e.id_estrella
and ( p.ano_peli=2006 or p.nom_peli like '%amor%')


3. Quin fue la estrella masculina del Batman?

Select nom_est
from peliculas p,estrella e,protagonistas pr
where pr.id_peli=p.id_peli and pr.id_estrella=e.id_estrella
and p.nom_peli=Batman' and e.sexo_est='m'

4. Qu pelculas tienen mayor duracin que Batman?

Select nom_peli
from peliculas p
where p.dura_peli<(select p.dura_peli from peliculas p where p.nom_peli='Batman')


5. Encontrar el ttulo y la duracin de todas las pelculas producidas por los estudios Disney en el ao 2012,
ordenando la salida por su duracin?

Select nom_peli,dura_peli
From estudios e,peliculas p
Where p.ano_peli=2012 and e.nom_estudio='Disney' order by p.dura_peli asc

6. Encontrar todas las estrellas que son hombres o viven en Malib (tienen Malibu como parte de su
direccin).
Select nom_est
From estrella e
Where e.dir_est like '%malibu%' and e.sexo_est='m'

7. Qu estrellas distintas aparecen en las pelculas producidas por la Universal Studios en 2011? (Si una
aparece varias veces mostrarla solo una vez).

Select distinct nom_est
from estrella,estudios,peliculas
where peliculas.ano_peli=2011 and estudios.nom_estudio='mgm'


8. Encontrar la suma de la duracin de todas las pelculas de cada estudio.

Select e.nom_estudio as estudio, sum(dura_peli) as duracion from peliculas p,estudios e
where e.id_estudio=p.id_estudio group by e.nom_estudio,dura_peli


2. Dada una base de datos de ordenadores e impresoras con las
siguientes tablas:

Producto (#fabricante, #modelo, tipo)
PC (#modelo, velocidad, ram, hd, cd, precio)
Impresora (#modelo, color, tipo, precio)

Producto (#fabricante, #modelo, tipo)
CREATE TABLE PRODUCTO(
ID_PRODUCTO NUMBER(2,0) primary key,
MODELO varchar(40),
FABRICANTE varchar(40),
TIPO varchar(40)
)

PC (#modelo, velocidad, ram, hd, cd, precio)
create table pc(
id_pc number(2,0),
ID_PRODUCTO number(2,0),
velocidad number(5,0),
ram number(5,0),
hd number(4,0),
cd char(3),
precio number(10,0),
constraint id_pcpk primary key (id_pc),
constraint "id_productofk" foreign key ("ID_PRODUCTO") references "PRODUCTO"("ID_PRODUCTO")
)

Impresora (#modelo, color, tipo, precio)

create table impresora (
id_imp number(2,0),
id_producto number(2,0),
color_imp char(1),
tipo_imp char(20),
precio_imp number(10,0),
constraint "id_productofk" foreign key ("ID_PRODUCTO") references "PRODUCTO"("ID_PRODUCTO")
)

Realizar en SQL las siguientes consultas:
1. Encontrar el modelo, velocidad y tamao de disco duro (hd) de todos los PCs cuyo precio sea inferior a
$1600.
Select modelo,velocidad,hd
from producto p,pc pc
where p.id_producto=pc.id_producto and pc.precio<1600

2. Repetir la consulta de (a), pero cambiando el nombre a las columnas velocidad como Megaherzios y hd
como Gigabytes.
Select modelo,velocidad as Megaherzios,hd as Gigabytes
from producto p,pc pc
where p.id_producto=pc.id_producto and pc.precio=1600

3. Encontrar todas las filas de la tabla de Impresoras que son en color. El valor de la columna color es
booleano con los valores V y F.
Select *
From impresora
Where color=v

4. Encontrar la velocidad media de los PCs.
Select sum(velocidad)/count(velocidad) as velomedia
From pc

5. Decir los fabricantes y la velocidad de los PCs con disco duro de tamao mayor o igual a 1 Gigabyte.
Select fabricante,velocidad
From producto p,pc
Where p.id_producto=pc.id_producto and pc.hd=1000

6. Encontrar los fabricantes de los PCs con velocidad superior a 160 MHz.
Select fabricante
From producto p,pc
Where p.id_producto=pc.id_producto and pc.velocidad>160


3. Dadas las siguientes tablas, dar una expresin SQL para cada una
de las siguientes consultas:

Vive (#nombre, calle, ciudad)
Trabaja (#nombre, #compania, salario)
Situada (#compania, ciudad)
Dirige (#nombre, #nombre_director)

1. Encontrar el nombre y la ciudad de todos los empleados que trabajan en Plaza Lama.
Select nom_emp,ciudad_emp
From trabaja,vive
Where trabaja.id_vive=vive.id_vive and trabaja.compania= Plaza Lama


2. Encontrar todos los empleados que viven en la misma ciudad que la compaa en la que trabajan.
Select nom_emp
From trabaja,vive
Where ( )

3. Encontrar el salario y la compaa de todos los directores.
Select t.salario,t.compania
From trabaja t,dirige d
Where d.id_dirige=t.id_dirige

4. Encontrar a todos los empleados que viven en la misma ciudad y en la misma calle que su director.
Select V.Nombre, V.Ciudad
From Vive as V, Trabaja as T
Where V.Nombre = T.Nombre

4. Dadas las siguientes tablas relacionales:

Cigarrillo (#marca, #filtro, nombre_fabricante, precio)
Estanco (#CI, nombre, direccion)
Fabricante (#nombre, pais)
Compras (#CI, #marca, #filtro, ano, cantidad, precio)
Ventas (#CI, #marca, #filtro, ano, cantidad, precio)

Plantear las siguientes preguntas utilizando SQL:
1. Obtener todas las marcas de cigarrillos extranjeros.

2. Obtener el total de compras de cigarrillos con filtro (filtro = S) realizadas por marca.

3. Obtener una relacin completa de todas las compras y ventas realizadas.

5. Dadas las siguientes tablas relacionales:

Persona (#Cedula, nombre, apellidos, calle, numero,
Cod_sector, planta, puerta, metros)
Piso (#calle, #numero, #Sector, #planta)
Sector (#codigo, nombre)

Plantear las siguientes preguntas utilizando SQL:
1. Obtener Cedula de todos los propietarios de una casa en la zona Colonial con el numero 222.

2. Obtener cedula, nombre y apellidos de los propietarios de un piso en la calle Independencia, numero
2021.

3. Obtener todos los pisos de ms de 50m2 cuyo propietario tiene la cedula 001-0000142-1

4. Obtener el nmero de personas que viven en la Av. Bolvar.

5. Obtener el nmero de personas que viven en el Sector La feria.

You might also like