GithubHelp home page GithubHelp logo

juliannalencar / modelagem_bd_relacional Goto Github PK

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

Este projeto envolve a modelagem de banco de dados para a AuraBella, uma empresa fictícia de cosméticos e bem-estar. Foi proposto como parte da trilha de dados do programa Desenvolve 2024, uma iniciativa gratuita do Grupo Boticário para formação e inclusão de talentos em tecnologia.

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

modelagem_bd_relacional's Introduction

Modelagem Banco de Dados Relacional - AuraBella

Este projeto educacional foi desenvolvido durante a trilha de Dados do programa Desenvolve 2024, focando na criação de um banco de dados relacional para processos de vendas, gestão de estoque e pontuação de clientes na AuraBella, uma empresa fictícia do setor de cosméticos. Será aberta uma nova franquia que precisa de um sistema robusto para gerenciamento de processos e armazenamento de dados. Durante este projeto, foi desenvolvido os modelos conceitual, lógico e físico deste banco de dados relacional.

Fluxo de Processos na AuraBella

A distribuição de produtos da AuraBella para as franquias é feita por Centros de Distribuição (CD). Após o recebimento das mercadorias, estas são registradas no estoque através de um processo de entrada, utilizando documentos como notas fiscais para detalhar os itens recebidos. O estoque é então atualizado para refletir os novos itens.

Os processos de compra e de acumulação de pontos estão diretamente associados aos clientes, que precisam estar cadastrados no sistema com todas as informações relevantes. Cada compra deve ser associada a um cliente específico e a pelo menos um produto.

Quando uma compra é concluída, pontos são atribuídos ao cliente, que podem ser usados como desconto em futuras compras dentro de um prazo determinado. Simultaneamente, o sistema atualiza o estoque para reduzir as quantidades dos itens vendidos.

Modelo Conceitual

A análise do fluxo de processos permitiu identifucar as entidades e atributos essenciais para a estruturação do banco de dados. O modelo conceitual apresentado a seguir ilustra essas abstraçòes, delineando as entidades, seus atributos e as relações entre eles.

Modelo Conceitual

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

Baseado no modelo conceitual, desenvolvemos o modelo lógico, que transforma entidades em tabelas e atributos em campos. Conforme práticas de normalização, os atributos compostos do modelo conceitual são distribuídos em tabelas distintas para simplificar a estrutura e evitar a superlotação de campos em uma única tabela, como ilustrado na imagem abaixo.

Modelo Lógico

Modelo Físico

Finalizando, apresentamos o modelo físico abaixo. Este modelo detalha os tipos de dados para cada coluna, estabelece as relações entre as tabelas e especifica as chaves primárias e estrangeiras de cada tabela.

Modelo Físico

Ferramentas utilizadas

Autora

Julianna Dantas Alencar Reis

LinkedIn

modelagem_bd_relacional's People

Contributors

juliannalencar 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.