Vous êtes sur la page 1sur 83

3.

Modèle Conceptuel de Données


Le MCD a pour but de représenter de façon structurée les
données qui seront utilisées par le système d'information.

Les règles de construction du MCD permettent d’aboutir à


une représentation graphique standard qui élimine les
redondances et les ambiguïtés.

1
MCD : Concepts et Définitions
Entité:
 Une entité représente un objet du SI (personne, document,
concept, …), ou plus exactement un ensemble d’objets
ayant les mêmes caractéristiques
(ex : l’entité Livre) ;
 MCD est décrit par un identifiant et une liste de propriétés
qui lui sont spécifiques.
Exemple:
Livre
ISBN Identifiant

Titre
Propriété
Auteur
Edition

2
Relation (association) :
Est un lien entre des entités. Contrairement aux entités, les
associations n'ont pas d’existence propre mais elles peuvent
porter des propriétés.
Les associations sont nommées, généralement à l’aide
d’un verbe d’action.
Une association peut lier plus de deux entités.

3
Exemples :

Association binaire
Client
Commande
CNE
Passer
NumCommande
Nom
Prénom
Tél

4
Association porteur
Etudiant de propriété Livre
CNE ISBN
Emprunter
Nom Titre
Date d’emprunt
Prénom Auteur
Tél Edition

Association ternaire
Employé Service
CNE Code Service
Assurer
Nom NomService
Prénom
Tél

Mission
Code mission
NomMission

5
Associations réflexives
Ce sont des associations qui relient deux fois la même entité.

6
PROPRIETE ou ATTRIBUT :
Donnée élémentaire permettant de décrire une entité ou une
association.
REMARQUES:

• Une entité possède au moins une propriété

• Une association peut ne pas avoir de propriété


Trois types de propriétés :
•Propriété calculée en fonction des autres propriétés:
PrixHT = Quantité * Prix unitaire
• Propriété concaténée : Composée de plusieurs propriétés
Adresse = (CodePostal, Rue, Ville..)
• Propriété élémentaire : Ni calculée, ni concaténée
Nom, prénom, note..
Les propriétés calculées doivent être éliminées du MCD pour réduire l’espace
mémoire de stockage
7
Les propriétés concaténées doivent être éliminées du MCD pour réduire le
temps de recherche des informations
IDENTIFIANT :
Un ou plusieurs attributs de l’entité permettant d’identifier
d’une façon unique toutes les autres propriétés.
L’identifiant est inscrit en tête de la liste est souligné
 Etudiant : CNE, Nom, prénom, filière, date de naissance.
 Véhicule: CodeV, Type, modèle, immatriculation, couleur

Identifiant d’une association : est l’identifiant obtenu par la


concaténation des identifiants des objets participants à
l’association.
Il n’est définie que dans le cas où l’association contient au moins une propriété:
QuantitéCmd = (N°Commande , N°Produit)

8
Représentation graphique

9
Occurrence:
. Occurrence d’une propriété. est une valeur prise par cette propriété ;

Exemple : Considérons l’entité Etudiant caractérisée par les propriétés :


NumEtud, Nom, Prénom, Date de naissance, Note en Arabe et Note en
Anglais.

La propriété Prénom prend les valeurs (occurrences ) : Amine, Latifa, …


. Occurrence d’une entité. un exemplaire de cette entité caractérisé par
un ensemble des valeurs de ses propriétés ;
Exemple: Chaque ligne du tableau est une occurrence de l’entité Etudiant

. Occurrence d’une association est un ensemble formé par une occurrence


de chacune des entités et une occurrence de chacune des éventuelles
propriétés de l’association.
10
Cardinalité:
La cardinalité d’un lien entre une entité et une association
indique le minimum et maximum de fois qu’un individu de
l’entité peut être concerné par l’association. La cardinalité
minimale est de 0 ou 1 ; la cardinalité maximale est de 1 ou n.

Exemple:
une personne habite au moins un logement ;
une personne peut habiter dans plusieurs logements ;
un logement peut être inoccupé ;
un logement peut être habité par plusieurs personnes.

Personne
Logement
CIN
Habiter
NumLog
1,n 0,n
Nom
Superficie
Prénom
Adresse
….
11
Les cardinalités possibles:
0,1 : Chaque occurrence de l’entité est relié à au plus une
occurrence de l’association.
Exemple : Un employé est responsable d’au plus un service.

1,1 : Chaque occurrence de l’entité est relié exactement à une


occurrence de l’association.
Exemple : Un compte bancaire appartient à un et un seul client.

0,n : Chaque occurrence de l’entité est relié à un nombre


