29
Bases de données (organisation générale) Répétition 4 La théorie des dépendances

Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Bases de données (organisation générale)

Répétition 4

La théorie des dépendances

Page 2: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Les décompositions: pourquoi?

Chef d'équipeDéveloppeur

DB

Algèbrerelationnelle

Redondance?

Redondance

Formes normales

Dépendances fonctionnelles

S'il existe une relation n'étant pas en BCNF,alors il existe de la redondance dans le modèle.

à décomposition

2

Page 3: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 1

Les affirmations suivantes sont-elles vraies ou fausses? Justifier.

a) Si 𝑋 ∩ 𝑍 ≠ 0 alors 𝑋 → 𝑌, 𝑍 → 𝑊 ⊢ 𝑋 ∩ 𝑍 → 𝑌 ∩𝑊b) Soit r une relation de schéma R et 𝑋 ⊂ 𝑅.

Π.(𝑟) a le même nombre de tuples que r ssi X est une superclé de r.c) 𝑋𝑌 → 𝑍𝑌 ⊢ 𝑋 → 𝑍

3

Page 4: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 1

a) Si 𝑋 ∩ 𝑍 ≠ 0 alors 𝑋 → 𝑌, 𝑍 → 𝑊 ⊢ 𝑋 ∩ 𝑍 → 𝑌 ∩𝑊

On aurait, par exemple : 𝐸𝐴 → 𝐵𝐹

⊢ 𝐸 → 𝐹?𝐸𝐶 → 𝐷𝐹

Essayons de trouver un contre-exemple :

A B C D E F

Ici, on a bien 𝐸𝐴 → 𝐵𝐹, 𝐸𝐶 → 𝐷𝐹, mais pas 𝐸 → 𝐹

e1

e1

a1

a2

b1

b2

c1

c2

d1

d2

f1

f2

4

Page 5: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 1

b) Soit r une relation de schéma R et 𝑋 ⊂ 𝑅.Π.(𝑟) a le même nombre de tuples que r ssi X est une superclé de r.

Si Π. 𝑟 = |𝑟|, alors 𝑋 → 𝑅 (donc 𝑋 superclé)Par l'absurdeImaginons que 𝑡< 𝑋 = 𝑡=(𝑋) mais 𝑡< 𝑅 ≠ 𝑡=(𝑅)Donc ∃𝑡?Π ∈ Π 𝑋 ∧ ∃𝑡<, 𝑡= ∈ 𝑟 ∶ 𝑡< ≠ 𝑡= ∧ 𝑡< 𝑋 = 𝑡?Π 𝑋 ∧ 𝑡= 𝑋 = 𝑡?Π(𝑋)Donc Π. 𝑟 < |𝑟|Ce qui rend notre hypothèse fausse.

Donc, nous avons prouvé la surjectivité.

5

Page 6: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 1

b) Soit r une relation de schéma R et 𝑋 ⊂ 𝑅.Π.(𝑟) a le même nombre de tuples que r ssi X est une superclé de r.

Si 𝑋 → 𝑅 (donc 𝑋 superclé), alors Π. 𝑟 = 𝑟i. Est-ce que je pourrais avoir Π. 𝑟 < 𝑟 ?

Non, car ∀𝑡<, 𝑡= ∈ 𝑟 ∶ 𝑡< ≠ 𝑡= ⇒ 𝑡< 𝑋 ≠ 𝑡=(𝑋)ii. Est-ce que je pourrais avoir Π. 𝑟 > 𝑟 ?

Non, car une projection ne peut jamais augmenter le nombre de tuples.

Donc, nous avons prouvé l'injectivité.

Finalement, nous avons prouvé que l'hypothèse est valide, dans les deux sens.

6

Page 7: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 1

c) 𝑋𝑌 → 𝑍𝑌 ⊢ 𝑋 → 𝑍

Essayons de trouver un contre-exemple.

X Y Z

Donc, 𝑋𝑌 → 𝑍𝑌 n'implique pas X → 𝑍

x1

x1

y1

y2

z1

z2

7

Page 8: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 2

Trouver une relation r pour laquelle la décomposition

𝜌 = (𝑅1, 𝑅2), avec 𝑅1 ∩ 𝑅2 ≠ ∅,

est sans perte mais qui ne satisfait - ni 𝑅1 ∩ 𝑅2 → (𝑅1 − 𝑅2)- ni 𝑅1 ∩ 𝑅2 → 𝑅2 − 𝑅1 .

