Vous êtes sur la page 1sur 27

VÉRIFICATION ET NORMALISATION

 La vérification
On dit qu’un modèle conceptuel est vérifié s’il répond aux conditions suivantes :
▪ Touts les attributs non calculés sont présents dans une entité ou une relation dans le
cas du modèle de MERISE
▪ Aucun attribut n’est redondant
▪ Toutes les entités ont un identifiant
▪ Tous les attributs sont élémentaires (non décomposable ou se traitent comme un tout,
exemple l’attribut adresse peut-être décomposable)

1
VÉRIFICATION ET NORMALISATION

 La normalisation du modèle entités/associations

Les règles de normalisation du modèle conceptuel permettent d’assurer :

▪ La non redondance des données;

▪ L’intégrité des données (fiabilité des données);

▪ La facilité de mise à jour Lors de la normalisation d’un modèle de données (peu importe
le niveau de modélisation, de conceptualisation ou de représentation) nous devons avoir
au mois la 3eme forme normale.

2
VÉRIFICATION ET NORMALISATION
 1FN - Première forme normale
Une relation est en première forme normale si ces attributs :
▪ Sont atomique (non divisible).
Etudiant Etudiant
nomPrenom Nom
Prenom
▪ Ne contiennent pas de valeurs répétitives (pas de liste, pas de tableaux).
Etudiant Etudiant Notes
Avoir
notes Note 1
Note 2
▪ Constant dans le temps
Etudiant Etudiant
age Date_naissance

3
VÉRIFICATION ET NORMALISATION

 2FN - Deuxième forme normale


Une relation est en deuxième forme normale si :
▪ Elle est en 1FN;
▪ Les attributs non clés dépendant fonctionnellement de la totalité de la clé et non pas
d’une partie de la clé .

Article 0,n Commander 1,n commande


CodeA CodeC
CodeA, CodeC

Quantité commandée ???

4
VÉRIFICATION ET NORMALISATION

 3FN - troisième forme normale


Une relation est en troisième forme normale si :
▪ Elle est en 2FN;
▪ Tous les attributs n’appartenant pas a la clés ne dépendant pas d’un attribut non-clé .

Etudiant Etudiant Module


Suivre
Code_etu Code_etu Code_module
Nom Nom Intitulé_module
Prenom Prenom
Code_module
Intitulé_module

5
VÉRIFICATION ET NORMALISATION
 FNBC - Forme normale de Boyce-Codd
Une relation est en FNBC si :
▪ Elle est en 3FN;
▪ Seules les dépendances fonctionnelles sont du type clé → attribut non-clé.
✓ Si un attribut non-clé permet de déterminé un attribut clé la relation n’est pas en FNBC.

 Inscription (id_Etudiant, Id_Cours, Enseignant)  Inscription (id_Etudiant, Id_Enseignant)


 Enseignant (Id_Enseignant, Nom_ Enseignant, Cours)
Id_Etudiant Id_Cours Enseignant Id_Etudiant Id_Enseignant Id_Enseignant Nom_ Cours
1 BD Alami 1 1 Enseignant
1 Macro Rmaily 1 2 1 Alami BDD
2 Macro Rmaily 2 2 2 Rmaily Macro
3 Micro Nasiri 3 3 3 Nasiri Micro
6
VÉRIFICATION ET NORMALISATION

 Autres formes normales

▪ La quatrième, cinquième et sixième formes normales évitent principalement la redondance


des informations, elles sont plus précises.

▪ En pratique la forme normale de Boyce-Codd est suffisante.

▪ La projection et les jointures sont couteuses pour le système, ainsi une trop forte
normalisation diminue fortement les performances.

7
CHAPITRE 3:
LE MODÈLE RELATIONNEL:
MODÈLE LOGIQUE DES DONNÉES (MLD)

8
LE MODÈLE RELATIONNEL:
MODÈLE LOGIQUE DES DONNÉES (MLD)

 Le Modèle Conceptuel De Données (MCD) décrit les données indépendamment du logiciel


