(Fokussiert auf Auftragsabwicklung, Kundenerfahrung und Filialoperationen)

🔍 Geschäftskontext
Dieses Entity-Relationship-Diagramm modelliert die Kernoperationen in einerMcDonald’s-Filiale, fokussiert auf:
-
Auftragsabwicklung vom Kunden bis zur Zahlung
-
Mitarbeiterrollen und Filialverwaltung
-
MenĂĽverfĂĽgbarkeit und Preise
-
Kundenbindung und wiederholte Engagement
-
Grundlegende Bestandsverfolgung (fĂĽr Lebensmittel)
Hinweis: Dies ist kein vollständiges Unternehmensdatenbank (z. B. Lieferkette oder HR), sondern eine realistische, skalierbare Grundlage für ein Fast-Food-POS-System.
📚 Entitäten & Attribute
| Entität | Attribute |
|---|---|
| Kunde | KundenID (PK), Name, Telefon, E-Mail, Treuepunkte, Mitgliedstufe (z. B. Bronze, Silber) |
| Filiale | FilialID (PK), Name, Standort (Adresse), FilialleiterID (FK → Mitarbeiter), Öffnungszeiten, Gesamtumsatz (monatlich) |
| Mitarbeiter | MitarbeiterID (PK), Name, Rolle (Kassierer, Koch, Manager, Aufsicht), FilialID (FK), Einstellungsdatum, Schichtplan |
| Menüpunkt | MenüpunktID (PK), Name, Beschreibung, Preis, Kategorie (Burger, Getränk, Beilage, Dessert), Aktiv, Bild-URL |
| Auftrag | AuftragsID (PK), Auftragszeit, Status (Ausstehend → Zubereitung → Bereit → Abgeschlossen → Storniert), Gesamtbetrag, FilialID (FK), KundenID (FK) |
| Auftragsposition | AuftragspositionID (PK), AuftragsID (FK), MenĂĽpunktID (FK), Menge, Zeilenbetrag (automatisch berechnet) |
| Zahlung | ZahlungsID (PK), Betrag, Methode (Bar, Kreditkarte, MobilePay), TransaktionsID, AuftragsID (FK), Zeitstempel |
| Aktion | AktionID (PK), Code (z. B. „WELCOME10“), Rabattart (Prozentsatz, Festbetrag), Rabattwert, Gültigkeitsdatum, Ablaufdatum, GiltFür (z. B. Mittagessen, Alle Artikel) |
🔗 Beziehungen (mit Kardinalitäten)
| Beziehung | Kardinalität | Beschreibung |
|---|---|---|
Kunde → Bestellung |
1 → 0.. | Ein Kunde stellt im Laufe der Zeit mehrere Bestellungen auf. |
Bestellung → Bestellartikel |
1 → 0.. | Jede Bestellung enthält null oder mehr Menüartikel. |
Bestellung → Zahlung |
1 → 1 | Jede abgeschlossene Bestellung hat genau eine Zahlung. |
Bestellung → Laden |
1 → 1 | Jede Bestellung wird an einem bestimmten Laden aufgegeben. |
Laden → Mitarbeiter |
1 → 0.. | Ein Laden beschäftigt mehrere Mitarbeiter (Kassierer, Köche, Manager). |
Laden → Bestellung |
1 → 0.. | Ein Laden erhält viele Bestellungen. |
Speisekartenartikel → Bestellartikel |
1 → 0.. | Ein Speisekartenartikel kann in mehreren Bestellungen erscheinen. |
Aktion → Bestellung |
0 → 1 | Eine Aktion kann auf eine Bestellung angewendet werden (z. B. „Kaufen Sie 1 Big Mac, erhalten Sie 1 kostenlos“). |
Mitarbeiter → Laden |
1 → 1 | Jeder Mitarbeiter arbeitet in einem Laden. |
✅ Optional: Fügen Sie eine „
TreueprogrammEntität, falls tiefere Treue-Logik benötigt wird (z. B. Punkteeinlösung, Belohnungen).
🔒 Einschränkungen und Geschäftsregeln
-
Der Preis muss > 0 sein
-
Der Bestellstatus kann nicht auf „Abgeschlossen“ gesetzt werden, wenn die Zahlung fehlt
-
Menge in Bestellposition ≥ 1
-
Aktionen können nur angewendet werden, wenn sie aktiv sind und im Zeitfenster liegen
-
Der Kunde muss mindestens einer Bestellung zugeordnet sein, um Treuepunkte zu erhalten
-
Menüartikel werden als „Inaktiv“ gekennzeichnet, wenn sie ausverkauft oder eingestellt sind
📝 Anwendungsfälle (Warum dieses ERD wichtig ist)
| Anwendungsfall | Vorteil |
|---|---|
| POS-Systemgestaltung | Ermöglicht die Echtzeit-Verfolgung von Bestellungen, Zahlungen und die Erstellung von Belegen |
| Lagerbestandsbenachrichtigungen | Wenn ein Menüartikel häufig bestellt wird, überwachen Sie die Lagerbestände |
| Treueprogramme | Verfolgen der Punktansammlung, Angebot von personalisierten Rabatten |
| Filanalytik | Identifizieren Sie die meistverkauften Artikel, Spitzenzeiten und beliebte Aktionen |
| Mitarbeitermanagement | Rollen zuweisen, Schichten verfolgen, Leistung verwalten |
đź“‚ Ausgabeformate
Sie können eines der folgenden Elemente in Ihre Dokumentation, Präsentation oder Datenbank-Design-Tools kopieren und einfügen.
✅ 1. Textbasiertes ERD (für Dokumentation)
Entitäten:
- Kunde
- KundenID (PK)
- Name
- Telefon
- E-Mail
- Treuepunkte
- Mitgliedstufe
- Filiale
- FilialID (PK)
- Name
- Standort
- LeiterID (FK → Mitarbeiter)
- Ă–ffnungszeiten
- Monatlicher Umsatz
- Mitarbeiter
- MitarbeiterID (PK)
- Name
- Rolle (Kassierer, Koch, Leiter)
- FilialID (FK)
- Einstellungsdatum
- MenĂĽartikel
- MenĂĽartikelID (PK)
- Name
- Beschreibung
- Preis
- Kategorie
- IstAktiv
- Bestellung
- BestellungsID (PK)
- Bestellzeitpunkt
- Status (Ausstehend, In Vorbereitung, Bereit, Abgeschlossen, Storniert)
- KundenID (FK)
- FilialID (FK)
- Gesamtsumme
- Bestellposition
- BestellpositionsID (PK)
- BestellungsID (FK)
- MenĂĽartikelID (FK)
- Menge
- Zeilenbetrag
- Zahlung
- ZahlungsID (PK)
- Betrag
- Methode (Bar, Kreditkarte, MobilePay)
- BestellungsID (FK)
- Zeitstempel
- Aktion
- AktionID (PK)
- Code
- Rabattart
- Rabattwert
- Aktivitätsdatum
- Ablaufdatum
- GiltFĂĽr
Beziehungen:
- Kunde "1" -- "0..*" Bestellung
- Bestellung "1" -- "0..*" Bestellposition
- Bestellung "1" -- "1" Zahlung
- Bestellung "1" -- "1" Filiale
- Filiale "1" -- "0..*" Mitarbeiter
- MenĂĽartikel "1" -- "0..*" Bestellposition
- Aktion "0..*" -- "1" Bestellung (bedingt durch Aktivitätsstatus)
✅ 2. Mermaid.js-Version (für Markdown, Notion, Obsidian)
erDiagram
KUNDE ||--o{ BESTELLUNG : "platziert"
FILIALE ||--o{ BESTELLUNG : "bedient"
FILIALE ||--o{ MITARBEITER : "beschäftigt"
FILIALE ||--o{ MENĂśARTIKEL : "verkauft"
BESTELLUNG ||--o{ BESTELLPOSITION : "enthält"
BESTELLUNG ||--o{ ZAHLUNG : "hat"
MENĂśARTIKEL ||--o{ BESTELLPOSITION : "erscheint in"
AKTION ||--o{ BESTELLUNG : "wird angewendet auf"
KUNDE {
int KundenID PK
string Name
string Telefon
string E-Mail
int Treuepunkte
string Mitgliedstufe
}
FILIALE {
int FilialID PK
string Name
string Standort
int LeiterID FK
string Ă–ffnungszeiten
decimal MonatlicherUmsatz
}
MITARBEITER {
int MitarbeiterID PK
string Name
string Rolle
int FilialID FK
date Einstellungsdatum
}
MENĂśARTIKEL {
int MenĂĽartikelID PK
string Name
string Beschreibung
decimal Preis
string Kategorie
boolean IstAktiv
}
BESTELLUNG {
int BestellungsID PK
datetime Bestellzeitpunkt
string Status
int KundenID FK
int FilialID FK
decimal Gesamtsumme
}
BESTELLPOSITION {
int BestellpositionsID PK
int BestellungsID FK
int MenĂĽartikelID FK
int Menge
decimal Zeilenbetrag
}
ZAHLUNG {
int ZahlungsID PK
decimal Betrag
string Methode
int BestellungsID FK
datetime Zeitstempel
}
AKTION {
int AktionID PK
string Code
string Rabattart
decimal Rabattwert
datetime Aktivitätsdatum
datetime Ablaufdatum
string GiltFĂĽr
}

âś… 3. PlantUML VersionÂ
' McDonald's Bestellsystem ERD (PlantUML)
package "McDonald's Betrieb" {
entity "Kunde" {
- KundenID (PK)
- Name
- Telefon
- E-Mail
- Treuepunkte
- Mitgliedstufe
}
entity "Laden" {
- LadenID (PK)
- Name
- Standort
- LeiterID (FK → Mitarbeiter)
- Ă–ffnungszeiten
- Monatlicher Umsatz
}
entity "Mitarbeiter" {
- MitarbeiterID (PK)
- Name
- Rolle (Kassierer, Koch, Leiter)
- LadenID (FK → Laden)
- Einstellungsdatum
}
entity "MenĂĽpunkt" {
- MenĂĽpunktID (PK)
- Name
- Beschreibung
- Preis
- Kategorie (Burger, Getränk, Beilage)
- Aktiv
}
entity "Bestellung" {
- BestellungsID (PK)
- Bestellzeit
- Status (Ausstehend, Zubereitung, Bereit, Abgeschlossen)
- KundenID (FK → Kunde)
- LadenID (FK → Laden)
- Gesamtsumme
}
entity "Bestellposition" {
- BestellpositionsID (PK)
- BestellungsID (FK → Bestellung)
- MenüpunktID (FK → Menüpunkt)
- Menge
- Zeilenbetrag
}
entity "Zahlung" {
- ZahlungsID (PK)
- Betrag
- Methode (Bar, Kreditkarte)
- BestellungsID (FK → Bestellung)
- Zeitstempel
}
entity "Aktion" {
- AktionID (PK)
- Code (z. B. WELCOME10)
- Rabattart (Prozentsatz, Festbetrag)
- Rabattwert
- GĂĽltigkeitsdatum
- Ablaufdatum
- Gilt fĂĽr
}
Kunde "1" -- "0..*" Bestellung : "stellt auf"
Bestellung "1" -- "0..*" Bestellposition : "enthält"
Bestellung "1" -- "1" Zahlung : "hat"
Bestellung "1" -- "1" Laden : "wird aufgestellt in"
Laden "1" -- "0..*" Mitarbeiter : "beschäftigt"
MenĂĽpunkt "1" -- "0..*" Bestellposition : "erscheint in"
Aktion "0..*" -- "1" Bestellung : "wird angewendet auf"
}
Â
🔍 Zukünftige Erweiterungen (Optional)
Wenn Sie diese ERD erweitern möchten, überlegen Sie bitte folgende Ergänzungen:
-
Lagerbestand → Verfolgt Lagerbestände, Nachbestellpunkte und Lieferanteninformationen
-
Schichtplan → Tägliche Schichten, Pausenzeiten und Schichtzuweisungen
-
Lieferant → Wer liefert Zutaten (z. B. „Käfelieferant“)
-
Saisonale Menüs → Sonderaktionen (z. B. „Sommer-Grillmenü“)
-
Geolokalisierung → Für Liefer- oder Abholverfolgung
🚀 Abschließende Gedanken
Diese ERD ist realistisch, skalierbar und an McDonald’s Abläufe angepasst — sie spiegelt tatsächliche POS-Abläufe, Mitarbeiterrollen und Kundenverhalten wider.
✅ Sie verfügen nun über eine komplette, sofort nutzbare ERD für ein McDonald’s-System – egal ob für ein Schulprojekt, eine Geschäftsanalyse oder eine technische Gestaltung.
- Visual Paradigm ERD-Tool – Erstellen von Entitäts-Beziehungs-Diagrammen online: Dies ist ein leistungsstarkes, webbasiertes Tool das Nutzern ermöglicht, Datenbank-Schemata mühelos mit intuitiven Drag-and-Drop-Funktionen zu entwerfen und zu visualisieren.
- Datenbankgestaltung mit ERD-Tools – Visual Paradigm-Anleitung: Diese Ressource bietet eine umfassende Anleitung zum Einsatz von ERD-Tools zur Gestaltung robuste, skalierbare Datenbanken mit Best Practices in Datenmodellierung und Schema-Design.
- Kostenloses ERD-Tool – Datenbanken online mit Visual Paradigm entwerfen: Benutzer können ein kostenloses, kostenfreies ERD-Tool online nutzen, um professionelle Entitäts-Beziehungs-Diagramme zu erstellenohne Installation oder Abonnement.
- So zeichnen Sie Entitäten im ERD-Tool von Visual Paradigm: Dies ist eine Schritt-für-Schritt-Anleitung, die sich auf die Erstellung und Anpassung von Entitätenim ERD-Tool für eine genaue Datenbankmodellierung.
- So modellieren Sie eine relationale Datenbank mit ERD – Visual Paradigm-Tutorial: Dieses praktische Tutorial zeigt, wie ERDs verwendet werden, um relationale Datenbanken effektiv zu modellierenvon der ersten Idee bis zur vollständigen Umsetzung.
- Datenbank aus ERD in Visual Paradigm generieren: Dieser Artikel bietet eine detaillierte Anleitung zum automatischen Erzeugen einer Datenbank-Schemadirekt aus einem ERD mithilfe von Reverse-Engineering-Funktionen.
- Klassendiagramm aus ERD erstellen – Visual Paradigm-Tutorial: Diese Ressource zeigt Benutzern, wie man ein ERD in ein Klassendiagramm umwandeltum objektorientierte Design- und Entwicklungsprozesse zu unterstützen.
- Vereinfachung der Entitäts-Beziehungs-Modellierung mit Visual Paradigm: Dieser Leitfaden erklärt, wie der Prozess der Gestaltung und Implementierung von Entitäts-Beziehungs-Modellen von der ersten Konzept bis zur endgültigen Datenbank-Bereitstellung.
- Reverse Engineering von Datenbanken zu ERD in Visual Paradigm: Dieses Tutorial zeigt, wie man eine bestehende Datenbank reverse-engineernin ein visuelles Entitäts-Beziehungs-Diagramm (ERD) umwandeln, mithilfe einer intuitiven Oberfläche und leistungsfähiger Modellierungswerkzeuge.
- Chen-Notation-ERD-Editor – Fortgeschrittene Entitäts-Beziehungs-Modellierung: Dieser spezialisierte Editor unterstützt präzise Datenbankmodellierung mit vollständiger Unterstützung für Entitäten, Attribute, Beziehungen und Kardinalität unter Verwendung von Chen-Notation.











