Periodengruppe
Periodengruppe (oder auch „Wiederholgruppe“) ist ein Begriff aus der Datenbanktheorie. Er bezeichnet Gruppen von Datenbankfeldern, die in einem Datensatz mehrfach auftreten. Dabei ist die Reihenfolge der Gruppen im Datensatz von Bedeutung.
Beispiel
BearbeitenEine neue Datenbanktabelle soll Datensätze für die einzelnen Mitarbeiter enthalten. Für jeden Mitarbeiter sind dort auch Informationen zu seinem beruflichen Werdegang zu speichern. Dafür vorgesehen sind die Felder „Anfangsdatum“, „Enddatum“, „Position“, „Abteilung“. Diese vier Felder werden zu einer (Daten-)Gruppe „Beschäftigung“ zusammengefasst.
Da ein Mitarbeiter im Laufe der Zeit verschiedene Positionen innehaben kann, ist es für die Erfassung seines Werdegangs erforderlich, dass eine zunächst unbestimmte Anzahl an Datengruppen „Beschäftigung“ gespeichert werden kann. Diese Aufgabe wird beim Einsatz von Periodengruppen dadurch gelöst, dass die Gruppe „Beschäftigung“ in einem Datensatz beliebig oft vorkommen darf. Auf die einzelnen Ausprägungen der Gruppe wird dabei lesend wie schreibend durch Angabe eines Index zugegriffen.
Vor- und Nachteile
BearbeitenDie Benutzung von Periodengruppen widerspricht der ersten Normalform der relationalen Theorie und wird daher von relationalen Datenbankmanagementsystemen nicht unterstützt. In ihnen müssen zur Aufnahme von Informationen, die mehrfach vorkommen können, zusätzliche Tabellen angelegt werden.
Der Vorteil von Datenbanken, die Periodengruppen unterstützen (z. B. Adabas), liegt darin, dass sämtliche Informationen zu einem Objekt in einem einzigen Datensatz abgelegt werden können. Das kann erhebliche Performanzvorteile gegenüber Systemen mit sich bringen, bei denen die Informationen über viele Tabellen verstreut gespeichert sind.
Eine Periodengruppe ist somit eine logische Tabelle, welche in einer physischen Tabelle abgebildet wird. Sichert man die physische Tabelle, wird automatisch die logische Tabelle mitgesichert. Wird die physische restored, ist diese zwangsläufig mit der logischen Tabelle konsistent.
Nachteil: Auf der logischen Tabelle können keine INSERT/DELETE-Operationen ausgeführt werden, sondern das Einfügen und Löschen wird durch UPDATE-Kommandos auf der physischen Tabelle erzielt, was ein wenig virtuelles Denken voraussetzt. Im Weiteren ist die Anzahl der Tabellenelemente nicht unbeschränkt, beim heutigen Adabas können 191 Wiederholungen abgebildet werden.
Eine bekannte Analogie vergleicht relationale Datenbanksysteme mit einem Auto, bei dem zunächst Räder und Sitze ausgebaut werden müssen (weil sie mehrfach vorkommen), bevor es in der Garage geparkt werden kann, und später wieder eingebaut werden müssen, bevor man damit losfahren kann.