Académique Documents
Professionnel Documents
Culture Documents
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.
2) Dictionnaire de Données :
Locataires Voitures Places Secteurs
◼ Identification des entités :
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 :
▪ 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) MCD :
TD 2 : Exercice n° 1 :
Solution
2) MLD :
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
Par transitivité, on a :
▪ Occupant --> Propriétaire
▪ Occupant --> Nbpièces
D’où : Occupant --> Adresse, Noapt, Nbpersonnes, Propriétaire, Nbpièces
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é
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)
Examen
2) Clé(s) de R :
➔ La Clé de R est donc : Heure, Etudiant
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
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
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).