quelconque d’occurrence de l’association.
Exemple : Une personne possède 0 ou N voitures.

1,n : Chaque occurrence de l’entité est relié à au moins une


occurrence de l’association.
Exemple : Un enseignant assure au moins un cours.
12
Les dépendances fonctionnelles
Une propriété B dépend fonctionnellement
d’une propriété A lorsque la connaissance de la
valeur de A entraîne la connaissance d’une et
au maximum une seule valeur de B.

Exemple:
CNE  Nom , Prénom
DF

Dépendance fonctionnelle Élémentaire :


DFE
P1  P2 si P1  P2 et aucune partie stricte de P1 n’entraîne P2

Exemples :
DF
CNE , Nom  Prénom Dépendance Fonctionnelle non Elémentaire
DFE
CNE Nom , Prénom Dépendance Fonctionnelle Elémentaire
Dépendance fonctionnelle Élémentaire Directe :

DFED
P1  P2 si
DFE
P1  P2 et si elle n’existe aucune propriété P3 telle que P1  P3 et P3  P2

Pas de transitivités entre deux propriétés


P1 P2

P3
Exemple :

CodeClient  NomClient
NumCommande  CodeClient
NumCommande  NomClient (n’est pas DFED )
Dépendances fonctionnelles composées:
Une dépendance fonctionnelle qui comporte plusieurs attributs est
dite composée.

Exemple:
(NumCommand, Référence)  (Quantité Commandée)
(CNE, CodeMatière)  (Note)
Le Graphe des dépendances fonctionnelles

CNE  Nom, Prénom, Adresse, CP, Ville, Email

CNE

Nom prénom adresse CP VILLE Email


Contrainte d’Intégrité Fonctionnelle (CIF)
Une CIF existe entre les entités A et B si toute occurrence de l’une
détermine obligatoirement une et une seule occurrence de l’autre.
Les entités liées par une CIF constituent une structure de type « Père-
Fils »

Exemple:
Un article (Fils) est fourni par un et un seul fournisseur (Père)

Fournisseur
Article
CodeFor
Fournir
Ref
1,n 1,1
NomFor
Designation
……
Prix

Leur particularité est d’avoir une cardinalité 0,1 ou 1,1.


17
Contrainte d’Intégrité Multiple (CIM)
Une CIM est nommée « association non hiérarchique ». Les associations
peuvent être porteuses de données.
Une CIM comporte un identifiant qui résulté de la concaténation des
identifiants des entités participant à l’association.

Exemple :
Les élèves sont évalués dans différentes matières et obtiennent des notes
pour chacune des matières.

Elèves
Matière
CNE
Evaluer
CodeMat
0,n 0,n
NomE
Note NomMat
……

18
Démarche d’élaboration du MCD
La construction du MCD demande de respecter une démarche d’élaboration qui
nécessite :
 Elaborer le Dictionnaire de données
 Représenter les Dépendances Fonctionnelles
 Construire le MCD et le normaliser

19
Etude de cas: Gestion d’examen

À partir du document qui représente une convocation d’examen d’un


candidat, et les règle de gestion suivantes, élaborer le dictionnaire de
données.

Règles de gestion relatives à l’organisation d’un examen :

RG1 : Chaque épreuve sont identifiés par un numéro, un libellé et un


coefficient

RG2 : A chaque épreuve, les candidats obtiennent une note sur 20. A l’issue
de la correction des copies, la moyenne est calculé à partir des notes obtenues
et des coefficients. ((note*coef) /  (coef))
Si la moyenne est supérieur ou égale à 10 alors le candidat est déclaré
Admis ; sinon, il est Ajourné.

20
FSJES-Meknès

Faculté de Droit-Meknès

21
Dictionnaire de Données

Le DD est un tableau qui recense et décrit l’ensemble des propriétés qui seront
utilisées pour élaborer le MCD.
 Nature : E (Élémentaire), CA (Calculée) et CO (Concaténée)
 Type : N (Numérique), A (Alphabétique), AN (AlphaNum.), Date, …

Remarque : si la propriété est calculée, on écrit l’expression du calcul; si elle est


concaténée, on écrit l’expression de décomposition

22
Etude de cas : Dictionnaire de Données
Nom abrégé Nom détaillé Nature Type Taille Remarques

Num_Epr N° Epreuve E N 2 octets (entier)

Lib_Epr Libéllé E AN 20 caractères

Coef Coefficient E N 2 octets (entier)

Num_Can N° candidat E N 2 octets (entier)

Nom_Cand Nom candidat E A 20 caractères

Prénom Prénom candidat E A 20 caractères

