Dato un insieme di dipendenze $F$ in $R$, la proiezione $\Pi_{R_i} (F)$ di $F$ su $R_i$ (sottoinsieme di $R$) è l’insieme di dipendenze $X \to Y$ in $F^+$ tale che gli attributi in $X \cup Y$ sono tutti contenuti in $R_i$
<aside> <img src="/icons/exclamation-mark_purple.svg" alt="/icons/exclamation-mark_purple.svg" width="40px" />
Una decomposizione $D= \{R_1,..,R_m\}$ di $R$ è dependency preserving rispetto a $F$ se l’unione delle proiezioni di $F$ su ciascun $R_i$ in $D$ è equivalente a $F$, cioè $((\Pi {R_1}(F) \cup ..\cup (\Pi{R_m}(F)))^+ = F^+$
</aside>
È sempre possibile trovare una decomposizione dependency preserving $D$ rispetto a $F$ tale che ogni $R_i$ in $D$ è in 3NF
Un insieme di dipendenze funzionali $F$ è minimale se:
<aside> <img src="/icons/exclamation-mark_purple.svg" alt="/icons/exclamation-mark_purple.svg" width="40px" />
Una copertura minimale di un insieme $E$ di dipendenze funzionali è un insieme minimale $F$ di dipendenze che è equivalente ad $E$
</aside>
<aside> <img src="/icons/thought-alert_purple.svg" alt="/icons/thought-alert_purple.svg" width="40px" />
<aside> <img src="/icons/thought-alert_purple.svg" alt="/icons/thought-alert_purple.svg" width="40px" />
porre $G := F$
rimpiazzare ogni dipendenza funzionale $X \to \{A_1,..,A_n\}$ in $G$ con $n$ dipendenze funzionali $X \to A_1,..,X\to A_n$
per ogni dipendenza funzionale $X\to A$ in $G$
per ogni attributo $B$ che è un elemento di $X$
{
se $\{\{G \backslash\{X \to A\}\} \cup \{(X \backslash \{B\}) \to A\}\}$ è equivalente a $G$
allora sostituire $X \to A$ con $(X \backslash\{B\}) \to A$ in $G$
}
per ogni dipendenza funzionale rimanente $X \to A$ in $G$
{
se $\{G \backslash\{X\to A\}\}$ è equivalente a $G$
allora rimuovere $X\to A$ da $G$
}
</aside>