Toon posts:

Normaliseren van evaluatie formulier

Pagina: 1
Acties:

Verwijderd

Topicstarter
Een goedenmorgen,


Ik ben bezig voor mijn stage opdracht met het bouwen van een evaluatie database. Het is de bedoeling dat de cursisten die een workshop krijgen bij ons een evaluatie formulier invullen aan het eind van de dag.

Het probleem is dat het formulier genormaliseerd moet worden om een goede databasestructuur te krijgen. Toevallig hebben we vorige maand een toets normaliseren gehad. Dit was niet zo'n probleem omdat het toen over simpele factuurtjes ging. Toch snap ik niet hoe ik dit formulier moet normaliseren.

Wie kan mij een eind in de goede richting helpen. ik ken alle normaalvormen van CODD nl.

0NV - Invertariseer de gegevens en bepaal de sleutel
1NV - Verwijder process gegevens en de RG
2NV - Verwijder de gegevens die niet van de gehele sleutel afhankelijk zijn
3NV - Verwijder de niet-sleutel gegevens die afhankelijk zijn van andere niet-sleutel gegevens


Afbeeldingslocatie: http://www.partyserver.nl/formulier.jpg


Omdat het formulier uit meerkeuze vragen en openvragen bestaat word het geheel nog lastiger. Ook kom ik er niet uit hoe ik het moet doen met de meerdere antwoorden per vraag.


Al vast bedankt voor de hulp!!

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:00
Hoi,
Je topic komt nu bij mij over als:
Wie wil dit ff voor mij normaliseren

We willen je best helpen, maar, je moet ook niet verwachten dat wij jouw opdracht gaan maken, en dat jij met de pluimen gaat lopen natuurlijk.
Ik stel voor dat je hier eerst eens even de oplossing die je tot nu toe hebt, post, en dat men daar dan aan- en opmerkingen, tips, verbeteringen, etc... kan op geven.

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op dinsdag 22 november 2005 @ 10:36:
Hoi,
Je topic komt nu bij mij over als:
Wie wil dit ff voor mij normaliseren

We willen je best helpen, maar, je moet ook niet verwachten dat wij jouw opdracht gaan maken, en dat jij met de pluimen gaat lopen natuurlijk.
Ik stel voor dat je hier eerst eens even de oplossing die je tot nu toe hebt, post, en dat men daar dan aan- en opmerkingen, tips, verbeteringen, etc... kan op geven.
Ik heb zelf al wat uitgetekend in Access maar volgens de leraar was dit ook niet goed. Hij wou me ook niet vertellen wat ik verkeerd deed omdat ik de normaalvormen maar moest volgen
Het probleem is dat ik niet eens verder kom dan de 0NV.

wat ik tot nu toe heb is Afbeeldingslocatie: http://www.partyserver.nl/relaties.JPG

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:00
Kan een cursus slechts door 1 docent gegeven worden ?
Kan een cursist slechts 1 cursus volgen ?

Je data-model is idd niet goed te noemen.

Je zult iig een tabel 'docent', 'cursist' en 'cursus' moeten hebben, maar , je zult ook een tabel moeten hebben waarmee je kunt aangeven welke cursist op welke datum welke cursus gevolgd heeft. (Tenzij dat niet een onderdeel is v/d opdracht).
En, je zult dus op de een of andere manier, per cursist, per gevolgde cursus, een manier moeten hebben om een evaluatie-formulier op te slaan.
Een evaluatie-formulier bestaat dus uit een aantal vragen (open of meerkeuze-vragen; een meerkeuze-vraag heeft een aantal antwoorden-opties)

https://fgheysels.github.io/


Verwijderd

Topicstarter
Dus dan zou het zoiets als dit moeten zijn:


FORMULIER (id, datum, cursus_id, cursist_id, docent_id)
CURSUS (cursus_id, naam, etc... )
CURSIST (cursist_id, naam, etc... )
DOCENTEN (docent_id, naam)
VRAAG (vraagid, omschrijving, openvraagid, meerkeuzevraagid)
OPENVRAAG (openvraagid, antwoord)
MEERKEUZEVRAAG (meerkeuzevraagid, antwoord1, antwoord2, antwoord3, antwoord4, antwoord5)