Code
Code_Ets E N 2 octets (entier)
Etablissement
Nom
Nom_Ets E A 20 caractères
Etablissement
Ville
Ville_Ets E A 20 caractères
Etablissement
Note Note E N 4 octets (réel)

Moyenne Moyenne CA N 4 octets (réel) (note*coef) /  (coef)

Ajourné si Moy<10
Décision Décision CA A 4 octets (réel)
Admis sinon
23
Règles de contrôles du DD
Le DD doit veiller à :
 Supprimer les polysèmes (rubriques désignant plusieurs notions)
Exemple :
« Nom » peut désigner à la fois le nom d’un candidat et le nom d’un
établissement. (« Nom_Cand » et « Nom_Ets »)
 Supprimer les synonymes (rubriques désignant la même notion)
Exemple :
« Libellé Epreuve» et « Nom Epreuve» désignent la même information
 Supprimer les propriétés concaténées
Exemple :
« Adresse » doit être décomposée en plusieurs propriétés élémentaires : « Rue »,
« Code_Postal » et « Ville »
 Supprimer les propriétés constantes
Exemple :
Le taux de TVA s’il est unique
 Supprimer les propriétés calculées
Exemple :
Moyenne et Décision
24
Les dépendances fonctionnelles (DF)

Matrice des dépendances Fonctionnelles :

Un tableau à 2 entrées : En ligne et en colonnes , on inscrit les


données issues du dictionnaire de données ( données
élémentaires uniquement ).

Méthode :
Pour remplir ce tableau, on considère chaque colonne de données.
On pose une question pour chaque colonne de donnée :
Pour une valeur de cette donnée, existe-t-il une seule valeur de
la donnée située en ligne ?
Dans l'affirmative ,on inscrit le chiffre 1 à l'intersection

25
Les identifiants sont soulignés

Num_Epr Lib_Epr Coef Num_Can Prénom Code_Ets Nom_Ets Ville_Ets Note

Num_Epr

Lib_Epr 1

Coef 1

Num_Can

Nom_Cand 1

Prénom 1

Code_Ets 1

Nom_Ets 1 1

Ville_Ets 1 1

Note
26
Simplification de la matrice des dépendances fonctionnelles

On ne conserve pas dans le tableau les colonnes vides (suppression des


colonnes qui ne contiennent pas de 1 )

Num_Epr Num_Can Code_Ets

Num_Epr

Lib_Epr 1

Coef 1

Num_Can

Nom_Cand 1

Prénom 1

Code_Ets 1

Nom_Ets 1 1

Ville_Ets 1 1

Note
27
Elimination des dépendances fonctionnelles transitives
Principe :
Une dépendance fonctionnelle ( notée A à B ) est dite transitive si il
existe une donnée C telle que A  C et C  B

Num_Epr Num_Can Code_Ets

Num_Epr

Lib_Epr 1

Coef 1

Num_Can

Nom_Cand 1

Prénom 1

Code_Ets 1

Nom_Ets + 1

Ville_Ets + 1

Note 28
RECHERCHE DES DEPENDANCES FONCTIONNELLES COMPOSEES

Certaines données ne contiennent pas de 1 ni dans la ligne, ni dans la colonne.


Ces données ne sont donc pas reliées aux autres données

Il s'agit donc de dépendances fonctionnelles composées:


ces données dépendent de 2 ou de plusieurs données têtes de colonnes..

Num_Epr , Num_Can  Note

29
ELABORATION DU MODELE CONCEPTUEL DE DONNEES
A partir de la matrice des dépendances fonctionnelles, le MCD est élaboré.

Epreuve MCD
Condidat
Num_Epr
Noter
Num_Cand
1,n 1,n
Lib_Epr
Note Nom_Cand
Coef
Prénom
1,1

Num_Epr , Num_Can  Note Appartenir

Num_Epr  Lib_Epr , Coef 1,n


Etablissement
Num_Cand Nom_Cand, Prénom
Code_Ets
Num_Cand Code_Ets
Nom_Ets
Ville_Ets
Code_Ets  Nom_Ets, Ville_Ets
30
Etude de cas : Gestion des factures de l’Entreprise Al Ismaïlia

On suppose que Taux de Tva = 20% pour tous les produits 31


Travail à faire:

1. Etablir le dictionnaire des données


2. Déterminer la matrice des dépendances fonctionnelles
3. Simplifier la matrice des dépendances fonctionnelles
4. Rechercher les dépendances fonctionnelles composées
5. Elaborer le MCD pour la gestion des factures

