Séminaire
Objectifs
- Modéliser une base de donnée
Rendu
- GitHub Classroom : https://classroom.github.com/a/JtxVtCzl
- Délai : 1 semaine
Estimation
- Créer un ficher
report.mddans 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âche | Temps estimé | Temps passé | Commentaire |
|---|---|---|---|
| Estimation | 10m | 15m | ... |
| ... | ... | ... | ... |
| Total | 2h | 1h30 | ... |
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
Autres exercices
- https://janm.t-doc.org/DOI2/Databases/introduction.html#exercices
- https://df.webontwerp.ucll.be/EN/model_logisch_oefeningen/
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.
- Justifier les choix de modélisation (entités, attributs, relations, cardinalités, clés primaires, clés étrangères, etc.).