Aller au contenu principal

Création du MCD

Objectifs
  • Comprendre ce qu’est un MCD (Modèle Conceptuel de Données).
  • Identifier les entités, attributs et relations d’une base de données.
  • Concevoir la structure de données nécessaire pour gérer un quiz.
  • Préparer la création de la base de données Supabase.

Notions théoriques

1. Pourquoi modéliser les données ?

Avant de créer une base de données, il faut réfléchir à ce que l’on veut stocker.

Dans notre projet “Quiz Cyber”, nous allons gérer :

  • des questions,
  • des réponses,
  • des joueurs,
  • et des scores (pour le classement des joueurs).
info

Mais comment représenter cela de façon claire, logique et exploitable dans une base ?

C’est là qu’intervient le MCD, ou Modèle Conceptuel de Données.

2. Qu’est-ce qu’un MCD ?

Le MCD est une représentation visuelle des données que vous allez stocker.

Le MCD permet de :

  • identifier les entités (objets à stocker),
  • définir leurs attributs (informations à retenir sur ces objets),
  • établir les relations entre ces entités.

C’est un outil de réflexion avant la technique.

3. Définitions clés

TermeDéfinition
EntitéUn objet du monde réel ou logique que l’on veut stocker (ex : Question, Joueur)
AttributUne information associée à une entité (ex : texte, date, score)
RelationUn lien entre deux entités (ex : un joueur répond à une question)

4. Les entités de notre projet

Voici les entités principales de notre quiz :

  • Question

    • id (clé primaire = identifiant unique)
    • texte (le texte de la question)
    • niveau (facile, moyen, difficile)
  • Réponse

    • id
    • texte
    • est_correcte (boolean : vrai ou faux)
    • id_question (clé étrangère = relation vers la clé primaire de la question)
  • Joueur

    • id
    • pseudo
    • email (optionnel)
    • date_inscription
  • Classement

    • id
    • id_joueur
    • date_partie
    • score
    • temps

5. Les relations

  • Une question a plusieurs réponses.
  • Un joueur est lié à un classement.
astuce

Nous allons représenter tout cela sous forme d'un schéma (modèle entité-association) avec le logiciel Looping.

Looping

https://www.looping-mcd.fr/

Exemple pratique

Voici un exemple simplifié de MCD sous forme textuelle :

[Question]
- id
- texte
- niveau

[Réponse]
- id
- texte
- est_correcte
- id_question → Question

[Joueur]
- id
- pseudo
- email
- date_inscription

[Classement]
- id
- id_joueur → Joueur
- date_partie
- score
- temps

Ce MCD pourra ensuite être transformé en tables dans Supabase.


Quelques méthodes à connaître

ConceptÀ retenir
Une entité = une tableChaque entité devient une table dans la base
Un attribut = une colonneChaque attribut devient une colonne dans la table
Une relation = une clé étrangèrePermet de relier deux tables entre elles
Un identifiant uniqueSert de clé primaire dans chaque table (id)
Une relation 1-NUne question a plusieurs réponses (relation 1-N)

Test de mémorisation/compréhension


Qu’est-ce qu’un MCD ?


Quelle est la meilleure définition d’une entité ?


Dans notre projet, quelle entité contient le champ `est_correcte` ?


Quelle relation existe entre une question et ses réponses ?


Quel champ permet de relier une réponse à une question ?



TP pour réfléchir et résoudre des problèmes

Objectif du TP

Vous allez construire, en binôme, le MCD du projet Quiz Cyber.
Ce MCD servira de base pour créer les tables dans Supabase lors de la prochaine séance.

Étapes à suivre

  1. Travaillez en binôme.
  2. Installez et Démarrez Looping.

    ou utilisez une feuille de papier, ou utilisez un outil de schéma en ligne (ex : draw.io).

  3. Représentez les entités suivantes :
    • Question
    • Reponse
    • Joueur
    • Classement
  4. Pour chaque entité, indiquez :
    • son nom,
    • ses attributs (nom + type de donnée),
    • sa clé primaire (id).
  5. Représentez les relations :
    • Une question a plusieurs réponses.
    • Un joueur est lié à un classement.
  6. Indiquez les clés étrangères dans les entités concernées.

Corrigé du TP

Une solution