Aller au contenu principal

09 Base de données

F pour passer en plein écran ou O pour afficher la vue d'ensemble.
Versions sans animation, plein écran, imprimable.
Objectifs

Comment structurer les données ?

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

Références

Exercices