Ik moet het ontwerp maken voor een nieuwe database die de gegevenslaag zal zijn voor een aanvraag; de aanvraag wordt een online enquête of peilingen zoals Survey Monkey. Mijn uitdaging is dat de functionaliteit die ik nodig heb niet wordt ondersteund door bestaande enquêtesites, dus ik moet er zelf een bouwen. Wat ik nodig heb is een voorwaardelijke enquête (als het antwoord op vraag 4 "ja" is, dan stellen we vraag 5 en slaan vraag 6 over; maar als het antwoord op vraag 4 "nee" is, dan slaan we vraag 5 over en stellen vraag 6 ).
Ik zal een reeks artikelen over dit ontwerp schrijven en het ontwerp elke keer uitbreiden, dus dit artikel gaat vooral over het instellen van de basis voor de basisenquêtedatabase. In toekomstige artikelen zal ik werken aan de meer geavanceerde functies gerelateerd aan een voorwaardelijke volgorde van vragen in een enquête en de administratie van de enquêtes.
Domein
Het domein voor een online enquête is gebaseerd op een vragenlijst of poll die bestaat uit een reeks vragen. Respondenten zullen de enquête invullen en we moeten hun antwoorden opslaan.
Voorlopig beginnen we met open vragen die bestaan uit een vraag en een antwoord.
In toekomstige versies van het model zullen we de volgorde van de vragen in de enquête willen definiëren, of de vragen al dan niet voorwaardelijk zijn, en de verschillende soorten vragen (zoals meerkeuzevragen).
Functionaliteit
Zoals gezegd vragen we respondenten om op de enquête te reageren (deze is niet voor iedereen toegankelijk) en we moeten hun antwoorden opslaan. Bovendien kan dezelfde deelnemer zijn of haar antwoorden retourneren en bijwerken. reacties opslaan kan enigszins uitdagend zijn, omdat we tabellen nodig hebben die aan de oorspronkelijke vragen zijn gekoppeld, maar die antwoorden hebben voor elk van de respondenten die de enquête invult.
In toekomstige versies van het model zullen we beheerders van de online enquêtes toevoegen.
Ten slotte zullen er rapporten en analyses moeten zijn:wat waren de reacties? Hoeveel reacties zijn er ontvangen van verschillende subgroepen? Op welke vragen werd het vaakst niet gereageerd (om slecht geformuleerde vragen te identificeren)?
Entiteiten en relaties
Even kijken:we hebben een enquête (of vragenlijst) die bestaat uit een reeks vragen. Voorlopig beginnen we alleen met open vragen, dus er is geen behoefte aan mogelijke antwoorden die aan de vraag zijn gekoppeld, zoals bij meerkeuzevragen wel het geval zou zijn. De volgorde van vragen in de enquête ligt vast (gedefinieerd wanneer de enquête wordt gemaakt), maar in toekomstige versies van het model willen we de optie voor een voorwaardelijk pad door de enquête toevoegen.
Uiteraard hebben we respondenten en hun antwoorden nodig. Zoals vermeld, zullen we in toekomstige versies van het model gebruikersbeheer toevoegen.
Formeel ontwerp
Nu we de entiteiten en relaties kennen, zijn we klaar om ons Entity Relationship Diagram (ERD) te bouwen. Om dit te doen, gebruiken we Vertabelo , een online tool voor databasemodellering. Als je je Vertabelo-account nog niet hebt, kun je je hier aanmelden voor een gratis proefabonnement.
Voor onze online enquête beginnen we met de enquête, de bijbehorende vragen en de volgorde waarin de vragen worden weergegeven. We voegen de respondenten toe en koppelen vervolgens de enquêtes waarop een respondent antwoorden heeft gegeven en hun antwoorden voor een enquête.
Laten we dat voorlopig als basis gebruiken en verdere complexiteit toevoegen in toekomstige versies van het model.
Conclusie
Met ons basisontwerp gedefinieerd, kunnen we nu gaan nadenken over verbeteringen. In toekomstige artikelen zal ik werken aan de meer geavanceerde functies zoals:
- Verschillende soorten vragen, zoals meerkeuzevragen
- Voorwaardelijke volgorde van vragen in een enquête
- Beheer van de enquêtes.