Read this post in: de_DEen_USes_EShi_INid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

🍟 ModĂšle entitĂ©-association complet : systĂšme intĂ©grĂ© d’exploitation de McDonald’s

(AxĂ© sur le traitement des commandes, l’expĂ©rience client et les opĂ©rations en magasin)


🔍 Contexte commercial

Ce diagramme entitĂ©-association modĂ©lise les opĂ©rations essentielles dans unmagasin McDonald’s, axĂ© sur :

  • Parcours de commande du client au paiement

  • RĂŽles des employĂ©s et gestion du magasin

  • DisponibilitĂ© et tarification du menu

  • FidĂ©litĂ© des clients et engagement rĂ©pĂ©tĂ©

  • Suivi basique des stocks (pour les articles alimentaires)

Remarque : Ce n’est pas une base de donnĂ©es d’entreprise complĂšte (par exemple, chaĂźne d’approvisionnement ou RH), mais une base rĂ©aliste et Ă©volutif pour un systĂšme de caisse rapide.


📚 EntitĂ©s et attributs

Entité Attributs
Client CustomerID (ClĂ© primaire), Nom, TĂ©lĂ©phone, Email, Points de fidĂ©litĂ©, Niveau d’abonnement (par exemple, Bronze, Argent)
Magasin StoreID (ClĂ© primaire), Nom, Localisation (Adresse), ManagerID (ClĂ© Ă©trangĂšre → EmployĂ©), Heures d’ouverture, Chiffre d’affaires total (mensuel)
EmployĂ© EmployeeID (ClĂ© primaire), Nom, Fonction (Caissier, Cuisinier, GĂ©rant, Superviseur), StoreID (ClĂ© Ă©trangĂšre), Date d’embauche, Planning de service
Article du menu MenuItemID (ClĂ© primaire), Nom, Description, Prix, CatĂ©gorie (Burger, Boisson, Accompagnement, Dessert), Actif, URL de l’image
Commande OrderID (ClĂ© primaire), Heure de commande, Statut (En attente → PrĂ©paration → PrĂȘt → TerminĂ© → AnnulĂ©), Montant total, StoreID (ClĂ© Ă©trangĂšre), CustomerID (ClĂ© Ă©trangĂšre)
Ligne de commande OrderItemID (Clé primaire), OrderID (Clé étrangÚre), MenuItemID (Clé étrangÚre), Quantité, Total ligne (calculé automatiquement)
Paiement PaymentID (Clé primaire), Montant, Méthode (EspÚces, Carte bancaire, Paiement mobile), ID de transaction, OrderID (Clé étrangÚre), Horodatage
Promotion PromotionID (ClĂ© primaire), Code (par exemple « WELCOME10 »), Type de rĂ©duction (Pourcentage, Montant fixe), Valeur de la rĂ©duction, Date de validitĂ©, Date d’expiration, S’applique Ă  (par exemple : DĂ©jeuner, Tous les articles)

🔗 Relations (avec cardinalitĂ©s)

Relation Cardinalité Description
Client → Commande 1 → 0.. Un client passe plusieurs commandes au fil du temps.
Commande → ÉlĂ©ment de commande 1 → 0.. Chaque commande contient zĂ©ro ou plusieurs articles du menu.
Commande → Paiement 1 → 1 Chaque commande terminĂ©e a exactement un paiement.
Commande → Magasin 1 → 1 Chaque commande est passĂ©e dans un magasin spĂ©cifique.
Magasin → EmployĂ© 1 → 0.. Un magasin emploie plusieurs employĂ©s (caissiers, cuisiniers, gestionnaires).
Magasin → Commande 1 → 0.. Un magasin reçoit de nombreuses commandes.
ÉlĂ©ment du menu → ÉlĂ©ment de commande 1 → 0.. Un Ă©lĂ©ment du menu peut apparaĂźtre dans plusieurs commandes.
Promotion → Commande 0 → 1 Une promotion peut s’appliquer Ă  une commande (par exemple, « Achetez 1 Big Mac, obtenez-en 1 gratuit »).
Employé → Magasin 1 → 1 Chaque employĂ© travaille dans un seul magasin.

✅ Facultatif: Ajouter unProgramme de fidĂ©litĂ©entitĂ© si une logique de fidĂ©litĂ© plus poussĂ©e est nĂ©cessaire (par exemple, Ă©change de points, rĂ©compenses).


