Schema und Schlüssel
- Kurzschreibweise:
Buch(Nr, Titel, Jahr, ↑VerlagID)— Primärschlüssel unterstrichen, Fremdschlüssel mit ↑. - Primärschlüssel:identifiziert jeden Datensatz eindeutig.
- Fremdschlüssel:verweist auf den Primärschlüssel einer anderen Tabelle.
- ER-Diagramm:Kardinalitäten an den Kanten: 1:n wird zum Fremdschlüssel auf der n-Seite, n:m zu einer eigenen Tabelle.
- Anomalien:Redundanz führt zu Fehlern beim Einfügen, Ändern und Löschen — deshalb Daten auf Tabellen verteilen.
SQL-Abfragen lesen
- Verbund:
FROM Buch b, Verlag v WHERE b.VerlagID = v.ID— ohne die Verbundbedingung entstehen alle Kombinationen. - Filtern:
WHEREwirkt auf einzelne Zeilen:=,!=,BETWEEN,IN,LIKE 'S%'(%beliebig viele,_genau ein Zeichen). - Gruppieren:
GROUP BYfasst Zeilen zusammen;HAVINGfiltert die Gruppen, z. B.HAVING COUNT(*) >= 2. - Sortieren:
ORDER BY Jahr DESC, danachLIMIT 3für die ersten drei.
Wähle eine Abfrage und markiere in der Tabelle Buch alle Zeilen, die zum Ergebnis beitragen (Klick oder Tab + Leertaste). Prüfe dann — das Ergebnis der Abfrage erscheint darunter.
Halte fest: Beim Verbund zählt eine Zeile nur, wenn sie über den Fremdschlüssel einen passenden Partner findet und alle übrigen Bedingungen erfüllt.
Verbund: FROM A, B WHERE A.Fremdschlüssel = B.Primärschlüssel
Allgemeine Hinweise
WHERE oder HAVING?
Bedingungen an einzelne Zeilen gehören in WHERE, Bedingungen an Aggregate wie COUNT(*) in HAVING.
Regel bei GROUP BY
Jede Spalte hinter SELECT steht entweder in einer Aggregatfunktion oder in der GROUP BY-Klausel.
Erst von Hand
Bei „Geben Sie das Ergebnis an“ die passenden Zeilen in der Tabelle markieren, dann die Ergebnistabelle mit Spaltenköpfen hinschreiben.