[ Voor 6% gewijzigd door Verwijderd op 22-11-2005 11:01 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22:57

Janoz

Moderator Devschuur®

!litemod

antwoord1, antwoord2, antwoord3, antwoord4, antwoord5
Hierbij gaan (iig bij mij) flink wat alarmbellen af. Wat nu als er 6 zijn?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • whoami
  • Registratie: December 2000
  • Laatst online: 21:00
Verwijderd schreef op dinsdag 22 november 2005 @ 10:59:
Dus dan zou het zoiets als dit moeten zijn:


FORMULIER (id, datum, cursus_id, cursist_id, docent_id)
CURSUS (cursus_id, naam, etc... )
CURSIST (cursist_id, naam, etc... )
DOCENTEN (docent_id, naam)
VRAAG (vraagid, omschrijving, openvraagid, meerkeuzevraagid)
OPENVRAAG (openvraagid, antwoord)
MEERKEUZEVRAAG (meerkeuzevraagid, antwoord1, antwoord2, antwoord3, antwoord4, antwoord5)
Nee.
Je formulier bevat geen vragen.
Je hebt nergens een koppeling die aangeeft welke cursist welke cursus gevolgd heeft, en of hij een evaluatie-formulier heeft ingevuld en wat hij heeft ingevuld.

.. en ook wat Janoz zegt.

https://fgheysels.github.io/


Verwijderd

Verwijderd schreef op dinsdag 22 november 2005 @ 10:59:
Dus dan zou het zoiets als dit moeten zijn:


FORMULIER (id, datum, cursus_id, cursist_id, docent_id)
CURSUS (cursus_id, naam, etc... )
CURSIST (cursist_id, naam, etc... )
DOCENTEN (docent_id, naam)
VRAAG (vraagid, omschrijving, openvraagid, meerkeuzevraagid)
OPENVRAAG (openvraagid, antwoord)
MEERKEUZEVRAAG (meerkeuzevraagid, antwoord1, antwoord2, antwoord3, antwoord4, antwoord5)
voorstel
code:
1
2
3
4
5
6
evaluaties_cursus (id, naam)
evaluaties_vragen (id, cursus_id)
evaluaties_vragen_antwoorden (id,evaluatie_vraag_id, antwoordtype_id, antwoord_tekst, antwoord_keuze)
evaluaties_vragen_antwoordtype(id, aantal_antwoorden, type_id)
evaluaties_cursist (id, evaluatie_cursus_id, docent_id, naam)
evaluaties_docent (id, evaluatie_cursus_id, naam)


Eigenlijk ben ik hier net mee bezig, ik programmeer nu de resultaatuitwerking

Verwijderd

Topicstarter
Verwijderd schreef op dinsdag 22 november 2005 @ 11:36:
[...]


voorstel
code:
1
2
3
4
5
6
evaluaties_cursus (id, naam)
evaluaties_vragen (id, cursus_id)
evaluaties_vragen_antwoorden (id,evaluatie_vraag_id, antwoordtype_id, antwoord_tekst, antwoord_keuze)
evaluaties_vragen_antwoordtype(id, aantal_antwoorden, type_id)
evaluaties_cursist (id, evaluatie_cursus_id, docent_id, naam)
evaluaties_docent (id, evaluatie_cursus_id, naam)


Eigenlijk ben ik hier net mee bezig, ik programmeer nu de resultaatuitwerking
evaluaties_docent (id, evaluatie_cursus_id, naam)

Dat zou dus betekenen dat er altijd dezelfde docent die cursus gaat geven. Wat als er nu een andere docent diezelfde cursus geeft?

Verwijderd

Verwijderd schreef op dinsdag 22 november 2005 @ 12:01:
[...]


evaluaties_docent (id, evaluatie_cursus_id, naam)

Dat zou dus betekenen dat er altijd dezelfde docent die cursus gaat geven. Wat als er nu een andere docent diezelfde cursus geeft?
Ik ga niet alles voorkauwen :+ het is maar een voorbeeld, ik weet niet of die voorwaarde die jij nu noemt een echte voorwaarde is....

Verwijderd

Hier stond eerst een andere tekst, maar dat was bagger..
Nieuwe tekst/uitleg:

formulieren
Een formulier entiteit is niets anders dan een verzameling van vragen.

vragen
Een vraagn entiteit is een vraag, zonder antwoorden

antwoorden
Een antwoord is een stukje informatie (een tekstje, of een nummer)

types
Een type is een type vraag. Dit kan zijn, meerkeuze (teksten), waardering (getallen) of een open vraag (tekst wordt ontvangen door de persoon die het formulier invult).

relaties vragen en antwoorden
Het vastleggen van relaties tussen vragen en mogelijke antwoorden, zonder relaties met een formulier. Op deze wijze kunnen vragen ook voor andere formulieren gebruikt worden.

relaties formulieren en vragen
Zie bovenstaande, hier leggen we wél de relaties tussen een formulier en haar vragen vast.

Ok, met bovenstaande structuur kunnen we een formulier, dat wil niets meer zeggen dan een bepaald aantal vragen met bijbehorende antwoorden, vastleggen.
De volgende stap is het opslaan van data die we ontvangen, omdat een persoon een formulier heeft ingevuld.

deelname
Een cursist heeft deelgenomen aan een cursus en vult een formulier in, vandaar de naam. Bij de deelname slaan we een aantal persoonlijke gegevens op.

Keuzes
De deelnemer heeft keuzes gemaakt op het formulier. Deze keuzes slaan we op en zijn automatisch gerelateerd aan een deelname entiteit. Een keuze kan zijn: een relatie met een antwoord (waarde plaatsen in `ant_id`) of een ontvangen tekst (bij een open vraag). In dat laatste geval sla je de ontvangen tekst op in `openvraag`. Dit zou mooier kunnen, maar dit is het handigst.

Alles is nu terug te halen en netjes opgeslagen.

Afbeeldingslocatie: http://www.streamingmediadesign.nl/got/norm.gif

Met deze structuur kun je:

- individueel formulieren opslaan
- individueel vragen opslaan
- individueel antwoorden opslaan
- opslaan dat een cursist een formulier heeft ingevuld
- zijn/haar keuzes opslaan
- relaties tussen dit alles opslaan

offtopic:
Erg lastig uit te leggen allemaal, ben er echter wel van overtuigd dat bovenstaande informatie een complete (relatief woord, niets is compleet maar het is een mooie basis voor e.e.a.) oplossing is


Edit: de relaties in de afbeelding kloppen niet helemaal, maar het doel is duidelijk...

[ Voor 98% gewijzigd door Verwijderd op 22-11-2005 15:49 ]


Verwijderd

Topicstarter
Verwijderd schreef op dinsdag 22 november 2005 @ 12:21:
Hier stond eerst een andere tekst, maar dat was bagger..
Nieuwe tekst/uitleg:

formulieren
Een formulier entiteit is niets anders dan een verzameling van vragen.

vragen
Een vraagn entiteit is een vraag, zonder antwoorden

antwoorden
Een antwoord is een stukje informatie (een tekstje, of een nummer)

types
Een type is een type vraag. Dit kan zijn, meerkeuze (teksten), waardering (getallen) of een open vraag (tekst wordt ontvangen door de persoon die het formulier invult).

relaties vragen en antwoorden
Het vastleggen van relaties tussen vragen en mogelijke antwoorden, zonder relaties met een formulier. Op deze wijze kunnen vragen ook voor andere formulieren gebruikt worden.

relaties formulieren en vragen
Zie bovenstaande, hier leggen we wél de relaties tussen een formulier en haar vragen vast.

Ok, met bovenstaande structuur kunnen we een formulier, dat wil niets meer zeggen dan een bepaald aantal vragen met bijbehorende antwoorden, vastleggen.
De volgende stap is het opslaan van data die we ontvangen, omdat een persoon een formulier heeft ingevuld.

deelname
Een cursist heeft deelgenomen aan een cursus en vult een formulier in, vandaar de naam. Bij de deelname slaan we een aantal persoonlijke gegevens op.

Keuzes
De deelnemer heeft keuzes gemaakt op het formulier. Deze keuzes slaan we op en zijn automatisch gerelateerd aan een deelname entiteit. Een keuze kan zijn: een relatie met een antwoord (waarde plaatsen in `ant_id`) of een ontvangen tekst (bij een open vraag). In dat laatste geval sla je de ontvangen tekst op in `openvraag`. Dit zou mooier kunnen, maar dit is het handigst.

Alles is nu terug te halen en netjes opgeslagen.

[afbeelding]

Met deze structuur kun je:

- individueel formulieren opslaan
- individueel vragen opslaan
- individueel antwoorden opslaan
- opslaan dat een cursist een formulier heeft ingevuld
- zijn/haar keuzes opslaan
- relaties tussen dit alles opslaan

offtopic:
Erg lastig uit te leggen allemaal, ben er echter wel van overtuigd dat bovenstaande informatie een complete (relatief woord, niets is compleet maar het is een mooie basis voor e.e.a.) oplossing is
Super uitleg!!! Hier kom ik wel verder mee denk ik zo.


_/-\o_

Verwijderd

Verwijderd schreef op dinsdag 22 november 2005 @ 13:59:
[...]


Super uitleg!!! Hier kom ik wel verder mee denk ik zo.


_/-\o_
Succes :Y)
Pagina: 1