|
|
|
| [Home](home) | [Escopo e Cronograma](escopo) | [Processo](processo) | [Design/Mockups](design_mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Código](codigo) | [**BD**](banco_dados) | [Qualidade](qualidade) | [Utilização](utilizacao) |
|
|
|
|
| :----------: | :---------------------------: | :------------------: | :--------------: | :--------------------------: | :----------------------------: | :--------------: | :---------------: | :--------------------: | :----------------------: |
|
|
|
|
|
|
|
|
# Documentação do Banco de dados
|
|
|
|
|
|
|
|
## Banco de Dados PostgreSQL 12 e ORM Sequelize
|
|
|
|
|
|
|
|
Neste projeto, utilizamos o PostgreSQL 12 como nosso sistema de gerenciamento de banco de dados. O PostgreSQL é um sistema de banco de dados relacional de código aberto altamente confiável e poderoso, que oferece suporte a uma variedade de recursos avançados, como transações, indexação eficiente e consultas complexas.
|
|
|
|
|
|
|
|
### Motivos para Escolher o PostgreSQL 12
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
- **Desempenho**: O PostgreSQL é conhecido por seu desempenho excepcional, especialmente quando se trata de consultas complexas e grandes conjuntos de dados.
|
|
|
|
|
|
|
|
- **Confiabilidade**: É altamente confiável, com suporte a transações ACID (Atomicidade, Consistência, Isolamento e Durabilidade) para garantir a integridade dos dados.
|
|
|
|
|
|
|
|
- **Escalabilidade**: O PostgreSQL é escalável e pode lidar com cargas de trabalho crescentes à medida que o projeto se expande.
|
|
|
|
|
|
|
|
### Sequelize como ORM
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
Para facilitar a comunicação com o banco de dados PostgreSQL 12 em nosso projeto Nest.js, utilizamos o ORM (Object-Relational Mapping) Sequelize. O Sequelize é um ORM popular para Node.js que fornece uma maneira fácil e eficaz de interagir com o banco de dados usando JavaScript ou TypeScript.
|
|
|
|
|
|
|
|
Principais vantagens do Sequelize:
|
|
|
|
|
|
|
|
- **Abstração de Banco de Dados**: O Sequelize abstrai as complexidades do SQL, permitindo que os desenvolvedores usem código JavaScript/TypeScript para criar, consultar e manipular tabelas de banco de dados.
|
|
|
|
|
|
|
|
- **Modelos de Dados**: Podemos definir modelos de dados em JavaScript/TypeScript que correspondem às tabelas do banco de dados, tornando a manutenção e o desenvolvimento mais simples e organizados.
|
|
|
|
|
|
|
|
- **Migrações**: O Sequelize oferece suporte a migrações de banco de dados, o que facilita a atualização do esquema do banco de dados à medida que o projeto evolui.
|
|
|
|
|
|
|
|
|
|
|
|
## Modelagem do banco (Sprint 1)
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Link para o banco de dados](https://www.figma.com/file/tbx2zPY7LlpCKvsPmmfIyy/Database?type=whiteboard&node-id=0-1&t=OPMNEff4WrZLG43y-0) |
|
|
|
\ No newline at end of file |