32
Dictionnaire de Données
Nom abrégé Nom détaillé Nature Type Taille Remarques
Nom_Entr Nom entreprise Constant
Adr_Entr Adresse entreprise Constant
Num_cli N° de client E N 2 octets (entier)

Nom_cli Nom client E A 20 caractères

Adr_cli Adresse client CO AN 2 octets (entier) Rue, CP,Ville


Num_Fact N° Facture E N 2 octets (entier)

Date_Fact Date Facture CO date Jj/mm/aaaa Jours, mois, années

Ref Référence E AN 20 caractères

Design Désignation E A 40 caractères

Prix_unit Prix unitaire E N 4 octets (réel)

Quantité
Qte_cmd E N 2 octets (entier)
commandée
Brut Montant Brut CA N 4 octets (réel) Qte_cmd*Prix_unit

HT Total HT CA N 4 octets (réel) Brut

TVA Montant TVA CA N 4 octets (réel) HT*TauxTVA

TTC Total TTC CA N 4 octets (réel) HT+TVA

Taux TVA Constant 33


Rappel : Règles de contrôles du DD
Le DD doit veiller à :
 Supprimer les propriétés constantes
Le taux de TVA puisqu’il est unique
Nom et adresse entreprise (une seule entreprise)
Supprimer les propriétés calculées
Brut, HT, TVA et TTC

 Supprimer les propriétés concaténées


Adr_cli (Rue, CP, Ville)
Date_Fact (jour, mois , année)

 Supprimer les polysèmes (rubriques désignant plusieurs notions)

 Supprimer les synonymes (rubriques désignant la même notion)

34
Dictionnaire de Données
Nom abrégé Nom détaillé Nature Type Taille Remarques
Num_cli N° de client E N 2 octets (entier)

Nom_cli Nom client E A 20 caractères

Rue Rue client E AN 20 caractères

CP Code Postal E AN 20 caractères

Ville Ville client E A 20 caractères

Num_Fact N° Facture E N 2 octets (entier)

jour jour E N 2 octets (entier)

mois mois E N 2 octets (entier)

annee année E N 2 octets (entier)

Ref Référence E AN 20 caractères

Design Désignation E A 40 caractères

Prix_unit Prix unitaire E N 4 octets (réel)

Quantité
Qte_cmd E N 2 octets (entier)
commandée

35
Matrice des dépendances Fonctionnelles :

Num_cli Nom_cli Rue CP Ville Num_Fact jour mois annee Ref Design Prix_unit Qt_cmd

Num_cli 1
Nom_cli 1 1
Rue 1 1
CP 1 1
Ville 1 1
Num_Fact

jour 1
mois 1
annee 1

Ref

Design 1

Prix_unit 1

Qte_cmd

36
Matrice des dépendances Simplifiée :

Num_cli Num_Fact Ref

Num_cli 1
Nom_cli 1 1
Rue 1 1
CP 1 1
Ville 1 1
Num_Fact

jour 1
mois 1
annee 1

Ref

Design 1

Prix_unit 1

Qt_cmd

37
Elimination des dépendances fonctionnelles transitives

Num_cli Num_Fact Ref

Num_cli 1
Nom_cli 1 +
Rue 1 +
CP 1 +
Ville 1 +
Num_Fact

jour 1
mois 1
annee 1

Ref

Design 1

Prix_unit 1

Qte_cmd

38
RECHERCHE DES DEPENDANCES FONCTIONNELLES COMPOSEES

Certaines données ne contiennent pas de 1 ni dans la ligne, ni dans la colonne.


Ces données ne sont donc pas reliées aux autres données

Il s'agit donc de dépendances fonctionnelles composées:


ces données dépendent de 2 ou de plusieurs données têtes de colonnes..

Num_Fact , Ref  Qte_cmd

39
MODELE CONCEPTUEL DE DONNEES

Facture
Client
Num_cli Num_Fact
Nom_cli 1,n 1,1 Jour
Avoir
Rue
CP Mois,
Pour une facture, j’ai
Ville annee au min une quantité et
au max plusieurs
Num_Fact Num_Cli 1,n quantités

Exister
Ref , Num_Fact Qte_cmd Pour un produit, j’ai
Qte_cmd au min aucune
quantité et au max
Num_cli  Nom_cli, Rue, CP, Ville 0,n plusieurs quantités

Produit
Num_Fact  Jour, mois, annee
Ref
Design
Prix_unit
Ref  Design, Prix_unit
40
Etude de cas : Gestion d’une bibliothèque
Une bibliothèque de prêts utilise les documents suivants :

41
42
43
On note les règles de gestions suivantes

- Une collection est éditer par un et un seul éditeur

