saraivais / mysql-one-for-all

This project was developed during the Back-end module at Trybe, using Docker, MySQL and MySQL Workbench.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MYSQL ONE FOR ALL

English 🇬🇧

Click to expand!

Description

One For All was developed during the Back-end module at Trybe.
This project's challenge was to create an Entity-Relationship Diagram (ERD) following the first three Normal Forms of Relational Databases from a provided non-normalized table. The ER Diagram guided the creation of the database and subsequent table population. The database created, SpotifyClone, was then used to practice SQL queries.

Technologies and Tools

docker-logo
During development, Docker was used to conteinerized the application, so it's execution happened in an isolated environment.
MySQL-logo
MySQL Workbench was used as a visual tool for ERD modeling, table manipulation, and data selection using SQL queries.

Skills Developed

  • String manipulation using UCASE, LCASE, REPLACE, LEFT, RIGHT, CHAR_LENGTH and SUBSTRING;
  • Conditional queries like IF and CASE/WHEN/THEN;
  • Mathematical functions and operators like DIV, MOD, ROUND, CEIL, FLOOR, RAND, POW and SQRT;
  • Working with date formats using CURRENT_DATE, NOW, DATEDIFF, TIMEDIFF, YEAR, MONTH, DAY and so on;
  • Aggregate functions, such as AVG, MIN, MAX, SUM and COUNT;
  • SQL Grouping with GROUP BY and HAVING;
  • Accessing data from multiple tables using INNER JOIN, LEFT JOIN, RIGHT JOIN;
  • When and how to use SELF JOIN;
  • Database design through Entity-Relationship Diagram;
  • The first three Normal Forms of Relational Databases;

Non-normalized Tables (provided by Trybe)

non-normalied-table

Normalized Entity-Relationship Diagram

normalized-table

Português 🇧🇷

Clique para expandir!

Descrição

O One For All foi desenvolvido durante o módulo Back-end da Trybe.
O desafio deste projeto foi criar um Diagrama Entidade-Relacionamento (DER) seguindo as três primeiras Formas Normais de Bancos de Dados Relacionais a partir de uma tabela não normalizada fornecida. O Diagrama ER orientou a criação do banco de dados e posterior preenchimento de tabelas. O banco de dados criado, SpotifyClone, foi então utilizado para praticar queries SQL.

Tecnologias e Ferramentas

docker-logo
Durante o desenvolvimento, o Docker foi usado para conteinerizar a aplicação, então sua execução aconteceu em um ambiente isolado.
MySQL-logo
MySQL Workbench foi usado como uma ferramenta visual para modelagem do DER, manipulação de tabelas e seleção de dados usando queries SQL.

Habilidades Desenvolvidas

  • Manipulação de strings usando UCASE, LCASE, REPLACE, LEFT, RIGHT, CHAR_LENGTH e SUBSTRING;
  • Consultas condicionais, como IF e CASE/WHEN/THEN;
  • Funções e operadores matemáticos como DIV, MOD, ROUND, CEIL, FLOOR, RAND , POW e SQRT;
  • Trabalhar com formatos de data usando CURRENT_DATE, NOW, DATEDIFF, TIMEDIFF, YEAR, MONTH , DAY e assim por diante;
  • Funções de agregação, como AVG, MIN, MAX, SUM e COUNT;
  • Agrupamento SQL com GROUP BY e HAVING;
  • Acessando dados de múltiplas tabelas usando INNER JOIN, LEFT JOIN, RIGHT JOIN;
  • Quando e como usar SELF JOIN;
  • Desenho do banco de dados através do Diagrama Entidade-Relacionamento;
  • As três primeiras Formas Normais de Bancos de Dados Relacionais;

Tabelas não normalizadas (fornecidas pela Trybe)

non-normalied-table

Diagrama de Entidade e Relacionamento Normalizado

normalized-table

About

This project was developed during the Back-end module at Trybe, using Docker, MySQL and MySQL Workbench.


Languages

Language:SQL 98.3%Language:JavaScript 1.7%