... | @@ -5,7 +5,9 @@ |
... | @@ -5,7 +5,9 @@ |
|
[[_TOC_]]
|
|
[[_TOC_]]
|
|
|
|
|
|
# Descrição
|
|
# Descrição
|
|
Esta seção visa fornecer uma breve introdução ao banco de dados selecionado, bem como abordar sua configuração e aplicação no contexto do projeto. Escrevar
|
|
O banco de dados utilizado no projeto Cosmos é baseado no PostgreSQL, um sistema de gerenciamento de banco de dados relacional. Ele oferece uma estrutura robusta para organizar e acessar os dados, garantindo consultas eficientes e escalabilidade para as diversas funcionalidades do projeto. A escolha pelo PostgreSQL foi baseada em sua simplicidade de implementação e na necessidade de gerenciar um número moderado de tabelas.
|
|
|
|
|
|
|
|
O Prisma foi utilizado como ORM (Object-Relational Mapping), permitindo a interação com o banco de dados de maneira mais fluida e eficiente, utilizando o Prisma Client para JavaScript. Isso simplifica a manipulação de dados e acelera o desenvolvimento.
|
|
|
|
|
|
- PostgreSQL
|
|
- PostgreSQL
|
|
|
|
|
... | @@ -21,7 +23,31 @@ O PostgreSQL é uma ferramenta que atua como sistema de gerenciamento de bancos |
... | @@ -21,7 +23,31 @@ O PostgreSQL é uma ferramenta que atua como sistema de gerenciamento de bancos |
|
![diagram-export-18-09-2024-18_49_39](uploads/450ef1247082873cb02488967cfd5bbd/diagram-export-18-09-2024-18_49_39.png)
|
|
![diagram-export-18-09-2024-18_49_39](uploads/450ef1247082873cb02488967cfd5bbd/diagram-export-18-09-2024-18_49_39.png)
|
|
|
|
|
|
# Modelagem do Banco de Dados
|
|
# Modelagem do Banco de Dados
|
|
A modelagem do banco de dados é TEXTO...
|
|
O banco de dados foi modelado com o objetivo de suportar as principais funcionalidades do sistema, incluindo gerenciamento de usuários, instituições, eventos, projetos e interações sociais, como posts, comentários e curtidas.
|
|
|
|
|
|
|
|
**Principais Tabelas:**
|
|
|
|
|
|
|
|
**GeneralParameters:** Gerencia parâmetros gerais da aplicação, armazenando dados em formato JSON.
|
|
|
|
|
|
|
|
**Institution:** Armazena dados das instituições, incluindo nome, CNPJ, localização geográfica (latitude e longitude) e suas relações com eventos, usuários e projetos.
|
|
|
|
|
|
|
|
**User:** Contém os dados dos usuários, como nome, e-mail, senha e CPF/CNPJ. Cada usuário pode estar associado a uma instituição e a um papel (role) específico.
|
|
|
|
|
|
|
|
**Address:** Armazena os dados de endereço dos usuários.
|
|
|
|
|
|
|
|
**Role:** Define os diferentes papéis que os usuários podem desempenhar dentro da aplicação.
|
|
|
|
|
|
|
|
**Event:** Tabela responsável por armazenar informações de eventos, como título, descrição, data e localização (latitude e longitude).
|
|
|
|
|
|
|
|
**Project:** Armazena os projetos gerenciados pelo sistema, incluindo nome, histórico, propósito, data de início e término.
|
|
|
|
|
|
|
|
**Category e Keyword:** Gerenciam as categorias e palavras-chave associadas a projetos e eventos.
|
|
|
|
|
|
|
|
**Post, PostLikes e PostComments:** Gerenciam as interações sociais, incluindo posts feitos pelos usuários, suas curtidas e comentários.
|
|
|
|
|
|
|
|
**ProjectCategory, EventCategory e ProjectKeyword:** Relações de muitos para muitos entre projetos, eventos, categorias e palavras-chave.
|
|
|
|
|
|
|
|
**UsersSocialNetwork:** Armazena as redes sociais associadas a cada usuário.
|
|
|
|
|
|
## Tabela User {
|
|
## Tabela User {
|
|
- id INT pk
|
|
- id INT pk
|
... | | ... | |