Spotify Simple Clone é uma série de comandos e queries que modela um banco de dados MySQL. Ele é capaz de recuperar:
-
Informações sobre quais planos estão disponíveis e seus detalhes;
-
Informações sobre todas as pessoas artistas;
-
Informações sobre todos os álbuns de cada artista;
-
Informações sobre todas as canções de cada álbum;
-
Informações sobre todas as pessoas usuárias, seus planos, seu histórico de reprodução e pessoas artistas seguidas.
O projeto Spotify Simple Clone foi desenvolvido de forma avaliativa durante o curso de desenvolvimento web da Trybe, sob o nome original de MySql-One-for-all, que dá nome a este repositório.
-
Modelagem de banco de dados.
-
VIEWs.
-
Triggers.
-
Functions.
- Clone o repositório
- Entre na pasta do repositório que você acabou de clonar
- É recomendável executar as queries no MySQL Workbench
-
Inicie sua instância SQL:
- No linux:
sudo systemctl start mysql.services
- No linux:
-
Inicialize o MySQL MySQL Workbench:
- clique em sua conexão local
- copie e cole as queries individualmente e em ordem:
desafio1depoisdesafio2e assim sucessivamente - execute uma por vez com o MySQL Workbench
-
Se você não possuir o
MySQLinstalado em sua máquina:- Faça o download aqui
Cada passo de desenvolvimento está em um arquivo sql diferente, nomeado como (desafio(n)) na raíz do projeto. Abaixo você pode visualizar e baixar a planilha com as tabelas que deram origem ao banco de dados:
-
Cria um banco com o nome de
SpotifyClone. -
Popula as tabelas de acordo com os dados listados na seção anterior;
Cria uma VIEW chamada estatisticas_musicais que exibe três colunas:
-
A primeira coluna exibe a quantidade total de canções.
-
A segunda coluna exibe a quantidade total de artistas.
-
A terceira coluna exibe a quantidade de álbuns.
Cria uma VIEW chamada historico_reproducao_usuarios. Essa VIEW tem apenas duas colunas:
-
A primeira coluna exibe o nome da pessoa usuária.
-
A segunda coluna exibe o nome da canção ouvida pela pessoa com base no seu histórico de reprodução.
Os resultados são ordenados por nome da pessoa usuária em ordem alfabética e em caso de empate no nome os resultados são ordenados pelo nome da canção em ordem alfabética.
Cria uma VIEW com o nome top_3_artistas que deve mostra somente as três pessoas artistas mais populares no banco SpotifyClone, possuindo as seguintes colunas:
-
A primeira coluna exibe o nome da pessoa artista.
-
A segunda coluna exibe a quantidade de pessoas que estão seguindo aquela pessoa artista.
O resultado é ordenado em ordem decrescente, baseando-se na quantidade de seguidores. Em caso de empate, os resultados são ordenados pelo nome da pessoa artista em ordem alfabética.
Cria uma VIEW com as músicas mais tocadas chamada top_2_hits_do_momento que possue duas colunas:
-
A primeira coluna exibe o nome da canção.
-
A segunda coluna exibe a quantidade de pessoas que já escutaram a canção em questão.
Cria uma VIEW chamada faturamento_atual que deve exibe quatro dados:
-
A primeira coluna exibe o menor valor de plano existente para uma pessoa usuária.
-
A segunda coluna exibe o maior valor de plano existente para uma pessoa usuária.
-
A terceira coluna exibe o valor médio dos planos possuídos por pessoas usuárias até o momento.
-
A quarta coluna exibe o valor total obtido com os planos possuídos por pessuas usuárias.
Cria uma VIEW chamada perfil_artistas, que mostra uma relação de todos os álbuns produzidos por cada pessoa artista, com a quantidade de seguidores que ela possui, com as seguintes colunas:
-
A primeira coluna exibe o nome da pessoa artista.
-
A segunda coluna exibe o nome do álbum.
-
A terceira coluna exibe a quantidade de pessoas seguidoras que aquela pessoa artista possui.
Os resultados são ordenados de forma decrescente, baseando-se no número de pessoas seguidoras. Em caso de empate no número de pessoas, os resultados são ordenados pelo nome da pessoa artista em ordem alfabética e caso existam artistas com o mesmo nome, serão ordenados pelo nome do álbum alfabeticamente.
Cria uma trigger chamada trigger_usuario_delete que é disparada sempre que uma pessoa usuária for excluída do banco de dados, refletindo essa exclusão em todas as tabelas que ela estiver.
Cria uma procedure chamada albuns_do_artista que recebe como parâmetro o nome de uma pessoa artista e em retorno exibe as seguintes colunas:
-
O nome da pessoa artista.
-
O nome do álbum.
Os resultados são ordenados pelo nome do álbum em ordem alfabética.
Cria uma function chamada de quantidade_musicas_no_historico que exibe a quantidade de músicas que estão presentes atualmente no histórico de reprodução de uma pessoa usuária. Ao receber o código identificador da pessoa, exibe a quantidade de canções em seu histórico de reprodução.
Cria uma VIEW chamada cancoes_premium que exibe o nome e a quantidade de vezes que cada canção foi tocada por pessoas usuárias do plano familiar ou universitário, de acordo com os detalhes a seguir:
-
A primeira coluna exibe o nome da canção;
-
A segunda coluna exibe a quantidade de pessoas que já escutaram aquela canção;
-
Os resultados são agrupados pelo nome da canção e ordenados em ordem alfabética.