Vous êtes sur la page 1sur 27

Université Abdelmalek Essaâdi

Faculté des Sciences et Techniques d’Al-Hoceima


Département de physique
Master Sciences et Techniques Systèmes Embarqués et Robotique (MST-SER)
Année universitaire : 2021 - 2022

Corrigé des TD 1, TD2 et TD 3


du Module M44 : « Bases de données avancées »
TD n° 1:
Exercice n° 1 :

 Une société chargée de la gestion d’un parking désire modéliser la base de données d’un système automatique de
contrôle d’entrée/sortie des véhicules dans le parking.

 Chaque utilisateur du parking (locataire) a un émetteur de signal (un transmetteur FM intégré dans sa voiture) qui sert un
code d'accès pour pouvoir entrer dans le parking. Le signal venant de la voiture est décodé et traité à l’aide d’un
microcontrôleur. Ce dernier commande l’ouverture d’une barrière en cas de succès du traitement (c’est-à-dire que le
signal envoyé est le bon). Un locataire, qui peut louer une ou plusieurs places à un montant de loyer donné, est
caractérisé par son nom, son prénom, son numéro de tél, et son adresse.

 Le système permet également la gestion des aires de stationnement en récupérant les numéros de places disponibles
dans le parking et en affichant les numéros de places disponibles sur un écran. Une place dans le parking se caractérise
par son numéro, son secteur, sa surface et son état. Chaque place appartient à un secteur décrit par son nom et son type.
Certains secteurs sont couverts, d’autres non.

 Un véhicule, reconnu par son numéro d’immatriculation, son code et ses dimensions, est garé habituellement dans une
place à une date et pendant une durée donnée. La société chargée de la gestion du parking accepte un maximum de deux
véhicules pouvant se garer alternativement dans une place donnée. Un même véhicule est autorisé à se garer dans
plusieurs places.
TD n° 1 :
Exercice n° 1 :

 1) Règles de gestion
◼ RG1 : Un locataire peut louer une ou plusieurs places.

◼ RG2 : Au maximum deux véhicules pouvant se garer alternativement dans une place donnée.

◼ RG3 : Un véhicule est autorisé à se garer dans plusieurs places.

 2) Dictionnaire de Données :
Locataires Voitures Places Secteurs
◼ Identification des entités :

◼ Identification des attributs :


 2) Dictionnaire de Données : Locataires Voitures Places Secteurs

◼ Identification des attributs :


Nom Propriétés Type Nature Description Observation
Immatriculation Char(10) Elémentaire Immatriculation du véhicule Identifiant
CodeFM Int(6) Elémentaire Code d'accès pour pouvoir entrer dans le parking Code d'accès servi par le transmetteur FM
Longueur Float(2) Elémentaire Longueur du véhicule 2 chiffres après la virgule
Largeur Float(2) Elémentaire Largeur du véhicule 2 chiffres après la virgule
N°_Locataire Int(10) Elémentaire Numéro du locataire Identifiant
Nom _Locataire Char(30) Elémentaire Nom du locataire
Prénom_Locataire Char(30) Elémentaire Prénom du locataire
Adresse_Locataire Char(100) Elémentaire Adresse du locataire Constituée du : N°, rue, ville, code postal.
Tél_Locataire Char(30) Elémentaire Numéro de tél du locataire Numéro WhatsApp autorisé également
N°_Place Int(100) Elémentaire Identifiant
Surface_Place Float(2) Elémentaire Surface de la place La surface est calculée en m²
Etat_Place Boolean Elémentaire Etat de la place (disponible, indisponible) Valeurs possibles : O, N
N°_Secteur Int(100) Elémentaire Numéro du secteur Identifiant
Nom_Secteur Char(30) Elémentaire Nom du secteur
Type_Secteur Char(20) Elémentaire Type du secteur
Couverture_Secteur Boolean Elémentaire Dessine si le secteur est couvert ou non Valeurs possibles : O, N
Montant_loyer Monnaie Elémentaire Prix de location de la place pendant 1 heure Le prix est en Dirhams
Date Date Elémentaire Date de stationnement de la voiture Format : jj/mm/aaa
Durée Float(2) Elémentaire Durée de stationnement de la voiture Format : hh:mm
 3) Graphe de DF :