-Un livre existe en un ou plusieurs exemplaires dans une ou plusieurs


collections.

- Un livre est emprunté ou non par un ou plusieurs adhérents dans la limite


du nombre d'exemplaires disponibles.

- Un adhérent peut emprunter un ou plusieurs livres mais il ne peut pas


emprunter plusieurs exemplaires du même livre dans la même collection.

44
Travail à faire:

1. Etablir le dictionnaire des données


2. Déterminer la matrice des dépendances fonctionnelles
3. Simplifier la matrice des dépendances fonctionnelles
4. Rechercher les dépendances fonctionnelles composées
5. Elaborer le MCD pour la gestion de la bibliothèque

45
Dictionnaire de Données
Nom abrégé Nom détaillé Nature Type Taille Remarques
Cod_Liv Code livre E AN 20 caractères

Titre Titre livre E AN 20 caractères

Cod_Aut Code auteur E AN 20 caractères

Nom_Aut Nom auteur E A 20 caractères

Nbrex Nb exemplaire E N 2 octets (entier)

Code_Col Code collection E AN 20 caractères

Nom_Col Nom collection E A 20 caractères

Code_Ad code adhérant E AN 20 caractères

Nom_Ad Nom adhérant E A 20 caractères

Adr_Ad Adresse adhérant E A 20 caractères

Num_Edt Numéro éditeur E N 2 octets (entier)

Nom_Edt Nom éditeur E A 20 caractères

Datemp Date d’emprunt E N 2 octets (entier)

46
Matrice des dépendances Fonctionnelles :
Nom_ Adr_ Nom_
Cod_Liv Titre Cod_Aut Nom_Col Nbrex Code_Col Nom_Col Code_Ad Num_Edt Datemp
Ad Ad Edt

Cod_Liv

Titre 1
Cod_Aut 1
Nom_Aut 1 1
Nbrex

Code_Col

Nom_Col 1
Code_Ad

Nom_Ad 1

Adr_Ad 1

Num_Edt 1

Nom_Edt 1 1

Datemp

47
Matrice des dépendances Simplifiée :

Cod_Liv Cod_Aut Code_Col Code_Ad Num_Edt

Cod_Liv

Titre 1
Cod_Aut 1
Nom_Aut 1 1
Nbrex

Code_Col

Nom_Col 1
Code_Ad

Nom_Ad 1

Adr_Ad 1

Num_Edt 1

Nom_Edt 1 1

Datemp

48
Elimination des dépendances fonctionnelles transitives

Cod_Liv Cod_Aut Code_Col Code_Ad Num_Edt

Cod_Liv

Titre 1
Cod_Aut 1
Nom_Aut + 1
Nbrex

Code_Col

Nom_Col 1
Code_Ad

Nom_Ad 1

Adr_Ad 1

Num_Edt 1

Nom_Edt + 1

Datemp

49
RECHERCHE DES DEPENDANCES FONCTIONNELLES COMPOSEES

Code_Col , Cod_Liv Nbrex

Code_Col , Cod_Liv , Code_Ad  Datemp

50
MODELE CONCEPTUEL DE DONNEES

Collection
Livre
1,n Exister dans 1,n Code_Col
Cod_Liv
Nbrex Nom_Col
Titre
0,n
1,1 0,n 1,1

Ecrire par Emprunter Editer par


Datemp
1,n 0,n
Auteur 0,n
Editeur
Cod_Aut Adhérent
Code_Edt
Nom_Aut Code_Ad Nom_Edt
Nom_Ad
Adr_Ad
51
Etude de cas : Location du matériel

Il s'agit du système d'information d’une entreprise qui loue du


matériel à ses clients.
Les locations se font dans les diverses agences de l’entreprise
Les interviews ont permis de détecter les règles des gestions
suivantes :

RGl : Toute location porte sur une durée exprimée en nombre


de semaines.
RG2 : Une location concerne un ou plusieurs matériels.
RG3 : Toute location doit donner lieu à un contrat entre
l'entreprise et le client

52
Les interviews ont également permis le recueil des documents suivants :

53
54
55
Travail à faire:

1. Etablir le dictionnaire des données


2. Déterminer la matrice des dépendances fonctionnelles
3. Simplifier la matrice des dépendances fonctionnelles
4. Rechercher les dépendances fonctionnelles composées
5. Elaborer le MCD pour la gestion de la location du matériel

56
Dictionnaire de Données
Nom abrégé Nom détaillé Nature Type Taille Remarques
CodeCl Code du client E AN 20 caractères

NomCl Nom client E A 20 caractères

Rue Rue client E AN 20 caractères

Ville Ville client E A 20 caractères

