Skip to content

CatarinaRRF/bootcamp_database_experience_DIO

Repository files navigation


logo

Database Experience - Bootcamp DIO

GitHub last commit

SobreLoja WizardCENTROCAR • Routine Nuvem • -4° DesafioArquivosCreditos

Sobre

O DIO Database Experience é um Bootcamp de banco de dados para profissionais que desejam aprimorar os principais conceitos de banco de dados SQL e NoSQL. No programa de 54 horas, os participantes têm acesso a conteúdos educacionais e mentorias exclusivas sobre modelagem de dados, SGBD, EER, arquitetura, consultas, entre outros assuntos. O bootcamp possui 6 desafios de projeto, que contemplaram varias fases da modelagem e manipulação de banco de dados. As plataformas abordadas são: MySQL e MongoDB.

✏️ 1° Desafio - Loja Wizard

Um modelo conceitual é um modelo abstrato de um banco de dados que não considera o sistema de gerenciamento de banco de dados (SGBD) específico que será usado para implementá-lo. Ele serve como uma descrição do banco de dados independente de qual SGBD será usado para implementação. Desta forma, o mesmo modelo conceitual pode ser utilizado para implementação com qualquer SGBD. Um modelo conceitual indica quais dados podem aparecer no banco de dados e por essa razão é uma etapa importante durante a criação de um banco de dados.
Nesse sentido a organização fictícia em ascensão, Loja Wizard, busca estruturar os dados de seu processo produtivo. Desse modo, se faz necessario a criação de um banco de dados que contempla todas as entidades em seu processo. Assim, foi desafiado ao participante a execução da criação de um projeto conceitual a partir de um modelo ER. O modelo criado apresenta as seguintes características:

Atributo produtos

  • São vendidos por uma unica plataforma online, contudo, estes podem ter vendedores distintos
  • Cada produto possui apenas um fornecedor
  • Um pedido pode ser composto por um ou mais produtos.

Atributo clientes

  • o cliente pode se cadastrar no site com CPF ou CNPJ
  • O endereço irá determinar o valor do frete
  • Um cliente pode comprar mais de um pedido. Este tem um período de arência para devolução do produto
  • Cliente PJ e PF
  • Pagamento

Atributo pedidos

  • Os Pedidos são Criados por clientes e possuem informações de compra, endereço e status da entrega
  • Um produto ou mais compoem o pedido
  • O pedido pode ser cancelado

Atributo Fornecedores

  • Razão Social
  • CNPJ
  • Vendedores Tercerizados

Atributo Estoque e entrega

  • Status
  • Código de rastreio
  • Data máxima de entrega;
  • Local

Por fim, foi criado o modelo conceitual Modelo Conceitual:

✏️ 2° Desafio - CENTROCAR

Administrar uma oficina mecânica tem especificidades que outro negócio não tem, como o conhecimento técnico, mas a base é a mesma de qualquer empreendimento. Além de prestar um bom serviço, o negócio de carros exige boa apresentação, bom atendimento e conhecimentos de gestão. É um desafio diário, que exige comprometimento do proprietário. Assim, a empresa CENTROCAR percebeu a necessidade de criar e manter um banco de dados com o intuito de auxiliar uma tomada de decisão orientada por dados. Desse modo, foi contruido de acordo com as necessidades da empresa o seguinte modelo conceitual:

Ficha do Veículo

  • Placa VARCHAR(7): É a chave primária dessa entidade;
  • Modelo VARCHAR(45): Armazena o modelo do carro;
  • Ano YEAR: Armazena o ano de fabricação do carro;
  • Características gerais do veículo VARCHAR(45) (câmbio, combustível, pneus, etc): Armazena características das peças do carro.

Clientes

  • CPF VARCHAR(11): É a chave primária dessa entidade e tem o propósito da identificação do cliente;
  • IdentidadeVARCHAR(12): identificação do cliente;
  • PagamentoVARCHAR(16): Método de pagamento escolhido, possui quatro variáveis: cartão de débito, cartão crédito, dinheiro, pix;