Locataires Voitures Places Secteurs
◼ Identification des attributs :

N°_Locataire

Immatriculation
Adresse_Locataire
Date, Durée Tél_Locataire Prénom_Locataire

Nom _Locataire
CodeFM
Largeur
Longueur
Montant_loyer

N°_Secteur
N°_Place
Type_Secteur
Nom_Secteur
Etat_Place Surface_Place
Couverture_Secteur
 4) MCD :

Voitures Locataires
Immatriculation N°_Locataire
CodeFM Louer 1, n Nom _Locataire
Longueur Montant_loyer Prénom_Locataire
Largeur Adresse_Locataire
1, n Tél_Locataire
Garer
Date
Durée

0, 2 0, 1
Places Secteurs
Appartenir N°_Secteur
N°_Place
Nom_Secteur
Surface_Place 1, 1 1, n Type_Secteur
Etat_Place Couverture_Secteur
 5) MLD :
Voitures (Immatriculation, CodeFM, Longueur, Largeur)
Locataires (N°_Locataire, Nom _Locataire, Prénom_Locataire, Adresse_Locataire, Tél_Locataire)
Places (N°_Place, Surface_Place, Etat_Place, Montant_Loyer, #N°_Locataire, # N°_Secteur)
Secteurs (N°_Secteur, Nom_Secteur, Type_Secteur, Couverture_Secteur)
Garer (#Immatriculation, #N°_Place, Date, Durée)
 6) Formes normales des relations :

Voitures (Immatriculation, CodeFM, Longueur, Largeur) 2FN

Voitures (Immatriculation, Longueur, Largeur)


CodesVoitures (Immatriculation, CodeFM)

Locataires (N°_Locataire, Nom _Locataire, Prénom_Locataire, Adresse_Locataire, Tél_Locataire) 3FN


Place (N°_Place, Surface_Place, Etat_Place, Montant_Loyer, #N°_Locataire, # N°_Secteur) 3FN
Secteurs (N°_Secteur, Nom_Secteur, Type_Secteur, Couverture_Secteur) 3FN

Garer (#Immatriculation, #N°_Place, Date, Durée) 3FN


TD1 : Exercice n° 2
TD1 : Exercice 2
 Soit le Modèle Logique de Donnée (MLD) d'une mini application de gestion d'une école.

− Elèves (No_Elève, Nom_E, Prénom_E, Date_naissance, Année_scolaire, #Nom_Classe)


− Classes (Nom_Classe, Cycle)
− Professeurs (Code_Prof, Nom_Pr, Prénom_Pr)
− Matières (Code_Matière, Libellé)
− Enseignements (#Code_Prof, #Code_Matière, #Nom_Classe, semestre)

 Transformer le MLD en Modèle Conceptuel de Données (MCD).


TD1 : Exercice 2
Réponse :
 MLD : − Elèves (No_Elève, Nom_E, Prénom_E, Date_naissance, Année_scolaire, #Nom_Classe)
− Classes (Nom_Classe, Cycle)
− Professeurs (Code_Prof, Nom_Pr, Prénom_Pr)
− Matières (Code_Matière, Libellé)
− Enseignements (#Code_Prof, #Code_Matière, #Nom_Classe, Semestre)
 MCD :
Professeurs
Elèves Classes
1,1 S’inscrire 1,n Enseigner Code_Prof
No_Elève Nom_Classe
Nom_E Année_Scolaire Cycle 1,n Semestre 0,n Nom_Pr
Prénom_Pr
Prénom_E
Date_naissance
0,n
Matières
Code_Matière
Libellé
TD 2
TD2 : Exercice n° 1 :
Enoncé

 Le système informatique d’une université utilise les données suivantes :

▪ Pour chaque étudiant : son numéro de matricule, nom, prénom et son adresse (rue, numéro, cp, ville).
▪ Pour chaque cours : le code, l’intitulé et un petit résumé.
▪ Pour chaque professeur : son numéro de matricule, son titre, son nom, son prénom, et son adresse.

 De plus, le système doit savoir quels sont les cours que chaque étudiant suit, le professeur titulaire de
chaque cours, la filière choisie par chaque étudiant et pour chaque filière (dont on retient le nom et le code) le
professeur la dirigeant.

1) Donner un modèle entité-association de ce système et préciser les contraintes d’intégrité.


2) Traduire le modèle entité-association en modèle relationnel.

Pr. A. El Mhouti 13 FSTH


TD2 : Exercice n° 1
Solution

1) MCD :
TD 2 : Exercice n° 1 :
Solution

2) MLD :

• Etudiants(Matricule_etud, Nom, Prenom, Rue, Numéro, CodePostal, Ville, #Code_Filière)


• Cours(Code_Cours, Intitulé, Résumé, #Matricule_prof)
• Professeurs(Matricule_prof, Titre, Nom, Prenom, Rue, Numéro, CodePostal, Ville)
• Filières(Code_Filière, Nom, #Matricule_prof)
• EtudiantCours(#Matricule_etud, #Code_Cours)
TD 2 : Exercice n° 2 :
Enoncé

 On vous donne un schéma E/A suivant


représentant des visites dans un centre
médical.

 Répondez aux questions suivantes en


fonction des caractéristiques de ce schéma
(indiquez si la situation décrite est
représentable, indépendamment de sa
vraisemblance).
1) Un patient peut-il effectuer plusieurs visites ?
2) Un médecin peut-il recevoir plusieurs patients dans la même consultation ?
3) Peut-on prescrire plusieurs médicaments dans une même consultation ?
4) Deux médecins différents peuvent-ils prescrire le même médicament ?
TD 3
TD3/Exercice n° 1 :
Enoncé

 On considère une relation R construite sur les attributs suivants :


R(Propriétaire, Occupant, Adresse, Noapt, Nbpièces, Nbpersonnes).
 Un nuplet (p, o, a, n, nb1, nb2) ayant la signification suivante : la personne o habite avec nb2
personnes dans l'appartement de numéro n ayant nb1 pièces dont le propriétaire est p.
 Une analyse de cette relation nous fournit un ensemble initial F de dépendances fonctionnelles :
- Occupant --> Adresse
- Occupant --> Noapt
- Occupant --> Nbpersonnes
- Adresse, Noapt --> Propriétaire
- Adresse, Noapt --> Occupant
- Adresse, Noapt --> Nbpièces

1) Donner la fermeture transitive F+ engendrée par l’ensemble F.


2) Quelles sont les clés potentielles de la relation R ?
3) La relation R est-elle en 3ème forme normale ?
TD3/Exercice n° 1 :
Réponse

