Skip to content

Projeto de SQL realizado durante o módulo de Backend na Trybe

Notifications You must be signed in to change notification settings

Gabrielle-Murat/MySQL-AllForOne

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto MySQL - All For One

MySQL Logo

📖 Tabela de Conteúdos

Tabela de conteúdos
  1. ➤ Sobre o projeto
  2. ➤ Tecnologias utilizadas
  3. ➤ Descrição do projeto
  4. ➤ Instruções
  5. ➤ Requisitos realizados
  6. ➤ Requisito 1: Buscando dados específicos em uma tabela
  7. ➤ Requisito 2: Buscando todos os dados contidos em uma tabela
  8. ➤ Requisito 3: Buscando primary keys em uma tabela
  9. ➤ Requisito 4: Contando elementos de uma busca
  10. ➤ Requisito 5: Buscando uma quantia de dados específica
  11. ➤ Requisito 6: Buscando dados e ordenando
  12. ➤ Requisito 7: Buscando dados, ordenando e limitando a quantia
  13. ➤ Requisito 8: Buscando dados, utilizando Alias e exibindo operações aritméticas
  14. ➤ Requisito 9: Filtrando por valores não nulos
  15. ➤ Requisito 10: Filtrando por condicional "OR" e ordenando os dados
  16. ➤ Requisito 11: Filtrando por string
  17. ➤ Requisito 12: Filtrando por data
  18. ➤ Requisito 13: Filtrando por condicional "OR"
  19. ➤ Requisito 14: Filtrando por condicional "AND"
  20. ➤ Requisito 15: Filtrando por hora, usando Alias
  21. ➤ Requisito 16: Filtrando datetime por condicionais
  22. ➤ Requisito 17: Filtrando por uma lista de possibilidades
  23. ➤ Requisito 18: Filtrando por condicional "AND"
  24. ➤ Requisito 19: Filtrando por condicionais, contando elementos e usando Alias
  25. ➤ Requisito 20: Inserindo 1 linha de dados em uma tabela
  26. ➤ Requisito 21: Inserindo várias linhas de dados em uma tabela
  27. ➤ Requisito 22: Atualizando dados em uma tabela
  28. ➤ Requisito 23: Atualizando dados por uma condicional
  29. ➤ Requisito 24: Atualizando dados por combinação de condicionais
  30. ➤ Requisito 25: Deletando dados por condicional
  31. ➤ Requisito 26: Deletando dados por condicional
  32. ➤ Requisito 27: Deletando todos os dados de uma tabela
  33. ➤ Créditos

📝 Sobre o projeto

Projeto desenvolvido durante a formação de BackEnd na Trybe com o intuito de consolidar o aprendizado de SQL e MySQL Workbench.

💻 Tecnologias utilizadas

Docker Logo VS Code Logo gitHub Logo MySQL Logo

📄 Descrição

Descrição

Neste projeto eu realizei:

  1. Consolidação de conceitos e comandos de SQL;

Tem-se um banco de dados (Northwind) e uma série de requisitos com diferentes níveis de complexidade neste repositório.
Durante o desenvolvimento foi utilizado Docker para evitar a restauração manual do banco de dados no MySQL Workbench.
Foram desenvolvidos os arquivos contendo apenas o comando necessário para resolver o requisito pedido.

📜 Instruções

  1. Clone o repositório
  • git clone [email protected]:Gabrielle-Murat/MySQL-AllForOne.git
  • Entre na pasta do repositório que você acabou de clonar;

  1. Instale as dependências:
  • npm install

  1. Como restaurar o banco de dados, se necessário:
  • Abra o MySQL Workbench,
  • Abra uma nova aba de query e cole dentro dela todo o conteúdo do arquivo northwind.sql,
  • Execute a query e aguarde alguns segundos,
  • Atualize a lista de dbs;

👩‍💻 Requisitos Realizados:

Queries iniciais:

Requisito 1: Buscando dados específicos em uma tabela

1. Exibir apenas os nomes dos produtos na tabela `products`

Requisito 2: Buscando todos os dados contidos em uma tabela

2. Exibir os dados de todas as colunas da tabela `products`

Requisito 3: Buscando primary keys em uma tabela

3. Escrever uma query que exiba os valores da coluna que representa a primary key da tabela `products`

Requisito 4: Contando elementos de uma busca

4. Contar quantos registros existem na coluna `product_name` da tabela `products`

Requisito 5: Buscando uma quantia de dados específica

5. Montar uma query que exiba os dados da tabela `products` a partir do quarto registro até o décimo terceiro

Requisito 6: Buscando dados e ordenando

