TD1 : MODÉLISATION CONCEPTUELLE
Notions de cours :
1. Donner 2 avantages d'un SGBD par rapport d’un système de gestion de fichiers classique ?
• Une grande flexibilité
• L’intégrité et la cohérence des données.
• Une gestion simple des grands ensembles de données
2. Qui Intervient sur une base de données ?
• L’administrateur.
• Les programmeurs d’application.
• Les utilisateurs finaux.
Exercice 1
A partir de ce diagramme, répondre aux questions suivantes :
Client Réservation Chambre
Numéro 1,n 1,1 Numéro 1,1 0,n Numéro
Effectue Correspond à
Nom Prix
Date
Prénom
1,1
Hôtel
1,n
Nom Appartient à
1. Est-il possible d'avoir des clients qui ont même nom ?
Adresse
Oui, il est possible car les identifiants c'est le numéro de client.
2. Un client peut-il réserver plusieurs chambres à une date donnée ?
Oui, il est possible car le client peut effectuer un ou plusieurs réservations.
3. Est-il possible de réserver une chambre sur plusieurs jours ?
Oui, il est possible car le client peut réserver la même chambre si la date n'est pas la même.
4. Est-il possible de savoir si une chambre est libre à une date donnée ?
Oui, il est possible car la réservation est liée à une seule chambre dans une date donnée.
5. Est-il possible de réserver plusieurs fois une chambre à une date donnée ?
Oui, il est possible que faire plusieurs réservations.
6. Proposer un schéma relationnel correspondant au diagramme ?
Client (Numéro, Nom, Prénom) ;
Réservation (Numéro, Date, #N°Chambre, #N°Client) ;
Chambre (Numéro, Prix, #Nom) ;
Hôtel (Nom, Adresse) ;
Exercice 2
1. Construire le modèle Entité-Association relatif au système d'information de participation des
employés aux différents projets.
Pour cela, on vous donne les informations suivantes :
➢ Tout employé est caractérisé par son numéro (Num-E), son nom, sa fonction son salaire, ainsi que to
service auquel il est affecté
Un employé to peut travailler que dans un seul service.
➢ Un service est identifié par un numéro (Num-S) et il est caractérisé par son libellé, son étage ainsi
que to nom de son chef. Un service possède plusieurs employés.
➢ Un projet est identifié par un numéro de projet (Num-P) et il est caractérisé par le titre du projet, la
date de début du projet, la date de fin du projet ainsi que le service pour lequel il affecté.
Un projet est spécifique à un service et un service peut avoir plusieurs projets.
➢ On cherche aussi à savoir le rôle de chaque employé dans un projet.
Réponse :
Employé Service Projet
Num-E 1,1 Travaillé 1,n Num-S 1,n 1,1 Num-P
Spécifie
Nom Chef
Libellé Titre
Fonction Date-
Etage
début
Salair
1,n Date-fin
1,n
Effectue
Rôle
2. Etablir le diagramme relationnel
Schéma relationnel :
Employé (Num-E, Nom, Fonction, Salair, #Num-S) ;
Service (Num-S, Libellé, Etage) ;
Projet (Num-P, Titre, Date-début, Date-fin, #Num-S) ;
Effectue (#Num-E, #Num-P, Rôle) ;
Travaillé (#Num-E, #Num-S, Chef) ;
Exercice 3 : Gestion d'une scolarité
La scolarité d'un institut d'enseignement supérieur veut gérer avec une base de données les inscriptions des
étudiants, les emplois du temps, les résultats des examens, etc. Lors de son inscription, l'étudiant reçoit un
numéro unique et sera affecté à une classe.
• Chaque étudiant est décrit par son numéro, son nom, sa date de naissance et son adresse.
• Un enseignant, identifié par son matricule, peut enseigner plusieurs matières å une même
classe.
Le coefficient d'une matière peut changer d'un niveau à un autre et d'une discipline à une autre. L'institut
conserve pour chaque étudiant, la note du devoir surveiller ainsi que la note obtenue à l'examen final de
chacune des matières étudiées. L'institut mémorise pour chaque enseignant son nom, son adresse, son
numéro de téléphone et son relevé d'identité bancaire (RIB).
1. Etablir le schéma Entité/Association de cette base de données
etudiant enseignant
etudier matière
Numéro_Etd 1,n 1,n 1,n 1,n Matricule
Note_devoir Code_mat enseigné
Nom_Etd
Note_finale Libellé Nom_Ens
Date_naiss
Coeff Adresse
Adresse
1,1 Numéro_tél
Niveau effectuer
1,n RIB
1,1
discipline
Appartient
Code_discip
1,n Nom_discip
classe
Numéro_class
2. Etablir le modèle relationnel
Etudiant (Numéro_Etd, Nom_Etd, Date_naiss, Adresse, Niveau, #numéro_class, #Code_discip)
Matière (Code_mat, Libellé)
Enseignant (Matricule, Nom_Ens, Adresse, Numéro_tél, RIB)
Discipline (Code_discip, Nom_discip)
Classe (numéro_class)
Etudier (# Numéro_Etd, #Code_mat, Note_devoir, Note_finale, Coeff)
Enseigné (#Code_mat, #Matricule)
Exercice 4 :
La base de données ci-dessous est construite dans le but de stocker les informations concernant les produits,
les achats et les clients d'un commerçant. Remarquer que Prix Produit est le prix unitaire actuel du produit
alors que Prix Unit est le prix unitaire de vente du produit.
FACTURE [NumAchat, Date, CodeProduit, NomProduit, PrixUnit, PrixProduit, Quantite,
NumClient, NomClient, Adresse]
• Donnez des exemples de chaque type (insertion, suppression et modification) d'anomalie que nous
pouvons avoir dans ce schéma.
L’anomalie d’insertion :
Pour insérer un autre enregistrement (une autre ligne), il faut impérativement connaitre les
valeurs de l’ensemble des attributs obligatoires de la relation, et il faut que chaque valeur
respecte le domaine (type des données) de son attribut, sinon on ne peut ajouter ce nouvel
enregistrement.
L’anomalie de suppression :
Lorsque des informations dépendent de l’existence d’autres informations, on ne peut pas supprimer
ces informations sans perdre définitivement d’autres informations.
L’anomalie de modification :
Lorsqu’il y a une redondance des données, une modification sur un enregistrement peut engendrer la
modification d’autres enregistrements qui comportent des données en commun.
• Imaginons maintenant qu'en plus du schéma ci-dessous, nous avons aussi les informations suivantes :
✓ Le numéro du client sert à identifier de manière unique un client.
✓ Un client peut faire plusieurs achats.
✓ Un achat est identifié par son numéro. Nous savons alors le code du client qui a fait cet achat et
la date.
✓ Avec le numéro de l’achat et le code du produit acheté, nous pouvons savoir aussi son prix
unitaire de vente et la quantité achetée.
✓ Chaque produit est identifié de manière unique par un code.
client facture produit
Associe
Num_client 1,n 1,1 Num_facture 1,n 0,n Code_produit
Faire Prix_unitaire
Nom_client Prix_produit
Date_facture
Quantité
Adress Nom_produit
• À partir de cette situation, proposer un autre schéma relationnel pour notre base de données, Justifiez
les avantages de votre schéma et faire un diagramme E/R correspondant à ce schéma.
➢ Modèle relationnel
Client (Num_client, Nom_client, Adress)
Facture (Num_facture, Date_facture, #Num_client)
Produit (Code_produit, Prix_produit, Nom_produit)
Associe (#Num_facture, #Code_produit, Prix_unitaire, Quantité)
➢ Les avantages de modèle relationnel
o D'une part, il dispose de processus qui évitent la duplication des données.
o De plus, il permet la normalisation.
o D'autre part, il garantit l'intégrité référentielle en éliminant tout ce qui concerne un
enregistrement lorsque cela est nécessaire.
Exercice 5 :
Soit le modèle entité-association suivant :
Contrat Client
Numéro du contra 1,1 1,N Numéro du client
est passé par
Type du contrat Nom du client
Date du contrat Adresse
# Numéro du client CP
Ville
Un contrat est passé par un client et un seul. Un client peut passer plusieurs contrats.
1. Quelle critique formelle pouvez-vous faire au MCD présenté ci-dessous ?
Au modèle MCD ne peut pas ajouter de clé étrangère et pas des espaces dans les attributs et les
noms des entités en minuscule, l’attribut adresse contient la ville et CP.
2. Proposez un modèle corrigé.
contrat client
Numéro_contra 1,1 1,N Numéro_client
est passé par
Type_contrat Nom_client
Date_contrat Adresse
Exercice 6 :
Soit, le Système d'Information représentant une activité de gestion des abonnés d’une Newsletter
suivant : "Un abonné est inscrit à une ou plusieurs rubriques. Chaque rubrique envoie une Newsletter
chaque semaine aux abonnés de la rubrique correspondante. Un abonné a une motivation d'inscription
parmi plusieurs possibles." Un Abonné est caractérisé par s0n nom, son prénom, son âge, son sexe, sa
profession, sa rue, son code postal, sa ville, son pays, son téléphone et son email. Une Newsletter est
caractérisée par son sujet, 8a date d'envoi et son contenu. Une Motivation est caractérisée par son
intitulé, Une Rubrique est caractérisée par son nom.
(1) Identifier les entités présentes
(2) Lister les propriétés des entités
(3) Etablir les relations entre les différentes entités
(4) Identifier les cardinalités
abonné newsletter
rubrique
Num_abboné 1,n 1,n Code_rubrique 1,n 1,1 Code_newsletter
inscrit contient
Nom Sujet
Nom_rubrique
Prenom Date_entré
Age Contenu
Sexe 1,1
Profession motivation
avoir 0,n
Rue Num_motivation
CP Intitulé
Ville
Paye
(5) Modèle relationnel
Abonné (Num_abboné, Nom, Prenom, Age, Sexe, Profession, Rue, CP, Ville, Paye, #Num_motivation)
Rubrique (Code_rubrique, Nom_rubrique)
Motivation (num_motivation, Intitulé)
Newsletter (Code_newsletter, Sujet, Date_entré, Contenu, #Code_rubrique)
Inscrit (#Num_abboné, #Code_rubrique)
Exercice 7 :
On vous donne un schéma E/A (figure 1) représentant des visites dans un centre médical. Répondez aux
questions suivantes en fonction des caractéristiques de ce schéma.
1. Un patient peut-il effectuer plusieurs visites ?
Oui,
Un patient peut assister à plusieurs consultations,
2. Un médecin peut-il recevoir plusieurs patients dans la même consultation ?
Non,
Une consultation ne peut être donnée que par un seul médecin. De même, un seul patient ne peut assister à
une consultation.
3. Peut-on prescrire plusieurs médicaments dans une même consultation ?
Oui,
Un patient peut assister à plusieurs consultations,
4. Deux médecins différents peuvent-ils prescrire le même médicament ?
Oui,
Deux ou plusieurs médecins peuvent donner la même consultation Et deux ou plusieurs consultations
différentes peuvent contient le même médicament.
5. Convertir le modèle entité association en modèle relationnel ?
Patient (nump, nom)
Médicament (code, libellé)
Consultation (numc, date, #matricule, #nump)
Prescrire (#code, #numc, nb_prise)
Médecin (matricule, nom)
Exercice 8
Une société de tourisme souhaite concevoir suivre son activité d'excursion en bus. Le suivi portera sur les
clients qui ont réservé des trajets, sur les différentes excursions existantes, sur les bus de la société ou
affrétés, sur le personnel de la société et d'affecter un chauffeur et une hôtesse A chaque excurssion. Il est
demandé d'identifier les clients ainsi que leurs coordonnées ainsi que leurs réservations. Chaque excurssion
est identifiée par un nom et un libellé, son point de départ, son lieu, sa durée, son prix, ses dates. Pour le
personnel il s'agit de connaitre outre ses coordonnées personnelles, sa qualification et sa fonction et son
poste. Pour les bus, leurs descriptifs est requis.
1. Établir le diagramme du modèle Entité-Association
Client Personnel
Num_client Num_personnel
Nom 0.n Nom
Affecté
Prénom
Prenom
Adresse
1.n Qualification
Télé
Excursion Fonction
Réservation
Num_excursion Poste
1.n
Nom
Bus
Libellé
Réservé 0.n 1.1 1.n Matricule
Point_dépot Affecté
Trajet Nom
Date
Libellé
Lieu
Duré
Prix
2. Convertir le modèle EA en modèle relationnel
Client (Num_client, Nom, Prénom, Adresse, Télé, Réservation)
Excursion (Num_excursion, Nom, Libellé, Point_dépot, Date, Lieu, Duré, Prix, # Matricule)
Personnel (Num_personnel, Nom, Prenom, Qualification, Fonction, Poste)
Bus (Matricule, Nom, Libellé)
Réservé (#Num_excursion, #Num_client, Trajet)
Affecté (#Num_personnel, #Num_excursion)
Exercice 9
Soit le schéma entité-association suivant : Il s'agit du système de réservation d'un groupe hôtelier disposant
d'une centrale de réservation nationale.
1. Déterminer les cardinalités minimale et maximales de chaque entité.
Les règles de gestion sont les suivantes :
➢ Un client fait une réservation déterminée pour un hôtel, une chambre et dispose d'une date de début et
une date de fin d'occupation.
➢ Un client peut réserver plusieurs chambres à la même date mais il doit réserver au moins une chambre.
➢ Un hôtel contient plusieurs chambres de différents types (single, double, …etc.)
➢ Chaque hôtel correspond à une catégorie particulière (*, **, ***, …etc.)
2. Le modèle relationnel.
Client (Code_Client, Nom_Client, Adr_Client)
Hôtel (Code_Hotel, Nom_Hotel, Adresse_Hotel, Catégorie_Hotel)
Chambre (Code_Chambre, Etage, Type, Nombre_Lit)
Réservation (#Code_Client, #Code_Hotel, #Code_Chambre, Date_début, Date_fin)