Lektion 1 von 9
Daten lesen: Redundanz und Anomalien erkennen
Du untersuchst eine Excel-Liste systematisch mit einem Spalten-Steckbrief, unterscheidest Redundanz von harmlosen Wiederholungen, belegst Einfüge-, Änderungs- und Löschanomalien mit Beispielen und findest Widersprüche mit einer SQL-Abfrage.
Worum es geht
Sandra Bühler führt in Aarau eine kleine Fahrschule mit zwei Fahrlehrpersonen und zwei Autos. Alle Fahrstunden stehen in einer Excel-Datei: pro Fahrstunde eine Zeile mit Datum, Name, Telefonnummer, Fahrlehrperson, Fahrzeug, Kennzeichen und Preis. Das funktioniert, bis es nicht mehr funktioniert. Lena Graf bekommt die SMS-Erinnerung für ihre Fahrstunde nicht, weil in einer Zeile eine alte Nummer steht. Eine Auswertung zeigt plötzlich drei Fahrzeuge, obwohl die Fahrschule nur zwei hat. Und als Sandra eine abgesagte Stunde löscht, ist auch die einzige Telefonnummer dieser Person weg.
Das sind keine Zufälle und auch keine Schlamperei. Solche Fehler entstehen, weil eine einzige Liste mehrere Dinge gleichzeitig beschreibt. In diesem Modul lernst du, solche Listen zu durchschauen und daraus ein sauberes Datenmodell zu entwerfen, aus dem später eine Datenbank entsteht. Der erste Schritt ist immer derselbe: Bevor du modellierst, liest du die Daten.
Das ist der Weg durch diesen Kurs. In dieser Lektion lernst du, eine Liste systematisch zu untersuchen, Redundanzen zu finden und die drei klassischen Anomalien zu erkennen. Am Schluss findest du Widersprüche mit einer einzigen Datenbankabfrage, statt 2000 Zeilen von Auge zu prüfen.
Eine Liste systematisch lesen
Hier ein Ausschnitt aus Sandras Datei. Die vollständige Liste hat 14 Zeilen, mit ihr arbeitest du später im Labor.
| Zeile | Datum | Schüler | Telefon | Fahrlehrer | Fahrzeug | Kennzeichen | Preis |
|---|---|---|---|---|---|---|---|
| 1 | 03.08.2026 | Lena Graf | 079 412 55 18 | Peter Hunziker | VW Golf | AG 123456 | 95.00 |
| 2 | 03.08.2026 | Jonas Weber | 078 233 10 92 | Andrea Zimmerli | Toyota Yaris | AG 98765 | 95.00 |
| 4 | 07.08.2026 | Lena Graf | 079 412 55 18 | Peter Hunziker | VW Golf | AG 123456 | 95.00 |
| 7 | 14.08.2026 | Lena Graf | 077 318 20 64 | Andrea Zimmerli | Toyota Yaris | AG 98765 | 95.00 |
| 10 | 21.08.2026 | Elias Frei | 079 902 61 33 | Peter Hunziker | VW Golf | AG 123465 | 95.00 |
| 11 | 24.08.2026 | Jonas Weber | 078 233 01 92 | Andrea Zimmerli | Toyota Yaris | AG 98765 | 95.00 |
Statt sofort Tabellen zu entwerfen, erstellst du zuerst einen Spalten-Steckbrief. Für jede Spalte beantwortest du vier Fragen:
- Was bedeutet die Spalte? Beschreibe sie in einem Satz, so wie die Fachperson sie versteht.
- Welche Werte kommen vor? Notiere zwei, drei typische Beispiele und alle Ausreisser.
- Wozu gehört die Information? Gehört die Telefonnummer zur Fahrstunde oder zur Person?
- Woher kommt der Wert? Wer trägt ihn wann ein, wird er abgetippt oder kopiert? Das nennt man die Datenquelle.
| Spalte | Bedeutung | Gehört zu | Auffälligkeit |
|---|---|---|---|
| Datum | Tag der Fahrstunde | Fahrstunde | einheitliches Format |
| Schüler | Vor- und Nachname | Person | zwei Angaben in einer Zelle |
| Telefon | Mobilnummer | Person | wiederholt sich, teils widersprüchlich |
| Fahrlehrer | Name der Lehrperson | Fahrlehrperson | wiederholt sich |
| Fahrzeug, Kennzeichen | Auto und Nummernschild | Fahrzeug | Tippfehler AG 123465 |
| Preis | verrechneter Betrag | Fahrstunde | bisher überall gleich |
Die Spalte "Gehört zu" ist der wichtigste Teil. Sie zeigt, dass die Liste vier Dinge vermischt: Fahrstunden, Fahrschülerinnen und Fahrschüler, Fahrlehrpersonen und Fahrzeuge. Aus dieser Vermischung entstehen alle Probleme dieser Lektion.
Redundanz: dieselbe Information mehrfach
Redundanz bedeutet, dass dieselbe Information mehrfach gespeichert ist. Lenas Telefonnummer steht in jeder ihrer Fahrstunden-Zeilen, in der ganzen Liste viermal. Die Information "Der VW Golf hat das Kennzeichen AG 123456" steht in jeder Zeile, in der jemand mit dem Golf fährt.
Nicht jede Wiederholung ist aber Redundanz. Das Datum 03.08.2026 steht zweimal, weil an diesem Tag zwei verschiedene Fahrstunden stattfanden. Das sind zwei verschiedene Fakten, die zufällig denselben Wert haben. Die Faustregel:
- Wiederholter Wert, verschiedene Fakten: keine Redundanz. Zwei Fahrstunden am selben Tag, zwei Stunden zum selben Preis, zwei Personen mit dem Vornamen Lena.
- Wiederholter Wert, derselbe Fakt: Redundanz. Lenas Nummer in jeder ihrer Zeilen, das Kennzeichen des Golfs in jeder Golf-Zeile.
Redundanz ist nicht in erster Linie Platzverschwendung. Das eigentliche Problem: Sobald dieselbe Information an mehreren Orten steht, können die Kopien voneinander abweichen. Genau das ist bei Lena passiert. Welche Nummer stimmt, 079 412 55 18 oder 077 318 20 64? Die Liste kann es dir nicht sagen. Einen solchen Widerspruch nennt man Inkonsistenz.
In Sandras Fahrstundenliste wiederholen sich viele Werte. Welche Wiederholung ist eine Redundanz im Sinne der Datenmodellierung?
Die drei Anomalien
Wenn eine Tabelle mehrere Dinge vermischt, führen ganz normale Arbeiten zu Fehlern. Diese Fehler heissen Anomalien. Man unterscheidet sie nach der Tätigkeit, bei der sie auftreten: Einfügen, Ändern oder Löschen.
| Anomalie | Was passiert | Beispiel aus der Fahrschule |
|---|---|---|
| Einfügeanomalie | Eine Information lässt sich nicht erfassen, ohne gleichzeitig etwas anderes zu erfassen, das es noch gar nicht gibt. | Sandra kauft einen dritten Wagen. Sie kann ihn erst eintragen, wenn jemand damit eine Fahrstunde hat. Auch eine Neuanmeldung ohne gebuchte Stunde hat keinen Platz. |
| Änderungsanomalie | Eine Änderung muss in vielen Zeilen gemacht werden. Wird eine Zeile vergessen, entsteht ein Widerspruch. | Lena hat eine neue Nummer. Sandra ändert sie in einer Zeile, die anderen drei bleiben alt. |
| Löschanomalie | Beim Löschen eines Datensatzes geht ungewollt eine andere Information verloren. | Eine Person sagt ihre einzige gebuchte Stunde ab. Sandra löscht die Zeile und damit auch Name und Telefonnummer. |
Achte darauf, Anomalien immer mit einem konkreten Beispiel aus den Daten zu belegen. "Es gibt Änderungsanomalien" ist eine Behauptung. "Lenas Nummer steht in vier Zeilen, in Zeile 7 steht eine andere" ist ein Nachweis.
Ordne jede Situation aus der Fahrschule dem passenden Begriff zu.
Mit einer Abfrage Widersprüche finden
Bei 14 Zeilen findest du Lenas zwei Nummern von Auge, bei 2300 Zeilen nicht mehr. Für eine systematische Prüfung eignet sich die Datenbanksprache SQL. Du lernst sie ausführlich in den Modulen 164 und 106, für die Analyse genügen wenige Bausteine.
Angenommen, Sandras Liste steht in einer Tabelle fahrstunden_liste. Diese Abfrage sucht Fahrzeuge, bei denen mehr als ein Kennzeichen vorkommt:
SELECT fahrzeug, COUNT(DISTINCT kennzeichen) AS anzahl_kennzeichen -- was angezeigt wird
FROM fahrstunden_liste -- aus welcher Tabelle
GROUP BY fahrzeug -- eine Gruppe pro Fahrzeug
HAVING COUNT(DISTINCT kennzeichen) > 1; -- nur Gruppen mit Widerspruchfahrzeug anzahl_kennzeichen
VW Golf 2So liest du die Abfrage:
GROUP BY fahrzeugfasst alle Zeilen mit demselben Fahrzeug zu einer Gruppe zusammen, ähnlich wie eine Pivot-Tabelle in Excel.COUNT(DISTINCT kennzeichen)zählt in jeder Gruppe die verschiedenen Kennzeichen. Sechsmal "AG 123456" ergibt 1, kommt einmal "AG 123465" dazu, ergibt es 2.HAVINGfiltert Gruppen. Es zeigt nur Fahrzeuge an, bei denen mehr als ein Kennzeichen vorkommt.AS anzahl_kennzeichengibt der berechneten Spalte einen lesbaren Namen.
Das Ergebnis: Beim VW Golf steht zweimal ein anderes Kennzeichen, weil in Zeile 10 ein Zahlendreher passiert ist. Darum zeigte Sandras Auswertung drei Fahrzeuge.
Jetzt du: Finde mit derselben Technik alle Personen, bei denen mehr als eine Telefonnummer vorkommt.
Labor: Widersprüche mit einer Abfrage finden
Die Tabelle fahrstunden_liste enthält Sandras Excel-Liste mit 14 Fahrstunden (Spalten zeile, datum, schueler, telefon, fahrlehrer, fahrzeug, kennzeichen, preis).
Eine Person hat eine Telefonnummer. Steht bei derselben Person mehr als eine Nummer in der Liste, ist das ein Widerspruch.
Auftrag: Schreibe eine Abfrage, die alle Personen zeigt, bei denen mehr als eine verschiedene Telefonnummer vorkommt.
- Spalten:
schuelerundanzahl_nummern(Anzahl verschiedener Nummern) - nur Personen mit mehr als einer Nummer
- sortiert nach
schueler
Orientiere dich an der Fahrzeug-Abfrage aus der Lektion.
Tabellen und Testdaten ansehen
PRAGMA foreign_keys = ON;
CREATE TABLE fahrstunden_liste (
zeile INTEGER PRIMARY KEY,
datum TEXT,
schueler TEXT,
telefon TEXT,
fahrlehrer TEXT,
fahrzeug TEXT,
kennzeichen TEXT,
preis REAL
);
INSERT INTO fahrstunden_liste VALUES
(1, '2026-08-03', 'Lena Graf', '079 412 55 18', 'Peter Hunziker', 'VW Golf', 'AG 123456', 95),
(2, '2026-08-03', 'Jonas Weber', '078 233 10 92', 'Andrea Zimmerli', 'Toyota Yaris', 'AG 98765', 95),
(3, '2026-08-05', 'Mia Steiner', '076 581 44 07', 'Peter Hunziker', 'VW Golf', 'AG 123456', 95),
(4, '2026-08-07', 'Lena Graf', '079 412 55 18', 'Peter Hunziker', 'VW Golf', 'AG 123456', 95),
(5, '2026-08-10', 'Elias Frei', '079 902 61 33', 'Andrea Zimmerli', 'Toyota Yaris', 'AG 98765', 95),
(6, '2026-08-12', 'Jonas Weber', '078 233 10 92', 'Andrea Zimmerli', 'Toyota Yaris', 'AG 98765', 95),
(7, '2026-08-14', 'Lena Graf', '077 318 20 64', 'Andrea Zimmerli', 'Toyota Yaris', 'AG 98765', 95),
(8, '2026-08-17', 'Nora Baumann', '079 640 72 15', 'Peter Hunziker', 'VW Golf', 'AG 123456', 95),
(9, '2026-08-19', 'Mia Steiner', '076 581 44 07', 'Peter Hunziker', 'VW Golf', 'AG 123456', 95),
(10, '2026-08-21', 'Elias Frei', '079 902 61 33', 'Peter Hunziker', 'VW Golf', 'AG 123465', 95),
(11, '2026-08-24', 'Jonas Weber', '078 233 01 92', 'Andrea Zimmerli', 'Toyota Yaris', 'AG 98765', 95),
(12, '2026-08-26', 'Nora Baumann', '079 640 72 15', 'Andrea Zimmerli', 'Toyota Yaris', 'AG 98765', 95),
(13, '2026-08-28', 'Lena Graf', '079 412 55 18', 'Peter Hunziker', 'VW Golf', 'AG 123456', 95),
(14, '2026-08-31', 'Mia Steiner', '076 581 44 07', 'Andrea Zimmerli', 'Toyota Yaris', 'AG 98765', 95);Schritt für Schritt: Analyse der Fahrstundenliste
Sandra möchte wissen, ob sich eine Datenbank lohnt. Du lieferst ihr eine kurze, belegte Analyse. So gehst du vor:
Schritt 1: Spalten-Steckbrief erstellen. Ergebnis siehe oben: 8 Spalten, die vier verschiedene Dinge beschreiben (Fahrstunde, Person, Fahrlehrperson, Fahrzeug).
Schritt 2: Wiederholungen zählen. Die Liste hat 14 Zeilen, aber nur 5 verschiedene Personen, 2 Fahrlehrpersonen und 2 Fahrzeuge. Zwischenergebnis:
| Information | gespeichert | nötig | überflüssig |
|---|---|---|---|
| Telefonnummer einer Person | 14-mal | 5-mal | 9-mal |
| Name einer Fahrlehrperson | 14-mal | 2-mal | 12-mal |
| Kennzeichen eines Fahrzeugs | 14-mal | 2-mal | 12-mal |
Schritt 3: Widersprüche suchen. Mit den Gruppierungsabfragen findest du drei Inkonsistenzen: Lena Graf hat zwei verschiedene Nummern, bei Jonas Weber gibt es einen Zahlendreher (10 92 und 01 92), und der VW Golf hat einmal das Kennzeichen AG 123465.
Schritt 4: Anomalien mit Beispielen belegen. Für jede Anomalie notierst du einen konkreten Fall aus der Liste, wie in der Tabelle oben: neues Fahrzeug ohne Fahrstunde (Einfügen), Lenas neue Nummer (Ändern), Absage der einzigen Stunde (Löschen).
Schritt 5: Folgen für den Betrieb abschätzen. Jetzt übersetzt du die Technik in die Sprache des Betriebs:
- Erinnerungen gehen an falsche Nummern. Wer nicht erscheint, verpasst eine Stunde, und die Fahrlehrperson wartet umsonst.
- Auswertungen sind falsch: drei statt zwei Fahrzeuge, Stunden pro Auto stimmen nicht.
- Neue Kundinnen und Kunden können erst nach der ersten Buchung erfasst werden. Interessierte, die anrufen, gehen verloren.
- Jede Korrektur kostet Zeit, weil sie in vielen Zeilen nötig ist.
Schritt 6: Regeln vorschlagen. Kurzfristig, noch in Excel: Telefonnummern nur in einem eigenen Blatt "Personen" pflegen, Kennzeichen über eine Auswahlliste statt als Freitext eingeben. Langfristig: jede Sache in eine eigene Tabelle, verknüpft über Nummern. Wie das geht, lernst du in den nächsten Lektionen.
Ein Getränkehandel hat eine Bestellliste mit 240 Zeilen. Die Bestellungen stammen von 32 verschiedenen Kunden, und in jeder Zeile steht die vollständige Kundenadresse. In einem sauberen Modell steht jede Adresse genau einmal. Wie viele Adresseinträge in der Liste sind überflüssig (redundant)?
Typische Fehler
- Jede Wiederholung für Redundanz halten. Dass das Datum oder der Preis 95.00 mehrfach vorkommt, ist kein Problem, denn jede Zeile ist eine eigene Fahrstunde. Frage immer: Ist es derselbe Fakt oder nur derselbe Wert?
- Anomalien nur abstrakt nennen. Im Kompetenznachweis bekommst du für "Es gibt eine Löschanomalie" kaum Punkte. Belege jede Anomalie mit einer konkreten Zeile oder Person aus der Liste.
- Einfüge- und Löschanomalie verwechseln. Merkhilfe: Bei der Einfügeanomalie fehlt etwas, damit du eintragen kannst. Bei der Löschanomalie verschwindet etwas, das du behalten wolltest.
- Fehler sofort im Original korrigieren. Wer Lenas Nummer einfach vereinheitlicht, hat womöglich die falsche gewählt und keine Belege mehr. Dokumentiere Widersprüche und kläre mit der Fachseite, welcher Wert stimmt.
Welche Aussagen über Sandras Fahrstundenliste treffen zu? Wähle alle richtigen.
Wähle alle zutreffenden Antworten.
Zusammenfassung
- Bevor du modellierst, liest du die Daten: Spalten-Steckbrief mit Bedeutung, Beispielwerten, Zugehörigkeit und Datenquelle.
- Redundanz heisst: derselbe Fakt steht mehrfach. Gleiche Werte für verschiedene Fakten sind keine Redundanz.
- Redundanz führt zu Inkonsistenzen, also zu Kopien, die sich widersprechen.
- Die drei Anomalien heissen Einfüge-, Änderungs- und Löschanomalie. Sie haben dieselbe Ursache: Eine Tabelle beschreibt mehrere Dinge.
- Belege jede Anomalie mit einem konkreten Beispiel aus den Daten und schätze die Folgen für den Betrieb ab.
- Mit
GROUP BY,COUNT(DISTINCT ...)undHAVINGfindest du Widersprüche auch in sehr langen Listen.
Mit deiner eigenen KI vertiefen
Kopiere einen Prompt in Claude, ChatGPT oder Claude Code. Er macht die KI zur Lernbegleitung statt zum Lösungsautomaten.
Sokratischer Anomalie-Detektiv Chat-KI
Du übst, Redundanzen und Anomalien selbst zu finden. Die KI stellt Fragen und gibt Hinweise, statt dir die Mängel aufzuzählen.