Jedes Mal, wenn du dich bei Instagram einloggst, einen Song auf Spotify suchst oder wir in der Schule eure Noten eintragen, arbeitet im Hintergrund eine Datenbank. Doch was ist das genau und warum reicht dafür nicht einfach ein großes Excel-Dokument?
Oft sagen wir einfach "Datenbank", meinen aber eigentlich zwei verschiedene Dinge:
Wenn wir Daten einfach in einer einzigen, riesigen Tabelle ("flache Tabelle") speichern, wie man es oft in Excel macht, bekommen wir schnell Probleme. Diese Probleme nennt man in der Informatik Anomalien. Das häufigste Problem ist die Redundanz.
Redundanz bedeutet, dass dieselbe Information unnötigerweise mehrfach gespeichert wird. Das verschwendet nicht nur Speicherplatz, sondern führt fast immer zu Fehlern: Wenn sich ein Datum ändert, muss man es an zig Stellen gleichzeitig ändern. Vergisst man eine Stelle, widersprechen sich die Daten plötzlich. Das nennt man Dateninkonsistenz.
Hier ist die Ausleihliste unserer Schulbibliothek. Szenario: Die Schülerin Laura Huber ist umgezogen. Ihre neue Adresse lautet "Hauptplatz 1".
Dein Auftrag: Ändere ihre Adresse in der Tabelle und klicke auf Speichern.
| Schüler_Name | Adresse | Ausgeliehenes_Buch |
|---|---|---|
| Laura Huber | Mathematik verstehen 5 | |
| Felix Maier | Dorfstraße 12 | Informatik Basics |
| Laura Huber | Python für Anfänger | |
| Laura Huber | Englisch Vokabeln |
Um Redundanz zu vermeiden, zerlegen wir die große Tabelle in mehrere kleine, logische Tabellen (z. B. eine Tabelle nur für Schüler und eine nur für Bücher). Diese Tabellen nennt man Relationen. Damit wir später noch wissen, welcher Schüler welches Buch hat, müssen wir die Tabellen verknüpfen. Dafür brauchen wir sogenannte Schlüssel.
Jede Zeile (wir nennen sie Datensatz) in einer Tabelle muss absolut eindeutig erkennbar sein. Dafür definieren wir eine Spalte als Primärschlüssel. Ein Primärschlüssel darf niemals leer sein und sein Wert darf in der Tabelle nur ein einziges Mal vorkommen.
Wir erstellen eine Tabelle für unsere Klasse. Welches der folgenden Attribute (Spalten) eignet sich am besten als Primärschlüssel, um jeden Schüler jederzeit eindeutig zu identifizieren?