utilisé (concepts)

 Le Modèle Logique Des Données (MLD) :

▪ Représente les données du MCD en tenant compte du logiciel de gestion choisi;

▪ Traduit le MCD en formalisme compréhensible par la machine.

▪ Le plus utilisé est le modèle relationnel associe aux bases de données relationnelles
(Oracle, Informix, SQLserver,..., Access, mySQL, postgreSQL...)
9
LE MODÈLE RELATIONNEL:
MODÈLE LOGIQUE DES DONNÉES (MLD)

 Inventé par Edgar Frank Codd en 1970


 Utilise les relations pour représenter les données
 Manipule plusieurs concepts :
▪ Tables ou Relation
▪ Clé primaire
▪ Clé étrangère
▪ …

10
LE MODÈLE RELATIONNEL:
MODÈLE LOGIQUE DES DONNÉES (MLD)

 Relation ou table: représentée par un tableau constitué:


▪ d’un Nombre fixé de colonnes (champs)
▪ d’un Nombre arbitraire de lignes (enregistrements)

 Clé primaire (Primary Key)


▪ Chaque table doit avoir une clé primaire
▪ La clé identifie de manière unique et sans ambiguïté les enregistrements
d’une table
▪ La clé peut être concaténée

 Exemples
▪ Clients (Code, Nom, …)
▪ Détails_C (NBC, Ref, QtéC)

11
LE MODÈLE RELATIONNEL:
MODÈLE LOGIQUE DES DONNÉES (MLD)

 Clé étrangère
▪ Un simple champ qui joue le rôle de clé primaire dans une autre table
▪ Permet d’établir des liaisons entre tables (utilisée dans les jointures)

 Exemple
