Article image
Ubiratan Filho
Ubiratan Filho21/10/2022 09:36
Compartilhe

Está com duvidas no desafio de projeto lógico para banco de dados?

  • #SQL
  • #MySQL

Fala galera, todos bem? Espero que sim

(Esse artigo não serve só para quem está com duvidas no desafio de projetos, ele é para ajudar tambem quem tem duvidas ou dificuldades com queries mais complexas em SQL)

Hoje estou passando aqui para ajudar aqueles que estão com dificuldades no desafio de projeto lógico para banco de dados de ECOMMERCE.

Esse foi um dos projetos mais desafiadores que fiz até agora, foi meu primeiro contato profundo com SQL e fazer queries mais especificas foi um desafio incrivel. O importante é consegui passar por ele.

Você deve estar se perguntando: "Como você pode me ajudar?"

E eu respondo: "Um breve passo a passo do que eu fiz que talvez te ajude a entender melhor o mundo do SQL"

Então, bora lá:

1º passo - Vai lá no meu GitHub, tem um repositório exclusivo para esse desafio (obs.: Todos tem que entregar o desafio com seu próprio repositório). link: https://github.com/ubiratan-motta/Projeto_L-gico_Banco_de_Dados_ECOMMERCE

2º passo - Crie o esquema o mais claro possível e que seja idêntico ao projeto conceitual que você criou anteriormente. Aqui cabe um ponto importante: SEMPRE, repito, SEMPRE vão ter ajustes a serem feitos. Essa é a magica de trabalhar com banco de dados, entenda que o ajuste sempre vai ser necessário, isso é sinal que você evoluiu e está entendendo melhor onde quer chegar.

3º passo - Persista dados que façam sentido para você, não apenas copie os do exemplo passado. Se você criar os dados a partir do zero vai conseguir aprimorar e entender o que está executando. Foi o que eu fiz e isso me ajudou a evoluir muito, no começo foi difícil, mas quando eu entendi o que estava fazendo consegui desenvolver o resto sem problema algum. Exemplo disso é uma querie que eu fiz relacionando mis de 5 tabelas usando INNER JOIN.

4° passo - Quando for criar perguntas a serem respondidas com queries comece pelas mais simples e vá aprimorando ao passo que você for entendendo o que deve ser feito, isso vai deixar as suas pergunta mais elaboradas e suas queries mais completas.

Bem, de dica é isso mesmo. Agora vou deixar aqui em baixo algumas das perguntas que fiz e as queries que criei para responde-las. Para consultar na integra é só ir no meu GitHub (link lá no passo 1)

- Qual o valor total das vendas com esses clientes? Deve conter: Nome do Cliente, Nome do produto, Quantidade Comprada, Preço unitário e total, Status do pedido, numero da carteira digital e saldo da carteira digital. Ordenar por, Status do pedido, nome do cliente e valor total da compra.

select Nome_completo, po.Nome, pp.Quantidade_produto, po.Preco_unitario, round(po.Preco_unitario*pp.Quantidade_produto,2) as valor_da_compra, pe.Status_do_pedido, cd.Numero_carteira, cd.Valor_em_conta	
  from cliente c		
    inner join pedido pe on idCliente = idPedidoCliente       
    inner join produto_pedido pp on idPedido = idPePedido       
    inner join produto po on idProduto = idPeProduto        
    inner join formas_pagamento fp on idFormas_pagamento = idPedidoFormas_pagamento        
    inner join carteira_digital cd on idCarteira_digital = idFormas_pagamento_carteira_digital        
    order by Status_do_pedido, Nome_completo, valor_da_compra;

- Mostrar o nome e preço dos produtos com preço maior que 1000 reais

select Nome, Categoria, Preco_unitario 
    from produto 
    having Preco_unitario > 1000 
    order by Nome, Categoria;

- Qual o valor total em reais do estoque?

select sum(round(p.Preco_unitario*Quantidade_estoque,2)) as Valor_estoque 
    from produto p		
    inner join produto_em_estoque pe on idProduto=idEsProduto        
    order by pe.Quantidade_estoque;

Para entender melhor o que eu fiz talvez seja necessário olhar meu projeto conceitual (também disponível no mesmo repositório) e ver os a forma que persisti os dados.

Se você gostou deste conteúdo deixe com comentário, um UPVOTE e compartilhe para que mais pessoas consigam compreender melhor o mundo do SQL.

Espero ter ajudado quem estar com duvida ou com dificuldades em realizar este desafio de projeto.

No meu GitHub tem um repositório exclusivo que estou usando para este bootcamp, caso precise de alguma coisa é só dar uma olhada nele. link: https://github.com/ubiratan-motta/BootCamp-Geracao-Tech-Unimed-BH-reposit-rio-de-aulas-

Compartilhe
Comentários (2)
Kátia Almeida
Kátia Almeida - 21/10/2022 10:07

Muito bom!!!!!!

Andre Silva
Andre Silva - 21/10/2022 10:01

valeu obrigado !!!!