Und morgen möchte Dein Chef wissen, wie viele Meter Kabel in der letzten Woche an die Techniker rausgegeben wurden.
Bei dem System mit der Parameterliste musst Du alle Warenausgaben lesen, parsen, prüfen, ob "Kabel" drin vorkommt und die Menge aufsummieren. Das bekommst Du nicht performant hin. Und je mehr Daten Du hast, desto länger wird das dauern. Und übermorgen möchte er die Kabelmenge für das komplette Geschäftsjahr wissen, damit er mit seinen Lieferanten bessere Preise verhandeln kann. Wie lange würde es bei dem System dauern, bis alle aufsummiert ist??
Bei dem System mit der Untertabelle reicht ein SELECT SUM(MENGE) FROM TECHNIKER_WAREN WHERE WARE = 'KABEL' AND DATUM = (TODAY - 1);. Fertig.
Das Argument, dass Du nicht zu viele Datensätze schreiben willst, zieht bei heutigen Datenbanksystemen nicht mehr. Du handelst Dir damit nur Ärger ein. Irgendwann fällt Dir das auf die Füße. Und große Datenmengen sind für heutigen Datenbanksysteme kein Problem. Wenn die DB richtig designed ist.
_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)