1) Fermeture transitive F+ engendrée par l’ensemble F :


On a :
▪ Occupant --> Adresse
▪ Occupant --> Noapt
➔ donc suivant la propriété d’union : Occupant --> Adresse, Noapt
Par transitivité, on déduit donc :
▪ Occupant --> Propriétaire
▪ Occupant --> Nbpièces

De même, on a :
▪ Adresse, Noapt --> Occupant
➔par transitivité, on a : Adresse, Noapt --> Nbpersonnes
▪ Occupant --> Nbpersonnes

➔F+=F U { Occupant --> Propriétaire, Occupant --> Nbpièces, Adresse, Noapt --> Nbpersonnes }
TD3/Exercice n° 1 :
Réponse

2) Les clés potentielles de la relation R :


Une clé potentielle est une clé candidate à être identifiant d’une relation.

Par transitivité, on a :
▪ Occupant --> Propriétaire
▪ Occupant --> Nbpièces
D’où : Occupant --> Adresse, Noapt, Nbpersonnes, Propriétaire, Nbpièces

De même, par transitivité, on déduit que : Adresse, Noapt --> Nbpersonnes


D’où : Adresse, Noapt --> Propriétaire, Occupant, Nbpièces, Nbpersonnes

➔ Les clés potentielles de R sont :


▪ Occupant
▪ Adresse, Noapt
TD3/Exercice n° 1 :
Réponse

3) R est-elle en 3ème forme normale? :


 Pour déterminer la FN de R, il faut d'abord distinguer les attributs clés des attributs non clés :
