Toon posts:

[MySql] Tabel maken voor een enquete

Pagina: 1
Acties:

Verwijderd

Topicstarter
Momenteel ben ik bezig met een project waarbij een soort enquete formulier
ingevuld moet worden. Bij het maken van de tabellen in de database kom ik
wat problemen tegen.

Ik probeer een stijl advies voor mensen te creeren waar vervolgens meubels
aan gekoppeld moeten worden. Er moeten vragen toegevoegd kunnen worden aan
de enquete. Daarnaast moet het natuurlijk mogelijk zijn om nieuwe meubels
in de database te plaatsen die gekoppeld moeten worden aan het stijladvies.

Het probleem is dat er geen 'goed' antwoord is bij de enquete (dus geen quiz)
alle antwoorden zijn dus mogelijk en worden samen een profiel.

Voorbeeld vragen:
1- Welk materiaal spreekt u het meest aan?
1- hout 2- metaal 3- plastic

2- Welke kleur spreekt u het meest aan?
1- rood 2- blauw 3- groen 4- geel


Dit is de structuur die ik bedacht heb voor de tabel 'producten':
code:
1
2
3
4
5
6
7
8
9
+----+------+------+---------+--------------+
| id | vrg1 | vrg2 | product | omschrijving |
+----+------+------+---------+--------------+
|  1 |    1 |    3 |    bank | ...          |
+----+------+------+---------+--------------+
|  2 |    2 |    1 |   stoel | ...          |
+----+------+------+---------+--------------+
|  3 |    1 |    4 |    bank | ...          |
+----+------+------+---------+--------------+


op vrg[x] word dus geselecteerd bij het maken van de vragen.

Hier heb ik alleen 2 problemen:
1) Bij het toevoegen van een vraag moet er een complete kolom toegevoegd worden
2) Bij het toevoegen van een product moeten alle kollommen gevuld worden met eigenschappen.

Zijn er mensen die een goede oplossing weten voor dit probleem ?

[ Voor 3% gewijzigd door Verwijderd op 10-11-2004 12:01 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Zoek op Google eens naar het normaliseren van een database. Dan kom je er wel uit. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

Het lijkt mij het handigste om zo veel mogelijk los te koppelen om zo de uitbreidmogelijkheid zo groot mogelijk te houden. Hieronder even snel een idee-tje.

Ik ben van het volgende uit gegaan:
- Oneindig aantal vragen
- Oneindig aantal antwoorden
- Oneindig aantal stijlen
- Oneindig aantal meubels
- Elk meubel kan onder meerdere stijlen vallen

Per antwoord geen je in het veld 'stijl_ids' de IDs van de stijlen aan waar het antwoord op van toepassing is. Bij het verwerken split je op , en kun je voor elke stijl een punt bij die stijl optellen om zo aan het einde te kunnen zien welke stijl het meeste punten heeft.

Daarna selecteer je alle meubels die bij die stijl horen. Klaar. :)

Let op! Dit is zomaar even snel een idee-tje, er zullen vast betere oplossingen zijn. En misschien zitten hier ook zelfs nog wel wat kleine foutjes is. :Y)


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Vragen
-------------
vraag_id (PK)
vraag


Antwoorden
-------------
antw_id (PK)
vraag_id (FK)
antwoord
stijl_ids


VraagAntwoord
-------------
vraag_id (PK)
antw_id (PK)


Meubels
-------------
meubel_id (PK)
meubel_naam
meubel_omsch


Stijlen
-------------
stijle_id (PK)
stijle
stijle_omsch


MeubelStijl
-------------
meubel_id (PK)
style_id (PK)

[ Voor 5% gewijzigd door OkkE op 10-11-2004 12:24 ]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Verwijderd

Hier heb ik alleen 2 problemen:
1) Bij het toevoegen van een vraag moet er een complete kolom toegevoegd worden
2) Bij het toevoegen van een product moeten alle kollommen gevuld worden met eigenschappen.
1. kun je oplossen door normaliseren. Dan krijg je een serie rijen ipv een kolom en hoeft het database model niet meer aangepast te worden.

Maar je zal altijd alle kenmerken moeten invoeren bij een product als er een nieuw product wordt toegevoegd en alle producten van een kenmerk moeten voorzien als er een nieuw kenmerk komt. 2 is dan ook niet te vermijden. Wel is het zo dat je eigenschappen die het product niet bezit ook niet hoeft op te geven (mits je programma daar mee om kan gaan)

[ Voor 143% gewijzigd door Verwijderd op 10-11-2004 13:34 ]


Verwijderd

Topicstarter
mensen bedankt, ik ga hier vanavond eens mee aan de slag.