|
|
# Banco de Dados Postgres
|
|
|
|
|
|
O projeto WeConecta utiliza o PostgreSQL como sistema gerenciador de banco de dados.
|
|
|
|
|
|
O PostgreSQL é um banco de dados relacional robusto, confiável e amplamente utilizado em aplicações que exigem consistência, integridade e suporte a operações complexas. Ele oferece recursos avançados como controle de concorrência multiversão (MVCC), suporte a transações ACID, extensibilidade com funções e tipos personalizados, além de boa performance em ambientes de produção com grande volume de dados.
|
|
|
|
|
|
## Relacionamentos
|
|
|
|
|
|
- Um usuário pode estar associado a vários questionários
|
|
|
(`Usuario_Questionario.id_usuario → Usuario.id`,
|
|
|
`Usuario_Questionario.id_questionario → Questionario.id`)
|
|
|
|
|
|
- Um usuário pode ter vários registros de participação em questionários
|
|
|
(`Usuario.usuario_questionarios → Usuario_Questionario.id_usuario`)
|
|
|
|
|
|
- Um questionário pode ter vários usuários participantes
|
|
|
(`Questionario.usuario_questionarios → Usuario_Questionario.id_questionario`)
|
|
|
|
|
|
- Um questionário começa em uma primeira mensagem
|
|
|
(`Questionario.id_primeira_mensagem → Mensagem.id`)
|
|
|
|
|
|
- Um questionário pode ter vários fluxos de mensagens
|
|
|
(`Fluxo_Questionario.id_questionario → Questionario.id`)
|
|
|
|
|
|
- Uma mensagem pode ser a **atual**, **anterior** ou **próxima** em um fluxo
|
|
|
(`Fluxo_Questionario.id_mensagem_atual → Mensagem.id`,
|
|
|
`Fluxo_Questionario.id_mensagem_anterior → Mensagem.id`,
|
|
|
`Fluxo_Questionario.id_proxima_mensagem → Mensagem.id`)
|
|
|
|
|
|
- Uma mensagem pode ter várias respostas de usuários
|
|
|
(`Resposta.id_mensagem → Mensagem.id`)
|
|
|
|
|
|
- Uma mensagem pode ter várias alternativas de resposta
|
|
|
(`Alternativa.id_mensagem → Mensagem.id`)
|
|
|
|
|
|
- Uma alternativa pode direcionar o fluxo para a próxima mensagem
|
|
|
(`Fluxo_Questionario.id_alternativa → Alternativa.id`)
|
|
|
|
|
|
- Uma resposta pode conter a alternativa escolhida
|
|
|
(`Resposta.id_alternativa_selecionada → Alternativa.id`)
|
|
|
|
|
|
- Um questionário pode ter várias respostas
|
|
|
(`Resposta.id_questionario → Questionario.id`)
|
|
|
|
|
|
 |