Académique Documents
Professionnel Documents
Culture Documents
marcellin.brou@inphb.ci
2021-2022
Sommaire
Introduction
Concepts de base
Conception d’un schéma
Relationnel
MLD Relationnel
Exercices
Bibliographie
2
I. Introduction
Objectifs :
Apprendre les concepts de base
d’une BD ;
Savoir concevoir un modèle
relationnel
Savoir transformer un schéma
Entité/Association en un schéma
relationnel
I. Introduction
1.1. Modèle relationnel Exemple : relation Produit
Introduit par Edgar Frank Codd numProd designation prix qteStock
en 1970.
Permet de reformuler le modèle 1 CD 400 12
Tuples
conceptuel de données dans un 2 DVD 500 20
formalisme tabulaire plus proche
de l'implémentation Données manipulées par des
informatique. opérateurs de l'algèbre
Cependant il est indépent d'une relationnelle (union,
solution technologique intersection, …) et SQL.
particulière.
Fondé sur la notion Etat cohérent de la BD assuré par
mathématique de relation un ensemble de CI.
Données organisées sous forme Théorie de la normalisation
de tables à deux dimensions Permet d’éliminer les
encore appelées relations. incohérences lors de la
conception d'une BD.
Chaque ligne est appelée n-uplet
ou tuple.
INP-HB/DFRMI/K. M. BROU Rôle du SI dans une organisation : Ch1.4. Modèle Relationnel 4
4
II. Concepts de base
2.1. Quelques définitions Produit cartésien :
Le produit cartésien d’un
Notion de Domaine : ensemble de domaine D1, D2, …,
Ensemble de valeurs Dn, noté D1 D2 … Dn est
Exemples : l’ensemble de n-uplets ou tuples
Entier (d1, d2, …, dn) tels que di Di avec
i = 1, 2, …, n.
Réel
Exemple :
Chaîne de caractères
D1 = {BD, Math, IA} card(D1)=3
Date
D2 = {3, 2} card(D2)=2
D1 x D2 : card(D1xD2)=3x2
BD 3
BD 2
MATH 3
MATH 2
IA 3
IA 2
INP-HB/DFRMI/K. M. BROU Rôle du SI dans une organisation : Ch1.4. Modèle Relationnel 5
6
II. Concepts de base
Exemple : relation Etudiant Remarques :
Définition en intention Un tableau ne contient pas deux
lignes identiques.
Etudiant(numEt, nomEt, dateNais, adresse, nomCl)
L’ordre des lignes n’a pas
Définition en extension d’importance.
L’ordre des colonnes n’a pas
d’importance.
Attributs Chaque case du tableau ne
Etudiant contient qu’une seule valeur.
numEt nomEt dateNais adresse nomCl Occurrence ou n-uplets ou tuples
214 Toto 26/10/72 Abidjan INFO1 : une ligne d’une relation.
tuples Cardinalité = Nombre de tuples
166 Froto 11/02/80 Abidjan INFO2
8
II. Concepts de base
2.3. Contrainte d’intégrité
Prédicat permettant de vérifier la
validité des opérations de mise à
jour afin que la BD soit toujours
cohérente.
Exemples :
Contrainte d’intégrité de domaine
Contrainte d’intégrité de relation
ou de clé primaire
Contrainte d’intégrité de
référence.
10
III. Conception d’un schéma Relationnel
3.1. Présentation Niveau conceptuel : représente le
contenu de la BD en termes
Démarche de conception conceptuels, indépendamment de
Données de l’entreprise toute considération informatique.
Niveaux d’abstraction
Niveau logique relationnelle :
Analyse conceptuelle résulte de la traduction du
Niveaux Conceptuel schéma conceptuel en un schéma
modélisation des données
propre à un type de BD.
Schéma conceptuel Niveau physique : est utilisé pour
décrire les méthodes
Conception logique d’organisation et d’accès aux
Niveaux Logique
traduction dans le modèle de BD
données de la BD.
Schéma logique
Cette partie porte sur le niveau
logique.
Création de la BD Niveaux Physique
Selon le SGBD
Schéma physique
11
12
III. Conception d’un schéma Relationnel
3.2. DF Exemple :
Dépendance fonctionnelle : DF CommandeProduit(numProd, design, qteCom,
Définition prixU, numCom, dateCom, numCl, nom, adresse)
Soit une relation R(A, B, C) où A, F = {numProd design ;
B et C représentent des attributs numProd prixU ;
ou groupes d’attributs. B est dit numcl nom ;
fonctionnellement dépendant de numCl adresse ;
A si étant donné deux tuples <a1, numCom dateCom ;
b1, c1> et <a2, b2, c2> de R, a1 numCom numCl ;
numCom, numProd qteCom
= a2 b1 = b2. }
Plus simplement, B dépend
fonctionnellement de A, si étant Contre exemples :
donné une valeur de A il lui numCl numProd
correspond une et une seule numCom qteCom
valeur B.
La DF est notée : A B et se lit :
A détermine B ou
B est fonctionnellement
dépendant de A.
13
14
III. Conception d’un schéma Relationnel
Dépendance Fonctionnelle Fermeture transitive d’un
Directe (DFD) ensemble F de DFE
Une DF X Y, dans une relation R Ensemble F+ obtenu en ajoutant à
est directe s’il n’existe pas F toutes les DF élémentaires
d’attribut Z de R tel que X Z et déduites par transitivité.
ZY F+ = F {DF transitives}
La DF X Y n’est pas obtenue par Couverture minimale
transitivité
Ensemble MIN(F) de DF
Exemples : élémentaires associé à un
numCl nom ;
ensemble d’attributs
numCom, numProd qteCom vérifie les propriétés suivantes :
Aucune dépendance de F n’est
Contre exemple : redondante ; i.e., pour toute DF
F’ de F, F-{F’} n’est pas
équivalent à F.
numCom nom
car numCom numCl et numCl nom Toute DF élémentaire des
attributs est dans F+ de F.
En d’autres termes, il n’existe pas
F’ MIN(F) / (F’)+ = F+
15
qteCom
16
III. Conception d’un schéma Relationnel
3.4. Construction du MCD Liens entre objets conceptuel. un
La SAT permet de construire le attribut clé d’une entité et un
MCD attribut clé d’une autre entité
(numComd numCl) :
On distingue en général trois
Cette catégorie de lien est
sortes de liens :
appelée Contrainte d’Intégrité
numCl numComd codPrd Fonctionnelle (CIF) (trait bleu).
Liens entre des attributs clés et
nomCl adrCl dateComd designat pU des attributs non clé (numCom,
numProd qteCom) (trait
qtComd rouge).
17
18
III. Conception d’un schéma Relationnel
Exercice :
Dictionnaire de données
Attribut Description Type Taille Nature Remarques Contrainte, Légende :
règle de calcul
numFact Numéro de la facture N EL Incrémenté N : Numérique
dateFact Date de la facturation D EL JJ/MM/AAAA AN : AlphaNumérique
D : Date
numAdh Numéro de l’adhérent N EL
nomAdh Nom de l’adhérent AN 15 EL EL : ETémentaire
prenomAdh Prénom de l’adhérent AN 25 EL CO : COncaténé
adresseAdh Adresse de l’adhérent AN CO CA : Calculé
numProd Numéro de produit N EL
designation Nom du produit AN 30 EL
qteCom Quantité commandée N EL
prixVente Prix de vente N EL
tva Taxe sur la Valeur Ajoutée N EL
montant Montant commandé N CA qteComxprixVen Questions :
te 1. Trouver les DF
totalHT Total HT N CA totalHT 2. Construire la SAT
totalTTC Total TTC N CA totaHT*(1+tva) 3. Construire le MCD
numFour Numéro du fournisseur N EL
nomFour Nom du fournisseur AN 20 EL
prixAchat Prix d’achat N EL
INP-HB/DFRMI/K. M. BROU Rôle du SI dans une organisation : Ch1.4. Modèle Relationnel 19
19
20
III. Conception d’un schéma Relationnel
Exemple 1 : une CIF Une commande est passée par un
et un seul client numCo codeCl
Une commande est traitée par un
Client et un seul représentant
codeCl passecommande Représentant
0, n 0, n codeRe numCo codeRe
nomCl
prénom nomRe On peut donc décomposer la
1, 1 relation passe commande en deux
0, n Commande relation binaire passe commande
Commandeproduit 1, n
numCo entre Client et Commande et
date traite commande entre
Représentant et Commande.
0, n
1, n
Produit
refPr 0, n contient
libelléPr
quantité
prixU
21
22
III. Conception d’un schéma Relationnel
De même, dans la relation
commandeProduit on a la CIF Client
CIF
Commande Client. codeCl 0, n
On peut donc décomposer la nomCl CIF
prénom 0, n 1, 1
relation commandeProduit en 1, 1
deux relations : commandproduit Commande Représentant
entre Client et Commande et concerne
1, n numCo 1, 1 0, n
codeRe
concerne entre Commande et date CIF
nomRe
produit. 0, n
Produit 1, n
refPr 0, n contient
libelléPr quantité
prixU
23
Produit 1, n
refPr 0, n contient
libelléPr quantité
prixU
24
III. Conception d’un schéma Relationnel
3.6. Normalisation 5 formes normales :
Définition 1FN, 2FN, 3FN, BCNF, 4FN, 5FN
Transformation d’une relation Degré de normalité d’un
posant des problèmes lors des schéma
opérations de MAJ en plusieurs Plus il est élevé, plus les
relations n’ayant pas ces redondances et les anomalies de
problèmes. MAJ sont réduites.
But : Minimiser les redondances Utilité de la normalisation
car source d’incohérence de la La conception d'un schéma
BD. relationnel correct nécessite donc
Classification des relations : l'explicitation de toutes les DF.
En fonction de leurs propriétés Il existe des algorithmes de
par rapport aux DF. normalisation, qui, à partir d’un
ensemble de DF sur un ensemble
d'attributs, construisent le
schéma relationnel en 3FN.
INP-HB/DFRMI/K. M. BROU Rôle du SI dans une organisation : Ch1.4. Modèle Relationnel 25
25
26
III. Conception d’un schéma Relationnel
Exemple : attribut de type Solution 1 : Mise à plat de la
structure structure
Relation Personne contenant Personne
l’attribut adresse de type id nom n° rue ville CP
structure
Personne
id nom adresse Solution 2 : Création de
n° rue ville CP nouvelles relations
Personne Adresse
id nom Aid n° rue ville CP
Habite
id Aid
27
28
III. Conception d’un schéma Relationnel
3.8. Deuxième FN (2FN) Remarque :
Permet d’éliminer certaines Si la relation est en 1FN et la clé
est unique et mono-attributs
redondances dues au fait que
alors la relation est en 2FN.
certains attributs non clés sont
déterminés par une partie de la Exemple 1 :
clé. Etudiants(numEt, nom, codeCl, libellé)
Définition F = {numEt nom, codeCl, libellé ;
codeCl libellé
Une relation est en 2FN si et
}
seulement si :
elle est en 1FN ;
La relation Etudiant est en 2FN
tout attribut n’appartenant à
car la clé est mono attribut.
aucune clé ne doit pas
dépendre d’une partie de
cette clé (i.e. dépend de la clé
que par une DFE)
INP-HB/DFRMI/K. M. BROU Rôle du SI dans une organisation : Ch1.4. Modèle Relationnel 29
29
30
III. Conception d’un schéma Relationnel
Anomalie de suppression : Anomalie de modification :
La suppression de certaines Une MAJ d’une donnée doit être
données entraine la perte répétée plusieurs fois.
d’autres données non concernées Dans la relation Fournisseur il y a
Exemple : Si on supprime une une redondance de certaines
valeur de la clé primaire (nom, occurrences du couple (nom,
article) par exemple (F2, P1), on adresse) par exemple (F1, A1).
risque de perdre une valeur Donc, la MAJ de l’adresse d’un
unique du couple (nom, adresse) fournisseur entraine :
Par exemple (F2, A2). Soit un coût élevé de MAJ si la
nom adresse article prix modification est effectuée sur
chaque occurrence répliquée ;
F1 A1 P1 100
F1 A1 P2 125
Soit une incohérence de la
relation si la modification n’est
F1 A1 P3 500
pas effectuée sur toutes les
F2 A2 P1 200
occurrences.
31
32
III. Conception d’un schéma Relationnel
Avantages de la 2FN Schémas FN Nombre d’octets
Permet de limiter les Fournisseurs(nom, adresse, 1FN 100 x 4 x 2 = 800
redondances. article, prix)
Considérons les deux schémas Fournisseur(nom, adresse) 2FN 100 x 2 = 200
ci-dessous : Produit(nom, article, prix) 30 x 3 x 2 = 180
200 + 180 = 380
Fournisseur(nom, adresse) avec
F = {nom adresse}
Relation en 2FN nécessite moins
Produit(nom, article , prix) avec d’octet pour le stockage des
F = {nom, article prix} données.
Avec :
100 Fournisseurs et 30 produits
différents ;
Un produit est livré que par 2
fournisseurs maximum.
Chaque attribut est codé sur 1
octet.
INP-HB/DFRMI/K. M. BROU Rôle du SI dans une organisation : Ch1.4. Modèle Relationnel 33
33
34
III. Conception d’un schéma Relationnel
3.9. Troisième FN (3FN) Pour savoir donc si un schéma
Permet d’éliminer les est en 3FN, on doit :
redondances dues aux DF Chercher toutes ses clés
minimales.
transitives.
En déduire les attribut A qui
Définition : n’appartiennent à aucune clé
Une relation est en 3FN si et minimale.
seulement si : Regarder toutes les DF X A de
Elle est en 2FN F+, avec A non inclus dans X (cas
Tout attribut n’appartenant à trivial), et tester pour chacune
aucune clé ne dépend pas d’elle si X est une clé.
d'un attribut non clé. Il doit
être directement dépendant
(ou non transitivement
dépendant) des clés.
35
36
III. Conception d’un schéma Relationnel
La relation Voiture de clé numV, La clé primaire est le triplet :
n’est pas en 3FN car l’attribut non numV
clé type détermine les attributs
marque et puis. Les anomalies :
Du fait des DF transitives :
Il a une redondance potentielle
dans la relation Voiture avec des
anomalies de stockage :
Anomalie d’insertion, Anomalie de
suppression, Anomalie de
modification.
Voiture
numV couleur type marque puis
6368CA07 rouge R12TSE Renault 6
6969CA07 bleue R12TSE Renault 6
4406BA04 verte R25 Renault 11
37
38
III. Conception d’un schéma Relationnel
Décomposition de Voiture en 2 Théorème de Heath :
relations en 3FN :
Le théorème de décomposition X = type, Y = marque, puis, Z = numV, couleur
permet d’isoler les DF transitives
et d’obtenir des relations en 3FN Modele(type, marque, puis)
F = {type marque, puis}
ne présentant pas les anomalies
de stockage. Voiture(numV, type, couleur)
MIN(F) = {numV type, F = {numV couleur, type}
couleur ; type marque, puis}
Modele Voiture
type marque puis numV couleur type
R12TSE Renault 6 6368CA07 rouge R12TSE
R25 Renault 11 6969CA07 bleue R12TSE
4406BA04 verte R25
39
Le fait de regrouper dans une Voiture(numV, marque, type, puis, 2FN 100 x 5 = 500
couleur)
relation, les attributs qui sont
Voiture(numV, type, couleur) 3FN 100 x 3 =300
strictement dépendant de la clé
Modèle(type, marque, puis) 30 x 3 = 90
permet de limiter les
300 + 90 = 390
redondances.
Considérons les deux schémas ci-
dessous : Une relation en 3FN nécessite
X Modele(type, marque, puis)
moins d’octet pour le stockage
F = {type marque, puis} des données.
40
III. Conception d’un schéma Relationnel
Exercice 1 : Exercice 2 :
Soit le schéma R(S, R, A, C) avec Montrer que la relation Etudiants
F ={S, A R ; S, R C}, avec S = ci-dessous n’est pas en 3FN et la
Succursale de magasin, R = un décomposer.
Rayon, A = un Article et C = Chef
de rayon. Etudiants(numEt, nom, codeCl, libellé)
F = {numEt nom, codeCl, libellé ;
Montrer que R n’est pas en 3FN et
codeCl libellé
la décomposer. }
41
42
IV. MLD Relationnel
4.2. Règles de passage Règle 2 : Association de type 1:n
Tableau de conversion (relation de type père-fils)
Le père est du côté de la
Entité Relation cardinalité max n et le fils du côté
Propriété de l’entité attribut de la relation
de la cardinalité max 1.
Identifiant de l’entité Clé primaire de la relation
L’identifiant du père et les
Règle1 : chaque entité devient propriétés de l’association
migrent chez le fils.
une relation.
L’identifiant de l’entité est la clé Entité1 : père Entité2 : fils
1:n
de la relation. E1 E2
x, n A x, 1 a1e2
a1e1
Entité a2e1 a1a a2e2
E1 Relation
x = 0 ou 1
a1e1 E1(a1e1, a2e1)
a2e1 E1(a1e1, a2e1)
Relations
E2(a1e2, a2e2, #a1e1, a1a)
43
44
IV. MLD Relationnel
Règle 4 : association réflexive
Entité
x, 1 1:1
E1
a1e1 A Règle 5
a2e1 a1a
x, 1
Relations
E1(a1e1, a2e1, #a1e1Père, a1a)
45
46
IV. MLD Relationnel
Règle 6 : héritage d’entité Entité générique
L’identifiant de l’entité générique E1 Relations
devient la clé des entités a1e1 E1(a1e1, a2e1)
spécialisées. a2e1
E2(a1e1, a1e2)
Les entités spécialisées n’ont pas E3(a1e1, a1e3)
d’identifiants propres. E2 E3 E4(a1e1, a1e4)
a1e2 a1e3
Entités
spécialisées
E4
a1e4
47
48
V. Exercices
5.1. QCM Q3 : Comment se présente une
Q1 : Qui a créé le modèle relation de façon visuelle ?
relationnel ? a) un tuple
a) E. F. Codd b) une table en deux dimensions
b) Peter Chen c) un n-uplet
c) Hubert Tardieu d) un enregistrement
d) Amstrong Q4 : Quelle affirmation est
Q2 : Qu'est-ce qui permet de fausse ?
relier deux relations ? a) Toutes les valeurs d'un attribut
donné sont de même type
a) Clés candidates
b) Deux tuples peuvent être
b) Clé primaire
identiques dans la même table
c) Identifiant
c) Un attribut ne peut contenir
d) Clés étrangères qu’une valeur unique
d) Un attribut est structuré
INP-HB/DFRMI/K. M. BROU Rôle du SI dans une organisation : Ch1.4. Modèle Relationnel 49
49
V. Exercices
Q5 : Qu’est qu’une clé ? Q8 : L’ordre des attributs dans
a) Identifiant unique d’un tuple une relation est-il important ?
b) Ensemble d’attributs atomiques a) Vrai
c) Ensemble d’attributs structurés b) Faux
d) Concaténation de plusieurs Q9 : Plus le degré de normalité
attributs est élevé, plus les redondnances
Q6 : L’ordre des tuples dans une augmentent?
relation est-il important ? a) Vrai
a) Vrai b) Faux
b) Faux Q10 : Une DF permet de
Q7 : la clé primaire est s’assurer qu’à un attribut on
nécessairement mono attribut ? peut lui associer plusieurs
a) Vrai valeurs ?
b) Faux a) Vrai
b) Faux
INP-HB/DFRMI/K. M. BROU Rôle du SI dans une organisation : Ch1.4. Modèle Relationnel 50
50
V. Exercices
Q11 : Une clé étrangère est : Q13 : Une relation est en 3FN si
a) un attribut qui porte le même tous les attributs de la relation
nom qu’un autre attribut dans dépendent de la totalité de la clé
une autre relation primaire et pas seulement d’une
b) une clé candidate partie.
c) un attribut d'une relation qui est a) Vrai
la clé d'une autre relation b) Faux
d) Un attribut qui n’appartient pas Q14 : Quelle contrainte
à une relation.
d'intégrité (CI) n'est pas
Q12 : Une relation est en 1FN si respectée lorsque la valeur saisie
et seulement si tous les attributs n’est pas compatible avec le type
de la relation dépendent de sa de données du champ ?
clé primaire. a) CI de Domaine
a) Vrai b) CI de table
b) Faux c) CI Référentielle
INP-HB/DFRMI/K. M. BROU Rôle du SI dans une organisation : Ch1.4. Modèle Relationnel 51
51
V. Exercices
Q15 : Quelle CI n'est pas Q16 : Quelle CI n'est pas
respectée lorsque la valeur saisie respectée lorsque la valeur de la
pour un champ clé étrangère clé primaire n’est pas saisie ou
d’une table ne fait pas partie des s’il s’agit d’une valeur déjà
valeurs du même champ clé existante ?
primaire d’une autre table ? a) CI de Domaine
a) CI de Domaine b) CI de table
b) CI de table c) CI Référentielle
c) CI Référentielle Q17 : La relation suivante est-
elle en 2FN ?
Produit(numProd, numCat, nomProd, nomCat)
numCat → nomCat
a) Vrai
b) Faux
52
V. Exercices
Q18 : Dans la relation Client ci- Q19 : Dans la relation Client ci-
dessous, l'attribut numCl dessous, l'attribut dateNais ne
détermine l'attribut prenom car : dépend pas fonctionnellement de
Client(numCl, nom, prenom, dateNais) l'attribut prenom car :
a) à une valeur de l'attribut numCl, Client(numCl, nom, prenom, dateNais)
correspond une seule valeur de a) on ne peut pas se baser sur le
l'attribut prenom prénom pour savoir qui est le
b) pour un client, il peut y avoir client
plusieurs prénoms b) à un même prénom peuvent
c) à partir du prénom du client, on correspondre plusieurs dates
peut retrouver son numéro date de naissance
d) à une valeur de l'attribut c) un attribut ne peut déterminer
prenom, correspond une seule un autre attribut que si ce
valeur de l'attribut numCl dernier est clé primaire
d) la DF ne peut concerner que des
attributs ayant le même domaine
INP-HB/DFRMI/K. M. BROU Rôle du SI dans une organisation : Ch1.4. Modèle Relationnel 53
53
V. Exercices
Q20 : Qu'est-ce qu'une relation ? Q21 : La normalisation permet
a) Collection de caractéristiques, de:
appelées attributs, concernant a) Vérifier que le modèle est
un objet. normalisé ISO.
b) Collection de caractéristiques, b) Vérifier que le modèle respecte
appelées lignes, concernant un les normes de l’entreprise.
objet. c) Minimiser la redondance de
c) Sorte d'opération mathématique l’information et assurer la
qui permet de faire des calculs cohérence de la base.
sur des informations. d) S’assurer que le modèle sera
d) Traitement que l'on applique à assez normalisé pour pouvoir
des données dans un système être validé par les utilisateurs.
d'information.
54
V. Exercice
5.2. Schéma relationnel Exercice 2 : Soit schéma
Exercice 1 : Trouver le schéma Entité/Association suivant :
relationnel correspondant aux
schémas Entité/Association des
exercices sur le modèle
Entité/Association.
55
V. Exercice
56
V. Exercice
Exercice 3 : normalisation Exercice 4 : normalisation
Soit la relation R (P, E, D, M) qui Soient R = {I, J, K, L, M, N}
modélise les informations de type DF = {I, J → K ; J, K → I, L ; L → M
: "le professeur (P) enseigne la ; K, N → J}
matière (M) dans l’école (E)
a) Déterminer une clé de R.
dirigée par le directeur (D)".
b) La table R est-elle en 3FN ?
Soit F = {P → E, E → D}
sinon décomposer la.
l’ensemble de DF associé.
a) Quelle est la clé de la relation
R?
b) Dans quelle forme normale
se trouve cette relation ?
c) Décomposer cette relation en
3ème forme normale
57
Bibliographie
Livre "Base de données, les systèmes
"Modélisation dans la conception et leurs langages", G.
des systèmes d’information", GARDARIN, Edition Eyrolles.
Edition Masson. "Système d’information et base
"Les fichiers et organisation des de données", GALACSI, Bordas
données", C. JOUFFROY, Informatique.
C.LEITANG, Bordas Informatique.
"Base de données et systèmes
relationnels", C. DELOBEL, M.
ADIBA, Dunod Informatique.
"Les bases de données
relationnelles", Serge MIRANDA,
José Maria BUSTA.
58
Bibliographie
Webogaphie
http://www.infres.enst.fr/~dom
bd/polyv7/
http://lbdwww.epfl.ch/f/teachi
ng/courses/poly2/11/11.htm
Cours de
Yolaine.Bourda@supelec.fr
Cours de Mme Silber
cours@www-aius.u-strasbg.fr
59