Buscar

Atividade Estruturada 2 Banco de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

0
 
ATIVIDADE ESTRUTURADA 2: 
CONSULTAS - MUSEU DE OBRAS DE ARTE SOBRE COMPUTAÇÃO 
 
 
 Consultas 
 
1. Buscar o código e o título das obras de 1965 a 1975 que estão no salão 36. 
SELECT ob.codigo, ob.titulo FROM Obras ob INNER JOIN Saloes s ON 
ob.salao = s.numero WHERE ob.ano BETWEEN 1965 and 1975 AND 
s.numero = 36; 
 
2. Buscar o código e o título das obras do autor Pablo Picasso que se 
encontram no terceiro andar do museu. 
SELECT ob.codigo, ob.titulo INNER JOIN Saloes s ON ob.salao = s.numero 
INNER JOIN Autores a ON ob.autor = a.codigo WHERE a.nome = ‘Pablo 
Picaso’ AND s.andar = 3; 
 
3. Buscar o código e o título das obras impressionistas ou cujo material de 
fabricação é argila. 
SELECT ob.codigo, ob.titulo FROM Obras ob INNER JOIN Esculturas e ON 
ob.codigo = e.codigo INNER JOIN Pinturas p ON ob.codigo = p.codigo 
WHERE p.estilo = ‘Impressionista’ OR e.material = ‘Argila’; 
 
4. Buscar o nome e a nacionalidade dos autores que possuem obras expostas 
no museu. 
a. Resolver este item utilizando subconsulta. 
SELECT a.nome, a.nacionalidade FROM Autores a WHERE a.codigo IN 
(SELECT ob.autor FROM Obras ob); 
 
b. Resolver este item utilizando junção 
SELECT a.nome, a.nacionalidade FROM Autores a INNER JOIN Obras ob 
ON a.codigo = ob.autor; 
 
5. Buscar o nome e a nacionalidade dos autores que não possuem obras 
expostas no museu; 
a. Resolver este item utilizando subconsulta. 
SELECT a.nome, a.nacionalidade FROM Autores a WHERE a.codigo NOT 
IN (SELECT ob.autor FROM Obras ob); 
 
b. Resolver este item utilizando junção. 
SELECT a.nome, a.nacionalidade FROM Autores a INNER JOIN Obras ob 
ON a.codigo <> ob.autor; 
 
6. Buscar o nome e a nacionalidade dos autores que possuem apenas pinturas. 
a. Resolver este item utilizando subconsulta. 
SELECT a.nome, a.nacionalidade FROM Autores a WHERE a.codigo IN 
(SELECT ob.autor FROM Obras ob WHERE ob.codigo = p.codigo); 
 
 
 
1
b. Resolver este item utilizando junção. 
SELECT a.nome, a.nacionalidade FROM Autores a INNER JOIN Pinturas p 
ON ob.codigo = p.codigo; 
 
7. Buscar o nome e a nacionalidade dos autores que possuem tanto pinturas 
quanto esculturas expostas no museu. 
a. Resolver este item utilizando subconsulta. 
SELECT a.nome, a.nacionalidade FROM Autores a WHERE a.codigo IN 
(SELECT ob.autor FROM Obras ob WHERE ob.codigo = e.codigo AND 
WHERE ob.codigo = p.codigo); 
 
b. Resolver este item utilizando junção. 
SELECT a.nome, a.nacionalidade FROM Autores a INNER JOIN Esculturas 
e ON ob.codigo = p.codigo INNER JOIN Pinturas p ON ob.codigo = 
e.codigo; 
 
8. Buscar o nome e a nacionalidade dos autores que possuem ou apenas 
pinturas ou apenas esculturas expostas no museu. 
a. Resolver este item utilizando subconsulta. 
SELECT a.nome, a.nacionalidade FROM Autores a WHERE a.codigo IN 
(SELECT ob.codigo FROM Pinturas OR ob.codigo FROM Esculturas); 
 
