Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 1 · Le MCD

Cas TP2 : objets événement et historique

Le TP2 (marketplace Place&Go) apporte une difficulté nouvelle : la conservation de l'historique. Les énoncés insistent : « attention aux objets “événement” (commande, ligne, paiement, colis, retour, remboursement) : ils doivent être correctement identifiés ». Un événement est daté, il ne doit jamais être réécrit après coup.

BesoinIdée de modélisation (exemple ajouté)
Un produit proposé par plusieurs vendeurs avec prix/stock/délai propres (C)OFFRE : association porteuse (ou entité) entre VENDEUR et PRODUIT, avec prix, stock, délai ; une seule offre par couple (anti-doublon)
Prix figé au moment de la commande (E)La LIGNE_COMMANDE stocke son propre prix unitaire appliqué, copié lors de la commande
Adresse conservée au moment de l'achat (D)La commande garde une copie de l'adresse (ou pointe vers un instantané d'adresse non modifiable)
Plusieurs paiements par commande (F)PAIEMENT : entité événement, Commande 0..N, Paiement 1..1
Commande en plusieurs colis, contenu connu (G)COLIS lié à la commande, et association Contenir (colis, ligne) porteuse de la quantité
Retour partiel au niveau ligne/quantité (H)Association Retourner (retour, ligne) porteuse de la quantité retournée
Remboursement lié à un retour (I)REMBOURSEMENT, rattaché à 1..1 retour
Code promo appliqué + remise réelle (J)Commande 0..1 code promo ; le montant de remise réellement appliqué est mémorisé sur la commande

Vérifie que tu as compris

Pourquoi stocker le prix dans la LIGNE de commande alors que l'offre a déjà un prix ?

Schéma partiel

0..N1..11..N1..10..N1..11..N0..N0..N1..1CLIENT#id_clientnomemailCOMMANDE#id_commandedatestatut_globalLIGNE_COMMANDE#numero_lignequantiteprix_unitaire_figeOFFRE#id_offreprix_courantstockdelaiCOLIS#id_colistransporteursuivistatutPasserComposerConcernerContenirquantiteExpedier

Lecture : un client passe 0..N commandes ; une commande en contient 1..N lignes ; chaque ligne concerne exactement une offre (donc un vendeur et un produit : on sait qui doit expédier quoi) ; un colis (d'une commande) contient 1..N lignes avec des quantités, et une ligne peut être répartie sur 0..N colis.

Identifiants des événements : une ligne n'a de sens que dans sa commande. Son identifiant peut être relatif (n° de ligne dans la commande) ou un id technique. C'est un des « choix de modélisation » à justifier (« PK composée vs id technique »).

Variantes (taille/couleur) : l'énoncé les laisse optionnelles « si vous le jugez nécessaire et utile ». Une entité VARIANTE rattachée au produit est un choix possible, à argumenter.

Désactivation d'un vendeur (B) : « sans suppression de l'historique ». On modélise un état (actif/inactif) ; on ne supprime pas l'occurrence.

Vérifie que tu as compris

Pourquoi connaître le contenu d'un colis nécessite-t-il une association porteuse de quantité ?