6. Exibir os dados das colunas `product_name` e `id` da tabela `products` de maneira que os resultados estejam em ordem alfabética dos nomes

Requisito 7: Buscando dados, ordenando e limitando a quantia

7. Mostrar apenas os `id`s dos 5 últimos registros da tabela `products` (a ordernação deve ser baseada na coluna `id`)

Requisito 8: Buscando dados, utilizando Alias e exibindo operações aritméticas

8. Fazer uma consulta que retorne três colunas, respectivamente, com os nomes `A`, `Trybe` e `eh`, e com valores referentes a soma de `5 + 6`, a string `de`, a soma de `2 + 8`

Filtragem de dados:

Requisito 9: Filtrando por valores não nulos

9. Mostrar todos os valores de `notes` da tabela `purchase_orders` que não são nulos

Requisito 10: Filtrando por condicional "OR" e ordenando os dados

10. Mostrar todos os dados da tabela `purchase_orders` em ordem decrescente, ordenados por `created_by` em que o `created_by` é maior ou igual a 3

Requisito 11: Filtrando por string

11. Exibir os dados da coluna notes da tabela `purchase_orders` em que seu valor de `Purchase generated based on Order` é maior ou igual a 30 e menor ou igual a 39

Requisito 12: Filtrando por data

12. Mostrar as `submitted_date` de `purchase_orders` em que a `submitted_date` é do dia 26 de abril de 2006

Requisito 13: Filtrando por condicional "OR"

13. Mostrar o `supplier_id` das `purchase_orders` em que o `supplier_id` seja 1 ou 3

Requisito 14: Filtrando por condicional "AND"

14. Mostrar os resultados da coluna `supplier_id` da tabela `purchase_orders` em que o `supplier_id` seja maior ou igual a 1 e menor ou igual 3

Requisito 15: Filtrando por hora, usando Alias

15. Mostrar somente as horas (sem os minutos e os segundos) da coluna `submitted_date` de todos registros da tabela `purchase_orders`

Requisito 16: Filtrando datetime por condicionais

16. Exibir a `submitted_date` das `purchase_orders` que estão entre `2006-01-26 00:00:00` e `2006-03-31 23:59:59`r

Requisito 17: Filtrando por uma lista de possibilidades

17. Mostrar os registros das colunas `id` e `supplier_id` das `purchase_orders` em que os `supplier_id` sejam tanto 1, ou 3, ou 5, ou 7

Requisito 18: Filtrando por condicional "AND"

18. Mostrar todos os registros de `purchase_orders` que tem o `supplier_id` igual a 3 e `status_id` igual a 2

Requisito 19: Filtrando por condicionais, contando elementos e usando Alias

19. Mostrar a quantidade de pedidos que foram feitos na tabela `orders` pelo `employee_id` igual a 5 ou 6, e que foram enviados através do método(coluna) `shipper_id` igual a 2

Manipulação de tabelas:

Requisito 20: Inserindo 1 linha de dados em uma tabela

20. Adicionar à tabela `order_details` um registro com: `order_id`: 69, `product_id`: 80, `quantity`: 15.0000, `unit_price`: 15.0000, `discount`: 0, `status_id`: 2, `date_allocated`: NULL, `purchase_order_id`: NULL e `inventory_id`: 129

Requisito 21: Inserindo várias linhas de dados em uma tabela

21. Adicionar com um único `INSERT`, duas linhas à tabela `order_details` com os mesmos dados do requisito 20

Requisito 22: Atualizando dados em uma tabela

22. Atualizar os dados de `discount` do `order_details` para 15

Requisito 23: Atualizando dados por uma condicional

23. Atualizar os dados da coluna `discount` da tabela `order_details` para 30, onde o valor na coluna `unit_price` seja menor que 10.0000

Requisito 24: Atualizando dados por combinação de condicionais

24. Atualizar os dados da coluna `discount` da tabela `order_details` para 45, onde o valor na coluna `unit_price` seja maior que 10.0000 e o `id` seja um número entre 30 e 40

Requisito 25: Deletando dados por condicional

25. Deletar todos os dados em que a `unit_price` da tabela `order_details` seja menor que 10.0000

Requisito 26: Deletando dados por condicional

26. Deletar todos os dados em que a `unit_price` da tabela `order_details` seja maior que 10.0000

Requisito 27: Deletando todos os dados de uma tabela

27. Deletar todos os dados da tabela `order_details`

💳 Créditos

Banco de dados (Northwind) e docker compose (docker-compose.yml) fornecidos pela Trybe.

Trybe Logo

About

Projeto de SQL realizado durante o módulo de Backend na Trybe

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published