8

Page 9: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 2Trouver une relation r pour laquelle la décomposition 𝜌 = (𝑅1, 𝑅2), avec 𝑅1 ∩ 𝑅2 ≠ ∅, est sans perte mais qui ne satisfait ni 𝑅1 ∩ 𝑅2 → (𝑅1 −𝑅2) ni 𝑅1 ∩ 𝑅2 → 𝑅2 − 𝑅1 .

Rappel : Une décomposition 𝜌(𝑅1, 𝑅2) est sans perte par rapport à r, si ΠO< 𝑟 ΠO= 𝑟 = 𝑟.

Essayons d'abord de trouver une relation r qui ne satisfasse pas les dépendances de l'hypothèse :

A B Ca1 b1 c1

a2 b1 c2

La décomposition est-elle sans perte?

ΠPQ 𝑟 ΠQR 𝑟 = 𝑎< 𝑏<𝑎= 𝑏<

𝑏< 𝑐<𝑏< 𝑐=

=

𝑎< 𝑏< 𝑐<𝑎< 𝑏< 𝑐=𝑎=𝑎=

𝑏<𝑏<

𝑐<𝑐=

≠ 𝑟

Et avec cette nouvelle relation?9

Page 10: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 3

- Les décompositions suivantes, considérées sur le schéma de relation 𝑅(𝐴, 𝐵, 𝐶, 𝐷, 𝐸), sont-elles sans pertes par rapport à l'ensemble de dépendance 𝐹 = {𝐴𝐵𝐶 → 𝐷𝐸, 𝐴𝐸 → 𝐵𝐶, 𝐴𝐶 → 𝐸}?

- Conservent-elles les dépendances de 𝐹?

a) 𝜌 = 𝐴𝐵𝐷𝐸, 𝐴𝐶𝐸b) 𝜌 = (𝐴𝐵𝐶𝐷, 𝐶𝐷𝐸)

10

Page 11: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 3- Les décompositions suivantes, considérées sur le schéma de relation 𝑅(𝐴, 𝐵, 𝐶, 𝐷, 𝐸), sont-elles sans pertes par rapport à l'ensemble de dépendance 𝐹 = {𝐴𝐵𝐶 → 𝐷𝐸, 𝐴𝐸 → 𝐵𝐶, 𝐴𝐶 → 𝐸}?

- Conservent-elles les dépendances de 𝐹?

a) 𝜌 = 𝐴𝐵𝐷𝐸, 𝐴𝐶𝐸b) 𝜌 = (𝐴𝐵𝐶𝐷, 𝐶𝐷𝐸)

Rappel:𝜌(𝑅1, 𝑅2) est sans perte ÷ 𝐹 si

[𝑅1 ∩ 𝑅2 → 𝑅1 − 𝑅2 ∈ 𝐹\, 𝑜𝑢𝑅1 ∩ 𝑅2 → 𝑅2 − 𝑅1 ∈ 𝐹\

cela implique que ∀𝑟 satisfaisant 𝐹, 𝜌(𝑅1, 𝑅2)[𝑟] est sans perte

𝜌(𝑅1, 𝑅2) conserve les dépendances siΠO< 𝐹\ ∪ ΠO= 𝐹\ ⊢ 𝐹 11

Page 12: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 3

𝐹 = {𝐴𝐵𝐶 → 𝐷𝐸, 𝐴𝐸 → 𝐵𝐶, 𝐴𝐶 → 𝐸}

Calcul de 𝐹\:

𝐴\ = 𝐴𝐵\ = 𝐵𝐶\ = 𝐶𝐷\ = 𝐷𝐸\ = 𝐸𝐴𝐸\ = 𝐴𝐸𝐵𝐶𝐷𝐴𝐶\ = 𝐴𝐶𝐸𝐵𝐷𝐴𝐵𝐶\?

→ 𝐴𝐶\ = 𝑅

Donc, 𝐹\ = (𝐴𝐸 → 𝑅, 𝐴𝐶 → 𝑅)+ dérivées+ triviales

12

Page 13: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 3

𝐹 = 𝐴𝐵𝐶 → 𝐷𝐸, 𝐴𝐸 → 𝐵𝐶, 𝐴𝐶 → 𝐸𝐹\ = (𝐴𝐸 → 𝑅, 𝐴𝐶 → 𝑅) + dérivées + triviales

a) 𝜌 = 𝐴𝐵𝐷𝐸, 𝐴𝐶𝐸

