Académique Documents
Professionnel Documents
Culture Documents
Données Relationnelles
Mourad Gridach
Filière : Génie Informatique. EST d’Agadir
Année Universitaire : 2019 - 2020
Summary of the Last Lecture
• Dépendances fonctionnelles
2
Today’s Lecture
3
Définitions
Dépendance Fonctionnelle Trivial
• ᾹàB
• Cette DF est dite trivial SSi : B Í Ᾱ
Ᾱ
B
4
Dépendance Fonctionnelle Non-Trivial
• ᾹàB
• Cette DF est dite nontrivial SSi : B Ë Ᾱ
B
5
DF Complètement Non-Trivial
• ᾹàB
Ᾱ B
6
Règles pour les Dépendances Fonctionnelles
Règle de Répartition (Splitting Rule)
7
Règles pour les Dépendances Fonctionnelles
Règle de réunion(Combining Rule)
§ Ᾱ à B1
§ Ᾱ à B2
Þ Ᾱ à B1, B2, …, Bm
§ ….
§ Ᾱ à Bm
Règle de transition
§ Si Ᾱ à B et B à C Alors Ᾱ à C
§ Preuve
§ …..
8
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.
12
Forme Normale de Boyce-Codd
(FNBC)
ü Pas d’anomalies
16
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.
18
Conception des Relations par Décomposition
19
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).
20
FNBC – Exemple 1
• Soit la DF suivante :
22
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
Oooops Error car la décomposition
2 5
n’est pas basée sur les DFs
25
Conclusion - FNBC
ü Pas d’anomales
26
Mini Project N 1 – A Rendre dans 3 Semaines
• Prerequisite : C language.
• Implementing the closure algorithm using C language.
• Rules:
1. Implementer sans erreurs: A à +3
4. Pas d’implementation: D à -3
5. Tricher: E à -5
27