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