Warum Datenbanken?
Ein Musikfestival muss viel verwalten: welche Band wann auf welcher Bühne spielt, wer in welcher Band Bass spielt, wer ein Ticket gekauft hat. Das Organisationsteam der Klangwiese hat damit angefangen, wie fast alle anfangen – mit einer einzigen großen Tabelle.
Eine Tabelle für alles
So sah der Spielplan im ersten Jahr aus:
| band | herkunftsland | genres | buehne | buehnen_kapazitaet | datum | beginn | dauer_min |
|---|---|---|---|---|---|---|---|
| Elster | Deutschland | Indie | Hauptbuehne | 8000 | 2026-07-16 | 18:00 | 60 |
| Zwoelf Grad | Deutschland | Indie, Elektro | Hauptbuehne | 8000 | 2026-07-16 | 20:00 | 75 |
| Nordlicht | Deutschland | Indie, Rock | Hauptbuehne | 8000 | 2026-07-16 | 22:00 | 90 |
| Papierflieger | Deutschland | Indie, Folk | Waldbuehne | 2500 | 2026-07-16 | 17:30 | 45 |
| … |
Das lässt sich lesen, sortieren und ausdrucken. Und es geht trotzdem schief.
Sieh dir die vollständige Tabelle an. Beantworte auf Papier:
a) Wie oft steht in dieser Tabelle, dass Elster aus Deutschland kommt?
b) Die Waldbühne wird umgebaut und fasst künftig 3000 Menschen. Wie viele Zellen musst du ändern?
c) Eine neue Band wird für das nächste Jahr verpflichtet, hat aber noch keinen Auftrittstermin. Wo trägst du sie ein?
d) Der Auftritt von Kaltfront fällt aus und die Zeile wird gelöscht. Welche Information geht dabei nebenbei verloren?
Auflösung
a) Dreimal – Elster hat drei Auftritte, und in jeder Zeile steht das Herkunftsland erneut.
b) In allen 13 Zeilen, die die Waldbühne betreffen. Vergisst du eine, steht in der Tabelle zweimal etwas Verschiedenes über dieselbe Bühne.
c) Gar nicht. Ohne Auftritt gibt es keine Zeile – und ohne Zeile keinen Platz für die Band.
d) Dass es die Band Kaltfront überhaupt gibt und dass sie aus Norwegen kommt. Diese Information hing nur an dieser einen Zeile.
Die drei Anomalien
Was du gerade gefunden hast, hat Namen. Die Ursache ist immer dieselbe: Redundanz.
Redundanz liegt vor, wenn dieselbe Information mehrfach gespeichert ist. Redundanz ist nicht nur Platzverschwendung, sondern die Quelle von drei typischen Problemen:
| Anomalie | Was passiert |
|---|---|
| Änderungsanomalie | Eine Information ändert sich, aber nicht alle Kopien werden angepasst. Die Datenbank widerspricht sich selbst. |
| Einfügeanomalie | Eine Information lässt sich nicht speichern, weil andere Angaben fehlen, die die Zeile verlangt. |
| Löschanomalie | Beim Löschen einer Zeile geht nebenbei eine Information verloren, die man behalten wollte. |
Ordne deine vier Antworten von eben den drei Anomalien zu. Eine der Antworten beschreibt keine Anomalie, sondern nur ihre Ursache – welche?
Auflösung
- b) → Änderungsanomalie
- c) → Einfügeanomalie
- d) → Löschanomalie
- a) beschreibt keine Anomalie, sondern die Redundanz selbst. Sie ist die Ursache der anderen drei.
Was ein Datenbanksystem anders macht
Ein Datenbanksystem ist ein Programm, das Daten verwaltet und dabei mehr leistet als eine Datei:
| Eigenschaft | Was das bedeutet |
|---|---|
| Trennung von Daten und Programm | Die Daten liegen einmal zentral. Verschiedene Programme greifen darauf zu, ohne dass jedes sein eigenes Format braucht. |
| Mehrbenutzerbetrieb | Viele Menschen arbeiten gleichzeitig mit denselben Daten, ohne sich gegenseitig zu überschreiben. |
| Integritätsbedingungen | Das System selbst wacht darüber, dass keine widersprüchlichen Daten entstehen – zum Beispiel kein Auftritt einer Band, die es nicht gibt. |
| Abfragesprache | Man beschreibt, was man wissen will, nicht wie der Rechner es findet. |
| Datenschutz und Rechte | Nicht jede Person darf alles sehen. |
Die Sprache, mit der man mit einem relationalen Datenbanksystem redet, heißt SQL. Ein Vorgeschmack:
Führe die Abfrage aus.
a) Wie viele Auftritte gab es am 18. Juli?
b) Ändere das Datum auf den 16. Juli. Wie viele sind es dort?
c) Beschreibe in einem Satz, was die drei Zeilen der Abfrage jeweils tun.
Tipp: Wo steht die Anzahl?
Über der Ergebnistabelle steht eine Angabe wie 1-13/13. Die letzte Zahl ist die Anzahl der Zeilen im Ergebnis.
Und jetzt?
Die Tabelle auftrittsliste ist ein schlechtes Beispiel – absichtlich. In Kapitel 6 wirst du sie systematisch zerlegen, bis alle Anomalien verschwunden sind. Vorher lernst du, wie eine ordentlich gebaute Datenbank aussieht und wie man sie abfragt.