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?
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.
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).
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.