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 · Modéliser

Le MCD : entités, associations, cardinalités

Un MCD (modèle conceptuel de données) est un diagramme qui représente tout ou partie d'une base de données relationnelle. Il appartient à une méthode de conception (MCD, MOT, schéma relationnel) et, avec la programmation objet, il tend en pratique à être remplacé par la notation UML. Il a sa syntaxe : des entités et des associations (on parle de modèle entités-associations).

ÉlémentReprésentationCorrespond à
Entité : unité qui se suffit à elle-même (client, produit…)rectangle, avec son nom et ses propriétés (attributs)une table ; propriétés = colonnes
Clé primairepropriété(s) soulignée(s)l'identifiant unique de la ligne ; composée si plusieurs propriétés
Association : lien entre entités (souvent nommée par un verbe)ovale, avec éventuellement des propriétés portéesune table ou une clé étrangère (selon les cardinalités)

Toute table possède une clé primaire. Celle d'une association est sous-entendue : c'est l'ensemble des clés primaires des entités qu'elle relie.

Vérifie que tu as compris

Une clé primaire composée, c'est…

Les cardinalités

Une association relie au moins deux entités (trois : une ternaire, dont les cardinalités sont forcément du type 0..* ou 1..*). Les cardinalités précisent la quantité minimale et maximale (« de 0 à plusieurs », « exactement 1 »). Association et entités sont reliées par un trait, la patte, sur laquelle on note la cardinalité (et éventuellement un rôle).

Lecture adoptée ici, cohérente avec la règle du cours sur la clé étrangère : la cardinalité écrite près d'une entité dit combien de fois chaque occurrence de cette entité participe à l'association. Dans l'exemple du cours, une écriture comptable est constituée de 2 à plusieurs lignes (2..*) et un compte peut n'apparaître dans aucune à plusieurs écritures (0..*).

EcritureEcritureNumEcritureLib CompteCompteIdCompteLib Ligne propriétés portées : Debit, Credit 2..*0..*

CIF et CIM : deux familles qui décident de tout

Forme des cardinalitésNomDevient en base
X..* — Y..* (ex. 0..* — 1..*)CIM (contrainte d'intégrité multiple)une table pour l'association (dont la clé primaire regroupe les clés des entités reliées)
X..1 — Y..* (ex. 1..1 — 0..*)CIF (contrainte d'intégrité fonctionnelle)pas de table : une clé étrangère, placée dans la table de l'entité qui porte la cardinalité de la forme X..1

Exemple (exemple ajouté) : « un client passe 0 à plusieurs commandes, une commande est passée par exactement un client ». Le côté Commande est 1..1 : c'est une CIF, la table Commande reçoit une clé étrangère vers Client.

Clientid_clientnom Commandeid_commandedate Passer 0..*1..1

Vérifie que tu as compris

Une association a les cardinalités 0..* d'un côté et 1..* de l'autre. Que devient-elle ?

Vérifie que tu as compris

Où se place la clé étrangère d'une CIF ?