Giter VIP home page Giter VIP logo

olegariofelipe / modelagem_bd_relacional Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 3.63 MB

Este é um projeto de modelagem de banco de dados para uma empresa de cosméticos e bem-estar, chamada LuminaCos (empresa fictícia). Projeto proposto na trilha de dados do programa Desenvolve 2024, programa gratuito de formação e inclusão de talentos em tecnologia do Grupo Boticário.

modelagem-de-dados modelo-conceitual modelo-fisico modelo-logico brmodelo sql-power-arch

modelagem_bd_relacional's Introduction

Modelagem Banco de Dados Relacional

Este é um projeto de cunho educacional, o mesmo foi proposto durante a trilha de Dados do programa Desenvolve 2024.

Contextualização

Este projeto tem como objetivo, a elaboração de um banco de dados relacional que reflita os processos de vendas, gerenciamento de estoque e sistema de pontuação de clientes para uma empresa do setor de cosméticos e bem-estar chamada LuminaCos (nome meramente ilustrativo), a qual possui diversas franquias distribuídas no território nacional. Uma nova franquia será aberta, e necessita de um sistema para armazenamento de dados e gerenciamento de processos. Para tal, foram construídos ao longo deste projeto, os modelos conceitual, lógico e físico do banco de dados relacional.

Entendendo o fluxo de processos da LuminaCos

Os produtos da LuminaCos são distribuídos às suas franquias através de Centros de Distribuição (CD), e após recebimento (entrega) das mercadorias, devem ser registrados no estoque do sistema interno através de entrada. Para isso, é utilizado o documento de entrega (nota fiscal ou semelhante), que descreve os produtos que foram entregues entre outras informações. Após registro, o estoque é atualizado com os itens entregues.

No que diz respeito aos processos de compra e pontuação, ambos os processos precisam estar vinculados a um cliente, sendo assim, os clientes devem ser registrados na base de dados com as informações necessárias. Como dito anteriormente, toda compra deve estar vinculada a um cliente e a pelo menos um produto.

Ao finalizar uma compra, uma pontuação é gerada, que pode ser utilizada posteriormente para descontos em outras compras, dentro de um prazo de validade pré-estabelecido. Também são atualizadas as informações de estoque, diminuindo a quantidade dos produtos que foram vendidos.

Modelo Conceitual

Após análise do fluxo dos processos, é possível identificar as entidades e atributos necessários para a modelagem do banco de dados. Abaixo você encontra o modelo conceitual, que representa as abstrações do nosso modelo de banco de dados, representando as entidades, atributos e relacionamentos.

Modelo Conceitual
Por se tratar de um projeto fictício, todos os atributos acima foram escolhidos visando atender as necessidades de negócio desse contexto, para uma aplicação real, é recomendado uma análise mais aprofundada das necessidades e regras de negócio. Abaixo você pode encontrar uma breve descrição das entidades e alguns atributos.

Descrição de Entidades

Nessa etapa, é possível entender um pouco melhor cada entidade e como elas se relacionam.

  • CENTRO_DISTRIBUICAO:
    Descreve o Centro de Distribução (CD) responsável por realizar a entrega de produtos. Estará diretamente relacionada as entradas de produtos.

  • ENTRADA:
    Descreve a entrada de produtos, sendo a parte identificadora da entrada, contendo as informações da entrega, como: número do documento de entrega (nota fiscal ou semelhante), data, CD e valor total da entrada. Toda entrada deve estar vinculada a um centro de distribuição.

  • ITEM_ENTRADA:
    Esta entidade descreve separadamente cada item listado em uma determinada entrada. Portanto, cada ocorrência deve obrigatoriamente estar vinculado a uma entrada e um produto.

  • PRODUTO:
    Descreve os produtos, sendo que cada produto deve estar vinculado a uma categoria.

  • CATEGORIA:
    Descreve as categorias as quais os produtos serão vinculados. É separada em grupo e subgrupo, sendo o grupo uma característica mais geral e o subgrupo uma característica mais específica.
    Exemplo:
    Grupo -> Perfumaria
    Subgrupo -> Perfumaria Feminina, Perfumaria Masculina, Perfumaria Infantil

  • CLIENTE:
    Descreve os clientes, que serão vinculados as compras e também as pontuações.

  • COMPRA:
    Descreve as compras realizadas pelos clientes, portanto, a mesma deve estar vinculada a um cliente e também as pontuações, uma vez que a compra pode gerar uma pontuação. É o descritivo mais geral do processo, possuindo informações como cliente que realizou a compra, data, valor total e desconto (se aplicável).

  • ITEM_COMPRA:
    Descreve separadamente cada item listado em uma determinada compra, deve obrigatoriamente estar vinculado a uma compra e um produto.

  • PONTUACAO:
    Descreve as pontuações vinculadas a cada cliente a partir de suas respectivas compras, a pontuação está vinculada tanto ao cliente, quanto a compra que gerou essa pontuação. Também registra o tipo de movimentação realizada sobre os pontos, tendo em vista que os pontos podem ser gerados e descontados em outras compras, bem como a data de movimentação de cada pontuação.

  • ESTOQUE:
    Descreve o estoque, listando os produtos em estoque e suas respectivas quantidades, deve estar relacionado a produtos.

Modelo Lógico

A partir do modelo conceitual, foi gerado o modelo Lógico, onde as entidade são representadas como tabelas e os atributos como campos. Seguindo algumas regras de normalização, é possível notar na imagem abaixo, que os atributos compostos do modelo conceitual foram convertidos em tabelas separadas, isso foi feito afim de evitar muitos campos dentro de uma mesma tabela.

Modelo Lógico

Modelo Físico

Por fim, abaixo encontra-se o modelo físico, no qual são apresentados os tipos de dados para cada coluna, as relações entre tabelas, bem como as chaves primárias e estrangeiras de cada tabela.

Modelo Físico

Utilização do Projeto

Sinta-se a vontade para utilizar e contribuir para este projeto. Nesse exemplo, a modelagem foi realizada com a finalidade de atender a LuminaCos, porém, também pode ser utilizado empresas de comércio em geral que possuam necessidades e/ou regras de negócio semelhantes. Caso necessite, os arquivos para cada modelo, bem como as imagens referentes a cada um podem ser encontrados nos diretórios abaixo:

Ferramentas utilizadas

Autor

Felipe Olegario dos Santos

LinkedIn

modelagem_bd_relacional's People

Contributors

olegariofelipe avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.