b. Resolver este item utilizando junção. 
SELECT a.nome, a.nacionalidade FROM Autores a INNER JOIN Esculturas 
e ON ob.codigo = e.codigo OR INNER JOIN Pinturas p ON ob.codigo = 
p.codigo; 
 
9. Utilizando apenas operadores de conjunto obtenha o código dos autores 
que: 
a. Não possuem obras expostas no museu. 
SELECT a.codigo FROM Autores a WHERE a.codigo NOT IN (SELECT 
ob.autor FROM Obras ob); 
 
b. Possuem apenas pinturas expostas no museu. 
SELECT a.codigo FROM Autores a WHERE a.codigo IN (SELECT ob.autor 
FROM Obras ob WHERE ob.codigo = p.codigo); 
 
c. Possuem apenas esculturas expostas no museu. 
SELECT a.codigo FROM Autores a WHERE a.codigo IN (SELECT ob.autor 
FROM Obras ob WHERE ob.codigo = e.codigo); 
 
d. Possuem tanto pinturas quanto esculturas expostas no museu. 
SELECT a.codigo FROM Autores a WHERE a.codigo IN (SELECT ob.autor 
FROM Obras ob WHERE ob.codigo = e.codigo AND ob.codigo = 
p.codigo); 
 
e. Possuem ou apenas pinturas ou apenas esculturas expostas no museu. 
SELECT a.codigo FROM Autores a WHERE a.codigo IN (SELECT ob.codigo 
FROM Pinturas OR ob.codigo FROM Esculturas); 
 
 
2
 
10. Gerar uma relação que associa os pares de Seguranças diferentes que 
cuidam dos mesmos salões nos mesmos períodos (mesmos horários de 
entrada e saída), como exemplificado abaixo: 
 
SELECT * FROM Funcionarios f INNER JOIN Saloes s ON f.funcao = 
s.numero WHERE f.funcao = ‘Segurança’ AND l.horaentrada = s.numero 
FROM Lotacoes l; 
 
11. Buscar o número dos salões onde estão expostas apenas esculturas. 
SELECT s.numero FROM Saloes s WHERE ob.codigo IN (SELECT e.codigo 
FROM Esculturas e); 
 
12. Buscar o nome e o RG dos faxineiros que limpam todos os salões do quarto 
andar. 
SELECT f.nome, f.RG FROM Funcionarios f INNER JOIN Saloes s ON f.funcao 
= s.andar WHERE f.funcao = ‘Faxineiro’ AND s.andar = 4; 
 
13. Buscar os autores brasileiros que possuem apenas esculturas. 
SELECT a.nome FROM Autores a INNER JOIN Esculturas e ON a.codigo = 
e.codigo WHERE a.nacionalidade = ‘Brasileiro’; 
 
14. Buscar o nome e RG dos seguranças que cuidam apenas do salão 28. 
SELECT f.nome, f.RG FROM Funcionarios f INNER JOIN Saloes s ON s.salao 
= f.nome WHERE f.funcao = ‘Segurança’ AND numero = 28; 
 
15. Buscar todos os dados do salão de maior área. 
SELECT * FROM Saloes s WHERE s.area = (SELECT MAX (s.area) FROM 
Saloes s); 
 
16. Inserir um novo salão de Nº 70 no 20º andar com área de 121 m2. 
INSERT INTO Saloes (numero, andar, area) VALUES (‘70’, ‘20’, ‘121 m2’); 
 
17. Transferir todas as obras do salão 51 para o salão 70 
UPDATE Obras SET salao = '70' WHERE salao = ‘51’; 
 
18. Eliminar todas as pinturas do autor Salvador Dali do cadastro. 
DELETE FROM Pinturas INNER JOIN Obras ob ON ob.codigo = a.codigo 
WHERE a.nome = ‘Salvador Dali’;

Outros materiais