1

Est-ce que l'un d'entre eux implique l'autre? Ma logique est que si toutes les dépendances sont préservées, il n'y a pas de perte d'information et de même, si la décomposition est sans perte, aucune dépendance fonctionnelle n'a été violée. Donc, essentiellement, la préservation des dépendances est un moyen de s'assurer que votre décomposition est sans perte.Décomposition sans perte et préservation de la dépendance

J'ai du mal à l'accepter/le nier. Alors, est-ce que les deux se garantissent mutuellement ou y a-t-il des cas où l'un peut être réalisé sans l'autre?

Répondre

1

En général ce sont deux choses indépendantes : vous pouvez avoir une décomposition sans perte sans la préservation de la dépendance, ainsi qu'une décomposition qui préserve les dépendances, mais qui est pas sans perte. Donc, la réponse à votre première question est aucun, aucun d'entre eux implique l'autre.

Cependant, ces deux propriétés peuvent être « connectés » par le résultat de base suivant, qui donne une suffisante (même si pas nécessaire) la condition d'établir si une décomposition en préservant la dépendance est sans perte aussi:

Soit ρ = {R (T i, F i)} une décomposition d'un schéma de relation R (T, F) qui préserve les dépendances. Si, pour certains j, T j est une super-clé de R (T, F), alors la décomposition ρ est sans perte.

En fait, cette propriété est appliquée dans la dernière étape de l'algorithme « de synthèse » qui se décompose une relation en 3FN: si aucun schéma obtenu dans les étapes précédentes contient une superkey de la relation d'origine, puis ajoutez un nouveau schéma avec n'importe quelle clé candidate de la relation d'origine. Cela garantit que l'algorithme produit une décomposition à la fois sans perte et préserve les dépendances, tandis que d'autre part, on sait que l'algorithme "analyse" pour décomposer une relation dans BCNF peut produire, dans certains cas, la perte de dépendances fonctionnelles.

+0

Pour quelqu'un d'autre qui comprend presque la partie jaune (comme moi), je crois que http://stackoverflow.com/a/26816032/2550406 dit la même chose dans le bloc gris. A m'a aidé à comprendre cela beaucoup mieux – lucidbrot

+1

@lucidbrot, les deux choses sont différentes. La partie grise de la réponse liée donne une condition à remplir si la décomposition doit être sans perte. Dans la partie jaune de la réponse ci-dessus, je cite un théorème qui dit la condition qui doit tenir pour la décomposition sans perte, ** lorsqu'une décomposition préserve déjà les dépendances **. Et en fait la question était exactement à propos de ce sujet, "Décomposition sans perte contre la préservation de la dépendance", tandis que dans l'aswer que vous avez lié les deux propriétés ne sont pas liées. Vous pouvez donc voir que les deux réponses concernent des faits différents. – Renzo

+0

oh. Je vois, merci d'avoir mentionné cela. Je n'ai pas remarqué la différence avant – lucidbrot