|
|
### Documentação de Negócio
|
|
|
|
|
|
| [Escopo](escopo) | [Processo](processo) | [Gerência](gerencia) | [Design](design) | [Sprints](sprints)
|
|
|
|-|-|-|-|-
|
|
|
|
|
|
### Documentação Técnica
|
|
|
|
|
|
| [Arquitetura](arquitetura) | [**Banco de Dados**](bancoDeDados) | [Transferência](transferência)
|
|
|
|-|-|-
|
|
|
|
|
|
---
|
|
|
|
|
|
## Sumário
|
|
|
|
|
|
[[_TOC_]]
|
|
|
|
|
|
## Descrição
|
|
|
|
|
|
Esta seção visa fornecer uma breve introdução sobre o banco de dados escolhido para armazenar informações manipuladas pela aplicação desenvolvida, assim como sua configuração e integrações no projeto. Optou-se por escolher PostgreSQL como sistema de gerenciamento de banco de dados (SGBD), por conta da sua escalabilidade e suporte à consultas SQL. No projeto, o PostgreSQL é implementado no _backend_ com NestJS, onde as entidades são manipuladas e armazenadas através de um repositório que interage diretamente com o banco de dados.
|
|
|
|
|
|
## Banco de dados escolhido (PostgreSQL)
|
|
|
|
|
|
A escolha de um banco de dados relacional permitiu a estruturação dos dados em tabelas, o que garante a integridade e a consistência nas operações realizadas. O uso do PostgreSQL possibilita a realização de relacionamentos entre entidades, refletindo a necessidade do projeto de manter a organização e eficiência no armazenamento das informações gerenciadas.
|
|
|
|
|
|
## Diagrama do banco de dados
|
|
|
|
|
|

|
|
|
|
|
|
## Relacionamentos
|
|
|
|
|
|
* A tabela `User` se relaciona com várias outras tabelas por meio de identificadores que representam as interações do usuário com a aplicação, como postagens, curtidas, comentários e exercícios.
|
|
|
|
|
|
* A tabela `Post` possui relacionamentos com os comentários, curtidas e salvamentos, permitindo interações entre as relações entre usuários e seleção de posts favoritos.
|
|
|
|
|
|
* A tabela `Exercise` está vinculada aos usuários e aos interesses, contemplando as atividades disponíveis e concluídas referentes ao usuário.
|
|
|
|
|
|
* A tabela `Interest` permite que os usuários associem interesses ao seu perfil, personalizando a experiência com a plataforma através das recomendações do feed e dos exercícios disponibilizados. |
|
|
\ No newline at end of file |