Serviço

  • Natureza do serviço BIT(8): Descreve qual o tipo de serviço foi requerido pelo cliente, sendo as opções:Reparos automotivos (1), Troca de óleo (2),Alinhamento e, balanceamento (3), Manutenção de embreagem (4), Revisão dos componentes de freio (5), Checagem do nível de água no radiador (6), Revisão Geral (7), outro (8). Os dados serão armazenados de acordo com a numeração de cada tipo, sendo assim, 0 a 7;
  • Urgência BIT(2): Descreva se o serviço precisa ser realizado com urgência. Tem como data type boolean, sendo 0 'sem urgência' e 1 'com urgência';
  • Descrição do serviço VARCHAR(256): Descreve alguma especificação sobre o serviço (opcional). Orçamento
  • Peças BIT(2) (câmbio, combustível, pneus, etc): Descreve se o foi comprado/consertado determinada peça do carro. Tem como data type boolean, sendo 0 'não trocou' e 1 'trocou', existe um atributo para cada peça;
  • Mão de obra BIT(4): descreve o valor da mão de obra de acordo com tempo estimado que será necessário para o concerto. Desse modo, os dados serão armazenados de 0 a 3 e que indicam as seguintes informações 1-7 dias (1), 8-14 dias (2), 9-21 dias (3), > 1 mês (4);

Equipe

  • Numero de Funcionarios INT: Descreve quantos funcionários tem na equipe;
  • Especialidade VARCHAR(45): Descreve a especialidade da equipe;

Relacionamento: Valor do Pagamento

  • Preço DOUBLE: descreve o valor total a ser pago apartir das variaveis serviço e orçamento.

Por fim, foi criado o Modelo Conceitual:

✏️ 3° Desafio: Loja de departamentos - Routine Nuvem

Os diretores de Ecommerce hoje, gastam uma quantia significativa de dinheiro tentando direcionar o tráfego para sua loja online. Com as taxas médias de conversão de comércio eletrônico em torno de 2,86%, os varejistas on-line devem se esforçar muito para gerar leads para aproveitar ao máximo sua estratégia de marketing. Dessa forma, a empresa de departamentos Routine Nuvem deseja criar um banco de dados, a fim de, identificar o perfil de seus clientes a modo de aperfeiçoar a estratégia de marketing da organização.

Foi então proposto um modelo conceitual de Banco de Dados com os atributos: Produto, Estoque, Fornecedor, Cliente e Pedido. O banco de dados então foi estruturado apartir dessas informações e tem a seguinte forma:

Após esta etapa foi criado a base de dados fisica a partir das clausulas CREATE DATABASE e CREATE TABLE e para criar os dados de simulação foi usado o site https://generatedata.com/, de modo, a facilitar a inserção de uma grande quantidade de dados.

Em seguida, foram realizadas as querys para responder as duvidas dos stakeholders de qual o perfil de seus clientes. As seguintes consultas foram realizadas:

  • Verificando qual a localização mais frequente dos clientes com a query: select estado, count(*) as clientes_per_estado FROM cliente GROUP BY estado
  • Verificando qual a faixa etaria dos clientes com a query: select idade, count(*) as clientes_per_idade FROM cliente GROUP BY idade
  • Verificando se os estoques mais cheios são aqueles que tem mais clientes com a query: select quatidade_disponivel, count(localizacao) as estoques_per_localizacao, localizacao FROM estoque GROUP BY localizacao

Por fim, foi criado um dashboard estratégico no excel a partir dos resultados coletados, auxiliando assim, a tomada de decisões estratégicas na empresa. Contém informações sobre o perfil dos clientes e dos estoques:

Para mais detalhes sobre o desafio acesse: Desafio-RoutineNuvem

Arquivos

  • 1° Desafio - Loja Wizard Link
  • 2° Desafio - Oficina Mecânica CENTROCAR Link

Creditos

  • Challenge desenvolvido pela DIO

About

Bootcamp sobre Banco de Dado para se aprimorar nos principais conceitos de banco de dados SQL e NoSQL.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors