Vous êtes sur la page 1sur 64

Parcours MIP

S4

Faculté des Sciences et Techniques de Tanger


http://www.fstt.ac.ma

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

Vous aimerez peut-être aussi