i. Sans perte ? [ 𝐴𝐸 → 𝐶 ∈ 𝐹\?𝐴𝐸 → 𝐵𝐷 ∈ 𝐹\?

Oui (pour les deux, bien qu'un seul soit suffisant)ii. Conserve les dépendances?

ΠPQbc 𝐹\ = {𝐴𝐸 → 𝐵, 𝐴𝐸 → 𝐷}ΠPRc 𝐹\ = 𝐴𝐸 → 𝐶, 𝐴𝐶 → 𝐸

𝐴𝐵𝐶\ = 𝐴𝐵𝐶𝐸𝐷, donc 𝐴𝐵𝐶 → 𝐷𝐸 est conservée𝐴𝐸\ = 𝐴𝐸𝐵𝐷𝐶, donc 𝐴𝐸 → 𝐵𝐶 est conservée𝐴𝐶\ = 𝐴𝐶𝐸𝐵𝐷, donc 𝐴𝐶 → 𝐸 est conservée

13

Page 14: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 3

𝐹 = 𝐴𝐵𝐶 → 𝐷𝐸, 𝐴𝐸 → 𝐵𝐶, 𝐴𝐶 → 𝐸𝐹\ = (𝐴𝐸 → 𝑅, 𝐴𝐶 → 𝑅) + dérivées + triviales

b) 𝜌 = 𝐴𝐵𝐶𝐷, 𝐶𝐷𝐸

i. Sans perte ? [ 𝐶𝐷 → 𝐴𝐵 ∈ 𝐹\?𝐶𝐷 → 𝐸 ∈ 𝐹\?

Non, donc pas sans perte.ii. Conserve les dépendances?

ΠPQRb 𝐹\ = {𝐴𝐶 → 𝐵, 𝐴𝐶 → 𝐷}ΠRbc 𝐹\ = ∅ (+triviales)

𝐴𝐵𝐶\ = 𝐴𝐵𝐶𝐷, donc 𝐴𝐵𝐶 → 𝐷𝐸 n'est pas conservée𝐴𝐸\ = 𝐴𝐸, donc 𝐴𝐸 → 𝐵𝐶 n'est pas conservée𝐴𝐶\ = 𝐴𝐶𝐵𝐷, donc 𝐴𝐶 → 𝐸 n'est pas conservée

14

Page 15: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 4

Soit un schéma de relation 𝑅(𝐴, 𝐵, 𝐶, 𝐷, 𝐸) et l'ensemble de dépendances fonctionnelles 𝐹 = {𝐴𝐵 → 𝐶, 𝐶𝐷 → 𝐸, 𝐸 → 𝐷,𝐷 → 𝐵}associé à 𝑅.

a) La décomposition en 𝑅<(𝐴, 𝐵, 𝐶) et 𝑅=(𝐴, 𝐶, 𝐷, 𝐸) est-elle sans perte par rapport à 𝐹?

b) Sinon, appliquez l'algorithme de décomposition en BCNF vu au cours. Cette décomposition est-elle sans perte? Conserve-t-elle les dépendances?

15

Page 16: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 4

𝐹 = {𝐴𝐵 → 𝐶, 𝐶𝐷 → 𝐸, 𝐸 → 𝐷,𝐷 → 𝐵}

a) La décomposition en 𝑅<(𝐴, 𝐵, 𝐶) et 𝑅=(𝐴, 𝐶, 𝐷, 𝐸) est-elle sans perte par rapport à 𝐹?

Calcul de 𝐹\:

𝐴\ = 𝐴𝐵\ = 𝐵𝐶\ = 𝐶𝐷\ = 𝐷𝐵𝐸\ = 𝐸𝐷𝐵𝐴𝐵\ = 𝐴𝐵𝐶𝐶𝐷\ = 𝐶𝐷𝐸𝐵𝐴𝐷\ = 𝐴𝐷𝐵𝐶𝐸𝐴𝐸\ = 𝐴𝐸𝐷𝐵𝐶

Donc, 𝐹\ = (𝐴𝐷 → 𝑅, 𝐴𝐸 → 𝑅, 𝐴𝐵 → 𝐶,𝐶𝐷 → 𝐸𝐵, 𝐸 → 𝐷𝐵, 𝐷 → 𝐵)

+ dérivées+ triviales

16

Page 17: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 4𝐹 = {𝐴𝐵 → 𝐶, 𝐶𝐷 → 𝐸, 𝐸 → 𝐷,𝐷 → 𝐵}

