Académique Documents
Professionnel Documents
Culture Documents
2 - Design Theorie
2 - Design Theorie
Données Relationnelles
Mourad Gridach
Department of Computer Science
High Institute of Technology - Agadir
• Concepts de base :
2
Today’s Lecture
• Formes normales
3
Processus de Conception d’une Base de Données
Modèle conceptuel
Modèle relationnel
Tables + contraintes
Dépendances fonctionnelles
Normalisation :
Eliminer les anomalies
Schéma conceptuel
Stockage physique:
Schéma physique
4
Conception du Schéma d’une Base de Données
5
Utilisation des outils de conception, mais …
6
Formes Normales – Ted Codd
7
Conception d’un Schéma Relationnel
§ Anomalies :
ü Redondance : données répétées
ü Problèmes de mise à jour : Si « Mourad » déménage à « Rabat » ?
ü Problèmes de suppression : Si « Nawal » supprime son numéro téléphone ?
9
Anomalies de la Conception
• Redondance (Redundancy)
10
Décomposition de La Relation
Décomposer la relation en deux relations :
A54321 0611-222222
• Les anomalies sont disparus ?
ü Pas de répétition de données
ü Facile de déménager « Mourad » à Rabat (comment ?)
ü Facile de supprimer tous les numéros de téléphones de « Nawal » (comment ?) 11
Conception par Décomposition
• On commence par des « Mega » relations contenant toutes les données
12
Décomposition Automatique
• « Mega » relations + Propriétés des données ( Collected from the real world)
• On obtient des relations satisfaisant ce qu’on appel les formes normales dont :
13
Normalisation
14
Concepts de la Normalisation
• Entité
• Attribut
• Clé primaire
• Clé composé
• Clés candidates
• Dépendances
15
Formes Normales
• Dépendances fonctionnelles è Forme Normale de Boyce–Codd (FNBC)
• Objectif : Stockage du pair CIN-sName une seule fois pour chaque école
Dépendance Fonctionnelle
• Le même CIN correspond toujours au même sName
• Stocker chaque pair CIN-sName une seule fois
Exemple
Etudiants (CNE, Nom, Prénom, Téléphone)
Est ce que la relation « Etudiants » est en 1FN ? à Nooo L
§ Pas de clé (Souligné « CNE »)
21
1 FN - Exemple
• Person (CIN, Name, Phone)
CIN Phone
C111 0661111111
CIN Name
C111 0677880032
C111 Mourad
C222 0661781900
C222 Mehdi
C333 0677890021
C333 Nadia
C333 0678094578
C444 Hamza
C444 0600131516
C555 Nawal
C555 0661781910
23
Deuxième Forme Normale (2 FN)
Définition
§ Le modèle est en 1FN
§ Tout a\ribut qui n’appar]ent pas à la clé ne dépend pas d’une par]e de la
clé.
24
2 FN - Exemple
• Achat(ClientID, MagasinID, Ville d’Achat)
• N.B. Un magasin est situé dans une seule ville
ClientID MagasinID
C12 M1 MagasinID Ville d’Achat
C12 M3 M1 Fès
C14 M1 M2 Casablanca
C15 M2 M3 Rabat
C16 M3
26
Troisième Forme Normale (3 FN)
§ Objectif :
ü Recherche la redondance d’information dans une relation.
ü Eliminer la transitivité entre les champs
Définition
§ Le modèle est en 2 FN.
§ Tout aRribut n’appartenant pas à une clé ne dépend pas d’un autre aRribut non clé.
§ R2(GenreID, GenderType)
GenderID GenderType
G11 Science
G12 History
G13 Sports
29
Remarque : Relations entre les FN
Relations en 1FN
Relations en 2FN
Relations en 3FN
Relations en FNBC
Relations en 4FN
30
Conclusion
• « Mega » relations + Propriétés des données ( reflètent le monde réel)
31
Dépendances Fonctionnelles
Functional Dependencies
Introduction
• Les dépendances fonctionnelles sont considérées comme une
généralisation de la notion de clé pour une relation
33
Exemple : Demande de candidature
34
Exemple : Demande de candidature
§ Soit la première relation :
36
Définition : Dépendance Fonctionnelle (suite)
§ En général :
Si A à B, alors " t, u Î R :
(‘t’ et ‘u’ sont des tuples et ‘A’ et ‘B’ sont des attributs)
¤ CIN à sName
39
Dépendance Fonctionnelle
Ᾱ B C
a b c1
a b c2
… … …
40
Exemple 1
Student (CIN, sName, address, HScode, HSname, HScity, mark, grade)
• CIN ® sName
• CIN ® address
• HScode ® HSname, Hscity
• HSname, HScity ® Hscode
• CIN ® mark
• Mark ® grade
• CIN ® grade
41
Exemple 2
Apply (CIN, iName, region, date, course)
• iName ® date (On admet que la date d’inscription dans une école est unique.)
• CIN, iName ® course (On admet qu’un étudiant peut faire une seule demande
dans une même école)
• CIN ® region (On admet qu’un étudiant peut faire une seule demande dans
une région)
Remarque
42
Exemple 3
Dépendance Fonctionnelle et Clés
• Une DF est la généralisation de la notion de clé
• Construire une relation sans doublons
• Supposons que Ᾱ ® tous les attributs d’une relation R (Ᾱ, B)
• Ᾱ est une clé pour la relation R
Ᾱ B
a b1
a b2
… …
§ Dans ce cas : b1 = b2
§ On aura juste un seul tuple
44
Définitions
Dépendance Fonctionnelle Trivial
• ᾹàB
• Cette DF est dite trivial SSi : B Í Ᾱ
Ᾱ
B
45
Dépendance Fonctionnelle Non-Trivial
• ᾹàB
• Cette DF est dite nontrivial SSi : B Ë Ᾱ
B 46
DF Complètement Non-Trivial
• ᾹàB
Ᾱ B
47
Règles pour les Dépendances Fonctionnelles
Règle de Répartition (Splitting Rule)
48
Règles pour les Dépendances Fonctionnelles
§ Ᾱ à B1
§ Ᾱ à B2
Þ Ᾱ à B1, B2, …, Bm
§ ….
§ Ᾱ à Bm
Règle de transition
§ Si Ᾱ à B et B à C Alors Ᾱ à C
§ Preuve
§ …..
49
Règles pour les Dépendances Fonctionnelles
« Fermeture » (Closure) des attributs
L’algorithme
Commençant par : {A1, A2, …, An} Exemple :
Remarque
§ Attention, on ne doit pas confondre une clé avec une clé primaire.
53
Forme Normale de Boyce-Codd
(FNBC)
ü Pas d’anomalies
57
Jointure - Exemple
Student Apply
sID sName mark sizeHS sID iName course dec
1111 Mourad 15 1500 1111 EST Agadir GI yes
2222 Nawal 16 2000 1111 EST Fès TM No
2222 EST Salé TM yes
2222 ENSA Fès GI yes
àLa jointure est faite en se basant sur « sName » qui n’est pas une
valeur unique.
59
Conception des Relations par Décomposition
60
Définition d’une FNBC
Une relation R avec des DFs est en FNBC Si :
Remarques
ü Si une relation n’est pas en FNBC, alors elle est appelée « Relation en
violation de FNBC », c’est-à-dire certainement elle va contenir des
anomalies.
ü Si Ᾱ est un clé Alors ᾹC, ᾹCD sont aussi des clés appelées parfois des
« superclé » (superkey).
61
FNBC – Exemple 1
• Soit la DF suivante :
63
L’Algorithme de Décomposition en FNBC
ü Initialisation : R’ = R
A B A B C
R R1 1 2 1 2 3
4 2 R1 R2 = 1 2 5
A B C
4 2 3
1 2 3
4 2 5
4 2 5
B C
R2 2 3
2 5
Oooops Error car la décomposition
n’est pas basée sur les DFs
66
Conclusion - FNBC
ü Pas d’anomales
67
Conclusion
• Dépendances fonctionnelles
68