[Algemeen/database] Enquete systeem + resultaten bepalen

Pagina: 1
Acties:
  • 184 views sinds 30-01-2008
  • Reageer

  • mocean
  • Registratie: November 2000
  • Laatst online: 15-08 04:26
Ik ben bezig met een enquete systeem. Het maken van een enquetescript met databasemodel lukt aardig, alleen heb ik wat moeite met het systeem van resultaten verwerking:

In een enquete zijn er bijvoorbeeld een aantal vragen, die niet gaan over hetgeen je wil onderzoeken, maar over de persoon.
Bijvoorbeeld een vraag als 'wat is uw geslacht?'. Wanneer je die vraag stelt wil je later de resultaten voor elke groep (man/vrouw) kunnen bekijken. Er zijn veel meer van dit soort vragen te bedenken. Dus vragen die het interessant maken om de resultaten op te sorteren.

Het database model wat ik bedacht heb is alsvolgt:

Enquetegegevens
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
* Table Enquete
ID, Int autonumber
Name, Char
Description, Char
Enddate, date
 
* Table Question
ID, Int autonumber
Enquete_ID, Int
Question, Char
Mutlipleallowed, Boolean
Openquestion, Boolean
Sortquestion, Boolean 
 
* Table Answer
ID, Int autonumber
Question_ID, Int
Text, Char
Extratextallowed, Boolean
Extratextlength, Int


Gegevens die ingevuld worden
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
* Table Clientdata
ID,int autonumber
Submitdate, Date
Ip_adress, Char
 
* Table Clientanswer
ID, Int autonumber
Clientdata_ID, Int
Answer_ID, Int
Extratext, Char
 
* Table Openanswers
ID, Int autonumber
Clientdata_ID, Int
Question_ID, Int
Text, Char


Ik heb in het model bij de vragen een Boolean 'Sortquestion' bedacht, waarmee je bepaalt of een vraag (zoals over het geslacht) gebruikt wordt om de resultaten te sorteren.

N.B. In de tabel 'Answer' zit een boolean 'Extratextallowed' bedoeld om bij een multiple choice vraag een antwoord mogelijk te maken als: 'Anders, namelijk: .......' waar mensen zelf wat kunnen invullen.

Ondanks het feit dat ik min of meer alle vereisten in het Db model heb verwerkt, ben ik er nog niet gelukkig mee. Heeft iemand tips/suggesties/opmerkingen voor verbetering?

Koop of verkoop je webshop: ecquisition.com


  • Boss
  • Registratie: September 1999
  • Laatst online: 22:38

Boss

+1 Overgewaardeerd

Ja. Als je veel wilt gaan rekenen met de resultaten van je enquete maakt het datamodel weinig uit. Die zou ik later sowieso in een 'platte' excel sheet zetten. Ik denk namelijk dat je dan veel beter een statistisch pakket kan gebruiken voor de verwerken van je gegevens. Hoe heet dat programma ook alweer? spss?

Zeker als je geen 100-en vragen hebt is het mijns insziens onnodig om zoveel aandacht te geven aan de manier van opslaan - het gaat om de verwerking.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • Speedpete
  • Registratie: December 2001
  • Laatst online: 07-08 11:30

Speedpete

was barman

Boss schreef op 13 October 2003 @ 22:44:
Ja. Als je veel wilt gaan rekenen met de resultaten van je enquete maakt het datamodel weinig uit. Die zou ik later sowieso in een 'platte' excel sheet zetten. Ik denk namelijk dat je dan veel beter een statistisch pakket kan gebruiken voor de verwerken van je gegevens. Hoe heet dat programma ook alweer? spss?

Zeker als je geen 100-en vragen hebt is het mijns insziens onnodig om zoveel aandacht te geven aan de manier van opslaan - het gaat om de verwerking.
Enige oplossing is (inderdaad) een pakket als SPSS...

Microsoft heeft de leuke gedachte om een maximum van 256 kolommen in excel te zetten, in Access overigens ook. Aan dat aantal variabelen of respondenten zit je voor je het weet met een beetje flinke enquete.

Ik ben het overigens met je eens dat je veel beter alles plat kan bekijken. Dus: maak de DB zo eenvoudig mogelijk, laat de eindsoftware het harde werk opknappen.