𝐹\ = 𝐴𝐷 → 𝑅, 𝐴𝐸 → 𝑅, 𝐴𝐵 → 𝐶, 𝐶𝐷 → 𝐸𝐵, 𝐸 → 𝐷𝐵, 𝐷 → 𝐵 + dérivées + triviales𝜌 = 𝐴𝐵𝐶, 𝐴𝐶𝐷𝐸

a) Sans perte ? [ 𝐴𝐶 → 𝐵 ∈ 𝐹\?𝐴𝐶 → 𝐷𝐸 ∈ 𝐹\?

Non à n'est pas sans perte.b) Décomposition avec algorithme.i. 𝐴𝐵 → 𝐶 et 𝐴𝐵 n'est pas une clé à

[ 𝑅< 𝐴, 𝐵, 𝐶 𝑎𝑣𝑒𝑐 𝐴𝐵 → 𝐶 (𝑂𝐾)𝑅= 𝐴, 𝐵, 𝐷, 𝐸 𝑎𝑣𝑒𝑐 𝐴𝐷 → 𝐵𝐸, 𝐴𝐸 → 𝐵𝐷, 𝐸 → 𝐷𝐵, 𝐷 → 𝐵 (𝐾𝑂)

ii. 𝐷 → 𝐵 et 𝐷 n'est pas une clé à [ 𝑅=< 𝐵, 𝐷 𝑎𝑣𝑒𝑐 𝐷 → 𝐵 (𝑂𝐾)𝑅== 𝐴, 𝐷, 𝐸 𝑎𝑣𝑒𝑐 𝐴𝐷 → 𝐸, 𝐴𝐸 → 𝐷, 𝐸 → 𝐷 (𝐾𝑂)

iii. 𝐸 → 𝐷 et 𝐸 n'est pas une clé à [ 𝑅==< 𝐷, 𝐸 𝑎𝑣𝑒𝑐 𝐸 → 𝐷 (𝑂𝐾)𝑅=== 𝐴, 𝐸 𝑎𝑣𝑒𝑐 𝐴𝐸 → 𝐴𝐸 (𝑂𝐾)

Dépendances conservées : {𝐴𝐵 → 𝐶, 𝐷 → 𝐵, 𝐸 → 𝐷} (et 𝐶𝐷 → 𝐸 n'est pas conservée)Sans perte : Oui, car application de l'algorithme.

17

Page 18: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 5

Le schéma de relation 𝑅(𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐺) est-il en 2FN, 3FN ou BCNF par rapport aux ensembles de dépendances 𝐹 donnés ci-dessous? Justifier!

a) 𝐹 = 𝐴𝐵𝐶 → 𝐷𝐸, 𝐴𝐸𝐺 → 𝐵𝐶, 𝐴𝐶 → 𝐸𝐺b) 𝐹 = 𝐴𝐵 → 𝐶𝐸, 𝐴𝐶 → 𝐷𝐺, 𝐺 → 𝐴, 𝐸 → 𝐵c) 𝐹 = 𝐴 → 𝐵,𝐵 → 𝐶,𝐷𝐸 → 𝐴d) 𝐹 = {𝐴𝐶 → 𝐵, 𝐶𝐷 → 𝐸, 𝐸𝐺 → 𝐴𝐷,𝐵 → 𝐶𝐺}

18

Page 19: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 5

Rappel:

BCNF : Pour toute dépendance non trivialle 𝑋 → 𝐴, 𝑋 est une super-clé3FN : Pour toute dépendance non trivialle 𝑋 → 𝐴, où 𝐴 est non-premier, 𝑋 est une super-clé.(attribut non premier = ne faisant partie d'aucune clé)2FN : Pas d'attributs non premiers qui dépendent d'un sous-ensemble d'une clé1FN : Attributs à valeur atomiques

19

Page 20: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 5

a) 𝐹 = 𝐴𝐵𝐶 → 𝐷𝐸, 𝐴𝐸𝐺 → 𝐵𝐶, 𝐴𝐶 → 𝐸𝐺

• BCNF? Calcul des fermetures des parties gauche des dépendancesi. 𝐴𝐵𝐶\ = 𝐴𝐵𝐶𝐷𝐸𝐺à cléii. 𝐴𝐸𝐺\ = 𝐴𝐸𝐺𝐵𝐶𝐷à cléiii. 𝐴𝐶\ = 𝐴𝐶𝐸𝐺𝐵𝐷à clé