NumA N° Agence E N 2 octets (entier)

NomA Nom Agence E A 20 caractères

NumCr N° de contrat E N 2 octets (entier)


Date de départ du
DateD
contrat E Date Jj/mm/aaaa

Duree Durée du contrat E N 2 octets (entier)

Montant Montant du contrat CA N 4 octets (réel) Qte*PU*Duree


Qte Quantité louée E N 2 octets (entier)

Ref Référence d'un matériel E AN 20 caractères

Design Désignation matériel E A 40 caractères


Prix unitaire de location
PU
par semaine E N 4 octets (réel)
Stock disponible pour la
Dispo
location E N 2 octets (entier)
57
Matrice des dépendances Fonctionnelles :

CodeCl NomCl Rue Ville NumA NomA NumCr DateD Qte Ref Design PU Dispo

CodeCl 1

NomCl 1 1

Rue 1 1

Ville 1 1

NumA 1

NomA 1 1

NumCr

DateD 1

Duree 1

Qte

Ref

Design 1

PU 1

Dispo

58
Matrice des dépendances Simplifiée :

CodeCl NumA NumCr Ref

CodeCl 1

NomCl 1 1

Rue 1 1

Ville 1 1

NumA 1

NomA 1 1

NumCr

DateD 1

Duree 1

Qte

Ref

Design 1

PU 1

Dispo

59
Elimination des dépendances fonctionnelles transitives

CodeCl NumA NumCr Ref

CodeCl 1

NomCl 1 +

Rue 1 +

Ville 1 +

NumA 1

NomA 1 +

NumCr

DateD 1

Duree 1

Qte

Ref

Design 1

PU 1

Dispo

60
RECHERCHE DES DEPENDANCES FONCTIONNELLES COMPOSEES

NumCr, Ref  Qte

NumA, Ref  Dispo

61
MODELE CONCEPTUEL DE DONNEES

Client Contrat
CodeCl 1,1 NumCr
1,n
NomCl Passer
DateD
Rue 1,1
Ville Duree
1,n

Comporter
Concerner Qte

0,n
0,n
Matériel
Agence
1,n Stocker 1,n Ref
NumA Dispo Design
NomA PU

62
GESTION DES LOGEMENTS DANS UNE AGENCE IMMOBILIÈRE

Une agence de location de maisons et d’appartements désire gérer sa liste de


logements. Elle voudrait en effet connaître l’implantation de chaque logement (nom de la
commune et du quartier) ainsi que les personnes qui les occupent (les signataires
uniquement).

Le loyer dépend d’un logement, mais en fonction de son type (maison, studio, T1, T2...)
l’agence facturera toujours en plus du loyer la même somme forfaitaire à ses clients. Par
exemple, le prix d’un studio sera toujours égal au prix du loyer + 30 € de charges
forfaitaires par mois.

Pour chaque logement, on veut disposer également de l’adresse, de la superficie ainsi


que du loyer.

Quant aux individus qui occupent les logements (les signataires du contrat uniquement),
on se contentera de leurs noms, prénoms, date de naissance et numéro de téléphone.
Pour chaque commune, on désire connaître le nombre d’habitants ainsi que la distance
séparant la commune de l’agence.

63
Règles de gestion:

- L’unité géographique retenue pour la gestion des logements est le quartier et on


considère que chaque commune possède au moins un quartier.
- On ne s’intéresse qu’aux signataires du contrat uniquement et pas aux locataires
- Les logements inoccupés font également partie de la gestion
- L’historique des occupations des logements n’est pas utile

64
Les règles de Normalisation

Problème de la redondance

Exemple: Soit la relation Produit_Stock

NumProd Quantité NumFour Adresse


101 200 801 Av Nassr Imble A N°1 Casa
106 1000 803 Av Mouahidin N°3 Casa
105 234 890 Rue Dakar N° 34 Tanger
123 55 801 Av Nassr Imble A N°1 Casa

65
Les règles de Normalisation

Problème de la redondance
Anomalies liées à la redondance:
 Anomalies de modification: Si l'on souhaite mettre à jour l'adresse d'un
fournisseur, il faut le faire pour tous les tuples concernés.

 Anomalies d'insertion: Pour ajouter un nouveau fournisseur, il faut


obligatoirement fournir des valeurs pour NumProd et Quantité.

 Anomalies de suppression: La suppression du produit 106 par exemple fait


perdre des informations concernant le fournisseur 803.

66
Les règles de Normalisation

But de la normalisation des relations

Les formes normales sont des règles que l’on doit suivre pour éviter d’avoir
des redondances dans notre base de données.

 Il existe plusieurs degrés de normalisation de la 1ère forme normale à la


