Update database normalization course
This commit is contained in:
parent
28d234f2d4
commit
1d8d4be844
1 changed files with 33 additions and 6 deletions
|
@ -162,9 +162,36 @@ leurs propriétés, on peut directement obtenir une décomposition sans perte
|
|||
|
||||
#### Principe
|
||||
|
||||
1. Calculer la couverture minimale
|
||||
2. Condenser les dépendances fonctionnelles ayant la même partie gauche. Chaque
|
||||
relation obtenue est alors en 3FN
|
||||
3. Détecter les équivalences entre dependances fonctionnelles (regroupement des
|
||||
relations) et vérifier que la clé \\(R\\) est présente dans un des schemas
|
||||
de relation obtenu.
|
||||
Soit \\(R(A,B,C,D,E) \text{ et } f\{AB \to C; C \to B; A \to D\} \\)
|
||||
|
||||
**Calculer la couverture minimale** :
|
||||
|
||||
\\( F_{\text{min}} \\{ AB \to C; C \to A; A \to D \\} \\)
|
||||
|
||||
**Condenser les dépendances fonctionnelles** ayant la même partie gauche :
|
||||
|
||||
\\( R_{1}(\underline{A,B},C); R_{2}(\underline{C},B); R_{3}(\underline{A},D) \\)
|
||||
|
||||
Chaque dépendance fonctionnelle est une relation possible dont la partie gauche
|
||||
est clé.
|
||||
|
||||
**Détecter les équivalences entre dependances fonctionnelles** par le
|
||||
regroupement des relations et vérifier que la clé \\(R\\) est présente dans un
|
||||
des schemas de relation obtenu.
|
||||
|
||||
\\( R_{1}(\underline{A,B},C); R_{2}(\underline{C},B); R_{3}(\underline{A},D) \\)
|
||||
|
||||
Ici \\(R_{1}\\) et \\(R_{2}\\) se réferencent mutuellement, nous pouvons les
|
||||
regrouper en \\(R_{\text{1+2}}(\underline{A,B},C)\\).
|
||||
|
||||
La relation \\(R\\) a donc deux clés candidates: \\(\\{A,B,E\\}\\) et
|
||||
\\(\\{A,C,E\\}\\). Pour ne pas perdre \\(E\\), il faut ajouter une relation
|
||||
composée de la clé \\(R\\), par exemple \\(R_{4}(\underline{A,B,E})\\).
|
||||
|
||||
**La décomposition est donc** :
|
||||
|
||||
\\(R_{1+2}(\underline{A,B},C)\\)
|
||||
|
||||
\\(R_{3}(\underline{A},D)\\)
|
||||
|
||||
\\(R_{4}(\underline{A,B,E})\\)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue