Desenvolvimento de Aplicações Web -- 2023
Professor: João Eduardo Montandon
Valor: 15 pontos
Duração: 180 minutos
- Clone o repositório para a sua máquina
- Crie uma imagem Docker para o banco de dados MySQL a partir do Dockerfile presente no repositório.
Utilize o seguinte comando:
docker build -t daw-prova-mysql . - Execute o container a partir da imagem criada no passo anterior. Utilize o seguinte comando:
docker run -d -p 3333:3306 --name 2023-daw-prova-mysql daw-prova-mysql docker start 2023-daw-prova-mysql docker exec -it 2023-daw-prova-mysql bash - Acesse o console do banco de dados utilizando o seguinte comando:
A senha é root.
mysql -u root -p
- Execute o comando
SHOW DATABASES;e verifique se há um banco de dados chamadosakila. - Este é o banco que você usará na prova. Execute o comando
USE sakila;para selecioná-lo.
O banco de dados abaixo foi modelado para atendar a uma locadora de filmes. Ele é composto por 16 tabelas, que armazenam informações sobre clientes, filmes, atores, pagamentos, etc. Seu diagrama relacional é apresentado abaixo:
Analise o diagrama e crie consultas SQL para responder as questões abaixo.
Para cada questão crie um arquivo chamado questao-XX.sql, onde XX é o número da questão.
Arquivos fornecidos em outros formatos serão desconsiderados!
- Selecionar todos os registros da tabela de clientes
- Selecionar países distintos da tabela de países
- Selecionar informações de aluguel, incluindo nomes dos clientes e datas de aluguel
- Contar o número de filmes no inventário
- Encontrar os 5 principais clientes que mais alugaram filmes
- Calcular a receita total de todos os aluguéis
- Listar os atores que apareceram em mais de 10 filmes
- Descobrir os filmes alugados pelo cliente de id 2873
- Listar todas as categorias e o número de filmes em cada categoria
- Encontrar os filmes que não estão em estoque
- Obter o número total de clientes por loja
- Encontrar clientes que não alugaram nenhum filme
- Encontrar os clientes que alugaram mais de um filme no mesmo dia
- Obter a receita total por loja
- Descobrir os 3 filmes mais lucrativos
