Aller au contenu principal

Séminaire

Objectifs

  • Modéliser une base de donnée

Rendu

Estimation

  • Créer un ficher report.md dans le dossier du dépôt.
  • Estimer le temps nécessaire pour réaliser ce travail dans le rapport.
    • Découper le travail en tâches pour faciliter l'estimation.
  • Une fois terminé, comparer le temps estimé avec le temps réellement passé.
TâcheTemps estiméTemps passéCommentaire
Estimation10m15m...
............
Total2h1h30...

Exercices

Banque

Compléter le modèle entité-association suivant :

  • Chaque banque a un code SWIFT, un nom et une adresse.
  • Chaque client a un numéro de client, un nom, un prénom et optionnellement un numéro de téléphone.
  • Chaque compte a un numéro de compte, un solde et une date d'ouverture.
  • Chaque filiale a un numéro de filiale et une adresse.

Choisir et justifier les clés primaires ainsi que les cardinalités des relations.

plantuml

Solution

plantuml

  • Clés primaires :
    • Banque : code_swift
    • Client : numero_client
    • Compte : numero_compte
    • Filiale : numero_filiale
  • Cardinalités :
    • Chaque client peut avoir un ou plusieurs comptes (éventuellement aucun, mais difficile de nos jours).
    • Chaque compte appartient à un seul client (éventuellement plusieurs si compte joint).
    • Chaque banque peut avoir une ou plusieurs filiales (éventuellement aucune pour les néo-banques).
    • Chaque filiale appartient à une seule banque.
    • Chaque banque peut avoir zéro ou plusieurs comptes.
    • Chaque compte appartient à une seule banque.

Ajouter les clés étrangères (FK) dans le modèle précédent.

Solution

plantuml

Bibliothèque

Dessiner le modèle entité-association suivant (ajouter des attributs pour les clés primaires si nécessaire) :

  • Modéliser la base de données d'une bibliothèque pour gérer les livres, les emprunts et les lecteurs :
    • Chaque livre a un titre, un auteur et un éditeur.
    • Chaque emprunt a une date de début, une date de fin et un statut (en cours, terminé, retardé).
    • Chaque lecteur a un nom, un prénom et une date de naissance (optionnel).
  • Ajouter les clés étrangères (FK) nécessaires.
Solution

plantuml

Quelle serait la relation entre les entités Livre et Lecteur si on n'avait pas besoin de garder l'historique des emprunts ?

Solution

plantuml

  • Chaque livre peut être emprunté par zéro ou plusieurs lecteurs.
  • Chaque lecteur peut emprunter zéro ou plusieurs livres.

Ajouter les clés étrangères (FK) nécessaires.

Solution

Pour une relation de type Many-to-Many (plusieurs à plusieurs), on doit ajouter une table intermédiaire (similaire à l'Emprunt) :

plantuml

Magasin

Dessiner le modèle ER pour un magasin de produits divers :

  • Chaque produit a un nom, un prix et une quantité en stock.
  • Chaque commande a une date, des articles avec leur quantité et un client.
  • Chaque client a un nom, une adresse et un numéro de téléphone.

Justifier quels attributs sont obligatoires ou optionnels (la solution peut varier).

Solution

plantuml

Autres exercices

Modélisation d'une base de données

Dans le rapport, individuellement ou par groupe de deux (indiquer avec qui), modéliser une base de données.

  • Choisir un domaine à modéliser, par exemple :
    • Application quiz (questions, réponses, scores, etc.)
    • Gestion des notes d'une école
    • Gestion des personnes (élèves, professeurs, personnel administratif) d'un établissement
    • Gestion d'une équipe de sport (joueurs, entraîneurs, matchs, etc.)
    • Application utilisée fréquemment (réseaux sociaux, e-commerce, streaming, etc.)
    • Jeu vidéo (personnages, objets, quêtes, etc.)
    • Autres idées
  • Décrire le domaine choisi en quelques phrases avec les fonctionnalités principales attendues.
  • Dessiner un modèle entité-association (ER) pour ce domaine.
    • Sur papier et le scanner.
    • Ou sur un outil de dessin (PlantUML, DrawDB, etc.).
  • Justifier les choix de modélisation (entités, attributs, relations, cardinalités, clés primaires, clés étrangères, etc.).

Références