diff --git a/content/bdd_avancees/4-dependances_fonctionnelles/images/fermeture_transitive.svg b/content/bdd_avancees/4-dependances_fonctionnelles/images/fermeture_transitive.svg
new file mode 100644
index 0000000..add8943
--- /dev/null
+++ b/content/bdd_avancees/4-dependances_fonctionnelles/images/fermeture_transitive.svg
@@ -0,0 +1,264 @@
+
+
+
+
diff --git a/content/bdd_avancees/4-dependances_fonctionnelles/index.md b/content/bdd_avancees/4-dependances_fonctionnelles/index.md
new file mode 100644
index 0000000..46491f3
--- /dev/null
+++ b/content/bdd_avancees/4-dependances_fonctionnelles/index.md
@@ -0,0 +1,302 @@
+---
+title: "Base de données avancées : contraintes d'intégrité: les dépendances
+fonctionnelles"
+date: 2022-01-17
+tags: ["schema", "algèbre relationnelle", "relation"]
+categories: ["Base de données avancées", "Cours"]
+mathjax: true
+---
+
+Une dépendance fonctionnelle entre deux ensemble d'attributs A et B indique une
+implication vérifié universellement : à une valeur de A correspond toujours une
+même valeur de B. Elle est notée \\(A \to B\\), A est parfois appelé **la
+source** et B **Le but**.
+
+Soit \\(R(a,b,c\\), l'attribut \\(b\\) est dit *fonctionnellement dépendant* de
+\\(a\\) si pour deux *n_uplets* \\(\\) et \\(\\)
+alors \\( a_1 = a_2 \implies b_1 = b_2 \\).
+
+Il est important de préciser que'une dependance fonctionnelle est **une
+assertion sur les valeurs possible** (domaine des attributs) et **non sur les
+valeurs actuelles** (extentipon courante de la relation). Elle caractérise une
+intention et non pas une extention d'une relation :invariante au cours du
+temps.
+
+Elle doit être définie à partir d'un schema de relation. Par défaut elle sont
+définie sur la relation univerelle.
+
+## Utilité des dépendances fonctionnelles
+
+Elles permettent:
+
+ * de vérifier que les extentions \\(r\\) du'un schema \\(R\\) sont conforme
+ au réel perçu.
+ * Modéliser les contraintes que devront vérifier toutes les relations d'un
+ schema.
+
+Les dépendances fonctionnelles sont des outils permettant de génerer de bon
+schemas fonctionnels et valides de façon automatique.
+
+## Propriété des dépendances fonctionnelles.
+
+Les propriétés des dependances fonctionnelles sont régies par les règles
+d'inférences définie par Armstrong en 1974. Il y en a 3 [axiomes][^n_axiome] :
+la réflexivité, l'augmentation et la transitivité.
+
+[^n_axiome]: En mathématiques,a le mot axiome désignait une proposition qui est
+ évidente en soi dans la tradition mathématique des Éléments d’Euclide.
+ L’axiome est utilisé désormais, en logique mathématique, pour désigner une
+ vérité première, à l'intérieur d'une théorie. source
+ [Wkipedia](https://fr.wikipedia.org/wiki/Axiome#Math%C3%A9matiques)
+
+
+### La réflexivité.
+
+Tout groupe d'attributs se détermine lui même et détermine chacun de ses
+attributs.
+
+\\( \text{si } Y \subseteq X \text{ alors } X \to Y \\)
+
+### L'augmentation
+
+Si un attribut X détermine un attribut Y, alors tout groupe composé de X enrichi
+avec d'autres attributs détermine un groupe composé de Y et enrichi des mêmes
+autres attributs.
+
+\\( \text{Si } X \to Y \text{ et } Y \subset X \text{ alors } XZ \to XY \\)
+
+### La transitivité
+
+Si un attribut X détermine un attribut Y et que cet attribut Y détermine un
+autre attribut Z, alors X détermine Z.
+
+\\( X \to Y \text{ et } Y \to Z \implies X \to Z \\)
+
+### Les règles déduites des trois principales
+
+#### La pseudo-transitivité
+
+ 1. Augmentation
+ 2. Transitivité
+
+\\( \text{Si } X \to Y \text{ et } WY \to Z \text{ alors } WX \to Z \\)
+
+#### L'union (ou la composition)
+
+\\( \text{si } X \to Y \text{ et } WY \to Z \text{ alors } WX \to Z \\)
+
+#### La décomposition
+
+ 1. Réflexivité
+ 2. Transitivité
+
+\\( \text{si } X \to Y \text{ et } Z \subset Y \text{ alors } X \to Z \\)
+
+## Les formes des dépendances fonctionnelles
+
+### Dépendance fontionnelle triviale
+
+C'est une simple dependance fonctionnelle obtenue par transitivité/
+
+### dépendance fonctionnelle simple / composée.
+
+Une dependance fonctionnelle qui ne comporte qu'un seul attribut en partie
+droite.
+
+### Dépendance fonctionnelle directe
+
+Dépendance fonctionnelle non obtenue par transitivité
+
+### Dépendance fonctionnelle directe
+
+Dependance fonctionnelle qui ne peux être décomposée (simple en partie gauche,
+sans attribut(s) superflu(s)).
+
+## Fermeture transitive d'un ensemble de dependances fonctionnelles
+
+La fermeture transitive d'un ensemble \\(F\\) représente le plus grand ensemble
+stationnaire \\(F^+\\) de dépendances fonctionnelles valides. Il est obtenu en
+appliquant les propriété des dépendances fonctionnelles (axiomes d'Armstrong).
+
+Cette fermeture est unique et ne depend pas de l'ordre d'utilisation de ses
+propriétés.
+
+Deux ensembles de dependances fonctionnelles sont équivalent si et seulement si
+ils ont la même fermeture transitive :
+
+\\( F_1^+ \equiv F_2^+ \iff F_1^+ = F_2^+ \\)
+
+## Fermeture transitive d'un ensemble d'attributs
+
+La fermeture transitive d'un ensemble d'attributs X par rapport à un ensemble de
+dépendances fonctionnelles F est l'ensemble des attributs qui peuvent être
+inférés à partir de X en utilisant les DF contenues dans F.
+
+Prenons l'exemple de la relation \\( R \\) avec les dépendances fonctionnelle
+suivantes: \\( N \to T, T \to M, T \to P, N \to C \\) :
+
+
+
+ 1. \\( N_{0}^{+} = \{ N \} \\)
+ 2. \\( N_{1}^{+} = \{ N, T, C \} \\) obtenu par réfexivité
+ 3. \\( N_{2}^{+} = \{ N, T, C, M, P \} \\)
+ 4. \\( N_{3}^{+} = \{ N, T, C, M, P \} \\)
+
+Comme \\( N_{2}^{+} = N_{3}^{+} \\) alors la condition d'arrêt est \\(N_{3}\\).
+
+## couverture minimale
+
+La couverture minimale représente un sous-ensemble \\( F_{min} \\) minimum --
+sans redondance -- de dépendance fonctionnelles qui permet de générer toutes des
+dépendances fonctionnelles de \\(F^{+}\\) :
+
+\\( F^{+}(F_{min}) \\)
+
+\\( \neg \exists F^{'} / F^{'} \subset F_{min} \text{ et } F^{+}(F^{'}) =
+F^{+}(F_{min}) \\)
+
+Contrairement à \\(F^{+}\\), la couverture minimale n'est pas unique. C'est un
+ensemble essentiels pour effectuer des décompositions sans perte et ainsi
+générer de bon modèles de base de donnees.
+
+L'algorithme pour arriver à la couverture minimale se décompose en 3 étapes.
+L'ordre est à respecter :
+
+ 1. Décomposer les dépendances fonctionnelles : un sel attribut en partie
+ droite.
+ 2. Rendre les dépendances fonctionnelles élémentaires : membre gauche non
+ décomposable
+ 3. Supprimer les dépendances fonctionnelles redondantes, celles qui sont
+ obtenues par transitivité.
+
+### un exemple
+
+Soit la relation
+
+\\( F \left \\{ \begin{array}{c}
+A \to BC\\\
+AB \to C\\\
+ABC \to D\\\
+C \to D\\\
+D \to E\\\
+E \\to F\\\
+DEF \to G
+\end{array}
+\right \\} \\)
+
+Dans un premier temps nous décomposons les relations afin de rendre les
+relations élémentaires (un seul élement dans la partie droite)
+
+\\( F_{1} \left \\{ \begin{array}{c}
+A \to B \\\
+A \to C\\\
+AB \to C \\\
+ABC \to D\\\
+C \to D\\\
+D \to E\\\
+E \\to F\\\
+DEF \to G
+\end{array}
+\right \\}
+\begin{array}{l}
+\\\
+\\\
+\to \text{ élémentaire? non! augmentation de B sur } A \to C \textbf{: DF inutile}\\\
+\to \text{ idem: augentation de AB sur } C \to D \textbf{: DF inutile}\\\
+\\\
+\\\
+\\\
+\\\
+\end{array}
+\\)
+
+nous obtenons alors notre relation \\(F_{2}\\) :
+
+\\( F_{2} \left \\{ \begin{array}{c}
+A \to B \\\
+A \to C\\\
+C \to D\\\
+D \to E\\\
+E \\to F\\\
+DEF \to G
+\end{array}
+\right \\}
+\begin{array}{l}
+\\\
+\\\
+\\\
+\\\
+\\\
+\to \text{ pseudo transitivite car on a } D \to E \text{ et } E \to F \\\
+\end{array}
+\\)
+
+Devellopons le raisonnement autour de \\( DEF \to G \\). \\(D\\) est-il superfu?
+En clair y a t-il toujours un chemin pour aller de \\(EF\\) vers \\(G\\). En
+calcul relationnel, \\(G\\) appartient-il à la fermeture transitive de \\(EF\\)
+En clair il y a toujours un chemin pour aller de \\(EF\\) vers \\(G\\) : \\( G
+\in \\{EF\\}_{F2}^{+} \\)?.
+
+ 1. \\( \\{EF\\}_{F2}^{+} = \\{E,F\\} \\)
+ 2. donc \\( G \notin \\{EF\\}_{F2}^{+} \\).
+ 3. En clair \\(D\\) **n'est pas superflu**.
+
+Répétons ce raisonnement pout \\(E\\) :
+
+ 1. \\( \\{DF\\}_{F2}^{+} = \\{D,F,E,G\\} \\)
+ 2. donc \\( G \in \\{DF\\}_{F2}^{+} \\)
+ 3. alors \\(E\\) **est superflu** donc on passe de \\(F_{2}\\) à \\(F_{3}\\)
+
+La méthode est donc la suivante : j'enlève un attribut en partie gauche de ma
+dependance foncionnelle et je vois s'il est toujours possible d'attendre la
+partie droite en parcourant le graphe des dépendances.
+
+On repête l'opération pour \\(F\\):
+
+ 1. \\( \\{D\\}_{F3}^{+} = \\{D,E,F,G\\} \\)
+ 2. donc \\( G \in \\{F\\}_{F3}^{+} \\)
+ 3. alors \\(G\\) **est superflu** donc on passe de \\(F_{3}\\) et \\(F_{4}\\)
+
+
+\\( F_{4} \left \\{ \begin{array}{c}
+A \to B \\\
+A \to C\\\
+C \to D\\\
+D \to E\\\
+E \\to F\\\
+D \to G
+\end{array}
+\right \\}
+\\)
+
+**Toutes les dépendances fonctionnelles son maintenant élementaires, elles ont
+un nombre minimum d'attriuts en partie gauche**. Il nous reste maintenant un
+dernier point : avons nous des dépendances obtenues par transitivité. Ici il n'y
+a ici aucune dépendance fonctionnelle obtenue de la sorte : aucun attribut
+apparaît deux fois en partie gauche (un seul chemin pour aller vers chacun des
+attributs.
+
+Pour vérifier la transitivité, nous pouvons uassi utiliser une méthode
+ensembliste. Vérifions pour la dépendance \\( A \to C \\). nous devons vétifier
+si \\( C \in \\{A\\}_{F4 - A \to C}^{+} \\) en clair est-ce que \\(C\\)
+appartient à \\(A\\) privé de sa relation \\( A \to C \\)
+
+ 1. \\( \\{A\\}_{F4 - A \to C}^{+} = \\{A,B\\} \\)
+ 2. donc \\( C \notin \\{A\\}_{F4 - A \to C}^{+} \\)
+ 3. alors \\( A \to C \\) n'est pas redondante
+
+Il nous suffit de recommencer l'opération pour l'ensemble de dépendances de
+notre relation.
+
+La conclusion : \\(F_{4}\\) représente **la couverture minimale** de notre
+relation.
+
+## Retour sur la notion de clé
+
+Un sous ensemble \\(X\\) d'un schéma \\(R\\) (\\(U\\) étant l'ensemble
+attributs et \\(F\\) une couverture minimale) est une clé si et seulement si :
+
+ 1. \\( \\{X \to U\\} \in F^{+} \\)
+ 2. \\( \neg \exists X' \subset X / \\{ X' \to U \\} \in F^{+} \\) : minimalité
+ de la clé
+ 3.