Prolog et algèbre relationnelle


précédentsommaire

5. Résumé

Dans les sections précédentes, nous avons illustré les différentes opérations de l'algèbre relationnelle en Prolog grâce à des prédicats "statiques". Il est toutefois possible de redéfinir des prédicats (et donc les ensembles et relations de l'agèbre relationnelle) de manière "dynamique" grâce notamment à asserta/1, assertz/1, retract/1. Ceci permet de faire de notre programme Prolog une "base de faits" dynamique.

Grâce aux différentes opérations de l'algèbre relationnelle (notamment les restrictions, unions, intersections, jointures), il est tout à fait possible de créer des sous-ensembles à partir des ensembles de base pour obtenir ce que l'on pourrait appeler des "vues" (en références aux vues du langage SQL).

Par ailleurs, ces vues peuvent être combinées entre elles pour obtenir d'autres vues. Enfin il est tout à fait possible de paramètrer ces vues de manière, par exemple, à spécifier les conditions de restriction.

Dans cet article, nous avons également vu qu'il était possible d'utiliser les prédicats Prolog de 2 manières :

  • soit tel quel pour retourner 1 à 1 les éléments d'un ensemble, lors de l'énumération de solutions
  • soit retourner l'ensemble au complet, sous forme de liste, grâce aux prédicats findall/3, bagof/3 ou setof/3

Tout ceci offre une très grande souplesse d'utilisation.

6. Conclusion

Dans cet article, nous avons fait le lien entre Prolog et l'algèbre relationnelle (qui est notamment à la base de données relationnelles et donc du langage SQL). En faisant ce lien, nous espérons avoir facilité la compréhension du langage Prolog en capitalisant sur des connaissances déjà acquises (bons nombres de gens sont familiers avec les concepts liés aux bases de données et donc à l'algèbre relationnelle).

Par ailleurs, cet article a montré une manière de traduire des opérations de l'algèbre relationnelle en Prolog, le tout illustré de nombreux exemples. On a notamment défini les opérations "il existe" et "pour tout". Les prédicats définis dans cet article peuvent donc servir de référence pour une consultation ultérieure.

Enfin cet article montre combien en Prolog il est simple de représenter des ensembles, des relations, et d'effectuer des opérations sur ces ensembles, le tout sans avoir recours à des fonctions d'une grande complexité.

Remerciements

Je tiens à remercier Trap D et fabszn pour la relecture et les corrections apportées.


précédentsommaire

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2006 pcaboche. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.