Wow...dafür dass das, wenn ich die in deiner Erklärung vorkommenden Begriffe "lk1" und "lk2" richtig interpretiere, eine Abiturienten-Datenbank werden soll, gehst du die Sache ganz schön gründlich an....ein bisschen zu gründlich, würd ich sagen.
Welchen Sinn soll es haben, für jede Eigenschaft einer Person eine eigene Tabelle anzulegen, wenn keine davon mehr speichert als einzigen Wert?
Okay, du sparst vielleicht ein paar Bytes an Speicherplatz ein, wenn es im Jahrgang 10 Leute gibt, die "Matthias" heißen, und der String "Matthias" so nur 1x statt 10x gespeichert werden muss.
Aber auch nur auf den ersten Blick. Für mich sieht das nach ner Milchmädchenrechnung aus: Wahrscheinlich benötigen die zusätzlichen Tabellendefinitionen mehr Speicherplatz, als du damit bei ein paar hundert gespeicherten Personen einsparst.
Und selbst bei einer Million Datensätzen hättest du bestenfalls ein paar hundert Kilobyte rausgeholt.
Ich bezweifel sehr, dass das den zusätzlichen Implementierungsaufwand und den Performanceverlust durch das bei jedem Lesevorgang erforderliche "Zusammensuchen" der Daten aus den verschiedenen Tabellen (wenngleich der natürlich genauso unter die Kategorie "praktisch nicht wahrnehmbar" fällt) wert ist.
Fazit: Bleib einfach bei einer Tabelle. Damit würde das Hinzufügen einer neuen Person exakt einen Query kosten - das wären dann so wenige wie möglich.


LinkBack URL
About LinkBacks
)
Zitieren
.
Es ist nichtmal für einen Jahrgang ... es ist nur für einen Kurs