Database
 sql >> Base de Dados >  >> RDS >> Database

Um modelo de banco de dados para uma pesquisa online. Parte 1




Preciso criar o design para um novo banco de dados que será a camada de dados para uma aplicação; a inscrição será uma pesquisa on-line ou pesquisas como Survey Monkey. Meu desafio é que a funcionalidade de que preciso não é suportada pelos sites de pesquisa existentes, portanto, preciso criar a minha própria. O que eu preciso é de uma pesquisa condicional (se a resposta da pergunta 4 for "sim", então fazemos a pergunta 5 e pulamos a pergunta 6; mas se a resposta da pergunta 4 for "não", então pulamos a pergunta 5 e fazemos a pergunta 6 ).

Vou escrever uma série de artigos sobre esse design e estender o design a cada vez, então este artigo é principalmente sobre como definir o cenário para o banco de dados básico de pesquisa. Em artigos futuros, trabalharei nos recursos mais avançados relacionados a uma ordem condicional de perguntas em uma pesquisa e à administração das pesquisas.

Domínio


O domínio de uma pesquisa online é baseado em um questionário ou enquete que consiste em uma série de perguntas. Os entrevistados responderão à pesquisa e precisamos armazenar suas respostas.

Por enquanto, começaremos com perguntas abertas que consistem em uma pergunta e uma resposta.

Em versões futuras do modelo, desejaremos definir a ordem das perguntas na pesquisa, se as perguntas são condicionais ou não, e os diferentes tipos de perguntas (como múltipla escolha).

Funcionalidade


Conforme mencionado, pediremos aos inquiridos para responder à pesquisa (ela não será aberta a todos) e precisamos armazenar suas respostas. Além disso, o mesmo participante pode retornar e atualizar suas respostas. Armazenando respostas pode ser um pouco desafiador, pois precisaremos de tabelas vinculadas às perguntas originais, mas que tenham respostas para cada um dos entrevistados que completam a pesquisa.

Em versões futuras do modelo, adicionaremos administradores das pesquisas online.

Finalmente, será necessário haver relatórios e análises:Quais foram as respostas? Quantas respostas foram recebidas de diferentes subgrupos? Quais perguntas não foram respondidas com mais frequência (para identificar perguntas mal formuladas)?

Entidades e Relacionamentos


Vejamos:temos uma pesquisa (ou questionário) composta por uma série de perguntas. Por enquanto, começamos apenas com perguntas abertas, portanto não há necessidade de possíveis respostas vinculadas à pergunta, como seria necessário para perguntas de múltipla escolha. A ordem das perguntas na pesquisa será fixa (definida quando a pesquisa for criada), mas em versões futuras do modelo gostaríamos de adicionar a opção de um caminho condicional pela pesquisa.

Obviamente, precisaremos de entrevistados e suas respostas. Como mencionado, adicionaremos administração de usuários nas versões futuras do modelo.

Design formal


Agora que conhecemos as entidades e as relações, estamos prontos para construir nosso Diagrama de Entidade-Relacionamento (ERD). Para isso, usaremos Vertabelo , uma ferramenta online para modelagem de banco de dados. Se você ainda não tem sua conta Vertabelo, pode se inscrever aqui para um plano de teste gratuito.

Para nossa pesquisa online, começaremos com a pesquisa, suas perguntas associadas e a ordem em que as perguntas são exibidas. Adicionamos os respondentes e, em seguida, vinculamos as pesquisas às quais um respondente forneceu respostas e suas respostas para uma pesquisa.




Por enquanto, vamos usar isso como base e adicionar mais complexidade em versões futuras do modelo.

Conclusão


Com nosso projeto básico definido, podemos agora começar a pensar em melhorias. Em artigos futuros, trabalharei nos recursos mais avançados, como:
  • Diferentes tipos de perguntas, como perguntas de múltipla escolha
  • Ordem condicional das perguntas em uma pesquisa
  • Administração das pesquisas.