Académique Documents
Professionnel Documents
Culture Documents
Chapitre I
Introduction et objectifs
B. EL HATIMI 1
Bases de données relationnelles
B. EL HATIMI 2
Bases de données relationnelles
Aujourd’hui
B. EL HATIMI 3
Bases de données relationnelles
Monde réel
Analyse
Modéle
conceptuel
de données
Modéle
logique de
données
Base de
données
8 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 4
Bases de données relationnelles
Comptabilité Chirurgie
Problèmes
Consultations Psychiatrie
Problèmes
Difficultés de gestion
Duhpon Duipont
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy
Modéle
Turlututudhjsd
relationnel - B. EL HATIMI 11
B. EL HATIMI 5
Bases de données relationnelles
plusieurs langages
Redondance de
données
Problèmes
Difficultés de gestion
Incohérence des données
Duhpon Duipont
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy
Modéle
Turlututudhjsd
relationnel - B. EL HATIMI 12
Interrogations Caractéristiques
Plusieurs applications
plusieurs formats
ComptaSoft
ChiruSoft
Dupont Dupond
Symptomes : y
Turlututusqjsk
Symptom: yyyy
plusieurs langages
Turlututu : sqj Analyses xxxx
Symptomes : y
Turlututu : sdd
Analyses : xxx
Turlututudhjsd
Analyses :xx Redondance de
données
Pas de facilité
d’interrogation
Question développement
Problèmes
Difficultés de gestion
Incohérence des données
Coûts élevés
Maintenance difficile
PsychiaSoft
ConsultSoft
Duhpon Duipont
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy
Modéle
Turlututudhjsd
relationnel - B. EL HATIMI 13
B. EL HATIMI 6
Bases de données relationnelles
ChiruSoft
Dupont Dupond
Symptomes : y
Turlututusqjsk
Symptom: yyyy
plusieurs langages
Turlututu : sqj Analyses xxxx
Symptomes : y
Turlututu : sdd
Analyses : xxx
Turlututudhjsd
Analyses :xx Redondance de
données
Pas de facilité
d’interrogation
Question développement
Problèmes
Difficultés de gestion
Incohérence des données
Coûts élevés
PsychiaSoft
ConsultSoft
Duhpon Duipont
Turlututu : sq Maintenance difficile
Symptomes : yy Symptomyyyy
Analyses : xxxx
Symptomes : yy
Analysesxxxx
Gestion de pannes ???14
Modéle relationnel - B. EL HATIMI
Turlututudhjsd
ChiruSoft
Dupont Dupond
Turlututusqjsk
Symptomes : y
Turlututu : sqj
Symptomes : y
Symptom: yyyy
Analyses xxxx Redondance de données
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Pas de facilité
d’interrogation
Question développement
Problèmes
Difficultés de gestion
Incohérence des données
Coûts élevés
Maintenance difficile
PsychiaSoft
ConsultSoft
Duhpon Duipont
Gestion de pannes ???
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Modéle relationnel - B. EL HATIMI 15
Symptomes : yy Turlututudhjsd
Partage des données ???
B. EL HATIMI 7
Bases de données relationnelles
Confidentialité Caractéristiques
Plusieurs applications
plusieurs formats
ComptaSoft plusieurs langages
ChiruSoft
Dupont Dupond
Turlututusqjsk
Symptomes : y
Turlututu : sqj
Symptomes : y
Symptom: yyyy
Analyses xxxx Redondance de données
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Pas de facilité
d’interrogation
Question développement
Redondance de code
Problèmes
Difficultés de gestion
Incohérence des données
Coûts élevés
Maintenance difficile
PsychiaSoft
ConsultSoft
Duhpon Duipont
Turlututu : sq
Gestion de pannes ???
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx Partage des données ???
Symptomes : yy
Modéle relationnel - B. EL HATIMI
Turlututudhjsd
16
Confidentialité ???
B. EL HATIMI 8
Bases de données relationnelles
B. EL HATIMI 9
Bases de données relationnelles
B. EL HATIMI 10
Bases de données relationnelles
I- Indépendance
Physique
VI - Gestion de la
cohérence
B. EL HATIMI 11
Bases de données relationnelles
Niveaux d’abstraction
B. EL HATIMI 12
Bases de données relationnelles
Modèle relationnel.
Construction d’une base de données.
Algèbre relationnel.
Théorie de la normalisation.
Chapitre II
Modèle relationnel
B. EL HATIMI 13
Bases de données relationnelles
Monde réel
Analyse
Modéle
conceptuel
de données
Modéle
logique de
données
Base de
données
28 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 14
Bases de données relationnelles
Différents modèles :
– Modèle Réseau
– Modèle Hiérarchique
– Modèle Relationnel (Oracle, SQL Server,
MySQL…) Standard du marché
– Modèle Objet
– Modèle Relationnel – Objet
– NoSQL (Orienté documents, Clé-valeur…)
Un petit historique
B. EL HATIMI 15
Bases de données relationnelles
Un petit historique
Legacy Systems
B. EL HATIMI 16
Bases de données relationnelles
Legacy Systems
Forces :
Proche du niveau interne (gestion des fichiers)
Efficacité (accès disques)
Faiblesses :
Manque d’indépendance Programmes-Données
Grande complexité des LMD associés
LMD de bas niveau laissant la navigation à la charge
du programmeur
B. EL HATIMI 17
Bases de données relationnelles
CODD le fondateur
B. EL HATIMI 18
Bases de données relationnelles
Le domaine de valeurs
B. EL HATIMI 19
Bases de données relationnelles
Relation ou Table
B. EL HATIMI 20
Bases de données relationnelles
Attribut ou Colonne
Un attribut ou Colonne
CLIENT
Code LibelleClient Adresse
B. EL HATIMI 21
Bases de données relationnelles
B. EL HATIMI 22
Bases de données relationnelles
Enregistrement ou Tupple
Tupple ou Enregistrement : n-uplet (v1,…,vn)
correspondant à une ligne de la table représentant la
relation.
Un enregistrement est une réalisation de la relation.
Exemple pour la relation CLIENT : (‘C342’,’ELECTRA
S.A’, ‘Casablanca’), (‘C235’, ‘Comptoirs du Souss’,
‘Agadir’)…
Les n-uplet d’une relation représentent l’ensemble des
instanciations de cette relation On peut alors
appliquer des contraintes ensemblistes sur ces
46 ensembles.
Modéle relationnel - B. EL HATIMI
B. EL HATIMI 23
Bases de données relationnelles
Valeurs complexes
B. EL HATIMI 24
Bases de données relationnelles
Attributs atomiques
B. EL HATIMI 25
Bases de données relationnelles
ETUDIANT
B. EL HATIMI 26
Bases de données relationnelles
Clé composée
Contrainte d’unicité
B. EL HATIMI 27
Bases de données relationnelles
Contrainte d’entité
B. EL HATIMI 28
Bases de données relationnelles
B. EL HATIMI 29
Bases de données relationnelles
B. EL HATIMI 30
Bases de données relationnelles
Dictionnaire de données
B. EL HATIMI 31
Bases de données relationnelles
Clé étrangère
SERVICE EMPLOYE
IdService Matricule
NomService Nom
Fonction
B. EL HATIMI 32
Bases de données relationnelles
Clé étrangère
EMPLOYE
SERVICE
Matricule
IdService
Nom
NomService
Fonction
Service
Réf : Service
Clé étrangère
B. EL HATIMI 33
Bases de données relationnelles
Clé étrangère
EMPLOYE
Matricule Nom Fonction Service
1234 Filali Chef de service S02
9999 Maghribi Ingénieur S01
B. EL HATIMI 34
Bases de données relationnelles
Contrainte référentielle
Contrainte référentielle : « Contrainte d’intégrité portant sur une
relation R1, consistant à imposer que la valeur d’un groupe
d’attributs de R1 apparaisse comme valeur de clé sur une autre
relation R2. »
Le SGBD devra assurer l’intégrité référentielle de la base de
données :
1. On ne peut pas créer d’enregistrements dans la table enfant R1
avec une valeur de la clé étrangère qui n’existe pas dans la
table parent R2.
2. La suppression d’un enregistrements de la table de référence
doit entraîner soit la suppression des enregistrements de la
table enfant correspondant, soit le changement de la valeur de
la clé étrangère à la valeur nulle, soit être interdit.
70 Modéle relationnel - B. EL HATIMI
Contrainte référentielle
SERVICE
IdService NomService
S01 Service comptabilité
S03 n’existe pas dans
S02 Service achats
SERVICE
EMPLOYE
Matricule Nom Fonction Service
1234 Filali Chef de service S03
5678 Alami Secrétaire
71 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 35
Bases de données relationnelles
B. EL HATIMI 36
Bases de données relationnelles
B. EL HATIMI 37
Bases de données relationnelles
B. EL HATIMI 38
Bases de données relationnelles
Table INDIVIDU
Code [CIN] Nom Prénom DateNaissance Sexe Père Mère
278 C111 Hassani Abdallah 01/01/1940 M
325 A555 Hassani Idriss 01/01/1970 M 278
548 B666 Awrabi Kenza 02/02/1974 F
987 D999 Fihri Oqba 03/03/1980 M
1205 Hassani Alia 04/04/2008 F 325 548
1206 Hassani Idriss 04/04/2008 M 325 548
B. EL HATIMI 39
Bases de données relationnelles
Exercice
Solution
B. EL HATIMI 40
Bases de données relationnelles
B. EL HATIMI 41
Bases de données relationnelles
Solution : On crée
une nouvelle CNE Nom Adresse
relation avec les 2226123 Amaoui Rabat
valeurs de 2125745 Ibrahimi Agadir
l’attribut
multivalué et 2125990 Bensedik Tanger
ayant une clé
étrangère IdTel Téléphone Étudiant
référençant la 1 061333344 2226123
table d’origine. 2 061333344 2125745
3 022113344 2125990
84 4 065122345
Modéle relationnel - B.2125990
EL HATIMI
B. EL HATIMI 42
Bases de données relationnelles
Contraintes d’intégrité
Contraintes d’intégrité
B. EL HATIMI 43
Bases de données relationnelles
B. EL HATIMI 44
Bases de données relationnelles
Contraintes intra-relations
B. EL HATIMI 45
Bases de données relationnelles
B. EL HATIMI 46
Bases de données relationnelles
Contraintes inter-relations
B. EL HATIMI 47
Bases de données relationnelles
Notion d’héritage
Notion d’héritage
B. EL HATIMI 48
Bases de données relationnelles
Notion d’héritage
Notion d’héritage
B. EL HATIMI 49
Bases de données relationnelles
Quizz
10
0 Modéle relationnel - B. EL HATIMI
Quizz
B. EL HATIMI 50
Bases de données relationnelles
Quizz
1. Deux enregistrements dans une table peuvent avoir la même
valeur pour une clé étrangère.
2. Deux enregistrements dans une table doivent avoir des valeurs
différentes pour une clé étrangère.
3. Deux tables différentes peuvent avoir des clés étrangères vers la
même table de référence.
4. Une table peut avoir deux clés étrangères différentes vers la
même table.
5. On peut supprimer un enregistrement dans la table de référence
si sa clé est référencée.
106. Une clé primaire peut être une clé étrangère.
2 Modéle relationnel - B. EL HATIMI
Quizz
TABLE 1 A B C D
TABLE 2 X Y Z
B. EL HATIMI 51
Bases de données relationnelles
Chapitre III
Construction du Schéma Relationnel
B. EL HATIMI 52
Bases de données relationnelles
Schéma relationnel de la BD
B. EL HATIMI 53
Bases de données relationnelles
CLIENT
NumClient POLICE
Nom NumPol
Adresse Type
Date
Client
VEHICULE
Véhicule
Matricule
Réf : Client
Marque
Réf : Véhicule
Modèle
Année
IMPLICATION
Puissance
Accident
Client ACCIDENT
Véhicule
Réf : Client NumAcc
Montant
DateAcc
Réf : Accident
Réf : Véhicule
10
8 Représentation graphique du schéma relationnel
Modéle relationnel - B. EL HATIMI
Types de relation
B. EL HATIMI 54
Bases de données relationnelles
11
0 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 55
Bases de données relationnelles
11
3 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 56
Bases de données relationnelles
Exemple
Véhicule Accident
1222A7 2567
2555D8 2567
1222A7 2568
B. EL HATIMI 57
Bases de données relationnelles
B. EL HATIMI 58
Bases de données relationnelles
TOTAL : 90000
• Une facture correspond à une seule commande
• Une commande peut être éclatée en plusieurs factures
• Il y a un seul représentant par client.
11 • La quantité facturée peut être différente de la quantité commandée
8 • Les prix sont fixes. Modéle relationnel - B. EL HATIMI
B. EL HATIMI 59
Bases de données relationnelles
12
1 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 60
Bases de données relationnelles
TD2 : Généalogie
B. EL HATIMI 61
Bases de données relationnelles
Une usine est décrite par son numéro NU, son nom
NomU, la ville Ville dans laquelle elle est située. On
suppose que NU est unique.
Un produit est décrit par son numéro NP, son nom NomP,
sa Couleur, son Poids. On suppose que NP est unique.
Un fournisseur est décrit par son numéro NF, son nom
NomF, son Statut (fournisseur sous-traitant, fournisseur-
client, .....), la Ville où il est domicilié. On suppose que NF
est unique.
12 Un produit est livré à une usine par un fournisseur dans
4 une quantité donnée. Modéle relationnel - B. EL HATIMI
B. EL HATIMI 62
Bases de données relationnelles
TD4 : Editeur
Les livres sont identifiés par leur numéro ISBN. Un livre
possède un titre et un prix de vente. Il est écrit par un ou
plusieurs auteurs.
Chaque livre est tiré en une ou plusieurs éditions, datées et
identifiées par leur ordre (première édition, seconde édition,
etc.). Chaque édition comporte un certain nombre
d'exemplaires. Pour un livre donné, le prix de vente peut
changer d'une édition à l'autre.
Les auteurs sont identifiés par leur nom et leur prénom et
peuvent avoir un pseudonyme.
12 Les libraires (identifiés par leur nom et adresse complète)
commandent des livres en précisant l’édition et le nombre
6 d’exemplaires désiré. Modéle relationnel - B. EL HATIMI
TD4 : Editeur
B. EL HATIMI 63
Bases de données relationnelles
Modèle relationnel et
Temporalisation
12
8 Modéle relationnel - B. EL HATIMI
Modèle relationnel et
Temporalisation
Schéma 1 :
– ETUDIANT (IDEtudiant : Entier, Nom : Texte,
Prénom : Texte, Classe : Entier)
– ETUDIANT.Classe référence CLASSE.IDClasse
– CLASSE (IDClasse : Entier, Libellé : Texte)
Problème : On ne garde pas l’historique des
classes successives d’un étudiant.
12
9 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 64
Bases de données relationnelles
Modèle relationnel et
Temporalisation
Schéma 2 :
– ETUDIANT (IDEtudiant : Entier, Nom : Texte,
Prénom : Texte)
– CLASSE (IDClasse : Entier, Libellé : Texte)
– INSCRIPTION (Etudiant : Entier, Classe : Entier,
Année : Texte)
– INSCRIPTION.Etudiant référence
ETUDIANT.IDEtudiant
– INSCRIPTION.Classe référence
13
CLASSE.IDClasse
0 Modéle relationnel - B. EL HATIMI
Bourse
B. EL HATIMI 65
Bases de données relationnelles
Chapitre IV
Algèbre relationnelle
B. EL HATIMI 66
Bases de données relationnelles
Introduction
13
4 Modéle relationnel - B. EL HATIMI
Définition
B. EL HATIMI 67
Bases de données relationnelles
Définition
13
6 Modéle relationnel - B. EL HATIMI
13
7 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 68
Bases de données relationnelles
Opérations ensemblistes :
Union
Intersection
Différence
Produit cartésien
13
9 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 69
Bases de données relationnelles
Opérations spécifiques :
Projection
Sélection ou Restriction
Jointure
Renommage
Division
14
0 Modéle relationnel - B. EL HATIMI
Union
B. EL HATIMI 70
Bases de données relationnelles
Union - Exemple
ID Nom ID Nom
1 Etudiant 1 1 Etudiant 1
2 Etudiant 2 10 Etudiant 10
3 11 Etudiant 11
ID Nom
1 Etudiant 1
2 Etudiant 2
3
10 Etudiant 10
14
11 Etudient 11
2 Modéle relationnel - B. EL HATIMI
Intersection
B. EL HATIMI 71
Bases de données relationnelles
Différence
Différence - Exemple
R S
ID Nom ID Nom
1 Etudiant 1 1 Etudiant 1
2 Etudiant 2 10 Etudiant 10
3 11 Etudiant 11
D=R-S
ID Nom
2 Etudiant 2
3
14
5 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 72
Bases de données relationnelles
Projection
Projection
B. EL HATIMI 73
Bases de données relationnelles
Projection
Projection : Exemple :
∏ [CNE,Nom,Prénom] ETUDIANT
CNE Nom Prénom
2214 Himmi Ahmed
Projection
Remarque importante :
Dans le cas où aucune clé n’apparaît dans
les opérandes de la projection, une
contrainte d’unicité est appliquée à
l’ensemble des attributs de la relation
résultat. Ceci permettra d’éliminer les
éventuels doublons.
14
9 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 74
Bases de données relationnelles
15
0 Modéle relationnel - B. EL HATIMI
Sélection
B. EL HATIMI 75
Bases de données relationnelles
Sélection
Sélection : Exemple :
σ [Filière = ‘SIG’] ETUDIANT
15
2 Modéle relationnel - B. EL HATIMI
Expressions algébriques
15
3 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 76
Bases de données relationnelles
Expressions algébriques
SIG
Nom Prénom
Alaoui Imane
Ikama Nabil
15
4 Modéle relationnel - B. EL HATIMI
Expressions algébriques
15
5 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 77
Bases de données relationnelles
Exercice
Soit la relation :
– PERSONNE ( nom : Chaîne (50c) ,
prénom : Chaîne (50c), date-nais : Date ,
sexe : Caractére)
– Avec sexe appartient à { ‘M’, ‘F’ }
Écrire l’expression algébrique donnant
la liste des noms et prénoms des
15 hommes nés avant 1995.
6 Modéle relationnel - B. EL HATIMI
Exercice
15
7 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 78
Bases de données relationnelles
Produit Cartésien
CodeCouleur Couleur
C1 Noir
15 C2 Bleu
9 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 79
Bases de données relationnelles
R = PRODUIT x COULEUR
16
1 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 80
Bases de données relationnelles
Renommage
Jointure
B. EL HATIMI 81
Bases de données relationnelles
Thêta - Jointure
Equi-Jointure
B. EL HATIMI 82
Bases de données relationnelles
Equi-jointure - Exemple
16
6 Modéle relationnel - B. EL HATIMI
Jointure naturelle
B. EL HATIMI 83
Bases de données relationnelles
16
8 Modéle relationnel - B. EL HATIMI
Exemple
B. EL HATIMI 84
Bases de données relationnelles
Exemple
Jointure naturelle
Remarque :
En notant A * B, la jointure naturelle se fait
sur l’ensemble des attributs communs (s’il y
en a).
On peut spécifier les attributs en question en
notant : A * [X] B où X est un sous-ensemble
des attributs communs.
17
1 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 85
Bases de données relationnelles
Division - Exemple
Division - Exemple
NomCours NomPrérequis
JAVA C++
JAVA Algorithmique
17
Développement Web Algorithmique
3 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 86
Bases de données relationnelles
Division - Exemple
17
4 Modéle relationnel - B. EL HATIMI
Division - Exemple
17
5 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 87
Bases de données relationnelles
Division - Exemple
Table R
NomCours
C++
Algorithmique
17
6 Modéle relationnel - B. EL HATIMI
Division - Exemple
CNE
22332233
17
7 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 88
Bases de données relationnelles
Division
Division
Division : Exemple :
R A B
S R/S
X 1 B A
Y 2
1 x
X 5
3
X 3
17 Z 1
9 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 89
Bases de données relationnelles
Chapitre V
Théorie de la normalisation
Schéma 1 : Schéma 2 :
NOTE (CNE, ID, ETUDIANT (CNE,
Nom, Classe, Nom, Classe)
Libelle, Semestre, MODULE (ID,
Note) Libelle, Semestre)
NOTE (CNE, ID,
Note)
18
1 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 90
Bases de données relationnelles
Relation universelle
18
3 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 91
Bases de données relationnelles
Redondance de données
18
5 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 92
Bases de données relationnelles
Anomalies d’insertion
Anomalies d’insertion
B. EL HATIMI 93
Bases de données relationnelles
Anomalies de suppression
Anomalies de modification
B. EL HATIMI 94
Bases de données relationnelles
Anomalies de modification
B. EL HATIMI 95
Bases de données relationnelles
19
2 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 96
Bases de données relationnelles
Problématique
19
4 Modéle relationnel - B. EL HATIMI
Solution
19
5 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 97
Bases de données relationnelles
19
7 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 98
Bases de données relationnelles
19
8 Modéle relationnel - B. EL HATIMI
Décomposition
B. EL HATIMI 99
Bases de données relationnelles
Définition formelle :
Soient X et Y deux sous-ensembles d’attributs
d’une relation R.
On a X Y si et seulement si : Quelques
soient E1 et E2 deux tuples de R alors : Si
∏[X](E1) = ∏[X](E2) Alors ∏[Y](E1) = ∏[Y](E2)
20
0 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 100
Bases de données relationnelles
B. EL HATIMI 101
Bases de données relationnelles
Important !!!
Une DF doit être vraie dans tous les cas. Aussi
la DF entre attributs d’une relation doit être
vérifiée pour la relation en intention et non en
extension (qui est une image à l’instant t du
schéma de la relation).
Les DFs sont décelées lors de la conception de
la base de données (à partir du monde réel).
20
4 Modéle relationnel - B. EL HATIMI
Propriété :
Soit la relation R et X une clé de la relation.
Quelque soit le sous-ensemble d’attributs Y de
R, nous avons :
XY
20
5 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 102
Bases de données relationnelles
DF élémentaire
20
7 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 103
Bases de données relationnelles
B. EL HATIMI 104
Bases de données relationnelles
21
0 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 105
Bases de données relationnelles
21
3 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 106
Bases de données relationnelles
Exemple :
PRODUIT (NP, NomP, Poids, Couleur)
NP est la clé principale et NomP est une clé
secondaire.
21
5 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 107
Bases de données relationnelles
NP Poids
NomP Couleur
NP Poids
NomP Couleur
B. EL HATIMI 108
Bases de données relationnelles
NP Poids
NomP Couleur
Méthode :
Etablir le graphe (minimum ou pas) des DFs,
Chercher sur le graphe un ensemble minimum
d’attributs X, tel que tous les chemins partant
de X et suivant les DFs atteignent tous les
autres attributs.
21
9 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 109
Bases de données relationnelles
B. EL HATIMI 110
Bases de données relationnelles
Soit la relation R
(NomProduit, NF, Adr, Tel,
Prix)
B. EL HATIMI 111
Bases de données relationnelles
22
4 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 112
Bases de données relationnelles
B. EL HATIMI 113
Bases de données relationnelles
Théorème de Heath
22
8 Modéle relationnel - B. EL HATIMI
Théorème de Heath
Démonstration :
R1*R2 contient au moins tous les tuples de R, puisque
tout tuple xyz de R crée un tuple xy dans R1 et un
tuple xz dans R2, qui sont concaténés par jointure
naturelle en xyz.
R1*R2 ne peut pas contenir de tuples en plus de ceux
de R. Ceci est démontré par l'absurde.
Soit xyz un tuple de R1*R2, qui n'appartient pas à R.
xyz provient de deux tuples de R: xyz' et xy'z. Etant
donné que xyz n'appartient pas à R, on a: z'≠z et y'≠y,
22 ce qui est contraire à la DF X→Y.
9 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 114
Bases de données relationnelles
Théorème de Heath
23
0 Modéle relationnel - B. EL HATIMI
Théorème de Heath
23
1 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 115
Bases de données relationnelles
23
3 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 116
Bases de données relationnelles
23
4 Modéle relationnel - B. EL HATIMI
23
5 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 117
Bases de données relationnelles
23
6 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 118
Bases de données relationnelles
23
8 Modéle relationnel - B. EL HATIMI
Exercice :
Soit la relation PRIME (N°type-machine, nom-
machine, N°techn, montant-prime, nom-techn)
avec les dépendances fonctionnelles suivantes:
N°type-machine → nom-machine
N°techn → nom-techn
(N°type-machine, N°techn) → montant-prime
23
9 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 119
Bases de données relationnelles
Solution :
PRIME est en 1FN car nom-techn ne dépend que d’une
partie de la clé N°techn, de même nom-machine ne
dépend que de N°type-machine
On applique deux fois le théorème de HEATH et on
obtient le schéma en 2FN suivant :
MACHINE (N°type-machine, nom-machine)
TECHNICIEN (N°techn, nom-techn)
24
0 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 120
Bases de données relationnelles
B. EL HATIMI 121
Bases de données relationnelles
24
4 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 122
Bases de données relationnelles
Exercice :
EMPLOYE ( NEmp, NLab, NProj, NomEmp,
NomProj, adresse)
(NEmp, NLab) → NProj
NEmp → NomEmp, adresse
NProj → NomProj
24
6 Modéle relationnel - B. EL HATIMI
Solution :
EMPLOYE est en 1FN car elle n’est pas en
2FN puisque NEmp → NomEmp, adresse
En appliquant deux fois le théoréme de
HEATH on obtient le schéma équivalent
suivant qui est à la 3FN
EMPLOYE2 (N°Emp, NomEmp, adresse)
PROJET (N°Proj, NomProj)
B. EL HATIMI 123
Bases de données relationnelles
B. EL HATIMI 124
Bases de données relationnelles
Soit la relation :
PLACE (N°Etud, Matière, Rang) qui représente le
rang obtenu par chaque étudiant pour chaque matière.
On suppose qu'il n'y a pas d'ex aequo. Il y a deux
identifiants : (N°Etud + Matière) , (Matière + Rang).
Dans quelle FN est cette relation ?
25
1 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 125
Bases de données relationnelles
25
2 Modéle relationnel - B. EL HATIMI
25
3 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 126
Bases de données relationnelles
25
4 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 127
Bases de données relationnelles
B. EL HATIMI 128
Bases de données relationnelles
Exercice
25
9 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 129
Bases de données relationnelles
Exercice
Solution
26
1 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 130
Bases de données relationnelles
Dépendances multivaluées
Dépendances multivaluées
Typrod NuProd Codemp
A 3 009 PRO_EMPL est en FNBC car
A 4 009 tous les attributs constituent la
clé et il n’y a aucune DF. Malgré
A 6 009 cela il reste encore des
A 3 023 anomalies :
Pour ajouter un employé 031
A 4 023 chargé du type de produit A, il
A 6 023 faudra créer autant de tuples qu’il
y a de produits dans le type A
B 2 009 (dans notre exemple 3).
B 13 009 La FNBC n’est donc pas
suffisante pour supprimer toutes
26 B 2 067 les anomalies.
3 B 13 067 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 131
Bases de données relationnelles
Dépendances multivaluées
Typrod NuProd Codemp
A 3 009 Ces anomalies sont dues au fait
A 4 009 que la connaissance du type de
produit détermine un ensemble
A 6 009 de valeurs pour les produits, et
A 3 023 qu’en plus l’ensemble de valeurs
d’employés et de produits sont
A 4 023 indépendants.
A 6 023 On parle de dépendance
multivaluée et on note :
B 2 009 Typrod Nuprod
B 3 009 (Req : Le Nuprod 3 appartient à 2
types pour éliminer la DF NuProd
26 B 2 067 Typrod)
4 B 3 067 Modéle relationnel - B. EL HATIMI
Dépendances multivaluées
Définition :
« Soit la relation R (A1, A2, …An), et X et Y
des sous-ensembles de A1, A2, …An. On dit
que X multi-détermine Y et on note X Y
si, étant données des valeurs de X, il y a un
ensemble de valeurs de Y associées et cet
ensemble est indépendant des autres
attributs Z = R – (X, Y) de la relation R. »
26
5 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 132
Bases de données relationnelles
Dépendances multivaluées
26
6 Modéle relationnel - B. EL HATIMI
Définition :
« La DM X Y de la relation R est une
DM non-triviale si et seulement si X n’est pas
un sous-ensemble de Y et si X U Y ≠ R. »
Exemple : dans la relation PRO_EMPL
(Typrod, Nuprod, Codemp), la DM Typrod
Nuprod est non triviale : c’est une
DMNT.
26
7 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 133
Bases de données relationnelles
Définition :
« Une relation est en 4FN si et seulement si
elle est en FNBC et elle ne contient aucune
DM non-triviale (DMNT). »
26
8 Modéle relationnel - B. EL HATIMI
B. EL HATIMI 134
Bases de données relationnelles
B. EL HATIMI 135