5ème.

67
Les règles de Normalisation
Première forme normale

Toute propriété doit être élémentaire. Si une propriété prend plusieurs valeurs,
alors ces valeurs doivent faire l’objet d ’ une entité supplémentaire, en
association avec la première.
Exemple:
Livre (Cote, Titre, Auteurs) n'est pas en 1FN car la propriété Auteurs est
décomposable (il s'agit de plusieurs auteurs).
Cette relation peut être décomposée en deux relations:

Livre Auteurs
1,n 1,n
Cote Ecrire
Auteur
Titre

68
Les règles de Normalisation

Deuxième forme normale

Une relation est en 2FN si:


 elle est en 1FN.
 Toute propriété doit dépendre pleinement de l’identifiant (et non
d’une partie de celui-ci)

Exemple:
Client (NumCli, Nom, Prénom, Rue, CP,Ville) est en 2FN

69
Les règles de Normalisation
Normalisation en deuxième forme normale

 Exemple 1: Normalisation en 2FN


Employé (Mat, CodeProjet, Nom, FonctionProjet) n'est pas en 2FN:
Mat  Nom
CodeProjet, Mat  FonctionProjet

Le résultat de normalisation en 2FN est:

Employé Projet
1,n Participer 1,n
Mat CodeProjet
FonctionProjet
Nom

70
Les règles de Normalisation

Normalisation en deuxième forme normale

 Exemple 2: Normalisation en 2FN

Produit(NumProd, QuantitéFournie, NumFour,VilleFour, DateLivraison)

On a: NumProd NumFour ,VilleFour

NumProd, NumFour  QuantitéFournie  La relation n'est pas en 2FN

Le résultat de la normalisation:

Fournisseur Produit
1,n Fournir 1,1
NumFour NumProd
QuantitéFournie
VilleFour DateLivraison

71
Les règles de Normalisation

Troisième forme normale


 Une relation est en 3FN si:
 elle est en 2FN.
 Pas de dépendance transitive.
(il n'existe aucune DF entre deux propriétés non clé primaire)
Exemple: Musique(NoChanson, NoChanteur, NomChanteur)

Avec les DF: NoChanson  NoChanteur

NoChanson  NomChanteur et NoChanteur  NomChanteur

Cette relation est en 2FN mais pas en 3FN.


Chanteur Chanson
1,n 1,1
NoChanteur Chanter
NoChanson
NomChanteur
72
Les règles de Normalisation

Exercice: Normaliser les relations suivantes


1) COMMANDE( N°Four, Nom_four, Adresse_fournisseur, N°Article, Libellé, QteFour, Prix )
un produit est fourni par un ou plusieurs fournisseurs
un fournisseur peut fournir un ou plusieurs produits
2) Pièce (N°pièce, prix-unit, CodeTVA, TauxTVA, libellé, Catégorie)
Une pièce est identifiée par un n° et a un prix unitaire, un libellé, une tva et une catégorie.
La tva est déterminée en fonction de la catégorie
3) Prime (N°Techn, N°Machine, Atelier, Prime, NomTechn, Ddébut, DFin)
Un technicien est identifié par un n° et a nom.
Une machine est identifiée par un n° et affectée à un seul atelier.
Une prime est donnée à un technicien ayant travaillé sur une machine donnée pendant
une période donnée.
4) Etudiant (CNE, Nom-Etud, CodeMatière, Nom_Matière, Nb-heure, Note)

73
Règles de passage du MCD au MLD
 Toute entité du MCD devient une relation du MLD et donc une
table de la Base de Données.
 Chaque propriété de l'entité devient un attribut de cette relation,
et donc une colonne de la table correspondante.
 L'identifiant de l'entité devient la Clé Primaire de la relation, et
donc la Clé Primaire de la table correspondante.

Exemple:
MLD
MCD
Client (Num_cli , Nom_cli, Rue, CP, Ville)
Entité Client
Identifiant Num_cli Relation Clé Primaire Attribut
Nom_cli
Propriété Rue MPD
CP
Ville Client

Num_cli Nom_cli Rue CP Ville


Table
56 Alami Salam 123 Rabat
Clé Primaire

Colonne 74
Relation binaire aux cardinalités (X,1) - (X,n), X= {0 ou 1}

La Clé Primaire de la table à la cardinalité (X,n) devient une Clé


Etrangère dans la table à la cardinalité (X,1)

Exemple:

Client
Commande
CodeCl
NumCommande
1,n 1,1
Nom Passer
DateCmd
Prénom
Tél M
L
D

