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

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é | 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) |
| 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 un
Programme de fidélitéentité si une logique de fidélité plus poussée est nécessaire (par exemple, échange de points, récompenses).
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 | 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 |
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.
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)
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
}

' 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 Ă "
}
Â
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
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.