🔒 Contraintes et rĂšgles mĂ©tier

  • Le prix doit ĂȘtre > 0

  • Le statut de la commande ne peut pas ĂȘtre « TerminĂ©e » si le paiement est manquant

  • La quantitĂ© dans OrderItem ≄ 1

  • Les promotions ne peuvent ĂȘtre appliquĂ©es que si elles sont actives et dans la fenĂȘtre temporelle

  • Le client doit ĂȘtre liĂ© Ă  au moins une commande pour accumuler des points de fidĂ©litĂ©

  • Les articles du menu sont marquĂ©s comme « Inactifs » s’ils sont en rupture de stock ou discontinuĂ©s


📝 Cas d’utilisation (Pourquoi cet ERD est important)

Cas d’utilisation Avantage
Conception du systÚme de caisse (POS) Permet le suivi en temps réel des commandes, le paiement et la génération des reçus
Alertes de stock Lorsqu’un article du menu est commandĂ© frĂ©quemment, surveiller les niveaux de stock
Programmes de fidĂ©litĂ© Suivre l’accumulation de points, proposer des rĂ©ductions personnalisĂ©es
Analyse des magasins Identifier les articles les plus vendus, les heures de pointe, les promotions populaires
Gestion des employés Attribuer des rÎles, suivre les plannings, gérer la performance

📂 Formats de sortie

Vous pouvez copier et coller l’un des Ă©lĂ©ments suivants dans votre documentation, prĂ©sentation ou outils de conception de base de donnĂ©es.


✅ 1. ERD basĂ© sur le texte (pour la documentation)

Entités :

- Client
  - CustomerID (Clé primaire)
  - Nom
  - Téléphone
  - Email
  - Points de fidélité
  - Niveau de membreship

- Magasin
  - StoreID (Clé primaire)
  - Nom
  - Localisation
  - ManagerID (ClĂ© Ă©trangĂšre → EmployĂ©)
  - Heures d'ouverture
  - Ventes mensuelles

- Employé
  - EmployeeID (Clé primaire)
  - Nom
  - RÎle (Caissier, Cuisinier, Gérant)
  - StoreID (Clé étrangÚre)
  - Date d'embauche

- Article du menu
  - MenuItemID (Clé primaire)
  - Nom
  - Description
  - Prix
  - Catégorie
  - EstActif

- Commande
  - OrderID (Clé primaire)
  - OrderTime
  - Statut (En attente, En prĂ©paration, PrĂȘt, TerminĂ©e, AnnulĂ©e)
  - CustomerID (Clé étrangÚre)
  - StoreID (Clé étrangÚre)
  - Montant total

- Ligne de commande
  - OrderItemID (Clé primaire)
  - OrderID (Clé étrangÚre)
  - MenuItemID (Clé étrangÚre)
  - Quantité
  - Total ligne

- Paiement
  - PaymentID (Clé primaire)
  - Montant
  - Méthode (EspÚces, Carte de crédit, MobilePay)
  - OrderID (Clé étrangÚre)
  - Timestamp

- Promotion
  - PromotionID (Clé primaire)
  - Code
  - Type de réduction
  - Valeur de réduction
  - Date d'activation
  - Date d'expiration
  - S'applique Ă 