à BCNF

20

Page 21: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 5

b) 𝐹 = 𝐴𝐵 → 𝐶𝐸, 𝐴𝐶 → 𝐷𝐺, 𝐺 → 𝐴, 𝐸 → 𝐵

• BCNF? Calcul des fermetures des parties gauche des dépendances.i. 𝐴𝐵\ = 𝐴𝐵𝐶𝐸𝐷𝐺à cléii. 𝐴𝐶\ = 𝐴𝐶𝐷𝐺à pas une cléiii. 𝐺\ = 𝐺𝐴à pas une cléiv. 𝐸\ = 𝐸𝐵à pas une clé

à pas en BCNF

• 3FN? Les dépendances problématiques en BCNF seront acceptées en 3FN si les attributs de la partie de droite sont premiers.

(premiers = faisant partie d'une clé)

Mes clés sont : 𝐴𝐵, 𝐴𝐸, 𝐺𝐸, 𝐺𝐵 (à vérifier chez vous).

Si je considère 𝐴𝐶 → 𝐷𝐺, cela ne fonctionne pas en 3FN car 𝐷 est non premier (les autres dépendances sont valides car 𝐺, 𝐴, 𝐵 ⊂ {𝐴𝐵 ∨ 𝐺𝐵})

à Pas en 3FN21

Page 22: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 5

b) 𝐹 = 𝐴𝐵 → 𝐶𝐸, 𝐴𝐶 → 𝐷𝐺, 𝐺 → 𝐴, 𝐸 → 𝐵

• 2FN? Est-ce que la partie gauche des dépendances problématiques en 3FN sont des sous-ensembles de clés?

Mes clés sont : 𝐴𝐵, 𝐴𝐸, 𝐺𝐸, 𝐺𝐵.

𝐴𝐶 → 𝐷𝐺, pose problème en 3FN.

𝐴𝐶 n'est pas un sous-ensemble d'une clé.

à 2FN

22

Page 23: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 5

c) 𝐹 = 𝐴 → 𝐵,𝐵 → 𝐶,𝐷𝐸 → 𝐴

• BCNF? Calcul des fermetures des parties gauche des dépendances.i. 𝐴\ = 𝐴𝐵𝐶à pas une clé

à Pas en BCNF

• 3FN? Les dépendances problématiques en BCNF seront acceptées en 3FN si les attributs de la partie de droite sont premiers.

Mon unique clé est : 𝐷𝐸𝐺 (à vérifier chez vous).

𝐴 → 𝐵, et 𝐵 est non premier à Pas en 3FN

• 2FN? 𝐷𝐸 → 𝐴 avec 𝐴 non premier et 𝐷𝐸 ⊂ 𝐷𝐸𝐺

à Pas en 2FN

à 1FN23

Page 24: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 5

d) 𝐹 = 𝐴𝐶 → 𝐵, 𝐶𝐷 → 𝐸, 𝐸𝐺 → 𝐴𝐷,𝐵 → 𝐶𝐺

• BCNF? Calcul des fermetures des parties gauche des dépendances.i. 𝐴𝐶\ = 𝐴𝐶𝐵𝐺à pas une clé

à Pas en BCNF

• 3FN? Les dépendances problématiques en BCNF seront acceptées en 3FN si les attributs de la partie de droite sont premiers.

Mes clés sont : 𝐴𝐶𝐷, 𝐴𝐶𝐸, 𝐵𝐷, 𝐵𝐸, 𝐶𝐷𝐺, 𝐶𝐸𝐺 (à vérifier chez vous).

Pas d'attributs non premiersà 3FN

24

Page 25: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 6

Les décompositions suivantes, considérées sur le schéma de relation 𝑅(𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐺), sont-elles sans perte par rapport aux ensembles de dépendances 𝐹 donnés? Conservent-elles les dépendances de 𝐹?

a) 𝐹 = 𝐴𝐵 → 𝐸, 𝐶 → 𝐴𝐵, 𝐸 → 𝐶, 𝐺𝐵 → 𝐷𝜌 = (𝐴𝐵𝐸𝐷, 𝐴𝐶𝐸𝐺)

b) 𝐹 = 𝐴𝐵 → 𝐶, 𝐶𝐷 → 𝐵𝐸, 𝐸 → 𝐴𝜌 = (𝐴𝐵𝐶𝐷, 𝐶𝐷𝐸𝐺)

