Parcours MIP
S4
Faculté des Sciences et Techniques de Tanger
[Link]
2021-2022
1
1. Terminologie
2. Schéma relationnel d’une BD (MLD)
3. Normalisation
3
1. Terminologie
Le modèle logique des données (MLD) est une étape
intermédiaire pour passer du modèle E/A, qui est un
modèle sémantique, vers une représentation physique des
données : Fichier, SGBD hiérarchique, SGBD réseau,
SGBD relationnel.
Nous nous limitons au seul MLD relationnel, qui
prépare le passage aux SGBD relationnels.
44
1. Terminologie
Comment est constitué un MLD et comment l’établir?
Tables, lignes, colonnes, attribut et domaine.
clés primaires et clés étrangères.
Schéma relationnel.
55
1. Terminologie
Tables:
Lorsque les données ont la même structure (par ex. renseignement relatifs à
un client), on peut alors les organiser en tables dans lesquelles:
• Les colonnes décrivent les champs en commun
• Les lignes contiennent les valeurs de ces champs pour chaque enregistrement.
Exemple:
N° Client Nom Prénom Adresse
1 Durand Marie 2, rue la Paix
2 Motte Pierre 7, rue clér
…….
66
1. Terminologie
Attribut, et domaine
Attribut : Colonne d’une relation caractérisée par un nom
Domaine: Ensemble des valeurs admises pour un attribut, il établit les
valeurs acceptables dans une colonne
RELATION
ATTRIBUT DOMAINE
TUPLES
7
1. Terminologie
Clé primaire
Les lignes d’une table sont unique il existe au moins une
colonne qui sert à identifier les lignes il s’agit de la clé primaire
de la table.
Les propriétés et conventions requises
•La valeur vide Null est interdite
•La valeur de la clé primaire d’une ligne ne devrait pas
changer au cours du temps
•On souligne les clés primaire
8
1. Terminologie
Clé primaire : Ensemble minimal de colonne qui permet d’identifier de
manière unique tuple dans une table (primary key).
Une clé primaire est simple si elle est composée une seule colonne
Une clés primaire composée peut être constituée de deux colonnes
ou plus.
Exemple:
Client(N°, Nom, Prénom, adresse)
Appartement(N°, adresse, superficie)
99
1. Terminologie
Clé étrangère: Une ou plusieurs colonnes dans une table qui a pour but
d’assurer une liaison entre deux tables la clé primaire de la première
table est dupliquée dans la deuxième on l’appelle aussi clé externe
(Foreign key)
Convention:
•On fait précéder par # la clé étrangère
Exemple:
Clients Commandes
N° client N° commande
Nom client Date commande
Prénom client #N° client
Adresse client
10
10
1. Terminologie
Tables, lignes colonnes attribut, et domaine
Modèle conceptuel Modèle relationnel
Entité Table/relation
Occurrence d’entité Ligne/tuple
Attribut d’entité Nom de colonne
Identifiant clé primaire / étranger
11
11
1. Terminologie
Remarques:
Rq1: Une même table peut avoir plusieurs clés étrangère mais une
seule clé primaire (éventuellement composée de plusieurs colonnes).
Rq2: Une clé étrangère peut aussi être primaire (dans la même table).
Rq3: Une clé étrangère peut être composée (c’est le cas si la clé
primaire référencée est composée).
Rq4: Implicitement chaque colonne qui compose une clé primaire ne
peut pas recevoir la valeur NULL.
Rq5: Si une clé étrangère ne doit pas recevoir la valeur NULL, alors il
faut le préciser dans la description des colonnes.
12
12
2. Schéma relationnel d’une BD
Schéma relationnel:
Les tables sont appelées relations
Les liens entre clés étrangères et leur clés primaires
sont symbolisés par un connecteur
13
13
2. Schéma relationnel d’une BD
Entité:
Règle : Toute entité dans un MCD devient une table dans un MLD dans
laquelle les propriétés deviennent les colonnes et l’identifiant de l’entité
constitue la clé primaire de la table.
(MCD)
Client Se traduit par
Codcli (Identifiant)
Nomcli (Propriété)
Adrcli (Propriété)
(MLD)
Entité (Clé primaire) (Colonne 1) (Colonne 2)
Client (codcli, nomcli, adrcli)
Table (Relation) 14
14
2. Schéma relationnel d’une BD
Association binaire un à plusieurs
Magasin Employé
N° Agence N°Employé
N°_civique Embaucher Nom Employé
Rue 1.n Prénom employé
1.1 Salaire employé
Ville
Code postal
Employé
N°_Employé
Magasin Nom Employé
Prénom employé
N°Agence Salaire employé
N° civique #N°Agence
Rue
Ville
Code postal 15
15
2. Schéma relationnel d’une BD
Association binaire un à plusieurs, Exemple :
16
2. Schéma relationnel d’une BD
Association binaire plusieurs à plusieurs
Se traduit par une nouvelle table dont le clé primaire est composée des
identifiants des deux entités, les éventuelles propriétés de l’association
deviennent les attributs de cette table.
Skieur Compétition
Nomski (0,n) Classer (0,n) Refcomp
spécialité rang datcomp
Se traduit
par
Classer(#nomski, #refcomp, rang)
17
17
2. Schéma relationnel d’une BD
Association binaire plusieurs à plusieurs, Exemple1:
18
18
2. Schéma relationnel d’une BD
Association binaire plusieurs à plusieurs, Exemple2:
19
19
2. Schéma relationnel d’une BD
Association n-aire (n>2)
On crée une table ayant pour clé primaire les identifiants des différentes
entités de l’association. Les éventuelles propriétés de l’association
deviennent les attributs de la table.
Classe
No_classe
0.n
Matière 0.n Professeur
Assure 0.n
No_matiere No_prof
codsalle
Se traduit par
Assure(#no_classe, #no_matiere,#no_prof, cod salle) 20
20
2. Schéma relationnel d’une BD
Association n-aire (n>2), Exemple:
21
2. Schéma relationnel d’une BD
Association réflexive:
Salarie 0.1 Epouse
N° matricule Gérer
Nom
Prénom
Salaire
0.*
Personne Gérer
N° matricule
#N° matricule1
Nom
#N° matricule2
Prenom
Nom
Salaire
Prenom
Salaire 22
22
2. Schéma relationnel d’une BD
Association réflexive: Exemple
23
3. Normalisation
25
25
3. Normalisation
26
26
3. Normalisation
27
27
3. Normalisation
Premier forme normale : 1FN
Une relation est 1FN si tous ses attributs sont atomiques (ne sont pas
décomposables).
Exemple : table Personne et Livre
Les tables PERSONNE et LIVRE ne sont pas en 1FN si les attributs
Prénom et Auteur sont multivalué : du type [Jean, Paul]
Num Nom Prénom
1 Dupont Pierre
NULL NULL Jean code Titre Auteur
2 DURANT MARIE 100 L’art des Miranda
3 Dupré Sylvie BD
NULL NULL Claudine NULL NULL Busta
NULL NULL Claire 28
28
3. Normalisation
Règle de la premier forme normale : 1FN
29
3. Normalisation
Comment normaliser en 1FN?
1ere solution : créer autant d’attributs que le nombre maximum de
valeurs de l’attribut multi-valué.
Num Nom Prénom1 Prénom2 Prénom3
1 Dupond Pierre Jean NULL
2 DUPANT MARIE NULL NULL
3 Dupré Sylvie Claudine Claire
2eme solution : Créer une nouvelle relation comportant la clé de la
relation initiale et l’attribut multi-valué puis éliminer l’attribut multi-
valué de la relation initiale
Code Auteur
Code Titre
100 Miranda
100 L’art des BD
100 Busta
Livre
Auteur 30
3. Normalisation
Première forme normale : 1FN
Les tables relationnelles sont nativement toutes en 1FN car les attributs
de type tableau ne sont pas autorisés au niveau de la BD
ncomp Compagnie nomPilote sexe typeAvio immat nbHeure
n sVol
1 Air-France Bidal F CRJ F-CLAR 600
1 Air-France Bidal F A320 F-ROMA 345
1 Air-France Bidal F A320 F-GLDX 120
2 Quantas SanFilippo G A330 F-STEF 7500
2 Quantas SanFilippo G A330 F-GLDX 250
2 Quantas Soutou G A340 F-ABDL 2500
31
31
3. Normalisation
Deuxième forme normale : 2FN
Une relation est 2FN si elle est en 1FN. Et si chaque colonne qui ne fait pas
partie d’une clé primaire dépend de la clé primaire
Autrement dit , une table est en 2FN si
Elle est en 1FN
Une de 3 conditions suivantes est vérifiée
La clé primaire n’est formée que d’une seul colonne (un attribut)
La clés primaire contient toutes les colonnes de la table
Si la clé primaire a plus d’une colonne une dépendance
fonctionnelle ne doit jamais exister entre une partie de la clé et
une autre colonne de la table
32
32
3. Normalisation
Règle de la deuxième forme normale : 2FN
33
3. Normalisation
Comment normaliser 2FN?
Pour passer de la 1FN à la 2FN, il faut diviser chaque table ne
satisfaisant pas les critères en deux tables distinctes.
Pour diviser une table en deux il faut
• Créer une nouvelle table ayant pour clé la partie de la clé primaire
dont dépend le ou les attributs, ainsi que ces attributs eux-mêmes
• Eliminer ces attributs (ceux qui ne font pas partie de la clé) de la
table originale
34
3. Normalisation:
Troisième forme normale : 3FN
Une relation est 3FN si elle respect la deuxième forme normale et si les
DF entre la clés primaire et les autres colonnes sont directes.
Autrement dit une table est en 3FN si
•Elle est en 2FN
•Aucune colonne ne faisant pas partie de la clé primaire ne dépend
d’une autre colonne ne faisant pas partie non plus de la clé primaire
Les dépendances fonctionnelle entre deux colonnes ordinaires
(ne faisant pas partie de la clé ) sont interdites
3. Normalisation:
Comment normaliser 3FN?
Pour passer de 2FN à 3FN , il faut
• Diviser chaque table ne satisfaisant pas ce critère en deux table .
• La nouvelle table aura comme clé la colonne dont provient la
dépendance et comme colonnes, celles qui en dépendent.
• Eliminer les colonnes dépendants de la table originale. La clé de
la nouvelle table demeure dans l’ancienne en tant que clé
étrangère.
36
3. Normalisation
Règle de la troisième forme normale : 3FN
37
3. Normalisation:
Etude de cas 1 : Normalisons les données de la table suivante :
- D’après la table ci-dessus on constate qu'un client peut louer
plusieurs Appartements
- Un propriétaire possède plusieurs appartements
3. Normalisation:
- Dépendances fonctionnelles:
3. Normalisation:
- Les formes normales est un processus de décomposition d’une table
mère en sous tables , pour ne pas avoir des tables ayant de la
redondance et de l’incohérence:
Règle de la 1 ère Forme Normale
3. Normalisation:
Application de la règle de la 1 ère Forme Normale:
3. Normalisation:
- Les formes normales est un processus de décomposition d’une table
mère en sous tables , pour ne pas avoir des tables ayant de la
redondance et de l’incohérence:
Règle de la 2 ème Forme Normale
3. Normalisation:
- Les formes normales est un processus de décomposition d’une table
mère en sous tables , pour ne pas avoir des tables ayant de la
redondance et de l’incohérence:
Application de la 2 ème Forme Normale
3. Normalisation:
- Les formes normales est un processus de décomposition d’une table
mère en sous tables , pour ne pas avoir des tables ayant de la
redondance et de l’incohérence:
Règle de la 3 éme Forme Normale
3. Normalisation:
- Les formes normales est un processus de décomposition d’une table
mère en sous tables , pour ne pas avoir des tables ayant de la
redondance et de l’incohérence:
Application de la 3 ème Forme Normale
3. Normalisation:
- Après la normalisation on obtient 4 tables : Table Client, Table
Appartement , Table location et Table Propriétaire
3. Normalisation:
Etude de cas 2 : Normalisons les données de la table suivante :
Num_Cmd Date Num_Cli Nom_Cli NumArt Désignation Quantité
23/04/2021 IBRAHIMI
CMD01 CLI05 ART01 IMP021 12
Mohammed
ART02 Ecran HP032 8
28/04/2021 KASIMI
CMD02 CLI22 ART205 Tablette 13
Sara
Samsung
ART21 Souris 15
Bluetooth
ART52 ClavierGR25 10
3. Normalisation:
3. Normalisation:
3. Normalisation:
3. Normalisation:
3. Normalisation:
3. Normalisation:
3. Normalisation:
3. Normalisation:
1. Modèle Physique de données
Définition
Le modèle physique des données (MPD) d'une base de données permet
d'avoir une représentation graphique de la structure d’une base de données
et ainsi de mieux comprendre les relations entre les différents tables.
Il permet d'avoir un point de vue global sur l'ensemble de la base de
données
57
1. Modèle Physique de données
58
1. Modèle Physique de données
Dans le MPD on crée les tables dont on met le nom dans l’en-tête,
ensuite à l’intérieur de ces tables on met l’ensemble des champs
qu’elles contiennent.
Dans un second temps, il faut souligner les champs qui sont des clés primaires et
mettre un “#” devant les champs qui sont des clés étrangères.
59
1. Modèle Physique de données
60
1. Modèle Physique de données
61
1. Modèle Physique de données
62
1. Modèle Physique de données
63
1. Modèle Physique de données
64