Voor het ontwerpen van een database bestaan regels. Wat ik altijd lastig vind, is hoe strak die regels te hanteren.
Ik heb in PHP een class gemaakt waarmee je SQL-databasetabellen kunt beheren. Deze class vereist dat ieder item in een willekeurige tabel, een unieke ID heeft. Bijvoorbeeld:
Auto's:
Het 'probleem' doet zich voor (tenminste, mijn vraag is dus of het een echt probleem is), wanneer een andere tabel een uitbreiding is van een eerdere tabel. Neem bijvoorbeeld de tabel 'Franse auto's'. Deze moet terugverwijzen naar de tabel auto's:
Franse auto's:
Nu is het vanwege een functie in mijn PHP-class nodig dat ID=autoId in deze tabel. Vanwege de opbouw van de class, mag ik echter niet een van beide kolommen laten vervallen. Je krijgt dus:
Franse auto's:
Mijn vraag: hoe erg is dit? Natuurlijk: ik heb nu dubbele data in mijn database staan (ID=autoId). Ik moet mijn algemene PHP-class - die in de overige 99% van de gevallen wel prima werkt - wel heel erg ombouwen om een van beide kolommen te laten vervallen. Hoe strikt moet je zijn?
Ik heb in PHP een class gemaakt waarmee je SQL-databasetabellen kunt beheren. Deze class vereist dat ieder item in een willekeurige tabel, een unieke ID heeft. Bijvoorbeeld:
Auto's:
code:
1
| [ID][naam][kleur] |
Het 'probleem' doet zich voor (tenminste, mijn vraag is dus of het een echt probleem is), wanneer een andere tabel een uitbreiding is van een eerdere tabel. Neem bijvoorbeeld de tabel 'Franse auto's'. Deze moet terugverwijzen naar de tabel auto's:
Franse auto's:
code:
1
| [ID][autoId][eigenschap] |
Nu is het vanwege een functie in mijn PHP-class nodig dat ID=autoId in deze tabel. Vanwege de opbouw van de class, mag ik echter niet een van beide kolommen laten vervallen. Je krijgt dus:
Franse auto's:
code:
1
2
3
4
5
6
7
8
9
| +-----+--------+------------+ | ID | autoId | eigenschap | +-----+--------+------------+ | 1 | 1 | blue | +-----+--------+------------+ | 24 | 24 | blanc | +- ---+--------+------------+ | 144 | 144 | rouge | +-----+--------+------------+ |
Mijn vraag: hoe erg is dit? Natuurlijk: ik heb nu dubbele data in mijn database staan (ID=autoId). Ik moet mijn algemene PHP-class - die in de overige 99% van de gevallen wel prima werkt - wel heel erg ombouwen om een van beide kolommen te laten vervallen. Hoe strikt moet je zijn?