Bonjour,
pour moi, soit on utilise les procédures stockées (et les triggers), soit on ne les utilise pas du tout. Si on les utilise un peu, on ne retire aucun avantage.
Si on ne les utilise pas, on utilise le SGBDR comme une simple prothèse mémoire. Cela signifie que l'on veut s'affranchir du langage spécifique à un SGBD. Cela part d'une bonne intention mais il faut se rendre compte de ce que cela signifie ---> il faudra également que les requêtes accédant à ce SGBDR ne contiennent pas de traces de ce langage. Par exemple, la gestion des dates sera alors impossible car spécifique à chaque SGBDR, l'utilisation des triggers pour les contraintes "compliquées" ne pourra pas être effectuée obligeant à mettre ces contraintes dans le code de (ou des) application(s), ce qui est loin d'être sûr, .... Toute évloution du modèle demandera également une reprise de toutes les parties du code qui sont impactées (ce qui demandera une cartographie très pointue voire "pointillarde").
Si on les utilise. Effectivement, on se lie au SGBDR mais en construisant les procédures stockées de façon intelligente (par exemple en faisant ressortir dans des fonctions tout particularisme du langage), on limite cette liaison. De plus, il est important que seuls les accès aux données soient présents dans les procédure stockées. les traitements doivent rester dans le code des applications. On peut ainsi utiliser toute la force d'un SGBDR et toute évolution de modèle n'impactera pas le code existant. Les procédures tockées joueront le rôle d'interface entre les traitements et les données comme peut le faire un framework tel que hibernate. Ces interfaces permettent aussi l'évolution du SGBDR sans que cela impacte le code.
Par expérience personnelle, j'ai remarqué qu'on changeait plus de langage de programmation que de SGBDR. Je crois que la documentation qu'on trouve contre les procédures stockées vient de personnes qui développent les SI sans avaoir à les administrer et les faire évoluer. Si j'étais une de ces personnes, je ne voudrais pas non plus entendre parler de procédures stockées mais pour maîtriser le SI et le faire évoluer, je pense qu'il est obligatoire d'utiliser les procédures stockées et dans tous les cas.
Voilà, j'espère vos réactions (pas trop violentes).
Partager