Pertes de Dépendances Fonctionnelles. Décomposition FN3
2024-11-29
Définition
Soit \(\mathcal{A}\) un schéma de relation
Un décomposition de \(\mathcal{A}\) est un ensemble \(\{\mathcal{A}_1,..., \mathcal{A}_k\}\) de sous-ensembles de \(\mathcal{A}\) tel que
\[\mathcal{A}_i\not=\emptyset, 1\le i\le k, \quad \text{ et } \quad \mathcal{A} = \bigcup_{i=1}^k \mathcal{A}_i\]
Définition
Soit \(\mathcal{A}\) un schéma de relation et \(\Sigma\) un ensemble de DF sur \(\mathcal{A}\).
Une décomposition \(\{\mathcal{A}_1,..., \mathcal{A}_k\}\) est sans perte d’information par rapport à \(\Sigma\) si pour toute relation \(R\) de schéma \(\mathcal{A}\) satisfaisant \(\Sigma\) on a
\[R= \pi_{\mathcal{A}_1}(R) \bowtie \pi_{\mathcal{A}_2}(R) \bowtie...\bowtie\pi_{\mathcal{A}_k}(R)\]
Important
On peut décomposer une relation \(\mathcal{A}\) relativement à un ensemble de DF \(\Sigma\) de façon à obtenir une décomposition :
dont tous les membres sont en FNBC relativement à \(\Sigma\)
SPI
Ce résultat ne fournit pas toujours une solution complètement satisfaisante
Soientt \(\mathcal{A}\) un schéma de relation (\(\mathcal{A}\) est un ensemble d’attributs) et \(\Sigma\) un ensemble de DF sur \(\mathcal{A}\)
Soit \(\mathcal{A}_1\subset \mathcal{A}\) un sous-ensemble d’attributs
Définition
\[\pi_{\mathcal{A}_1}(\Sigma)=\left\{ X\to Y \mid \Sigma\models X\to Y \text{ et } X,Y\subset \mathcal{A}_1\right\}\]
Caractérisation
Si \(X\subset {\mathcal{A}}_1\) on a l’équivalence \[X\to Y \in \pi_{{\mathcal{A}}_1}(\Sigma) \iff Y\subset\left\{X\right\}^+∩{\mathcal{A}}_1\]
\({\mathcal{A}}=\left\{A,B,C\right\}\) et \(\Sigma=\left\{A\to B, B\to C, C\to A\right\}\)
\(\pi^{}_{\left\{A,B\right\}}(\Sigma)\) est équivalent à \(\left\{A\to B, B\to A\right\}\)
On calcule un ensemble de DF équivalent à \(\pi_{\mathcal{A}_1}(\Sigma)\)
Définition
Soit \(\mathcal{A}\) un schéma de relation et \(\Sigma\) un ensemble de DF sur \(\mathcal{A}\).
Soit \(\left\{ \mathcal{A}_1,\dots, \mathcal{A}_k\right\}\) une décomposition du schéma \(\mathcal{A}\) (\(\mathcal{A}_i\neq \emptyset, 1\leq i\leq k\) et \(\mathcal{A}= \bigcup_{i=1}^k \mathcal{A}_i\))
La décomposition \(\left\{\mathcal{A}_1,\dots, \mathcal{A}_k\right\}\) préserve \(\Sigma\) si l’ensemble des dépendances fonctionnelles locales \(\bigcup_{i=1}^k \pi_{\mathcal{A}_i}(\Sigma)\) est équivalent à \(\Sigma\)
\(\mathcal{A}=\left\{A,B,C,D\right\}\),
\(\mathcal{A}_1=\left\{A,B\right\}\), \(\mathcal{A}_2=\left\{B,C\right\}\), \(\mathcal{A}_3=\left\{C,D\right\}\)
\(\Sigma=\left\{A\to B, B\to C, C\to D, D\to A\right\}\)
Est-ce que la décomposition \(\left\{\mathcal{A}_1,\mathcal{A}_2,\mathcal{A}_3\right\}\) préserve \(\Sigma\) ?
Commencer avec \(Z ← \{D\}\)
\((\{D\}∩\{CD\})^+ ∩ \{CD\}=\{D\}^+ ∩\{CD\}=\{DABC\} ∩ \{CD\}=\{CD\}\), ajouter \(C\)
\((\{DC\}∩ \{BC\})^+ ∩ \{BC\}=\{C\}^+ ∩ \{BC\}=\{CDAB\}∩ \{BC=B\}\), ajouter \(B\)
\((\{DCB\}∩ \{AB\})^+ ∩ \{AB\}=\{B\}^+ ∩ \{AB\}=\{BCDA\} ∩ \{AB\}\), ajouter \(A\)
\(\{DCBA\}\) contient \(A\) donc \(D\to A\) est préservée
\(\mathcal{A}=\) {Ville, CP, Rue, Numero}
\(\Sigma=\) { CP → Ville, {Ville, Rue, Numero} → CP}
\(\mathcal{A}_1=\) {Ville, CP}
\(\mathcal{A}_2=\) {Rue, Numero, CP}
Est-ce que la décomposition \(\{\mathcal{A}_1, \mathcal{A}_2 \}\) préserve \(\Sigma\) ?
CP → Ville
est préservée car elle est locale à \(\mathcal{A}_1\){Ville, Rue, Numero} → CP
est préservée par \(\mathcal{A}_1, \mathcal{A}_2\) ?Z ← {Ville, Rue, Numero}
\((\texttt{Z} ∩ \texttt{{Ville, CP}})^+\) ∩ {Ville, CP}
= {Ville}
rien à ajouter
\((\texttt{Z} ∩ \texttt{{Rue, Numero, CP}})^+\) ∩ {Rue, Numero, CP}
= {Rue, Numero}
, rien à ajouter
Donc Ville, Rue, Numero → CP
n’est pas préservée
Définition
Un schéma \(\mathcal{A}\) est en FNBC par rapport à un ensemble de dépendances fonctionnelles \(\Sigma\) sur \(\mathcal{A}\)
si
pour toute DF \(X\rightarrow Y\) impliquée par \(\Sigma\) avec \(Y\not\subset X\), \(X\) est une super-clef
Proposition
L’algorithme termine
Les éléments de la décomposition finale sont en FNBC
La décomposition est Sans Perte d’Information (SPI)
Note
Il existe des couples schéma/Ensemble de DFs (\(\mathcal{A}, \Sigma\)) pour lesquels toute décomposition FNBC entraine une perte de dépendances fonctionnelles
\(\mathcal{A} =\) {Ville, Rue, Numéro, #Bureau_vote}
Σ = { Ville, Nom, Rue → #Bureau_vote, #Bureau_vote → Ville }
Deux clés Ville, Nom, Rue
et #Bureau_vote, Nom, Rue
#Bureau_vote → Ville
ne satisfait pas le critère FNBC
L’algorithme de décomposition en FNBC conduit à la décomposition {#Bureau_vote,Ville}
et {#Bureau_vote, Nom, Rue}
La DF Ville, Nom, Rue → #Bureau_vote
n’est pas préservée
La décomposition préserve l’information (SPI) mais pas les dépendances fonctionnelles.
À noter
On peut vérifier qu’aucune décomposition FNBC de \(\mathcal{A}\) ne préserve toutes les dépendances fonctionnelles.
Construire
Une décomposition :
Une étape cruciale : réécrire l’ensemble de DFs
Définition de la couverture irredondante d’un ensemble de DFs
Soit \(\Sigma\) un ensemble de DF, une couverture minimale/irredondante de \(\Sigma\) est un ensemble \(\Sigma'\) de DF qui vérifie :
Chaque DF de \(\Sigma'\) est de la forme \(X → A\), où \(A\) est un attribut
\(\Sigma'\) et \(\Sigma\) sont équivalents (\(\Sigma \models \Sigma'\) et \(\Sigma' \models \Sigma\))
Aucun sous-ensemble propre de \(\Sigma'\) n’implique \(\Sigma\) (\(∀ \Sigma^{\prime\prime} ⊊ \Sigma^\prime, \Sigma^{\prime\prime} \not\models \Sigma\))
Pour toute dépendance \(X → A\) de \(\Sigma'\), \(\forall Y ⊊ X, \Sigma \not\models Y→ A\)
Dans une couverture irredondante, toutes des DFs sont utiles, chaque DF est minimale (c’est vrai pour le membre droit comme pour le membre gauche)
Existence de couvertures irredondantes
Unicité
Construction de couvertures irredondantes
Si pas unicité des couvertures irredondantes, les couvertures irredondantes sont-elles toutes également intéressantes ?
Important
Un schéma relationnel \(\mathcal{A}\) est en forme normale 3 (FN3) relativement à un ensemble de DF Σ ssi pour toute dépendance non triviale X → Y
de Σ, on a
X
est une super-clé ouY
fait partie d’une cléProposition
Si un schéma \(\mathcal{A}\) est en forme normale Boyce-Codd (FNBC) relativement à un ensemble de DF Σ, alors \(\mathcal{A}\) est en forme normale 3 (FN3) relativement à Σ
\(\mathcal{A}=\) (A, B, C, D, E)
et Σ={A → C, BC → D, AD → E}
Redondance limitée
Possibilité de décomposition SPI et sans perte de Dépendances Fonctionnelles
Proposition
L’algorithme termine en un nombre fini d’itérations
La décomposition produite par l’algorithme est
en FN3
sans perte d’information
sans perte de dépendances fonctionnelles
Pertes de Dépendances Fonctionnelles. Décomposition FN3
MA15Y030 – Bases de Données – L3 MIASHS – UParis Cité