Relations :
- Client "1" -- "0..*" Commande
- Commande "1" -- "0..*" Ligne de commande
- Commande "1" -- "1" Paiement
- Commande "1" -- "1" Magasin
- Magasin "1" -- "0..*" Employé
- Article du menu "1" -- "0..*" Ligne de commande
- Promotion "0..*" -- "1" Commande (conditionnel sur l'état actif)

✅ 2. Version Mermaid.js (pour Markdown, Notion, Obsidian)

erDiagram
    CLIENT ||--o{ COMMANDE : "place"
    MAGASIN ||--o{ COMMANDE : "sert"
    MAGASIN ||--o{ EMPLOYE : "emploie"
    MAGASIN ||--o{ ARTICLE_MENU : "vend"
    COMMANDE ||--o{ LIGNE_COMMANDE : "contient"
    COMMANDE ||--o{ PAIEMENT : "possĂšde"
    ARTICLE_MENU ||--o{ LIGNE_COMMANDE : "apparaĂźt dans"
    PROMOTION ||--o{ COMMANDE : "s'applique Ă "

    CLIENT {
        int CustomerID PK
        string Nom
        string Téléphone
        string Email
        int PointsFidelite
        string NiveauMembre
    }

    MAGASIN {
        int StoreID PK
        string Nom
        string Localisation
        int ManagerID FK
        string HeuresOuverture
        decimal VentesMensuelles
    }

    EMPLOYE {
        int EmployeeID PK
        string Nom
        string Role
        int StoreID FK
        date DateEmbauche
    }

    ARTICLE_MENU {
        int MenuItemID PK
        string Nom
        string Description
        decimal Prix
        string Categorie
        boolean EstActif
    }

    COMMANDE {
        int OrderID PK
        datetime DateCommande
        string Statut
        int CustomerID FK
        int StoreID FK
        decimal MontantTotal
    }

    LIGNE_COMMANDE {
        int OrderItemID PK
        int OrderID FK
        int MenuItemID FK
        int Quantite
        decimal TotalLigne
    }

    PAIEMENT {
        int PaymentID PK
        decimal Montant
        string Methode
        int OrderID FK
        datetime Timestamp
    }

    PROMOTION {
        int PromotionID PK
        string Code
        string TypeReduction
        decimal ValeurReduction
        datetime DateActivation
        datetime DateExpiration
        string SAppliqueA
    }


✅ 3. Version PlantUML 

' ERD du systĂšme de commande McDonald's (PlantUML)

package "Opérations McDonald's" {
  entity "Client" {
    - IDClient (PK)
    - Nom
    - Téléphone
    - Email
    - Points de fidélité
    - Niveau de membreship
  }

  entity "Magasin" {
    - IDMagasin (PK)
    - Nom
    - Localisation
    - IDGĂ©rant (FK → EmployĂ©)
    - Heures d'ouverture
    - Ventes mensuelles
  }

  entity "Employé" {
    - IDEmployé (PK)
    - Nom
    - Poste (Caissier, Cuisinier, Gérant)
    - IDMagasin (FK → Magasin)
    - Date d'embauche
  }

  entity "Article du menu" {
    - IDArticle (PK)
    - Nom
    - Description
    - Prix
    - Catégorie (Burger, Boisson, Accompagnement)
    - Actif
  }

  entity "Commande" {
    - IDCommande (PK)
    - Heure de commande
    - Statut (En attente, En prĂ©paration, PrĂȘte, TerminĂ©e)
    - IDClient (FK → Client)
    - IDMagasin (FK → Magasin)
    - Montant total
  }

  entity "Ligne de commande" {
    - IDLigneCommande (PK)
    - IDCommande (FK → Commande)
    - IDArticle (FK → Article du menu)
    - Quantité
    - Total ligne
  }

  entity "Paiement" {
    - IDPaiement (PK)
    - Montant
    - Méthode (EspÚces, Carte de crédit)
    - IDCommande (FK → Commande)
    - Horodatage
  }

  entity "Promotion" {
    - IDPromotion (PK)
    - Code (ex. : WELCOME10)
    - Type de réduction (Pourcentage, Montant fixe)
    - Valeur de réduction
    - Date de validité
    - Date d'expiration
    - S'applique Ă 
  }

  Client "1" -- "0..*" Commande : "place"
  Commande "1" -- "0..*" Ligne de commande : "contient"
  Commande "1" -- "1" Paiement : "possĂšde"
  Commande "1" -- "1" Magasin : "est passée dans"
  Magasin "1" -- "0..*" Employé : "emploie"
  Article du menu "1" -- "0..*" Ligne de commande : "apparaĂźt dans"
  Promotion "0..*" -- "1" Commande : "s'applique Ă "
}

 


🔍 Extensions futures (facultatif)

Si vous souhaitez Ă©tendre cet ERD, envisagez d’ajouter :

  • Inventaire → Suivi des niveaux de stock, points de rĂ©approvisionnement, informations sur les fournisseurs

  • Planning des services → Services quotidiens, pauses, affectations de services

  • Fournisseur → Qui fournit les ingrĂ©dients (ex. : « Fournisseur de fromage »)

  • Menus saisonniers → Promotions spĂ©ciales (ex. : « Menu BBQ d’Ă©tĂ© »)

  • GĂ©olocalisation → Pour le suivi de livraison ou de retrait


🚀 DerniĂšres rĂ©flexions

Cet ERD est rĂ©aliste, Ă©volutif et alignĂ© sur les opĂ©rations de McDonald’s — il reflĂšte les flux rĂ©els du systĂšme de caisse, les rĂŽles des employĂ©s et le comportement des clients.

✅ Vous disposez maintenant d’un ERD complet, prĂȘt Ă  ĂȘtre utilisé pour un systĂšme McDonald’s — que ce soit pour un projet scolaire, une analyse commerciale ou une conception technique.

Sidebar Search
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...