Attributs Clés Attributs Non Clés
Occupant Nbpersonnes, Propriétaire, Nbpièces
Adresse, Noapt

 R est en 1FN (elle a une clé + les attributs sont atomiques)

 R est en 2FN (aucun attribut non clé ne dépend que d’une partie de la clé, c à d : aucun attribut non
clé ne dépend que de Adresse ou Noapt).

 R est en 3FN dans le cas où la clé est occupant (pas de DF entre deux attributs non clés).
TD3/Exercice n° 2 :
Enoncé

 Pour chacune des relations suivantes :


a. R(Cours, Etudiant, Age, Note)
avec DF = {Cours, Etudiant → Note ; Etudiant →Age}

b. R(Etudiant, Examen, Heure)


avec DF = {Heure, Etudiant →Examen ; Examen →Heure}

c. R(Nom-Résident, Adresse, n°Appartement, n°Tel)


avec DF = {Adresse, n°Appartement →Nom-Résident ; Nom-Résident, Adresse →n°Tél}

1) Etablir graphe de dépendances fonctionnelles.


2) Déterminer la ou les clés.
3) Déterminer la forme normale
4) Si ces relations ne sont pas en 3NF, proposer une décomposition optimale de relation 3NF. Identifier
les propriétés de ces décompositions.
TD3/Exercice n° 2 :
Solution

a. R(Cours, Etudiant, Age, Note) avec DF = {Cours, Etudiant → Note ; Etudiant →Age}
1) Graphe de DF : Cours Etudiant Age

Note
2) Clé(s) de R:
 On a : Etudiant →Age, donc par augmentation on aura : Cours, Etudiant →Age, Cours
 Alors : Cours, Etudiant → Note, Age
➔ La Clé de R est donc : Cours, Etudiant Attributs clés Attributs non clés
3) FN de R : Cours, Etudiant Note, Age
 R est en 1FN : R dispose d’une clé (Cours, Etudiant) + les attributs sont atomiques.
 R n’est pas en 2FN : car l’attribut Age dépend d’une partie de la clé (on a la DF : Etudiant →Age)

4) Décomposition optimale en 3NF : − Note (Cours, Etudiant, Note)


− Etudiant (Etudiant, Age)
TD3/Exercice n° 2 :
Solution

b. R(Etudiant, Examen, Heure) avec DF = {Heure, Etudiant →Examen ; Examen →Heure}


1) Graphe de DF : Heure Etudiant

Examen
2) Clé(s) de R :
➔ La Clé de R est donc : Heure, Etudiant

3) FN de R : Attributs clés Attributs non clés


Heure, Etudiant Examen

 R est en 1FN : R dispose d’une clé (Heure, Etudiant) + les attributs sont atomiques.
 R est en 2FN (en 1FN + pas de DFE).
 R est en 3FN (en 2FN + pas d’attribut qui dépend de la clé par transitivité).
TD3/Exercice n° 2 :
Solution

c. R(Nom-Résident, Adresse, n°Appartement, n°Tel)


DF = {Adresse, n°Appartement →Nom-Résident ; Nom-Résident, Adresse →n°Tél}

1) Graphe de DF : n°Appartement Adresse n°Tél

Nom-Résident
2) Clé(s) de R :
 on a :
◼ Adresse, n°Appartement →Nom-Résident
➔ Par pseudo-transitivité :
◼ Nom-Résident, Adresse →n°Tél
(X→Y et Y U W→Z alors X U W→Z)
On déduit : Adresse, n°Appartement → n°Tél

 D’où : Adresse, n°Appartement → Nom-Résident, n°Tel


 La clé est donc : Adresse, n°Appartement
TD3/Exercice n° 2 :
Solution

c. R(Nom-Résident, Adresse, n°Appartement, n°Tel)


avec DF = {Adresse, n°Appartement →Nom-Résident ; Nom-Résident, Adresse →n°Tél}

3) FN : Attributs clés Attributs non clés


Adresse, n°Appartement Nom-Résident, n°Tel

R est en 1FN : R dispose d’une clé (Adresse, n°Appartement) + les attributs sont atomiques.
R n’est pas en 2FN car n°Tel dépend d’une partie de la clé (Nom-Résident, Adresse →n°Tél).

4) Décomposition optimale en 3NF :


•Appartement (Adresse, n°Appartement, Nom-Résident)
•Résident (Nom-Résident, Adresse , n°Tél)

Vous aimerez peut-être aussi