Datenmodell-Schulungskonsole

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

SQL + MongoDB
Dokumente & Events
MongoDB-Track · Schritt 4 / 5

Bestellereignisse

Dieser Lernpfad zeigt, welche Daten nach der SQL-Normalisierung bewusst in flexible Dokumente ausgelagert werden: variierende Produktattribute, Interaktionsprofile und Event-Historien.

Dokumentenfluss aktiv
Schritt 4: Bestellereignisse — Hier ist nicht mehr nur der Endstatus wichtig, sondern der komplette Lebenslauf einer Bestellung. MongoDB speichert die Ereignisse direkt als sortierte Liste innerhalb des Bestelldokuments.
200
Bestelldokumente
861
Ereignisse gesamt
35
geliefert
47
storniert
73
manuelle Prüfung
4,3
Ø Ereignisse

Bestellläufe als Dokumente

B-20240001

{
    "_id": {
        "$oid": "69c16cff1e2291a8384747cf"
    },
    "bestellnummer": "B-20240001",
    "kundennummer": "K106",
    "status_snapshot": "offen",
    "gesamtpreis": 7917.83,
    "ereignisse": [
        {
            "zeitpunkt": "2025-11-16T16:10:00Z",
            "typ": "erstellt",
            "quelle": "ERP"
        },
        {
            "zeitpunkt": "2025-11-16T18:40:00Z",
            "typ": "bezahlt",
            "quelle": "Backoffice",
            "zahlung": {
                "art": "PayPal",
                "transaktions_id": "TX-636112"
            }
        },
        {
            "zeitpunkt": "2025-11-16T20:29:00Z",
            "typ": "kommissioniert",
            "quelle": "Backoffice"
        },
        {
            "zeitpunkt": "2025-11-17T22:58:00Z",
            "typ": "verpackt",
            "quelle": "Backoffice"
        }
    ],
    "fulfillment": {
        "kanal": "Webshop",
        "lager": "Leipzig",
        "prioritaet": "express"
    },
    "pruefungen": {
        "betrugs_score": 88,
        "manuelle_pruefung": false,
        "bemerkung": "Achtung: Sperrgut"
    }
}

B-20240003

{
    "_id": {
        "$oid": "69c16cff1e2291a8384747d1"
    },
    "bestellnummer": "B-20240003",
    "kundennummer": "K52",
    "status_snapshot": "geliefert",
    "gesamtpreis": 447.9,
    "ereignisse": [
        {
            "zeitpunkt": "2024-09-26T09:00:00Z",
            "typ": "erstellt",
            "quelle": "Logistik"
        },
        {
            "zeitpunkt": "2024-09-26T11:08:00Z",
            "typ": "bezahlt",
            "quelle": "Webshop",
            "zahlung": {
                "art": "Nachnahme",
                "transaktions_id": "TX-167164"
            }
        },
        {
            "zeitpunkt": "2024-09-26T13:39:00Z",
            "typ": "kommissioniert",
            "quelle": "Logistik"
        },
        {
            "zeitpunkt": "2024-09-27T15:54:00Z",
            "typ": "verpackt",
            "quelle": "Webshop"
        },
        {
            "zeitpunkt": "2024-09-27T17:35:00Z",
            "typ": "versendet",
            "quelle": "ERP",
            "versand": {
                "dienstleister": "DPD",
                "trackingnummer": "005233027617426345"
            }
        },
        {
            "zeitpunkt": "2024-09-27T19:16:00Z",
            "typ": "zugestellt",
            "quelle": "Webshop",
            "zustellung": {
                "empfangen_von": "Nachbar",
                "erfolgreich": true
            }
        }
    ],
    "fulfillment": {
        "kanal": "Telefonverkauf",
        "lager": "Köln",
        "prioritaet": "express"
    },
    "pruefungen": {
        "betrugs_score": 79,
        "manuelle_pruefung": false,
        "bemerkung": "Stammkunde - Rabatt 10%"
    }
}

B-20240004

{
    "_id": {
        "$oid": "69c16cff1e2291a8384747c2"
    },
    "bestellnummer": "B-20240004",
    "kundennummer": "K85",
    "status_snapshot": "versendet",
    "gesamtpreis": 3495.69,
    "ereignisse": [
        {
            "zeitpunkt": "2026-01-03T13:48:00Z",
            "typ": "erstellt",
            "quelle": "Backoffice"
        },
        {
            "zeitpunkt": "2026-01-03T15:40:00Z",
            "typ": "bezahlt",
            "quelle": "Logistik",
            "zahlung": {
                "art": "Rechnung",
                "transaktions_id": "TX-442094"
            }
        },
        {
            "zeitpunkt": "2026-01-03T17:04:00Z",
            "typ": "kommissioniert",
            "quelle": "Backoffice"
        },
        {
            "zeitpunkt": "2026-01-04T19:39:00Z",
            "typ": "verpackt",
            "quelle": "ERP"
        },
        {
            "zeitpunkt": "2026-01-04T21:22:00Z",
            "typ": "versendet",
            "quelle": "ERP",
            "versand": {
                "dienstleister": "DHL",
                "trackingnummer": "007389479756980870"
            }
        }
    ],
    "fulfillment": {
        "kanal": "Webshop",
        "lager": "Leipzig",
        "prioritaet": "express"
    },
    "pruefungen": {
        "betrugs_score": 11,
        "manuelle_pruefung": true,
        "bemerkung": ""
    }
}

Abgeleitete Ereignistabelle

BestellungTypZeitpunktQuelle
B-20240001erstellt2025-11-16T16:10:00ZERP
B-20240001bezahlt2025-11-16T18:40:00ZBackoffice
B-20240001kommissioniert2025-11-16T20:29:00ZBackoffice
B-20240001verpackt2025-11-17T22:58:00ZBackoffice
B-20240003erstellt2024-09-26T09:00:00ZLogistik
B-20240003bezahlt2024-09-26T11:08:00ZWebshop
B-20240003kommissioniert2024-09-26T13:39:00ZLogistik
B-20240003verpackt2024-09-27T15:54:00ZWebshop
B-20240003versendet2024-09-27T17:35:00ZERP
B-20240003zugestellt2024-09-27T19:16:00ZWebshop
B-20240004erstellt2026-01-03T13:48:00ZBackoffice
B-20240004bezahlt2026-01-03T15:40:00ZLogistik

MongoDB-Beispielabfrage

db.bestellereignisse.find( { status_snapshot: "geliefert", "ereignisse.typ": "versendet" }, { bestellnummer: 1, ereignisse: 1, fulfillment: 1 } )
BestellungTrackingnummerDienstleisterPriorität
B-20240003005233027617426345DPDexpress
B-20240004007389479756980870DHLexpress
B-20240008001012927242225604DPDexpress
B-20240021007994878726989422DPDexpress
B-20240023008961076550008008Hermesexpress
B-20240031005574404276066328DHLexpress
B-20240032005992925053557431DPDnormal
B-20240038004776235247583935GLSnormal