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 15/20)

idbestellung_idprodukt_idproduktname_originalmengeeinzelpreis
42112830Classic Springseil2584.89
422130440Deluxe Yogamatte5725.34
423132495Standard Wäscheständer Pink1078.50
424133173Basic SSD4301.02
425134474Pro Reiseführer5465.78
426135434Ultra Kapodaster852.82
427139192Smart Kleiderschrank1241.11
428140372Kompakt Zahnpasta473.97
429142403Kompakt Erde Weiß4174.11
430143241Basic Essig7369.84
43114424Basic Comic7709.85
432145396Deluxe Besen687.00
433149172Pro Stuhl9360.64
434152201Premium Zucker8516.60
435153443Robust Sachbuch4892.67
436156118Kompakt Schreibtisch6614.34
43715768Kompakt Schuhschrank2843.22
438159196Robust Staubsauger9605.99
439161447Mini Puppe866.29
440163315Classic Lineal3581.47
441164214Leicht Marmelade2525.86
44216665Classic Felgenreiniger7963.88
443168430Standard Roman2962.40
444169178Eco Regal10154.03
445170311Basic Zahnpasta7144.49
446173383Robust Gesichtscreme5212.15
447175116Classic Textmarker3215.23
448179308Mini Smartphone7975.85
449180483Deluxe Couchtisch364.64
450181192Smart Kleiderschrank2241.11

🎯 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