Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W 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
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DoBem
  • wiki
  • Wiki
  • BD

Last edited by Guilherme de Moraes Machado Pereira Silva Nov 13, 2023
Page history

BD

Home Escopo Geral Processo Mockups Configuração Arquitetura Código Banco de Dados Utilização Requisitos

Seção de Banco de Dados do Projeto

Sumário

  • Introdução
  • Tecnologias Utilizadas
    • PostgreSQL
    • Prisma
  • Arquitetura do Banco de Dados
  • Considerações de Segurança
  • Diagramas

Introdução

Esta seção da Wiki é dedicada a fornecer informações detalhadas sobre a implementação e manutenção do banco de dados no nosso projeto. Utilizamos o PostgreSQL como nosso banco de dados relacional e o Prisma como nosso Object-Relational Mapping (ORM) para facilitar a comunicação e manipulação de dados entre nosso código e o banco de dados.

Tecnologias Utilizadas

Postgres Prisma

PostgreSQL

O PostgreSQL é um sistema de gerenciamento de banco de dados relacional de código aberto. Ele é conhecido por sua robustez, escalabilidade e por cumprir os padrões SQL de forma rigorosa. Algumas de suas características avançadas incluem:

  • Transações ACID (Atomicidade, Consistência, Isolamento, Durabilidade)
  • Suporte extensivo a tipos de dados
  • Índices personalizáveis
  • Capacidades de armazenamento JSON
  • Extensibilidade e suporte a PL/pgSQL, PL/Tcl, PL/Perl e Java

Prisma

O Prisma é um ORM moderno utilizado para acessar de forma fácil e segura bancos de dados em aplicações Node.js e TypeScript. Ele fornece uma camada de abstração sobre SQL que permite realizar operações CRUD de forma simplificada. As principais vantagens de utilizar o Prisma incluem:

  • Modelagem de dados eficiente
  • Migrações de banco de dados simplificadas
  • Um API de consulta fortemente tipada
  • Operações CRUD otimizadas

Arquitetura do Banco de Dados

A arquitetura do nosso banco de dados foi projetada para otimizar o desempenho, garantir a segurança dos dados e permitir escalabilidade fácil. Temos várias tabelas inter-relacionadas, que são acessadas e manipuladas através de nossa API, utilizando o Prisma como intermediário para essas operações.


Diagramas

Abaixo podemos visualizar o diagrama entidade-relacionamento do projeto DoBem feito com a ferramenta DrawSql. As entidades abaixo e seus relacionamentos visam a implementar todos os fluxos elicitados nos requisitos do projeto.

DiagramaFinal

Considerações de Segurança

  • Autenticação: Utilizamos métodos seguros de autenticação para garantir que apenas usuários autorizados tenham acesso ao banco de dados.
  • Criptografia: Todos os dados sensíveis são criptografados antes de serem armazenados.

Espero que esta documentação ofereça uma visão clara e abrangente do nosso sistema de banco de dados. Qualquer dúvida ou contribuição para aprimorar esta documentação é sempre bem-vinda.

Clone repository
  • Arquitetura
  • BD
  • Configuracao
  • Escopo
  • Mockups
  • Processo
  • Utilizacao
  • codigo
  • Home
  • requisitos