Datenbanken & SQL
SQL sieht nach Programmieren aus, ist aber näher an einem gut formulierten Satz: Du sagst der Datenbank, was du wissen willst – nicht, wie sie es holen soll. Fünf Wörter reichen für den Anfang.
🚀 Noch nie SQL gemacht? Dann hier entlang.
Du brauchst kein Vorwissen und musst am Anfang nichts tippen. Zwei Wege führen rein – nimm den, der dir mehr liegt:
Abfragen aus fertigen Bausteinen zusammentippen – ohne eine Zeile zu schreiben. Drei Stufen, ab Stufe 2 mit Ablenkern.
Die Abfrage steht fast fertig da – du ergänzt die fehlenden Schlüsselwörter und siehst sofort das Ergebnis.
Abfrage lesen, Ergebnis vorhersagen. Die falschen Antworten sind echte Ergebnisse ähnlicher Abfragen – da fallen Denkfehler auf.
Jetzt selbst schreiben. Drei Stufen, gestufte Tipps und Aufgaben aus echten Übungsblättern und Prüfungen.
Drei Beispieldatenbanken, keine Aufgaben, keine Bewertung – einfach ausprobieren, was passiert. Kaputtgehen kann nichts.
Zehn Kapitel, zehn Kollegen mit echten Fragen. Jede gelöste Abfrage bringt die Woche voran – vom ersten SELECT bis zum JOIN.
Fachbegriff und Definition paaren – von Primärschlüssel bis Normalisierung.
Aufgabe lesen, passenden SQL-Befehl tippen – gegen die Uhr, mit Serienbonus.
Aussagen zu Schlüsseln, Beziehungen und Normalformen einordnen – direkt aus alten Prüfungen.
DB, DBMS und DBS, Aufbau einer Relation, Primär- und Fremdschlüssel, Datenkonsistenz und Redundanzfreiheit.
Entitätstyp, Attribut und Beziehung im Chen-Modell, dazu 1:1-, 1:n- und m:n-Beziehungen erkennen.
Eine unnormalisierte Auftragstabelle Schritt für Schritt in die 1., 2. und 3. Normalform bringen – danach selbst diagnostizieren.
Alle Befehle, Klauseln, Operatoren und Datentypen zum Nachschlagen – wenn du bei einer Übung nicht weiterkommst.
Datenbank, DBMS, DBS
Datenbank (DB) – die Menge der zu verwaltenden Daten.
Datenbankmanagementsystem (DBMS) – die Software, mit der die Inhalte einer DB verwaltet werden (z. B. MySQL).
Datenbanksystem (DBS) – das Softwaresystem aus DB und DBMS zusammen.
Drei Arten von Datenbanken
Nicht jede Datenbank speichert ihre Daten gleich:
Aufbau einer Relation (Tabelle)
Jede Tabelle – auch Relation genannt – hat einen festen Aufbau. Am Beispiel einer Klassenliste:
Primärschlüssel
„Ein Attribut, das einen Datensatz eindeutig kennzeichnet.” Primärschlüssel werden meist durch Unterstreichung gekennzeichnet, z. B. Lehrer_ID. Reicht kein einzelnes Attribut aus, bildet man einen zusammengesetzten Primärschlüssel aus mehreren Attributen (z. B. Name + Vorname).
Fremdschlüssel
In verknüpften Tabellen hat jede Tabelle ihren eigenen Primärschlüssel. Taucht der Primärschlüssel einer Tabelle in einer anderen Tabelle wieder auf, heißt er dort Fremdschlüssel – über ihn wird die Beziehung zwischen den Tabellen hergestellt.
Die zwei Hauptanforderungen
Datenkonsistenz – jeder Datensatz muss eindeutig identifizierbar sein. Das gelingt, indem der Primärschlüssel nur einmal vergeben und auch nach dem Löschen eines Datensatzes nicht neu vergeben wird.
Redundanzfreiheit – eine Datenbank, in der alle Daten nur ein einziges Mal erfasst und gespeichert werden, ist redundanzfrei.
Um beides zu erreichen, verteilt man die Datensätze auf mehrere Tabellen. Diesen Vorgang nennt man Normalisierung – dazu gibt es ein eigenes Modul.
Wo dir das im Berufsalltag begegnet
Kunden- und Auftragsdaten einer Druckerei, Web-to-Print-Bestellsysteme oder ein Preflight-Protokoll – überall stecken relationale Datenbanken dahinter. Bei einer dynamischen Webseite läuft es so: Der Webbrowser schickt eine Anfrage an den Webserver, der ein Programm (z. B. in PHP) ausführt. Dieses stellt per SQL-Abfrage Daten aus der Datenbank zusammen und baut daraus die HTML-Seite, die an den Browser zurückgeschickt wird. Genau diese Abfragesprache SQL lernst du in den nächsten Modulen.
Wozu ein Entity-Relationship-Modell?
Bevor eine Datenbank gebaut wird, hält man die Situation in einem ER-Modell fest. Drei Formen genügen: das Rechteck steht für einen Entitätstyp – ein Objekt, dem Informationen zugeordnet werden können, z. B. Produkte, Kunden oder Aufträge. Die Ellipse steht für ein Attribut (eine Eigenschaft des Entitätstyps). Die Raute steht für eine Beziehung zwischen zwei Entitätstypen, z. B. „Kunde erteilt Auftrag”.
Die drei Beziehungsarten
1:1-Beziehung – wenn zwischen zwei Entitätstypen ein eindeutiger Zusammenhang besteht (Schulleiter – leitet – Schule).
1:n-Beziehung – liegt vor, wenn einer der Entitätstypen mit mehreren Entitäten des zweiten Typs verbunden sein kann (Klasse – hat – Schüler).
m:n-Beziehung – wenn es mehrere Verbindungen in beide Richtungen gibt (Lehrer – unterrichtet – Schüler: ein Lehrer unterrichtet mehrere Schüler, ein Schüler wird von mehreren Lehrern unterrichtet).
m:n-Beziehungen sind in relationalen Datenbanken unzulässig und müssen durch eine zusätzliche Verknüpfungstabelle aufgelöst werden.
Beispiel: „Ein Kunde kann mehrere Artikel bestellen, und ein Artikel kann von mehreren Kunden bestellt werden.” Mit einer Verknüpfungstabelle (z. B. „Bestellposition”) lassen sich daraus zwei 1:n-Beziehungen machen.
Welche Beziehung ist das?
Zehn Situationen aus Prüfungen und Übungen – ordne jeweils 1:1, 1:n oder m:n zu.
Das Beispiel: eine Auftragstabelle
Eine kleine Werbeagentur trägt jeden Auftrag in eine einzige Tabelle ein. Klingt einfach – bringt aber genau die Probleme mit sich, die die Normalisierung lösen soll. Klicke dich Schritt für Schritt durch 1., 2. und 3. Normalform.
🔎 Normalform-Diagnose
In der Prüfung musst du nicht nur erklären, sondern entscheiden: Du bekommst eine Tabelle und sollst sagen, welche Normalform verletzt ist – oder ob schon alles in Ordnung ist. Zehn Tabellen aus Übungen und Prüfungen.
Struktur der Datenbank verändern
Diese Befehle legen Datenbanken, Tabellen und Spalten an oder ändern sie.
Daten verändern
mit Spaltenliste
VALUES (1024,'Müller','Heinz');
ohne Spaltenliste
VALUES (1024,'Müller','Heinz','1988-08-14',
'Hüttenweg 6','64536','Oberdorf');
Vorsicht: DELETE FROM ohne WHERE löscht alle Zeilen der Tabelle – nicht nur eine!
Daten abfragen: SELECT
Der Grundbaustein für alles, was du in der SQL-Konsole ausprobierst:
SELECT * FROM Leihräder;
SELECT Name, RahmenNr FROM Leihräder WHERE Tagesmietpreis = 19.60;
Häufiger Fehler: In SQL ist das Dezimaltrennzeichen immer der Punkt, nie das Komma. = 19.60 ist richtig, = 19,60 führt zu einem Fehler – das Komma trennt in SQL nur Spalten und Werte voneinander. Texte stehen außerdem immer in einfachen Anführungszeichen: WHERE Ort = 'Kempten'.
Vergleichsoperatoren: = gleich · <> oder != ungleich · > größer · < kleiner · >= größer gleich · <= kleiner gleich. Große Zahlen dürfen in wissenschaftlicher Schreibweise stehen, z. B. 1E08 für 100 Millionen.
Nützliche Funktionen: AVG(), COUNT(), MAX(), MIN(), SUM() fassen mehrere Zeilen zu einem Wert zusammen; DATE(), NOW(), YEAR(), DATEDIFF() rechnen mit Datumswerten.
Wichtige Datentypen
Tipp für die Praxis: Vermeide in Tabellen- und Spaltennamen Umlaute, Leerzeichen und Sonderzeichen – schreibe also Schueler statt Schüler. Erlaubt wäre beides, aber beim Austausch zwischen Systemen führen Umlaute regelmäßig zu Problemen.
Attribute: AUTO_INCREMENT (zählt bei jedem neuen Datensatz automatisch hoch – nur bei Ganzzahl-Datentypen, also TINYINT bis BIGINT, in der Praxis fast immer INT) · NOT NULL (Feld muss gefüllt sein) · DEFAULT(Wert) (Vorgabewert).
Merke: Ein einmal vergebener AUTO_INCREMENT-Wert wird auch nach dem Löschen des Datensatzes nicht neu vergeben – genau das sichert die Datenkonsistenz.
Im nächsten Modul, der SQL-Konsole, kannst du SELECT-Abfragen wirklich ausführen und das Ergebnis live sehen. INSERT, UPDATE, DELETE, CREATE und ALTER gehören zur Prüfungssyntax und stehen hier als Referenz – ausführen lassen sie sich in dieser Konsole nicht.
Live-Abfragen auf zwei Beispieldatenbanken
Wähle unten eine Datenbank, schreib eine SELECT-Abfrage und tippe auf „Ausführen”. Die Chips fügen Bausteine ein, wenn Tippen auf dem Handy nervt.
Die Tabelle cia enthält echte Zahlen: Einwohner und BIP nach Weltbank-Daten für 2024, Flächen nach CIA World Factbook. Für Nordkorea veröffentlicht die Weltbank kein BIP – deshalb steht dort NULL.
Fachbegriff und Definition paaren
Decke zwei Karten auf. Passen Begriff und Definition zusammen, bleiben sie offen.
60 Sekunden, so viele wie möglich
Es erscheint eine kurze Aufgabenbeschreibung – tippe den passenden SQL-Befehl. Serien bringen mehr Punkte, ein Fehler setzt die Serie auf null.
Aussagen zu Schlüsseln, Beziehungen und Normalformen
Zehn Aussagen aus echten Prüfungsaufgaben und der Theorie – stimmt das, oder stimmt es nicht?
Jetzt schreibst du selbst
22 Aufgaben zu drei Datenbanken – Druckerei, Weltatlas und Buchshop. Geprüft wird das Ergebnis, nicht der Wortlaut: Es gibt oft mehrere richtige Wege, und jeder davon zählt.
Wenn du hängst, drück auf Tipp. Der erste Tipp gibt die Richtung, der zweite wird konkret, danach kannst du dir die Lösung zeigen lassen. Das ist kein Schummeln – abschreiben und verstehen ist auch Lernen.
Bauen statt tippen
Hier musst du nichts schreiben. Du bekommst eine Aufgabe und die passenden Bausteine – du tippst sie nur in die richtige Reihenfolge. Ein falsch gesetzter Baustein kostet nichts: antippen und er ist wieder weg.
Wenn du bei SQL bisher ein mulmiges Gefühl hattest: fang hier an. Nach zehn Minuten hast du deine erste eigene Datenbankabfrage gebaut.
Ein Wort fehlt
Die Abfrage steht fast fertig da – nur an ein bis zwei Stellen klafft eine Lücke. Du wählst aus, was dort hingehört. Das ist der Zwischenschritt zwischen „verstehen“ und „selbst schreiben“.
Andersherum gedacht
Diesmal steht die Abfrage schon da – du sagst voraus, was sie liefert. Lesen können kommt vor Schreiben, und du merkst schnell, wie viel du schon verstehst.
Dein erster Arbeitstag
Du fängst als Azubi in einer Druckerei an. Alles läuft über die Datenbank: Kunden, Aufträge, Papier, Maschinen. In zehn Kapiteln kommen Kolleginnen und Kollegen mit echten Fragen zu dir – und jede beantwortest du mit einer SQL-Abfrage.
Die Befehle werden dir genau dann erklärt, wenn du sie brauchst. Du musst vorher nichts können. Wenn du hängst, gibt es gestufte Tipps – der letzte verrät die Lösung. Falsch machen kannst du nichts.