Tabelstructuur
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
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
Gesponsorde koppelingen:
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
Ik zou het zo doen:
id naam jaar
1 Naam 2002
2 Naam 2003
3 Naam 2005
4 Naam 2006
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
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
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
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
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!
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:
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.@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!
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!
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
Sorry frank spijt me vergeef me! Zal het nooit meer doen!
ik zou beter moeten weten:(
GR. mebus:p
Gewijzigd op 01/01/1970 01:00:00 door mebus vg