▪ Clients (Code, Nom, …)
▪ Commandes (NBC, DateC, #Code)

12
PASSAGE DU MCD AU MLD RELATIONNEL

 Règle 1
▪ Chaque entité du MCD se transforme en une table du MLD
✓ Les attributs deviennent des champs;
✓ L’identifiant devient la clé primaire.
▪ Exemple:

13
PASSAGE DU MCD AU MLD RELATIONNEL

 Règle 2 (Association de type X,1 - X,N)


▪ Si l’association est de type (X,1) - (X,N), avec X ∈ {0,1} alors:
✓ L’association disparaît
✓ L’identifiant de l’entité de cardinalité (X,N) devient clé étrangère dans la table
issue de l’entité de cardinalité (X,1)
✓ Les attributs de l’association deviennent des champs de la table issue de l’entité
de cardinalité (X,1)

14
PASSAGE DU MCD AU MLD RELATIONNEL

 Règle 2 (Association de type X,1 - X,N)


▪ Exemple:

CLIENT (code_client, Nom, Prénom, Adresse, code_postal, téléphone)


COMMANDE (numero_commande, date, état, montant_total, #code_client)

15
PASSAGE DU MCD AU MLD RELATIONNEL

 Règle 3 (Association de type X,N - X,N)


▪ Si l’association est de type (X,N) - (X,N), avec X ∈ {0,1} alors:
✓ L’association devient une nouvelle table;
✓ Les attributs de l’association deviennent des champs de la nouvelle table;
✓ La clé primaire de la nouvelle table est la concaténation des identifiants des
entités qui participent à l’association;
✓ Les identifiants des entités participantes vont devenir des clés étrangères vers
leurs tables respectives.

16
PASSAGE DU MCD AU MLD RELATIONNEL

 Règle 3 (Association de type X,N - X,N)


▪ Exemple:

COMMANDE (numero_commande, date, etat, montant_total)


ARTICLE (référence_article, designation, prix_unitaire_de_vente)
CONCERNER (#numéro_commande, #référence_article, quantité)
17
PASSAGE DU MCD AU MLD RELATIONNEL

 Règle 4 (Association de type 0,1 - 1,1)


▪ Dans ce cas, la clé primaire de la table issue de l'entité du côté des cardinalités (0,1)
devient une clé étrangère dans la table issue de l'entité du côté des cardinalités (1,1).
▪ Exemple:

CITOYEN (Num_Citoyen, Nom, Prénom, Adresse)


CANDIDAT (Num_Candidat, Parti, #Num_Citoyen)
18
CONTRAINTES D’INTÉGRITÉ

 Les contrainte d’integrité:


▪ de structure : valeur de la clé primaire unique et toujours définie,
▪ de domaine : les valeurs prises par un attribut doivent vérifier des contraintes,
▪ de référence : les valeurs d’une clé étrangère doivent correspondre à des
valeurs existantes dans la table d’origine.
▪ La vérification des contraintes assurent que la base reste intègre.
▪ Cette vérification s’effectue, soit directement par le système de gestion de
bases de données utilisé quand c’est possible, soit par l’écriture de
programmes.
19
EXERCICE

Transformez le MCD suivant en un MLD en respectant toutes les règles du passage MCD au MLD.

20
Solution

Client (Num_Client, Nom, Prenom, Date_Naissance, Rue, Code_Postal, Ville)

Fournisseur (Num_Fournisseur, Raison_Sociale)

Produit (Num_Produit, Designation, Prix_Unitaire, #Num_Fournisseur)

Commander (#Num_Client, #Num_Produit, Date_Commande, Quantite)

21
EXERCICE

Transformez le MCD suivant, qui représente «la gestion d'une école» en un MLD en respectant
toutes les règles du passage MCD au MLD.

22
SOLUTION

Elève (NoMatricule, Nom, Prénom, Date_naissance)


Classe (Nom_Classe, Cycle)
Matière (Code_Matière, Libellé)
Professeur (Code_Prof, Nom, Prénom)
Fréquenter (#NumMatricule, #NumClasse, Année_Scolaire)
Enseigner (#CodeProf, #CodeMatière, #NumClasse, Année)

23
MODÈLE PHYSIQUE DES DONNÉES (MPD)
 Le Modèle Physique Des Données (MPD) précise notamment le stockage de chaque donnée
(champs ou attribut) à travers son type et sa taille (en octets ou en bits).
 Les types de données peuvent varier selon les systèmes de gestion de bases de données.
▪ Champs numériques

24
MODÈLE PHYSIQUE DES DONNÉES (MPD)

▪ Champs alpha-numériques et binaires

▪ Champs date et heure

25
PASSAGE VERS MODÈLE PHYSIQUE DES
DONNÉES (MPD)

 MCD
CLIENT COMMANDE
code_client 1,n PASSER 1,1 numero_commande
Nom Date
Prénom État
Adresse montant_total
 MLD
CLIENT (code_client, Nom, Prénom, Adresse)
COMMANDE (numero_commande, date, état, montant_total, #code_client)
 MPD COMMANDE
CLIENT
numero_commande int
code_client int Date date
Nom varchar (30) Passer: 1,1 État varchar (30)
Prénom varchar (30) montant_total double
Adresse varchar (50) 26 #code_client int
PASSAGE VERS MODÈLE PHYSIQUE DES
DONNÉES (MPD)

 MCD

 MLD
COMMANDE (numero_commande, date, etat, montant_total)
ARTICLE (référence_article, designation, prix_unitaire_de_vente)
CONCERNER (#numéro_commande, #référence_article, quantité)
 MPD CONCERNER_ COMMANDE: 1,n
COMMANDE CONCERNER ARTICLE
numero_commande int #numéro_commande int référence_article varchar (30)
Date date #référence_article varchar (30) Designation varchar (30)
État varchar (30) Quantité int prix_unitaire_de_vente double
montant_total double
27 CONCERNER_ ARTICLE: 0,n

Vous aimerez peut-être aussi