Cours 3
Modélisation ... suite
Normalisation
- Ensemble de règles établies en 1970 par E.F. Codd pour construire des bases de données relationnelles efficaces.
- La normalisation consiste à transformer un ensemble de données pour qu'il respecte les normes de Codd.
- Il y a trois niveaux de normalisation: 1NF, 2NF et 3NF:
- Première forme normale (1NF):
- Chaque cellule d'une table doit contenir une valeur unique et cette valeur doit être élémentaire.
- Chaque cellule d'une table doit contenir une valeur unique et cette valeur doit être élémentaire.
- Deuxième forme normale (2NF):
- Chaque attribut de la table doit dépendre de la clé primaire au complet et non d'une partie de la clé.
- Chaque attribut de la table doit dépendre de la clé primaire au complet et non d'une partie de la clé.
- Troisième forme normale (3NF):
- Aucun attribut non-clé doit dépendre d'un autre attribut non-clé.

EXEMPLE
En étudiant un système de distribution, vous notez qu'il existe une
chose, un objet, une entité qui s'appelle une "Commande d'achat". Ce
document est réel, il existe et le préposé aux ventes s'en sert
lorsqu'il doit saisir une commande provenant d'un client.

Cependant, pour inclure cet objet dans notre base de données, il faut identifier l'information contenu dans le document et non le morceau de papier. On pourrait résumé l'information comme ceci:
Afin de construire un système relationnel selon les règles, il faut d'abord normaliser cette structure.
En 1NF:
En 2NF:
En 3NF:


Cependant, pour inclure cet objet dans notre base de données, il faut identifier l'information contenu dans le document et non le morceau de papier. On pourrait résumé l'information comme ceci:
COMMANDE-ACHAT
Nom-client
Adresse-client
Date-commande
Nom-fournisseur
Adresse-fournisseur
Produits-commandés *
Code-produit
Description
Prix-de-vente
Quantité
Montant
Sous-total-commande
Taxe-provinciale
TPS
Total-commande
Afin de construire un système relationnel selon les règles, il faut d'abord normaliser cette structure.
En 1NF:
Commande-achat (Num-commande, Date-commande, Nom-client, Adresse-client, Nom-fournisseur, Adresse-fournisseur, Sous-total-commande, Taxe-provinciale, TPS, Total-commande)
Produits-commandés (Num-commande, Code-produit, Description, Prix-de-vente, Quantité, Montant)
En 2NF:
Commande-achat (Num-commande, Num-client, Num-fournisseur, Date-commande, Sous-total-commande, Taxe-provinciale, TPS, Total-commande)
Produits-commandés (Num-commande, Code-produit, Prix-de-vente, Quantité, Montant)
Client (Num-client, Nom-client, Adresse-client)
Fournisseur (Num-fournisseur, Nom-fournisseur, Adresse-fournisseur)
Produit (Code-produit, Description)
En 3NF:
Commande-achat (Num-commande, Num-client, Num-fournisseur, Date-commande)
Produits-commandés (Num-commande, Code-produit, Prix-de-vente, Quantité)
Client (Num-client, Nom-client, Adresse-client)
Fournisseur (Num-fournisseur, Nom-fournisseur, Adresse-fournisseur)
Produit (Code-produit, Description)

Exercice de modélisation - L'Éditeur
Une maison d'édition vend des livres.
Chaque livre a un auteur. Parfois, un livre est une oeuvre de collaboration écrit par plusieurs auteurs.
Une fois écrit le livre doit être revu et corrigé par un rédacteur ou une équipe de rédacteurs.
Finalement, le livre est publié par une des filiales de la maison d'édition.
Dans la base de données il faut garder toute l'information pertinente pour chaque livre: qui l'a écrit, qui l'a corrigé et qui l'a publié.
Dessinez le modèle de cette bd.
Chaque livre a un auteur. Parfois, un livre est une oeuvre de collaboration écrit par plusieurs auteurs.
Une fois écrit le livre doit être revu et corrigé par un rédacteur ou une équipe de rédacteurs.
Finalement, le livre est publié par une des filiales de la maison d'édition.
Dans la base de données il faut garder toute l'information pertinente pour chaque livre: qui l'a écrit, qui l'a corrigé et qui l'a publié.
Dessinez le modèle de cette bd.
Modèle E-R
Modèle normalisé