[ Voor 2% gewijzigd door Speedpete op 13-10-2003 22:53 . Reden: typo ]

Object-oriented programming offers a sustainable way to write spaghetti code | Hoe vleugels wel werken.


  • mocean
  • Registratie: November 2000
  • Laatst online: 15-08 04:26
Ik snap dat in de uiteindelijke gegevensverwerking nog veel moet gebeuren (in Excel, PHP of iets anders). Mij gaat het erom de gegevens zo slim en handig mogelijk op te slaan om die gegevensverwerking zo makkelijk mogelijkt te maken.

Wanneer ik de gegevens van de vragen over het geslacht, of bijvoorbeeld leeftijdsgroep, wil verwerken in de overige vragen, wordt dat ook in Excel of PHP lastig.

Veel met de hand copy pasten en indelen heb ik weinig trek in natuurlijk :)

Koop of verkoop je webshop: ecquisition.com


  • Speedpete
  • Registratie: December 2001
  • Laatst online: 07-08 11:30

Speedpete

was barman

Ik zou gegevensverwerking niet doen met PHP, tenzij het gaat om echt kleine enquetes.

Als 'klein' voor een enquete staat met 200 variabelen (waar ik mee te maken heb als minimum) dan is echt de beste oplossing 1 tabel met alle antwoorden erin. Tuurlijk, het is niet zo netjes als een mooie relationele database en ik heb mensen zien lachen over mijn db's...

Maar ik lach het laatst omdat ik in 1 bewerking al m'n data d.m.v. een odbc-koppeling in SPSS trek...

Mooi designen is 1, maar het moet wel uitkomen en makkelijk te gebruiken zijn... en dat is 2...

Object-oriented programming offers a sustainable way to write spaghetti code | Hoe vleugels wel werken.


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
mocean schreef op 13 oktober 2003 @ 22:28:
Enquetegegevens
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
* Table Enquete
ID, Int autonumber
Name, Char
Description, Char
Enddate, date
 
* Table Question
ID, Int autonumber
Enquete_ID, Int
Question, Char
Mutlipleallowed, Boolean
Openquestion, Boolean
Sortquestion, Boolean 
 
* Table Answer
ID, Int autonumber
Question_ID, Int
Text, Char
Extratextallowed, Boolean
Extratextlength, Int
Ben ook ooit eens met een enquete module begonnen, die moet ik maar eens afmaken :+

je datamodel
tbl_enquete
- datum_start (zodat je in later statistieken kunt aangeven wanneer je enquete is aangemaakt)

tbl_question
- haal je drie soorten vragen weg en maak hier een extra tabel voor (tbl_type_vraag) zodat je in de toekomst nog een extra type vraag kunt toevoegen
Gegevens die ingevuld worden
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
* Table Clientdata
ID,int autonumber
Submitdate, Date
Ip_adress, Char
 
* Table Clientanswer
ID, Int autonumber
Clientdata_ID, Int
Answer_ID, Int
Extratext, Char
 
* Table Openanswers
ID, Int autonumber
Clientdata_ID, Int
Question_ID, Int
Text, Char
zit net ff gauw te kijken hoe mijn db (die ik heb opgebouwd aan de hand van een enquete) er ook al weer uitzag, zie gelijk dat het aardig ingewikkeld was, een aantal dingen waar je ook nog rekening mee kunt houden:
- gegroepeerde vragen; het kan zijn dat je je vragen wilt groeperen, zodat er per pagina / venster een x aantal vragen wordt weergegeven die hetzelfde onderwerp bevatten
- vragen die van elkaar afhankelijk zijn (bent u getrouwd? zo ja, geef dan de vragen weer die met het huwelijk te maken hebben; zo nee laat de vragen dan onzichtbaar) misschien gaat dit wat meer in op de app die eromheen gebouwd moet worden, maar ik ga er hier even van uit dat die er komt.


om naderhand een koppeling te kunnen maken met spss kun je óf aan je dbase kant óf aan je applicatie kant hele mooie queries samenstellen die precies die informatie uitbraken die jij hebben wilt.

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!

Pagina: 1