Magna Concursos
1590750 Ano: 2006
Disciplina: TI - Banco de Dados
Banca: CESPE / CEBRASPE
Orgão: PRODEST-ES

A seguir, são apresentadas 8 tabelas de um banco de dados e três consultas SQL.

Tabela : aeroportos

codigo

nome telefone

cidade

1 Brasília 2222 1
2 Guararapes 3333 2
3 Galeão 4444 5
4 JFK 5555 6
5 NYC 6666 6
6 San Francisco 7777 3
7 Los Angeles 8888 4

Tabela: agentes

codigo

nome telefone

cidade

1 Sol Turismo 1234 1
2 Mar Turismo 4567 1
3 Praia Tur 7890 2
4 Ferias Turismo 8901 5
5 Enjoy 9012 3
6 Travel 2345 3

Tabela: cidades

codigo

nome

pais

1 Brasilia

Brasil

2 Recife

Brasil

3 San Francisco

EUA

4 Los Angeles

EUA

5 Rio de Janeiro

Brasil

6 New York

EUA

7 Porto Alegre

Brasil

Tabela: clientes

codigo

nome telefone

cidade

1 Roberto 1234 1
2 Jose 2345 1
3 Maria 3456 1
4 Felipe 3456 1
5 Claudia 4567 2
6 Margarida 5678 2
7 Marta 6789 2
8 John 7890 3

Tabela: companhias

codigo

nome telefone

cidade

1 Varig 1212 7
2 GOL 2323 1
3 American 3434 3
4 Delta 4545 3

Tabela:
reservas_viagens

codigo

cliente

agente

1 1 1
2 1 2
3 3 1
4 3 4
5 4 4
6 5 5
7 8 5

Tabela: reservas_voos

codigo

reserva_viagem

voo

data

1 1 1

1/1/2006

2 3 2

1/3/2006

3 2 2

1/3/2006

4 5 3

1/2/2006

5 3 2

1/3/2006

6 7 4

2/2/2006

7 6 5

3/4/2006

8 1 3

5/5/2006

9 8 7

6/6/2006

10 3 3

7/7/2006

Tabela: voos

codigo

companhia origem destino

partida

1 1 1 2 10:00
2 1 1 5 12:00
3 1 5 6 10:00
4 2 2 1 16:00
5 2 5 2 11:00
6 3 3 5 12:00
7 4 4 3 15:00

Consulta 1

select nome, telefone
from clientes
where codigo in (
select cliente
from reservas_viagens
group by cliente
having count(cliente) > 1);

Consulta 2

select nome
from cidades
where cidades.codigo in (
select cidade
from aeroportos
where aeroportos.codigo in (
select destino
from voos, companhias
where companhias.codigo = voos.companhia
and companhias.nome = 'Varig'));

Consulta 3

select distinct nome
from agentes, reservas_viagens
where agentes.codigo = reservas_viagens.agente
and reservas_viagens.codigo in (
select reserva_viagem
from reservas_voos
group by reserva_viagem
having count(reserva_viagem) > 1);

Com relação às tabelas e às consultas anteriores, julgue o seguinte item.

A tabela clientes poderia ter sido criada executando-se o seguinte
comando. create table clientes (
codigo long primary key,
nome char(50),
telefone long,
cidade long references cidades(nome));

 

Provas

Questão presente nas seguintes provas