c) 𝐹 = 𝐴 → 𝐵𝐶, 𝐶 → 𝐶𝐷, 𝐶 → 𝐸𝐺, 𝐺 → 𝐴𝜌 = (𝐴𝐵𝐶, 𝐶𝐷𝐸𝐺)

d) 𝐹 = 𝐴𝐵𝐶 → 𝐸,𝐷 → 𝐶, 𝐸𝐺 → 𝐵𝐷,𝐷𝐸 → 𝐺𝜌 = (𝐴𝐵𝐷𝐺, 𝐵𝐶𝐷𝐸)

25

Page 26: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 6

a) 𝐹 = 𝐴𝐵 → 𝐸, 𝐶 → 𝐴𝐵, 𝐸 → 𝐶, 𝐺𝐵 → 𝐷𝜌 = (𝐴𝐵𝐸𝐷, 𝐴𝐶𝐸𝐺)

Sans perte?𝐴𝐸 → 𝐵𝐷 ∨ 𝐴𝐸 → 𝐶𝐺?

Calcul de 𝐴𝐸\ = 𝐴𝐸𝐶𝐵à n'est pas sans perte.

Conserve les dépendances (calcul de 𝐹\ à faire) ?ΠPQcb 𝐹\ = {𝐴𝐵 → 𝐸, 𝐸 → 𝐴𝐵}ΠPRcm 𝐹\ = {𝐶 → 𝐴𝐸, 𝐸 → 𝐶𝐴}

𝐺𝐵 → 𝐷 n'est pas conservée.

26

Page 27: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 6

b) 𝐹 = 𝐴𝐵 → 𝐶, 𝐶𝐷 → 𝐵𝐸, 𝐸 → 𝐴𝜌 = (𝐴𝐵𝐶𝐷, 𝐶𝐷𝐸𝐺)

Sans perte?𝐶𝐷 → 𝐴𝐵 ∨ 𝐶𝐷 → 𝐸𝐺?

Calcul de 𝐶𝐷\ = 𝐶𝐷𝐵𝐸𝐴à sans perte.

Conserve les dépendances (calcul de 𝐹\ à faire) ?ΠPQRb 𝐹\ = {𝐴𝐵 → 𝐶, 𝐶𝐷 → 𝐵𝐴}

ΠRbcm 𝐹\ = {𝐶𝐷 → 𝐸}

𝐸 → 𝐴 n'est pas conservée.

27

Page 28: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 6

c) 𝐹 = 𝐴 → 𝐵𝐶, 𝐵 → 𝐶𝐷, 𝐶 → 𝐸𝐺, 𝐺 → 𝐴𝜌 = (𝐴𝐵𝐶, 𝐶𝐷𝐸𝐺)

Sans perte?𝐶 → 𝐴𝐵 ∨ 𝐶 → 𝐷𝐸𝐺?

Calcul de 𝐶\ = 𝐶𝐸𝐺𝐴𝐵𝐷à sans perte.

Conserve les dépendances (calcul de 𝐹\ à faire) ?ΠPQR 𝐹\ = {𝐴 → 𝐵𝐶, 𝐵 → 𝐴𝐶, 𝐶 → 𝐴𝐵}ΠRbcm 𝐹\ = {𝐶 → 𝐷𝐸𝐺, 𝐺 → 𝐶𝐷𝐸}

Toutes les dépendances sont conservées.

28

Page 29: Bases de données (organisation générale) · 6. Exercice 1 c)!’→#’⊢!→# Essayons de trouver un contre-exemple. X Y Z Donc, !’→#’n'implique pas X→# x 1 x 1 y 1 y

Exercice 6

d) 𝐹 = 𝐴𝐵𝐶 → 𝐸,𝐷 → 𝐶, 𝐸𝐺 → 𝐵𝐷,𝐷𝐸 → 𝐺𝜌 = (𝐴𝐵𝐷𝐺, 𝐵𝐶𝐷𝐸)

Sans perte?𝐵𝐷 → 𝐴𝐺 ∨ 𝐵𝐷 → 𝐶𝐸?

Calcul de 𝐵𝐷\ = 𝐵𝐷𝐶à Pas sans perte.

Conserve les dépendances (calcul de 𝐹\ à faire) ?ΠPQbm 𝐹\ = ∅

ΠQRbc 𝐹\ = {𝐷 → 𝐶,𝐷𝐸 → 𝐵𝐶}

𝐴𝐵𝐶 → 𝐸 n'est pas conservée.

29