Sven Rautenberg: Daten in DB oder doch lieber in eine Datei?

Beitrag lesen

Moin!

sowohl zum thema "richtige normalisierung" als auch "vielleicht aber auch doch alle kategorien in eine spalte" sagte ich doch bereits etwas - leider bist du darauf in der antwort überhaupt nicht eingegangen.

da mich diesbezüglich bisher aber noch keiner der mitlesenden korrigiert hat, darfst du nach wie vor davon ausgehen, dass das ein ganz vernünftiger vorschlag ist ;-)

Korrekt. Nur mit der dort dargestellten Methode kann man eine freie n:m-Zuordnung realisieren. Würde direkt in der Eintragstabelle ein oder mehrere Felder für eine Kategorie-ID enthalten sein, wäre das jeweils (ggf. mehrfach) nur eine 1:m-Zuordnung.

Was sich für gewitzte Menschen eventuell auch anbietet, ist der Feldtypen SET (ich halte ihn aber für viel zu eingeschränkt für das Vorhaben). Ein SET erhält bei der Tabellendefinition die Namen der Kategorien und gibt in einer Spalte jeweils eine kommaseparierte Liste der gesetzten Kategorien aus. Ist also im Vergleich zu einem JOIN, welcher den gleichen Datensatz mehrfach ausgibt für jede Kategorie, irgendwie handlicher.

Zwei Dinge stören aber:
1. Die Kategorienamen müssen beim Anlegen der Tabelle benannt werden, nachträgliche Änderungen sind zwar möglich, greifen aber über den Befehl ALTER in die Tabellenstruktur ein - sowas ist mit Hinblick auf eventuelle Rechteeinschränkungen, die man dem DB-Account auferlegen will, extrem hinderlich ist.
2. Die maximale Zahl der Kategorien ist begrenzt. Zwar sind je nach DB üblicherweise 64 Kategorien möglich, aber mehr geht definitiv nicht. Kategorien sind aber vom Wesen her nicht geeignet, zahlenmäßig begrenzt zu werden.

  • Sven Rautenberg