Trabalho Banco de Dados
Por: Bhayron Ferro • 19/4/2021 • Exam • 704 Palavras (3 Páginas) • 390 Visualizações
-- 1. Crie uma views a qual lista o local e o nome de todos os aeroportos de Portugal (local, nome).
CREATE VIEW LISTA_LOCAL SELECT local, nome FROM aeroportos WHERE pais='Portugal'
select * FROM LISTA_LOCAL;
-- 2. Crie uma views a qual lista os nomes de todos os aviões da versão DC-10 (nome).
CREATE VIEW NOME_AVIAO SELECT nome FROM avioes, modelos WHERE versao='DC-10' AND avioes.codmodelo=modelos.codmodelo
select * FROM NOME_AVIAO;
-- 3. Crie uma views a qual lista para cada avião, a quantidade de motores necessários (nome_avião, num_motores).
CREATE VIEW CADA_AVIAO SELECT nome, nummotores FROM avioes, modelos WHERE avioes.codmodelo=modelos.codmodelo
select * FROM CADA_AVIAO;
-- 4. Crie uma views a qual lista quantos voos com a duração de 2 ou 3 horas há no sistema (contagem)?
CREATE VIEW QTD_AVIAO SELECT count(*) FROM voos WHERE duracao=2 OR duracao=3
select * FROM QTD_AVIAO;
-- 5. Crie uma views a qual lista todos os modelos de avião da série A3xx , isto é, em que a versão começa pelo texto A3 (versão).
CREATE VIEW SERIE SELECT codmotor FROM motores WHERE modelo LIKE 'A3xx%'
select * FROM SERIE;
-- 6. Crie uma views a qual lista os códigos de todos os voos ordenados por duração, voos mais compridos primeiro; para o caso de voos de igual duração, ordene crescentemente pelo código do vôo (codvoo, duração).
CREATE VIEW CDG_VOO SELECT codvoo, duracao FROM voos ORDER BY duracao DESC,codvoo ASC
select * FROM CDG_VOO;
-- 7. Crie uma views a qual tendo em conta que não existe nenhum voo direto do aeroporto de código 1 (Porto) para o aeroporto de código 12 (Londres), liste todos as escalas possíveis (cód_voo1,cód_voo2, código_aeroporto_da_escala). Sugestão: Utilize os códigos dos aeroportos (1 e 12) na pesquisa.
create view CONTA_VOO as select codvoo as Codigo_Voo from aeroportos inner join voos on aeroportos.codaerop=voos.decodaerop and paracodaerop
where local in("PORTO","Lisboa") and codaviao =3;
select * from CONTA_VOO;
-- 8. Crie uma views a qual lista quantos aeroportos há por país ordene a resposta por ordem decrescente (país, contagem)?
create view LISTA_AEROPORTO as select pais, count(codaerop) as Contagem from aeroportos group by pais order by codaerop desc;
select * from LISTA_AEROPORTO;
-- 9. Crie uma views a qual lista ordenadamente todos os voos, respectivo local de origem e local de destino, ordenando pelo código de voo crescente (codvoo, de_local, para_local). Apresente as colunas como Código do Voo , Origem e Destino.
create view ORDENAR_VOO as select codvoo as Codigo_Voo, decodaerop as Origem, paracodaerop as Destino from aeroportos inner join voos on aeroportos.codaerop=voos.decodaerop and voos.paracodaerop order by codvoo asc;
select * from ORDENAR_VOO;
-- 10. Crie uma views a qual lista os códigos dos voos de Porto para Lisboa (codvoo) ? Atenção: A pesquisa não se pode basear nos atuais códigos de aeroportos, ie. deve funcionar mesmo se os códigos de aeroportos mudarem.
create view LISTA_CODIGO_VOO as select codvoo as Codigo_Voo from aeroportos inner join voos on aeroportos.codaerop=voos.decodaerop and paracodaerop
...