MERISE : DF , FN & MLD
IDALENE Asmaa
1
Objectifs :
1. Modèle Conceptuel de Données : Etude de Cas
2. Normalisation d’un MCD
2
Modèle Conceptuel de Données
Etude de cas : Bon de commande
N°commande : --------------- Date commande : --/--/---
N° client : -------------- Nom client : --------------------
Adresse : --------------------
--------------------
N°pièce Libellé pièce Prix unitaire Quantité Montant HT
Total : -------------------
Travail à faire:
1. déterminer les dépendances fonctionnelles
élémentaires directes;
2. représenter les DFED dans un graphe;
3. Élaboration du MCD; 3
Modèle Conceptuel de Données
Bon de commande : le dictionnaire des données
Nom Signification Format Longueur Type Observation
NCDE N° commande N 6 E
DATEC Date commande Date 8 E jj/mm/aaaa
NCLI N° client N 6 E
NOMCLI Nom client A 25 E
ADRCLI Adresse AN 50 CO Rue + Ville
RCLI Rue Client AN 30 E
VCLI Ville client A 20 E
NPIECE N° pièce N 6 E
LIBPIECE Libellé pièce A 30 E
QTEC Quantité commandée N 4 E
PUNIT Prix unitaire de pièce N 6 E
MONT Montant HT N 10 CA PUNIT*QTEC
TOTAL TOTAL HT de commande N 12 CA MONT
4
Modèle Conceptuel de Données
Bon de commande : La liste des DFED
NCDE DATEC, NCLI*
NPIECE LIBPIECE, PUNIT
NCLI NOMCLI, RCLI, VCLI
NCDE+NPIECE QTITEC
5
Modèle Conceptuel de Données
Bon de commande : Le graphe des DFED :
NCDE NPIECE
DATEC NCLI QTEC LIBPIECE PUNIT
NOMCLI RCLI VCLI
6
Modèle Conceptuel de Données
Bon de commande : Élaboration du MCD :
Commande Client
1, n NCLI
NCDE 1, 1 Concerner
DATEC NOMCLI
RCLI
VCLI
1, n
Contenir 0, n Pièce
QTEC NPIECE
LIBPIECE
PUNIT
7
Modèle Conceptuel de Données
MCD en cas de plusieurs documents :
Deux possibilités se présentent :
– Établir une liste globale correspondant à l’ensemble
des documents;
– Établir le MCD de chaque document. Le MCD global
est le résultat de la fusion de l’ensemble des MCD.
Etude de cas : Service des commandes (voir TD N 2)
8
Formes normales : Objectifs
S’assurer de la robustesse de la conception de la base
Optimiser la mémorisation des données
(redondance,…)
La normalisation s’applique à toutes les entités et aux
relations porteuses de propriétés
Avoir des modèles de données conforment à la 1ère,
2ème ou 3ème forme normale.
9
Première Forme Normale (1FN)
Pour toute occurrence d’une entité, respectivement
relation, chaque propriété :
Doit contenir une valeur atomique. Ainsi, le nom et
le prénom d’une personne doivent être dans des
propriétés distinctes
Ne doit pas contenir des valeurs répétitives. Par
exemple une catégorie d’articles doit être définie dans
une entité spécifique et non répétée dans l’entité article
Doit être constante dans le temps (utiliser par
exemple la date de naissance plutôt que l'âge)
10
Première Forme Normale (1FN)
Exemple 1 : Passage en 1FN d’une entité non
normalisée Facture
L’entité Facture n’est pas normalisée.
Numéro Date Liste des prod Numéro
Date
001536 02-10-2014 Imprimante, pc… Liste des produits
001537 02-10-2014 Table, stylos…
001590 03-10-2014 télévision
Le MCD devient en 1 FN :
Facture 1, n Produit
0, n Contenir
Numéro QTITEC Numéro produit
Date Désignation
11
MERISE : DF , FN & MLD
Première Forme Normale (1FN)
Exemple 2 : Passage en première forme
normale d’une relation non normalisée
Commande Client
NCDE 1, n 1, n NCLI
DATEC Concerner NOMCLI
(QTITEC + NPIECE)
La relation « Concerner » n’est pas en 1FN, car la
propriété (QTITEC + NPIECE), qui concatène la
quantité commandée et le numéro de la pièce, n’est
pas atomique
12
Première Forme Normale (1FN)
Exemple 2 : Passage en première forme
normale
Le MCD devient en 1 FN :
Commande 1, n Client
1, 1 Concerner
NCDE NCLI
DATEC NOMCLI
1, n
0, n Pièce
Contenir
QTITEC NPIECE
13
Deuxième Forme Normale (2FN)
Une entité ou relation est en deuxième forme normale si :
Elle est en 1FN et chaque propriété de cette entité,
notamment de cette relation, dépend de sa clé primaire
par une dépendance fonctionnelle élémentaire. C.à.d.,
il n’existe pas de df avec une partie de la clé primaire.
Important : Le non-respect de la 2FN entraine une
redondance des données qui encombrent alors
inutilement la mémoire et l'espace disque.
14
Deuxième Forme Normale (2FN)
Exemple : supposons que la clé de cette table soit
composite (Produit,Fournisseur)
Produit Fournisseur Adresse
fournisseur
téléviseur VIDEO SA 13 rue du
cherche-midi
écran plat VIDEO SA 13 rue du
cherche-midi
téléviseur HITEK LTD 25 Bond Street
le champ adresse ne dépend que d'une partie de la clé :
le champ fournisseur
Cette table ne respecte pas la 2FN.
15
Deuxième Forme Normale (2FN)
Solution :
Produit Fournisseur
téléviseur VIDEO SA
téléviseur HITEK LTD
écran plat VIDEO SA
Fournisseur Adresse fournisseur
VIDEO SA 13 rue du cherche-midi
HITEK LTD 25 Bond Street
16
Deuxième Forme Normale (2FN)
Exemple 1 : Passage en deuxième forme
normale d’une entité en 1FN
L’entité « commande » est en 1FN. Mais n’est pas en 2FN.
Commande
# NCDE
# NPRODUIT
- DATE_CDE
- QTITEC
Après la normalisation de l’entité Commande Le MCD
devient 2FN est : Commande 0, n Produit
1, n Contenir
NCDE NPRODUIT
QTITEC
DATE_CDE
Remarque : Toute entité en 1FN possédant une clé primaire
simple (non composée) est en 2FN. 17
MERISE : DF , FN & MLD
Deuxième Forme Normale (2FN)
Exemple 2 : Passage en 2FN d’une relation en
1FN
La relation « Fabriquer » est en 1FN Mais n’est pas en
2FN. Produit Fabriquer Machine
NPRODUIT 1, n 1, n NMACH
Quantité fabriquée/ jour
LIBPRODUIT Prix unit. Produit NOMMACH
Prix unit. Machine
Le MCD en 2FN est :
Produit Fabriquer Machine
NPRODUIT 1, n 1, n NMACH
LIBPRODUIT Quantité fabriquée/ jour NOMMACH
Prix unit. Produit Prix unit. Machine
18
Troisième Forme Normale (3FN)
Une entité ou relation est en troisième forme normale si :
1. Elle est en 2FN.
2. Toute propriété de cette entité ou relation dépend de
sa clé primaire par une dépendance fonctionnelle
élémentaire directe.
19
Troisième Forme Normale (3FN)
Exemple:
Le pays de l'adresse n'est pas dépendant de la clé de la
table, à savoir le nom du fournisseur, mais il est en
fonction de la ville de l'adresse. De nouveau, il est
préférable de scinder la table en deux:
Fournisseur Adresse Ville Pays
fournisseur
VIDEO SA 13 rue du PARIS FRANCE
cherche-midi
HITEK LTD 25 Bond LONDON ENGLAND
Street
20
Troisième Forme Normale (3FN)
Solution:
Fournisseur Adresse Ville
fournisseur
VIDEO SA 13 rue du PARIS
cherche-midi
HITEK LTD 25 Bond Street LONDON
Ville Pays
PARIS FRANCE
LONDON ENGLAND
21
Troisième Forme Normale (3FN)
Exemple 1 : Passage en troisième forme
normale d’une entité en 2FN
Règles de gestion : Produit
1. Chaque Produit a un code de TVA. NPRODUIT
2. Chaque code peut identifier le taux LIBPRODUI
de TVA correspondant. CODTVA
TAUXTVA
L’entité « pièce » est en 2FN. Mais n’est pas en 3FN car :
NPRODUIT TAUXTVA n’est pas directe.
22
Troisième Forme Normale (3FN)
Exemple 1 : Passage en troisième forme
normale d’une entité en 2FN
Le MCD en 3FN est :
Produit TVA
1, 1 Avoir 1, n
NPRODUIT CODTVA
LIBPRODUI TAUXTVA
23
Troisième Forme Normale (3FN)
Exemple 2 : Passage en 3FN d’une relation en
2FN
Le montant HT d’une ligne de commande est le produit de
la quantité et le prix unitaire du produit.
Commande Contenir Produit
1, n 0, n
NCDE Montant HT NPRODUIT
DATE_CDE Montant TVA PRIX UNIT
NPRODUIT+ NCDE Montant TVA n’est pas directe
Montant TVA=Montant HT*20%
On doit supprimer le MONTANT TVA de la relation 24
Troisième Forme Normale (2FN)
Exemple 2 : Passage en 3FN d’une relation en
2FN
Le MCD est en 3FN :
Commande Contenir Produit
1, n 0, n
NCDE Montant HT NPRODUIT
DATE_CDE PRIX UNIT
25
Modèle Logique de Données :MLD
Le modèle logique :
Traduire le MCD (normalisé) en systèmes logiques et
notamment les bases de données relationnelles.
Le modèle relationnel :
Repose sur le principe de relation (au sens
mathématique) entre les données.
Données représentées par des tables structurées en
lignes et colonnes. Les colonnes décrivent les propriétés
appelés attribut (ou champs) et les lignes contiennent les
valeurs des champs des enregistrement.
26
MERISE : DF , FN & MLD
Modèle relationnel
Exemple : Soit la table Personne:
N°Personne Nom Date- adresse Profession
naissance
1 Ali - Rabat Étudiant
2 Fatima 22/04/1975 Fès Docteur
Schéma de relation :
Il est composé du nom de la relation, la liste des attributs
avec leurs domaines et la clé primaire.
Exemple : Schéma de relation de « Personne »
Personne(
N°Personne : Entier, Nom : Caractère(20),
Date-naissance : date, adresse : caractère(20),
27
Profession : caractère(20) ). MERISE : DF , FN & MLD
Passage du MCD au modèle
relationnel
Règle 1 :
Toute entité du modèle Entité/Association est représentée
par une relation(c..a.d une table) dans le schéma
relationnel équivalent.
La clé primaire de cette relation est l’identifiant de cette
entité.
28
Passage du MCD au modèle
relationnel
Exemple :
Pièce Commande
0, n Contenir 1, n
Num_Pièce QTITEC Num_cde
Libellé_pièce Date_cde
Prix_unit
Les entités Pièce et Commande deviennent des relations
dans le modèle relationnel :
Pièce (Num_Pièce : Numérique(5) ; Libellé_pièce :
Caractère(20) ; Prix_unit : Numérique(10))
Commande (Num_cde : Numérique(5) ; Date_cde : Date)
29
Passage du MCD au modèle
relationnel
Règle 2 :
Toute entité Ei ayant une cardinalité 0,1 ou 1,1 via une
association avec une entité Ej est traduite par l’introduction
de l’identifiant Ij de Ej dans la relation Ri correspondante à
Ei. Ij est une clé étrangère dans la relation Ri.
Exemple : Commande Client
1, 1 Concerner 1, n
NCDE NCLI
DATEC NOMCLI
L’entité Commande devient dans le modèle relationnel :
Commande (NCDE : Numérique(5) ; DATEC: Date ; #NCLI
: Numérique(4))
Client (NCLI: NuméMriEqRuISeE(:5D)F,, FNNO&MMLDCLI : Caractère(20)); 30
Passage du MCD au modèle
relationnel
Règle 3 :
Toute relation (association) plusieurs à plusieurs du MCD,
possédant éventuellement des propriétés, est traduite par
une relation dont la clé primaire est composée de tous les
identifiants des entités participantes à cette association
Exemple : Produit Commande
0, n Contenir 1, n
Cod_prod QTITECNum_cde
Libellé_ prod Date_cde
Prix_unit
La relation contenir sera traduite par une table :
Contenir (#Cod_prod : Numérique(5), #Num_cde :
Numérique(5), QTITEC : Numérique(7)) MERISE : DF , FN &31
MLD
Passage du MCD au modèle
relationnel
Règle 4 :
Toute association de type 1:1 du MCD disparait dans le
MLD. L’entité du coté 1:1 devient une table en lui ajoutant
l’identifiant de l’entité du coté 0,1
C’est un cas particulier d’une association 1 à plusieurs.
Exemple : Employé Atelier
0, 1 diriger 1, 1
Cod_empl Num_Atel
Nom _empl Nom_Atel
Salaire
L’entité Atelier devient une table :
Atelier (num_atel : Numérique(5), Nom_Atel :
32
MERISE : DF , FN &
Numérique(5), #cod_empl : MLD