www.dio.me | Cassio 30/10/2023
Bruno Freschi | Cassia Alvalaz | Gabriel Pimenta.
Para este desafio, você precisará usar seus conhecimentos adquiridos no módulo de banco de dados, da trilha .NET da DIO.
Você é responsável pelo banco de dados de um site de filmes, onde são armazenados dados sobre os filmes e seus atores. Sendo assim, foi solicitado para que você realize uma consulta no banco de dados com o objetivo de trazer alguns dados para análises.
Você precisará realizar 12 consultas ao banco de dados, cada uma retornando um tipo de informação.
O seu banco de dados está modelado da seguinte maneira:
As tabelas sao descritas conforme a seguir:
- Tabela Filmes armazena informações dos filmes.
- Tabela Atores armazena informações dos atores.
- Tabela Generos armazena os gêneros dos filmes.
- Tabela ElencoFilme representa um relacionamento do tipo muitos para muitos entre filmes e atores, ou seja, um ator pode trabalhar em muitos filmes, e filmes podem ter muitos atores.
- Tabela FilmesGenero representa um relacionamento do tipo muitos para muitos entre filmes e gêneros, ou seja, um filme pode ter mais de um gênero, e um genêro pode fazer parte de muitos filmes.
Você deverá executar o arquivo Script Filmes.sql em seu banco de dados SQL Server, presente na pasta Scripts deste repositório (ou clique aqui).
Esse script irá criar um banco chamado Filmes, contendo as tabelas e os dados necessários para você realizar este desafio.
Você deverá criar diversas consultas, com o objetivo de retornar os dados a seguir. Abaixo de cada pedido tem o retorno esperado.
O seu retorno deve ser igual ao da imagem.
SELECT Nome, Ano
FROM Filmes
SELECT Nome, Ano, Duracao
FROM filmes ORDER BY Ano
SELECT Ano, Nome, Duracao
FROM Filmes WHERE Nome LIKE 'DE VOLTA PARA O FUTURO'
SELECT Nome, Ano, Duracao
FROM FILMES WHERE Ano = 1997
SELECT Nome, Ano, Duracao
FROM Filmes WHERE Ano > 2000
SELECT Nome, Ano, Duracao FROM Filmes
WHERE Duracao > 100 AND Duracao < 150 ORDER BY Duracao
7 - A quantidade de filmes lançadas no ano, agrupando por ano, ordenando pela duracao em ordem decrescente✅
SELECT Ano, COUNT(*) Quantidade FROM Filmes
GROUP BY Ano ORDER BY Quantidade DESC
SELECT * FROM Atores
WHERE Genero = 'M'
9 - Atores do gênero feminino, retornando o PrimeiroNome, UltimoNome, e ordenando pelo PrimeiroNome ✅
SELECT * FROM Atores
WHERE Genero = 'F'
ORDER BY PrimeiroNome
SELECT Nome, Genero FROM Filmes
INNER JOIN FilmesGenero ON Filmes.Id = FilmesGenero.IdFilme
INNER JOIN Generos ON FilmesGenero.IdGenero = Generos.Id
SELECT Nome, Genero FROM Filmes
INNER JOIN FilmesGenero ON Filmes.Id = FilmesGenero.IdFilme
INNER JOIN Generos ON FilmesGenero.IdGenero = Generos.Id
WHERE Genero = 'Mistério'
SELECT Nome, PrimeiroNome, UltimoNome, Papel FROM Filmes
INNER JOIN ElencoFilme ON ElencoFilme.IdFilme = Filmes.Id
INNER JOIN Atores ON ElencoFilme.IdAtor = Atores.Id