Aller au contenu

Décomposition de jointure sans perte

Un article de Wikipédia, l'encyclopédie libre.
Ceci est la version actuelle de cette page, en date du 26 juin 2024 à 06:17 et modifiée en dernier par WikiCleanerBot (discuter | contributions). L'URL présente est un lien permanent vers cette version.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Dans le domaine de la conception de bases de données, une décomposition de jointure sans perte est une décomposition d'une relation dans des sous-relations de telle sorte qu'une jointure naturelle des deux sous-relations renvoie la relation originale. Il s'agit d'un moyen central pour supprimer en toute sécurité la redondance dans les bases de données tout en préservant les données d’origine[1]. La jointure sans perte peut également être appelée jointure non-additive[2].

Soit une décomposition d'une relation .

La décomposition est sans perte si et seulement si la jointure naturelle de et aboutit à la relation originale (c'est à dire, si )[3].

De manière équivalente, la décomposition est sans perte si et seulement si l'une des sous-relations (c'est-à-dire ou ) est un sous-ensemble de la clôture de leur intersection[4]. Autrement dit, la décomposition de est sans perte si ou est vrai.

Critères pour plusieurs sous-relations

[modifier | modifier le code]

Plusieurs sous-relations ont une jointure sans perte s'il existe un moyen par lequel on peut effectuer à plusieurs reprises des jointures sans perte jusqu'à ce que toutes les relations aient été jointes en une seule relation. Une fois que l'on a une nouvelle sous-relation créée à partir d’une jointure sans perte, on ne peut plus utiliser une de ses sous-relations isolées pour se joindre à l’une des autres relations. Par exemple, si on peut effectuer une jointure sans perte sur une paire de relations pour construire une nouvelle relation , on utilisera alors cette nouvelle relation (plutôt que ou ) pour former une jointure sans perte avec une autre relation (qui peut avoir déjà été jointe (par exemple, )).

  • Soit être un schéma relationnel, avec les attributs A, B, C et D .
  • Soit être l’ensemble des dépendances fonctionnelles.
  • La décomposition en et est sans perte sous F car . A est une super-clé dans , ce qui signifie que nous avons une dépendance fonctionnelle . En d’autres termes, nous avons maintenant prouvé que .

Références

[modifier | modifier le code]
  1. Pohler, « Lossless-Join Decomposition: applications in quantitative computing metrics », International Journal of Applied Computer Science, vol. 21, no 4,‎ , p. 190–212
  2. Ramez Elmasri, Fundamentals of database systems, Hoboken, NJ, Seventh, (ISBN 978-0133970777), p. 461
  3. Yannakakis, « Algorithms for acyclic database schemes », Proceedings of the Seventh International Conference on Very Large Data Bases, vol. 7,‎ , p. 82-94 (DOI ((10.5555/1286831.1286840)), lire en ligne, consulté le )
  4. (en) Jan Chomicki, « Lossless Join Decomposition » [PDF], Université d'État de New York à Buffalo (consulté le )
  5. « Lossless-Join Decomposition », Cs.sfu.ca (consulté le )
  6. « www.data-e-education.com - Lossless Join Decomposition » [archive du ] (consulté le )