SQL Kurs Zusatzmaterial

SQL Kurs Zusatzmaterial

Bits and Bytes

Formate

Hinweise:

  • JSON und XML eignen sich sehr gut als Austauschformat. Sie werden auch viel bei Webschnittstellen z.B. Bright Sky – Free JSON API for DWD open weather data. verwendet.
  • CSV ist ebenfalls weit verbreitet als Austauschformat. Die Werte werden durch einen Separator (z.B. Komma oder im Deutschen häufig Semikolon) getrennt. XML und JSON ermöglichen im Gegensatz zu CSV hierarchisch geschachtelte Datenstrukturen.
  • Der Binärcode in der Grafik ist das Wort „Apfel“, so wie ein Computer es speichert. Jeder Buchstabe wird dabei als Zahl abgelegt, und diese Zahl wird im Zweiersystem (nur 0 und 1) geschrieben.
    BuchstabeBinär (1 Byte = 8 Bits)Als Dezimalzahl
    A0100000165
    p01110000112
    f01100110102
    e01100101101
    l01101100108
  • Datenmodellierung: Aufteilung von Informationen auf Tabellen
3NF vs. Sternschema – Pizza-Lieferdienst
Made with AI – diese Seite wurde mit KI (Claude) erstellt.

3NF vs. Sternschema

Beispiel: Ein Pizza-Lieferdienst. Jede Bestellung enthält Pizzen und Getränke – und der Chef will wissen, was sich wann und wo gut verkauft.

Teil 1: 3NF – jede Info steht nur an einer Stelle

Die Daten sind in viele kleine Tabellen zerlegt. „Berlin“ steht nur ein einziges Mal in der Datenbank. Zieht Mia um, ändert man genau eine Zeile. 3NF steht für “dritte Normalform”. Dahinter verbirgt sich ein mathematisch definierter Prozess, um mehrere Informationen optimal auf Tabellen zu verteilen.

ER-Diagramm in 3NFSechs Tabellen: Stadt, Kunde, Bestellung, Kategorie, Produkt und Bestellposition, verbunden über Fremdschlüssel.

Teil 2: Sternschema – gebaut für schnelle Auswertungen

In der Mitte liegt die Faktentabelle mit den Zahlen (Menge, Umsatz). Drumherum sitzen die Dimensionen, die beschreiben: wer, was und wann. Jede Dimension hängt direkt an der Mitte – so entsteht die Sternform.

ER-Diagramm als SternschemaDie Faktentabelle Fakt_Verkauf liegt in der Mitte. Dim_Datum liegt oben, Dim_Kunde unten links und Dim_Produkt unten rechts, jeweils direkt mit der Faktentabelle verbunden.
Faktentabelle (Zahlen)Dimensionen (Beschreibung)

Der Vergleich

Drei Fragen zum Ausprobieren

  • Wie viel Umsatz machen wir pro Kategorie? Im Sternschema reicht ein Blick auf Dim_Produkt.Kategorie. In der 3NF braucht man drei Tabellen dafür.
  • Was passiert, wenn Mia nach Hamburg umzieht? In der 3NF ändert man eine Zeile in Kunde. Im Sternschema ändert man die Zeile in Dim_Kunde, die Fakten bleiben unberührt.
  • Welcher Wochentag ist der beste? Das geht nur so einfach, weil es Dim_Datum gibt.

Warum die 3NF für OLTP besser ist

OLTP heißt: Im laufenden Betrieb passieren ständig viele kleine Änderungen, zum Beispiel eine neue Bestellung, eine neue Adresse oder ein neuer Preis. Hier muss jede Änderung schnell gehen und die Daten dürfen sich nie widersprechen. Dafür gibt es zwei starke Gründe.

Grund 1: Eine Änderung betrifft nur eine Zeile

Der Chef will die Kategorie „Getränk“ in „Drinks“ umbenennen. Im Sortiment gibt es 200 Getränke: Cola, Limo, Apfelschorle und so weiter.

3NF
UPDATE Kategorie
SET Kategoriename = 'Drinks'
WHERE KategorieID = 2;
KategorieIDKategoriename
1Pizza
2Drinks

1 Zeile geändert. Alle 200 Getränke zeigen automatisch den neuen Namen.

Sternschema
UPDATE Dim_Produkt
SET Kategorie = 'Drinks'
WHERE Kategorie = 'Getränk';
ProduktIDProduktnameKategorie
1Pizza SalamiPizza
3ColaDrinks
4LimoDrinks
5ApfelschorleDrinks
………

200 Zeilen geändert. Wird eine vergessen, steht „Getränk“ neben „Drinks“ in der Tabelle.

Grund 2: Die Datenbank kontrolliert, welche Werte erlaubt sind

Ein neuer Kunde wird angelegt. Im Sternschema ist die Stadt einfach ein Textfeld, in der 3NF ist sie ein Verweis auf die Tabelle Stadt.

3NF
INSERT INTO Kunde
VALUES (4, 'Tom', 7);

Fehler: Es gibt keine Stadt mit StadtID 7. Die Datenbank lehnt den Eintrag ab. In der App wählt man die Stadt aus einer Liste (Berlin, Hamburg) und kann gar nichts Falsches eingeben.

Sternschema
KundeIDNameStadt
1MiaBerlin
4Tomberlin
5NeleBerlinn
2BenHamburg

Jeder Wert wird akzeptiert. Bei „Umsatz pro Stadt“ tauchen plötzlich drei verschiedene Berlins auf.

Merksatz: Die 3NF speichert jede Information genau einmal und lässt nur gültige Werte zu. Das schützt die Daten, während ständig geändert wird (OLTP). Das Sternschema ist eine Kopie für das Auswerten, bei der man absichtlich doppelte Werte in Kauf nimmt. In der Praxis arbeitet deshalb die Kasse mit der 3NF, und nachts werden die Daten für Power BI in ein Sternschema kopiert.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.