Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • appoio-wiki appoio-wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • APPOIO
  • appoio-wikiappoio-wiki
  • Wiki
  • banco_dados

Last edited by Bianca Camargo Machado Nov 27, 2020
Page history

banco_dados

Home Escopo Arquitetura Configuração Mockups BD Instalação Gerência Qualidade Processo

Banco de Dados

Cenário

Durante a conversa com a equipe, foram levantados alguns pontos que nos levaram a decidir qual tipo de implementação iríamos utilizar.

Quando utilizar banco relacional(Tables): Utiliza-se um modelo relacional quando há muitas relações diretas entre as entidades, e, acima de tudo, se esses dados dificilmente se repetem. Por exemplo: Um piloto de fórmula 1 que irá correr em um determinado evento, num determinado local, num determinado horário. Rapidamente observamos muitas relações entre esses três fatores e que esses dados dificilmente irão mudar. Em outras palavras, precisamos garantir a integridade desses dados seguindo boas práticas como o ACID(Atomicidade, Consistência, Isolamento e Durabilidade).

Quando utilizar banco não-relacional (Collections): Utiliza-se um modelo não-relacional quando não há muitas relações entre entidades e os dados se repetem com frequência. Por exemplo: Um carrinho de compra em um e-commerce. Um usuário pode adicionar itens no carrinho ou removê-los, ou também não finalizar a compra no mesmo dia. Quando precisamos lidar com um grande volume de dados e que terá muito acesso, então noSQL é a escolha certa.

Conclusão do estudo

Ao analisarmos o nosso case, percebemos que a melhor escolha seria um modelo relacional. Pois tutoriais não são dados que mudam com frequência e precisávamos garantir a integridade de modo que os dados não ficassem redundantes.

Nossa escolha

Ok, decidimos que iremos utilizar SQL. Mas qual devemos utilizar? Bem, essa pergunta tem muitas variantes. Precisamos estudar o conhecimento técnico da equipe e também qual banco seria mais fácil de configurar de modo que todos conseguissem utilizar sem nenhum impedimento. Foi então que decidimos utilizar o MySQL hospedado no Amazon Web Service(AWS). Desse modo nos livramos da preocupação de rodar o banco localmente na máquina de todos, o que poderia provocar vários erros.

Mapeamento conceitual

modelo_conceitual

Mapeamento lógico

modelo_logico

Clone repository
  • Rotas
  • arquitetura
  • banco_dados
  • configuracao
  • deploy
  • escopo
  • git_workflow
  • gp
  • Home
  • instalacao
  • mockups
  • padronizacao
  • processo
  • qualidade