sql >> Databasteknik >  >> RDS >> Database

En databasmodell för en onlineundersökning. Del 1

Jag behöver skapa designen för en ny databas som kommer att vara datalagret för en ansökan; ansökan kommer att vara en enkät online eller omröstning som Survey Monkey. Min utmaning är att den funktionalitet som jag behöver inte stöds av befintliga undersökningssajter, så jag måste bygga min egen. Det jag behöver är en villkorad undersökning (om svaret på fråga 4 är "ja", så ställer vi fråga 5 och hoppar över fråga 6; men om svaret på fråga 4 är "nej", hoppar vi över fråga 5 och ställer fråga 6 ).

Jag kommer att skriva en serie artiklar om den här designen och utöka designen varje gång, så den här artikeln handlar mest om att sätta scenen för den grundläggande undersökningsdatabasen. I framtida artiklar kommer jag att arbeta med de mer avancerade funktionerna relaterat till en villkorad ordning av frågor i en undersökning och administrationen av undersökningarna.

Domän

Domänen för en onlineundersökning baseras på ett frågeformulär eller en undersökning som består av en serie frågor. Respondenterna kommer att svara på undersökningen och vi måste lagra deras svar.

Tills vidare börjar vi med öppna frågor som består av en fråga och ett svar.

I framtida versioner av modellen kommer vi att vilja definiera ordningen på frågorna i undersökningen, om frågorna är villkorade eller inte, och de olika typerna av frågor (som flervalsfrågor).

Funktionalitet

Som nämnts kommer vi att fråga respondenter för att svara på enkäten (den kommer inte att vara öppen för alla) och vi behöver lagra deras svar. Dessutom kan samma deltagare återkomma och uppdatera sina svar. Lagrar svar kan vara lite utmanande eftersom vi kommer att behöva tabeller som är länkade till de ursprungliga frågorna, men som har svar för var och en av de svarande som fyller i undersökningen.

I framtida versioner av modellen kommer vi att lägga till administratörer för onlineundersökningarna.

Slutligen kommer det att behövas rapporter och analyser:Vilka var svaren? Hur många svar kom från olika undergrupper? Vilka frågor besvarades inte oftast (för att identifiera dåligt formulerade frågor)?

Entiteter och relationer

Låt oss se:vi har en undersökning (eller frågeformulär) som består av en serie frågor. För närvarande börjar vi bara med öppna frågor så det finns inget behov av möjliga svar kopplade till frågan, vilket skulle vara nödvändigt för flervalsfrågor. Ordningen på frågorna i undersökningen kommer att vara fast (definieras när undersökningen skapas), men i framtida versioner av modellen vill vi lägga till alternativet för en villkorad väg genom undersökningen.

Självklart kommer vi att behöva respondenter och deras svar. Som nämnts kommer vi att lägga till användaradministration i framtida versioner av modellen.

Formell design

Nu när vi känner till enheterna och relationerna är vi redo att bygga vårt Entity Relationship Diagram (ERD). För att göra detta använder vi Vertabelo , ett onlineverktyg för databasmodellering. Om du inte har ditt Vertabelo-konto ännu kan du registrera dig här för en kostnadsfri provperiod.

För vår onlineenkät börjar vi med enkäten, dess tillhörande frågor och i vilken ordning frågorna visas. Vi lägger till respondenterna och länkar sedan de undersökningar som en respondent svarade på och deras svar på en undersökning.




Låt oss nu använda det som grund och lägga till ytterligare komplexitet i framtida versioner av modellen.

Slutsats

Med vår grundläggande design definierad kan vi nu börja tänka på förbättringar. I framtida artiklar kommer jag att arbeta med de mer avancerade funktionerna som:

  • Olika typer av frågor som flervalsfrågor
  • Villkorlig ordning på frågorna i en undersökning
  • Administration av undersökningarna.


  1. Ställa in Oracle-språkparametrar för DG4ODBC

  2. Räknar rader för alla tabeller samtidigt

  3. Fel vid installation av mysql2:Det gick inte att bygga gem native extension

  4. mysql-python installationsfel:Kan inte öppna inkludera filen 'config-win.h'