Datenmodell-Schulungskonsole

Interaktive Schulungsoberfläche für relationale Normalisierung in SQL und flexible Dokumentmodelle in MongoDB.

SQL + MongoDB
Relationen & Regeln
SQL-Track · Schritt 4 / 5

Normalisierung

Die Oberfläche zeigt den Weg von Excel-Rohdaten über Qualitätsprobleme und Bereinigung bis zur relational normalisierten Datenbank.

Schulungsfluss aktiv
Schritt 4: Normalisierung in die 3. Normalform — Aus 3 flachen Excel-Tabellen werden 8 verknüpfte Tabellen mit Fremdschlüsseln, Datentypen und Constraints. Jede Information existiert genau einmal.

📐 Entitäts-Beziehungs-Diagramm

┌─────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │ kategorien │ │ lieferanten │ │ zahlungsarten │ ├─────────────────┤ ├──────────────────┤ ├──────────────────┤ │ PK id │ │ PK id │ │ PK id │ │ name │ │ name │ │ name │ └────────┬────────┘ └────────┬─────────┘ └────────┬─────────┘ │ │ │ │ 1:N │ 1:N │ 1:N ▼ ▼ ▼ ┌──────────────────────────────────┐ ┌──────────────────────────────────┐ │ produkte │ │ bestellungen │ ├──────────────────────────────────┤ ├──────────────────────────────────┤ │ PK id │ │ PK id │ │ produktname │ │ FK kunden_id → kunden.id │ │ FK kategorie_id → kategorien.id │ │ bestelldatum │ │ preis (DECIMAL) │ │ FK zahlungsart_id │ │ lagerbestand (INT) │ │ FK status_id → bestellstatus.id │ │ gewicht_kg (DECIMAL) │ │ bemerkung │ │ FK lieferant_id → lieferanten.id │ └───────────────┬──────────────────┘ └───────────────┬──────────────────┘ │ │ │ ┌───────────────────┐ │ │ N:M │ │ N:M │ └─────────────►│ bestellpositionen │◄─────────────┘ ├───────────────────┤ │ PK id │ │ FK bestellung_id │ │ FK produkt_id │ │ menge │ │ einzelpreis │ └───────────────────┘ ┌──────────────────────┐ ┌──────────────────┐ │ kunden │ │ bestellstatus │ ├──────────────────────┤ ├──────────────────┤ │ PK id │ │ PK id │ │ anrede (ENUM) │ │ name │ │ vorname │ └──────────────────┘ │ nachname │ │ straße │ │ plz (CHAR(5)) │ │ ort │ │ telefon │ │ email │ │ geburtsdatum(DATE)│ └──────────────────────┘ █ PK = Primary Key (Primärschlüssel) █ FK = Foreign Key (Fremdschlüssel) █ Feld

572 Datensätze (Seite 12/20)

idbestellung_idprodukt_idproduktname_originalmengeeinzelpreis
331171436Smart Kalender2763.21
332172301Kompakt Kleiderschrank9458.54
333173326Standard Kalender5529.30
334175212Deluxe Stiefel4843.46
335176223Standard Hanteln5778.00
33617772Basic Maßband10204.79
337179192Smart Kleiderschrank8241.11
338180358Robust Erde Rot3715.95
339181398Standard T-Shirt Gelb6737.33
340182178Eco Regal1154.03
34118378Mini Gartenschlauch5416.51
342184414Maxi Sideboard Orange3775.61
343185187Premium Knete9660.70
344186218Pro Maus1922.35
345189335Leicht Bleistift7678.42
34619133Deluxe Saiten-Set10583.43
347192200Kompakt Marmelade7521.12
348195395Basic Hefter6112.79
349196465Pro Laptop7174.96
350198189Premium Blockflöte3922.34
351199170Smart Seifenblasen4167.63
352200422Classic Seifenblasen6694.77
3531365Robust Säge5478.88
3545478Ultra USB-Hub7945.86
3556313Premium Bildband8494.60
3567470Leicht Maßband9210.02
3578395Basic Hefter8112.79
3589431Deluxe Klebestift7491.97
35910138Robust Bildband5381.68
36013493Premium Olivenöl8709.38

🎯 Kernpunkt: Auflösung der 1. Normalform

Aus einer Zelle mit mehreren Produkten werden separate Zeilen:

❌ VORHER (Excel)
BestellnummerProdukteMengen
B-20240001Kompakt Mehl; Kompakt Fahrradhelm; Robust Säge; Leicht Mülleimer; Robust Scheibe…10; 3; 5; 2; 10
BEST0002Robust Trinkflasche; Kompakt Kleiderschrank1; 4
B-20240003Eco Drachen; Smart Fahrradhelm4; 10
✅ NACHHER (Normalisiert)
BestellungProduktMengeEinzelpreis
1Kompakt Mehl10263.35
2Robust Trinkflasche1654.68
3Eco Drachen483.16
4Premium Verbandskasten47.33
5Robust Kartenspiel9834.62
6Ultra Motoröl7767.26
7Smart Sonnencreme1579.04
8Mini Gewürzset677.45
9Maxi Briefumschlag2910.38
10Mini Basketball448.68