Skip to content

hesauhugo/trilha-net-banco-de-dados-desafio

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

DIO - Trilha .NET - Banco de Dados

www.dio.me

Desafio de projeto

Para este desafio, você precisará usar seus conhecimentos adquiridos no módulo de banco de dados, da trilha .NET da DIO.

Contexto

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.

Proposta

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:

Diagrama banco de dados

As tabelas sao descritas conforme a seguir:

Filmes

Tabela responsável por armazenar informações dos filmes.

Atores

Tabela responsável por armazenar informações dos atores.

Generos

Tabela responsável por armazenar os gêneros dos filmes.

ElencoFilme

Tabela responsável por representar 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.

FilmesGenero

Tabela responsável por representar 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.

Preparando o banco de dados

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.

Objetivo

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.

1 - Buscar o nome e ano dos filmes

Exercicio 1

1 R:

    SELECT
        NOME,
        ANO
    FROM Filmes

2 - Buscar o nome e ano dos filmes, ordenados por ordem crescente pelo ano

Exercicio 2

2 R:

    SELECT
        Nome,
        Ano,
        Duracao
    FROM Filmes
    ORDER BY  Ano

3 - Buscar pelo filme de volta para o futuro, trazendo o nome, ano e a duração

Exercicio 3

3 R:

    SELECT
        Nome,
        Ano,
        Duracao
    FROM Filmes
    WHERE Nome  = 'De Volta para o Futuro'

4 - Buscar os filmes lançados em 1997

Exercicio 4

4 R:

    SELECT
        Nome,
        Ano,
        Duracao
    FROM Filmes
    WHERE Ano = 1997

5 - Buscar os filmes lançados APÓS o ano 2000

Exercicio 5

5 R:

    SELECT
        Nome,
        Ano,
        Duracao
    FROM Filmes
    WHERE Ano > 2000

6 - Buscar os filmes com a duracao maior que 100 e menor que 150, ordenando pela duracao em ordem crescente

Exercicio 6

6 R:

    SELECT
        Nome,
        Ano,
        Duracao
    FROM Filmes
    WHERE Duracao > 100 and Duracao < 150
	ORDER BY Duracao

7 - Buscar a quantidade de filmes lançadas no ano, agrupando por ano, ordenando pela duracao em ordem decrescente

Exercicio 7

7 R:

    SELECT
        Ano,
		COUNT(*) AS Quantidade
    FROM Filmes
	GROUP BY Ano
	ORDER BY Quantidade DESC

8 - Buscar os Atores do gênero masculino, retornando o PrimeiroNome, UltimoNome

Exercicio 8

8 R:

	SELECT 
		PrimeiroNome,
		UltimoNome
	FROM
		Atores
	Where Genero = 'M'

9 - Buscar os Atores do gênero feminino, retornando o PrimeiroNome, UltimoNome, e ordenando pelo PrimeiroNome

Exercicio 9

9 R:

	SELECT 
		PrimeiroNome,
		UltimoNome
	FROM
		Atores
	Where Genero = 'F'
	ORDER BY UltimoNome

10 - Buscar o nome do filme e o gênero

Exercicio 10

10 R:

	SELECT 
		Filmes.Nome,
		Generos.Genero
	FROM
		Filmes
	INNER JOIN FilmesGenero on FilmesGenero.IdFilme = Filmes.Id
	INNER JOIN Generos on Generos.Id = FilmesGenero.IdGenero

11 - Buscar o nome do filme e o gênero do tipo "Mistério"

Exercicio 11

11 R:

	SELECT 
		Filmes.Nome,
		Generos.Genero
	FROM
		Filmes
	INNER JOIN FilmesGenero on FilmesGenero.IdFilme = Filmes.Id
	INNER JOIN Generos on Generos.Id = FilmesGenero.IdGenero
	WHERE Generos.Genero='Mistério'
	

12 - Buscar o nome do filme e os atores, trazendo o PrimeiroNome, UltimoNome e seu Papel

Exercicio 12

12 R:

	SELECT 
		Filmes.Nome,
		Atores.PrimeiroNome,
		Atores.UltimoNome,
		ElencoFilme.Papel
	FROM
		Filmes
	INNER JOIN ElencoFilme on ElencoFilme.IdFilme = Filmes.Id
	INNER JOIN Atores on Atores.Id = ElencoFilme.IdAtor

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TSQL 100.0%