Database
 sql >> Database >  >> RDS >> Database

Un modello di database per un sondaggio online. Parte 1

Devo creare il progetto per un nuovo database che sarà il livello dati per una domanda; l'applicazione sarà un sondaggio online o sondaggi come Survey Monkey. La mia sfida è che la funzionalità di cui ho bisogno non è supportata dai siti di sondaggi esistenti, quindi devo crearne uno mio. Quello di cui ho bisogno è un sondaggio condizionale (se la risposta alla domanda 4 è "sì", allora poniamo la domanda 5 e saltiamo la domanda 6; ma se la risposta alla domanda 4 è "no", allora saltiamo la domanda 5 e poniamo la domanda 6 ).

Scriverò una serie di articoli su questo progetto ed estenderò il progetto ogni volta, quindi questo articolo riguarda principalmente l'impostazione della scena per il database del sondaggio di base. Nei prossimi articoli lavorerò sulle funzionalità più avanzate relativi a un ordine condizionato di domande in un sondaggio e alla gestione dei sondaggi.

Dominio

Il dominio per un sondaggio online si basa su un questionario o sondaggio che consiste in una serie di domande. Gli intervistati risponderanno al sondaggio e dobbiamo memorizzare le loro risposte.

Per ora, inizieremo con le domande aperte che consistono in una domanda e una risposta.

Nelle versioni future del modello, vorremo definire l'ordine delle domande nel sondaggio, indipendentemente dal fatto che le domande siano condizionali o meno, e i diversi tipi di domande (come la scelta multipla).

Funzionalità

Come accennato, chiederemo agli intervistati per rispondere al sondaggio (non sarà aperto a tutti) e dobbiamo memorizzare le loro risposte. Inoltre, lo stesso partecipante può restituire e aggiornare le proprie risposte. Memorizzazione di risposte può essere alquanto impegnativo poiché avremo bisogno di tabelle collegate alle domande originali, ma con risposte per ciascuno degli intervistati che completa il sondaggio.

Nelle versioni future del modello, aggiungeremo gli amministratori dei sondaggi online.

Infine, saranno necessari report e analisi:quali sono state le risposte? Quante risposte sono state ricevute da diversi sottogruppi? A quali domande non è stata data risposta più frequentemente (per identificare domande formulate male)?

Entità e relazioni

Vediamo:abbiamo un sondaggio (o questionario) composto da una serie di domande. Per ora partiamo solo con domande a risposta aperta quindi non c'è bisogno di possibili risposte legate alla domanda, come sarebbe necessario per le domande a risposta multipla. L'ordine delle domande nel sondaggio sarà fisso (definito al momento della creazione del sondaggio), ma nelle versioni future del modello vorremmo aggiungere l'opzione per un percorso condizionato attraverso il sondaggio.

Ovviamente, avremo bisogno di intervistati e delle loro risposte. Come accennato, aggiungeremo l'amministrazione degli utenti nelle versioni future del modello.

Design formale

Ora che conosciamo le entità e le relazioni, siamo pronti per costruire il nostro Entity Relationship Diagram (ERD). Per fare ciò, utilizzeremo Vertabelo , uno strumento online per la modellazione di database. Se non hai ancora il tuo account Vertabelo, puoi registrarti qui per un piano di prova gratuito.

Per il nostro sondaggio online, inizieremo con il sondaggio, le domande associate e l'ordine in cui vengono visualizzate le domande. Aggiungiamo gli intervistati e quindi colleghiamo i sondaggi a cui un rispondente ha fornito le risposte e le relative risposte per un sondaggio.




Per ora, utilizziamola come base e aggiungiamo ulteriore complessità nelle versioni future del modello.

Conclusione

Con il nostro design di base definito, ora possiamo iniziare a pensare ai miglioramenti. Nei prossimi articoli lavorerò sulle funzionalità più avanzate come:

  • Diversi tipi di domande come domande a scelta multipla
  • Ordine condizionale delle domande in un sondaggio
  • Gestione dei sondaggi.