Lernspiel für Datenbanken

SQL Quest

Löse kurze SQL-Aufgaben direkt im Browser und sammle Punkte für deinen Fortschritt.

Punktestand 0

Schritt 1

Datenbank erstellen

Bevor du SQL-Abfragen schreibst, brauchst du eine Datenbank.

In SQL Quest arbeitest du mit einer kleinen Shop-Datenbank.

kunden

  • id Primärschlüssel
  • name Name
  • stadt Wohnort
  • alter_jahre Alter
  • punkte Lernpunkte

produkte

  • id Primärschlüssel
  • name Produktname
  • kategorie Warengruppe
  • preis Verkaufspreis
  • lagerbestand Vorrat

bestellungen

  • id Primärschlüssel
  • kunden_id verweist auf kunden.id
  • bestelldatum Datum
  • status Bestellstatus

bestellpositionen

  • id Primärschlüssel
  • bestellung_id verweist auf bestellungen.id
  • produkt_id verweist auf produkte.id
  • menge Anzahl
  • einzelpreis Preis pro Stück

Schlüssel und Beziehungen

Schlüssel helfen dir zu erkennen, welche Zeilen eindeutig sind und wie Tabellen zusammengehören.

Primärschlüssel

Ein Primärschlüssel erkennt jede Zeile einer Tabelle eindeutig.

In SQL Quest ist das meistens die Spalte id.

Beispiel: kunden.id erkennt jeden Kunden eindeutig.

Fremdschlüssel

Ein Fremdschlüssel verweist auf den Primärschlüssel einer anderen Tabelle.

So entstehen Beziehungen zwischen Tabellen.

Beispiel: bestellungen.kunden_id verweist auf kunden.id.

kunden 1 → n bestellungen

Ein Kunde kann mehrere Bestellungen haben.

Eine Bestellung gehört aber genau zu einem Kunden.

Deshalb steht in der Tabelle bestellungen die Spalte kunden_id.

bestellungen 1 → n bestellpositionen

Eine Bestellung kann mehrere Bestellpositionen haben.

Eine Bestellposition gehört aber genau zu einer Bestellung.

Deshalb steht in der Tabelle bestellpositionen die Spalte bestellung_id.

produkte 1 → n bestellpositionen

Ein Produkt kann in mehreren Bestellpositionen vorkommen.

Eine Bestellposition bezieht sich aber genau auf ein Produkt.

Deshalb steht in der Tabelle bestellpositionen die Spalte produkt_id.

Beziehungen

Die Beziehungskarten zeigen immer beide Blickrichtungen: links die 1:n-Seite und im Text die n:1-Seite.

Zum Beispiel kann ein Kunde mehrere Bestellungen haben; eine Bestellung gehört umgekehrt genau zu einem Kunden.

kunden 1 ─── n bestellungen
bestellungen 1 ─── n bestellpositionen
produkte 1 ─── n bestellpositionen

Datenbank-Info

Shop-Datenbank

Du arbeitest mit den Tabellen kunden, produkte, bestellungen und bestellpositionen.

Neu gelernt

SQL-Bausteine

Stufe 0 von 7
Anfänger SELECT

Level wird geladen …

Aufgabe

Erlaubt sind nur lesende Abfragen, zum Beispiel SELECT.

Ergebnis

Noch keine Abfrage ausgeführt.