09 Base de données
Versions sans animation, plein écran, imprimable.
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.
Solution
- 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
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
Quelle serait la relation entre les entités Livre
et Lecteur
si on n'avait pas besoin de garder l'historique des emprunts ?
Solution
- 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
) :
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
Références
- https://www.geeksforgeeks.org/introduction-of-dbms-database-management-system-set-1/
- http://sql.bdpedia.fr/intro.html
- https://www.lemagit.fr/conseil/Les-sept-modeles-de-donnees-les-plus-utilises-en-entreprise
- https://www.lucidchart.com/pages/fr/diagramme-entite-association
- https://datascientest.com/sgbd-tout-savoir