Client (CodeCl, Nom, Prénom, Tel)

Commande (NumCommande ,DateCmd , #CodeCl)


75
Relation binaire aux cardinalités (X,n) - (X,n), X= {0 ou 1}

Il y a création d'une table supplémentaire ayant comme Clé Primaire une clé
composée des identifiants des 2 entités. On dit que la Clé Primaire de la
nouvelle table est la concaténation des Clés Primaires des deux autres tables.
Si la relation est porteuse de donnée, celles ci deviennent des attributs pour la
nouvelle table.

Produit Commande
Ref Exister NumCommande
0,n 1,n
Design QtetCmd DateCmd
PU
M
L
D

Produit(Ref, Design, PU)


Commande (NumCommande ,DateCmd)
LigneCommande (#NumCommande , #Ref , QtetCmd) 76
Relation n-aire (quelles que soient les cardinalités).
Il y a création d'une table supplémentaire ayant comme Clé Primaire la
concaténation des identifiants des entités participant à la relation.
Si la relation est porteuse de donnée, celles ci deviennent des attributs pour
la nouvelle table.
Collection
Livre 0,n Emprunter 0,n Code_Col
Cod_Liv
Datemp Nom_Col
Titre

0,n
Adhérent
Code_Ad
Nom_Ad
Adr_Ad

Livre(Cod_Liv, Titre)
Collection(Code_Col , Nom_Col)
Adhérent(Code_Ad , Nom_Ad, Adr_Ad)
Emprunter(#Code_Ad , #Cod_Liv, #Code_Col , Datemp)
77
Association Réflexive
 Premier cas : cardinalité (X,1) - (X,n), avec X={0 ou 1}.
La Clé Primaire de l'entité se dédouble et devient une Clé Etrangère
dans la relation ou nouvelle table. Exactement comme si l'entité se
dédoublait et était reliée par une relation binaire (X,1) - (X,n)
Exemple :
Une société est organisée de manière suivante : chaque employé a 0 ou 1
supérieur hiérarchique direct. Simultanément, chaque employé est le
supérieur hiérarchique direct de 0 ou plusieurs employés.

Employé 0,1
Cod_Emp Etre sup_Hiearchique
NomEmp 0,n
M
L
D

Employé (Cod_Emp , NomEmp , IdSup)


IdSup correspond à l'identifiant (Cod_Emp) du supérieur hiérarchique direct
de l'employé considéré. 78
 Deuxième cas : cardinalité (X,n) - (X,n), avec X={0 ou 1}.
De même, tout se passe exactement comme si l'entité se dédoublait et
était reliée par une relation binaire (X,n) - (X,n). Il y a donc création d'une
nouvelle table.

Exemple :
Une personne a 0 ou n descendants directs (enfants),
et a aussi 0 ou n descendants indirects (enfants).

Personne 0,1
NumPers Etre Parent
NomPers 0,n
M
L
D

Personne(NumPers , NomPers)
Parent (Nparent , idEnfant)

NParent est l'identifiant (NumPers) d'un ascendant direct de la personne.


idEnfant est l'identifiant (NumPers) d'un descendant direct de la personne.
La table Parent sera en fait l'ensemble des couples (parents-enfants)
présents dans cette famille. 79
Relation binaire aux cardinalités (0,1) - (1,1):
La Clé Primaire de la table à la cardinalité (0,1) devient une
Clé Etrangère dans la table à la cardinalité (1,1):

Exemple:

Groupe
Animateur
IdGroupe
CodeAnimat 0,1 1,1
Encadrer
NomGroupe
NomAnimat

M
L
D

Animateur (CodeAnimat, NomAnimat)

Groupe (IdGroupe, NomGroupe, #CodeAnimat)


80
Exercice 1 : traduire ce MCD en MLD

1,n
1,n 1,n

Matière(N°Mat , ….)
Professeur (N°Prof, ….)
Classe(N°classe, …..)
81
Exercice 2 : traduire ce MCD en MLD

82
Les règles de Normalisation
L'objectif de la normalisation est la non redondance de données.

La première forme normale (1FN)


Une entité respecte la première forme normale (1FN) si elle possède un identifiant, si
chacun de ses attributs contient une valeur atomique (une seule signification) et qu'il n'y
a aucun attribut multi-valué (pouvant prendre plusieurs valeurs).

Exemple:
Livre (Cote, Titre, Auteurs)

Cote Titre Auteurs


CA123 Comptabilité Akram, Malak, Samir
DE235 Finance Amine, Samir, Rayane

Pb: On ne peut pas faire de recherche sur les auteurs des livres

83

Vous aimerez peut-être aussi