Ce document présente la correction du Travail Dirigé 1 (TD 1) du cours de Bases de données, destiné aux étudiants de 3e année en Informatique de Polytech Marseille. Il couvre les notions fondamentales de la modélisation des données.
Les concepts abordés incluent :
- La création de Modèles Conceptuels de Données (MCD) à l'aide de schémas entité-association (notation UML).
- La dérivation des Modèles Logiques de Données (MLD) et leur représentation relationnelle.
- La spécification et l'application des contraintes d'intégrité.
Modélisation Merise : TD 1 Modèle entité association et modèle relationnel Correc
Télécharger PDFIntroduction au Modèle Entité-Association et au Modèle Relationnel
Ce document présente des corrections d'exercices sur la modélisation de bases de données, en utilisant le Modèle Conceptuel de Données (MCD) et le Modèle Logique de Données (MLD). Les exercices abordent diverses problématiques allant de la gestion de bibliothèques aux systèmes aéroportuaires, en passant par les agences de voyages et les musées.
Exercice 1 : Bibliothèque
Modèle Conceptuel de Données (MCD)
Le schéma entité-association (utilisant la notation UML) est omis mais les contraintes d'intégrité sont définies comme suit :
Contraintes d'intégrité
- Pour chaque occurrence d'emprunt, si la date de retour existe, elle doit être supérieure ou égale à la date d'emprunt.
- Pour chaque ouvrage, la date d'achat doit être inférieure à la date d'emprunt de toutes les occurrences d'emprunt qui lui sont liées.
- À une date donnée, un exemplaire ne peut être emprunté que par un seul emprunteur.
- Un exemplaire emprunté doit être rendu dans les 14 jours, faute de quoi un retard est constaté.
Modèle Logique de Données (MLD)
Le schéma relationnel est le suivant, avec l'application des contraintes d'intégrité précédemment définies :
- Auteur(numAuteur, nom, prenom)
- Editeur(numEditeur, nomEditeur, adresseEditeur)
- Ouvrage(numOuvrage, titre, #numEditeur)
- Motcle(numMot, mot)
- Exemplaire(numExemplaire, position, dateAchat, #numOuvrage)
- Emprunteur(numEmprunteur, nomEmprunteur, adresseEmprunteur, telephone)
- Ecrit(#numAuteur, #numOuvrage)
- Caracterise(#numOuvrage, #numMot)
- Emprunte(#numExemplaire, #numEmprunteur, dateEmprunt, dateRetour)
Exercice 2 : Éditeur
MCD
Le Modèle Conceptuel de Données n'est pas détaillé dans cette section.
Contraintes d'intégrité
Les contraintes d'intégrité spécifiques à cet exercice ne sont pas précisées.
MLD
Le Modèle Logique de Données n'est pas détaillé dans cette section, mais il est soumis aux contraintes d'intégrité mentionnées.
Exercice 3 : Entreprise
MCD
Le Modèle Conceptuel de Données n'est pas détaillé dans cette section.
Contraintes d'intégrité
Des contraintes sont appliquées sur les dates, les quantités et les montants :
- Pour un produit et un dépôt donné, la quantité en stock (QIS) doit être supérieure ou égale à la quantité de stock minimum (QTD).
- Pour une commande et un produit donné, la quantité totale commandée (QTC) doit être supérieure ou égale à la quantité totale facturée (QTF) sur toutes les factures concernées.
- Pour une commande, la date de la commande (DAC) doit être inférieure ou égale à la date de la plus ancienne facture (DAP) associée.
MLD
Le schéma relationnel est le suivant, avec l'application des contraintes d'intégrité précédemment définies :
- Produit(NOP, LIB, PU)
- Depot(NOD)
- Client(NOCLI, NOM, ADR, CA, RED, #NODprimaire, #NODsecondaire)
- Commande(NOCOM, DAC, #NOCLI)
- Facture(NOF, DAP, MOF, #NOCOM)
- Stocke(#NOP, #NOD, QIS, QTD)
- CompositionCommande(#NOCOM, #NOP, QTC, DEL, CL)
- CompositionFacture(#NOF, #NOP, QTF, MOP)
Exercice 4 : Organisation de réceptions
Modèle Logique de Données (MLD)
Le schéma relationnel pour l'organisation de réceptions est le suivant :
- Personne(IdPers, Nom, Prénom, Sexe, Age, Profession)
- TypePlat(IdTypePlat, NomTypePlat)
- Plat(IdPlat, NomPlat, #IdTypePlat)
- Vin(IdVin, Région, TypeVin)
- Accorde(#IdPlat, #IdVin)
- Réception(IdRéception, Date)
- EstServi(#IdPlat, #IdRéception)
- Participe(#IdPersonne, #IdRéception)
- Apprécie(#IdPlat, #IdPersonne)
- Déteste(#IdPlat, #IdPersonne)
- EstAmi(#IdPersonne1, #IdPersonne2)
- EstEnnemi(#IdPersonne1, #IdPersonne2)
Exercice 5 : Salle de concert
MCD
Il est supposé que le nom d'une œuvre est unique. L'attribut « rôle » indique l'instrument joué (par exemple, « violon », « contrebasse »).
Contraintes d'intégrité
- Le nombre de places réservées (`nb_places_réservées`) pour un concert donné doit être inférieur ou égal à la capacité de la salle où a lieu le concert.
MLD
Le schéma relationnel est le suivant, avec l'application des contraintes d'intégrité précédemment définies :
- Etablissement(id_établissement, nom, adresse)
- Salle(id_salle, capacité, #id_établissement)
- Concert(id_concert, date, nb_places_réservées, #id_salle)
- Œuvre(id_oeuvre, nom)
- Musicien(id_musicien, nom, prénom)
- Compose(#id_musicien, #id_oeuvre)
- Joue(#id_concert, #id_oeuvre, #id_musicien, rôle)
Exercice 6 : Agence de voyages
MCD
Le Modèle Conceptuel de Données n'est pas détaillé dans cette section.
Contraintes d'intégrité
- Pour un circuit donné, `dateArrivee` doit être supérieure à `dateDepart`.
- Pour la réservation d'un circuit donné, la date de réservation (`date`) doit être antérieure à `dateDepart`.
- Un accompagnateur ne peut guider qu'un seul circuit sur une période donnée.
- L'accompagnateur d'un circuit doit parler la langue du pays (ou de la ville) de destination. De même, il doit parler une langue comprise par chaque participant au circuit.
Remarque : « Pays » pourrait être considéré comme une entité distincte.
MLD
Le schéma relationnel est le suivant, avec l'application des contraintes d'intégrité précédemment définies :
- Client(idClient, nom, adresse, telephone)
- Accompagnateur(idAccompagnateur, nom, adresse, téléphone)
- Langue(idLangue, nom)
- Circuit(idCircuit, prix, dateDepart, dateArrivee, nbPlacesDispo, #nomVille, #idAccompagnateur)
- Ville(nomVille, pays, hotel)
- Lieu(idLieu, adresse, heureOuv, prix, #nomVille)
- Specialite(idSpec, nom, type, #nomVille)
- Parle(#idAccompagnateur, #idLangue)
- Reserve(#idClient, #idCircuit, date)
Exercice 7 : Gestion du personnel
Schéma entité-association
Le schéma entité-association n'est pas détaillé dans cette section.
Contraintes d'intégrité
Les contraintes d'intégrité spécifiques à cet exercice ne sont pas précisées.
Schéma relationnel
Le schéma relationnel n'est pas détaillé dans cette section, mais il est soumis aux contraintes d'intégrité mentionnées.
Exercice 8 : Vidéo club
MCD
Il est supposé qu'un film est réalisé par un seul réalisateur.
Contraintes d'intégrité
- Un client doit verser une caution.
- Au maximum, un client ne peut emprunter qu'entre un et six DVD simultanément, selon le montant de sa caution.
- Un DVD emprunté doit être rendu dans les 3 jours.
- Pour un DVD donné, `dateMiseService` doit être antérieure à `dateEmprunt`.
MLD
Le schéma relationnel est le suivant, avec l'application des contraintes d'intégrité précédemment définies :
- Client(idClient, nom, prenom, #idAdresse, #idCaution)
- Adresse(idAdresse, rue, cp, ville)
- Caution(idCaution, montant, nbMaxDVD)
- Emprunt(#idExemplaireDVD, #idClient, dateEmprunt, dateRetour)
- ExemplaireDVD(idExemplaireDVD, dateMiseService, etat, #idFilm, #idMagasin)
- Magasin(idMagasin, nom, ville)
- Film(idFilm, titre, duree, #idGenre, #idRéalisateur)
- Genre(idGenre, nom, typePublic)
- Réalisateur(idRéalisateur, nom, prenom)
- JouePar(#idFilm, #idActeur)
- Acteur(idActeur, nom, prenom)
Exercice 9 : Aéroport
MCD
Il est supposé que le numéro de brevet est unique et peut donc être utilisé comme clé primaire pour l'entité « Pilote ».
Contraintes d'intégrité
- Un mécanicien ne peut effectuer des interventions (en tant que vérificateur ou réparateur) que sur les types d'avions pour lesquels il est habilité.
MLD
Le schéma relationnel est le suivant, avec l'application des contraintes d'intégrité précédemment définies :
- Avion(immatriculation, dateAchat, #numProprio, #numType)
- Proprietaire(numProprio, nomProprio, adresseProprio, telephoneProprio, categorie)
- Type(numType, nomType, puissance, nbPlaces, #numConstructeur)
- Constructeur(numConstructeur, nomConstructeur)
- Pilote(numBrevet, nomPilote, adressePilote, telephonePilote)
- Mecanicien(numMecano, nomMecano, adresseMecano, telephoneMecano)
- Intervention(numIntervention, objet, date, duree, #numMecanoR, #numMecanoV, #immatriculation)
- EstHabilitePilote(#numBrevet, #numType, nbVols)
- AHabilitationMecano(#numMecano, #numType)
Exercice 10 : Musées
MCD
Il est supposé que le nom d'un musée est unique, ainsi que le titre d'une œuvre (sinon, un attribut `numOeuvre` serait nécessaire). Il est également supposé qu'une œuvre est composée d'une seule matière et qu'un artiste possède une seule nationalité.
Contraintes d'intégrité
- L'année de parution d'une œuvre ne doit pas être antérieure à la date de naissance ni postérieure à la date de décès de tous ses auteurs.
- La période de vie d'un artiste doit avoir une intersection avec la période des courants artistiques auxquels il a participé.
MLD
Le schéma relationnel est le suivant. Il est permis d'ajouter des identifiants (comme `id` ou `num`) en tant que clés primaires pour certaines tables, avec l'application des contraintes d'intégrité précédemment définies :
- Oeuvre(numOeuvre, titre, année, dimensions, #numType, #numMat, #numCourant)
- Type(numType, nomType)
- Matière(numMat, nomMat)
- Exemplaire(numéro, #numOeuvre, #numMusee)
- Musée(numMusée, nomMusée, #numVille)
- Ville(numVille, nomVille)
- CourantArtistique(numCourant, nomCourant, début, fin, descriptionCourant)
- Artiste(numArtiste, nomArtiste, prenom, dateNaissance, dateDeces, #numNationalite, descriptionArtiste)
- Nationalité(numNationalité, nomNationalité)
- Auteur(#numOeuvre, #numArtiste)
- Participe(#numCourant, #numArtiste)
Exercice Bonus : SGBDOO
Schéma entité-association
Le schéma entité-association n'est pas détaillé dans cette section.
Contraintes d'intégrité
Les contraintes d'intégrité spécifiques à cet exercice ne sont pas précisées.
Schéma relationnel
Le schéma relationnel n'est pas détaillé dans cette section, mais il est soumis aux contraintes d'intégrité mentionnées.
Foire Aux Questions (FAQ) sur la Modélisation de Données
Qu'est-ce que le Modèle Conceptuel de Données (MCD) et le Modèle Logique de Données (MLD) ?
Le MCD représente la structure des données de manière abstraite et indépendante de toute implémentation technique, en utilisant des entités, associations et cardinalités. Le MLD, dérivé du MCD, traduit cette structure en un ensemble de tables (relations), d'attributs et de clés, spécifiquement pour un modèle relationnel, en vue de l'implémentation dans une base de données.
Pourquoi les contraintes d'intégrité sont-elles importantes dans une base de données ?
Les contraintes d'intégrité garantissent la cohérence et la validité des données stockées dans la base. Elles définissent des règles qui empêchent l'insertion, la modification ou la suppression de données qui violeraient la logique métier ou la structure de la base, assurant ainsi la fiabilité des informations.
Comment sont identifiées les relations entre les tables dans un MLD ?
Les relations entre les tables dans un MLD sont identifiées par des clés étrangères (Foreign Keys, notées souvent avec un "#" suivi du nom de la clé primaire de la table liée). Une clé étrangère dans une table fait référence à la clé primaire d'une autre table, établissant ainsi un lien entre elles et permettant de joindre les données.