Ik ben bezig met het bijhouden van de jaartallen waain iemand heeft meegedaan aan kindervakantiewerk.
Nou had ik het volgende idee voor de tabelstructuur:

id | 2002 | 2003 | 2004 | 2005 | 2006

1 | 1 | 0 | 0 | 1 | 1

Hierin is id het unieke nummer wat gekoppeld word aan het profielnummer. En een 1 staat voor meegedaan en een 0 voor niet.

Is dit de beste manier om dit aan te pakken? of heeft iemand een ander idee?

Alvast bedankt
Jeroen
Hoe houd je nu bij wie heeft meegedaan?

Ik zou het zo doen:

id naam jaar
1 Naam 2002
2 Naam 2003
3 Naam 2005
4 Naam 2006
nee is een slechte manier. als er nog een jaar bij komt moet je je hele structuur aanpassen je kunt beter doen

id | id_persoon|jaar

en dan gewoon elke id persoon meerdere keren voor laten komen
Andere manier:

tabel met mensen

tabel met jaartallen

tabel met links tussen mensen-id en jaartallen-id.

Die aanpak zou ik doen voor alle eigenschappen van mensen. Maar een jaartal is vrij klein, dus in theorie zou je die ook wel direct aan de mensen kunnen verbinden, al is dat officieel gezien minder goed genormaliseerd.

tabel users

tabel jaartallen:
- recordId
- jaartal
- userId
Ja, dat is inderdaad een goede optie. Zo kan ik ook makkelijker tellen hoeveel jaar iemand totaal meegedaan heeft. Bedankt
Ik zou gaan voor de optie van Jelmer. Doe het nou gewoon meteen goed. Op het werk hebben wij een softwarepakket van 10 jaar oud. Niemand had klaarblijkelijk gedacht dat het ooit zover zo komen. De DB is gewoon niet genormaliseerd. Op zich gaat het nog goed qua datacorruptie maar ik weet wel zeker dat een betere db vele malen minder scripten kost. (Alleen de queries zijn een drama).

Maar je moet het zelf weten

Klaasjan
@jeroen

of elke keer dat er een nieuwe jaar bij moet komen doe je dit:

ALTER TABLE tabel ADD 2007 int(1) NOT NULL;

GR. mebus!
mebus schreef op 05.09.2006 19:49
@jeroen

of elke keer dat er een nieuwe jaar bij moet komen doe je dit:

ALTER TABLE tabel ADD 2007 int(1) NOT NULL;

GR. mebus!
Sorry dat ik het zeg, maar hoe kun je in vredesnaam zo'n slecht advies geven? Zeker nadat al meerdere personen hebben aangegeven hoe de database eenvoudig kunt normaliseren waardoor je een beter datamodel krijgt.

Schaam je! En dat meen ik serieus... Helaas.
Cry Cry '_'

Sorry frank spijt me vergeef me! Zal het nooit meer doen!

ik zou beter moeten weten:(

GR. mebus:p

Reageren