Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
sio2:d4-a05-la_programmation_de_declencheurs [2025/03/14 09:44] – dthevenot | sio2:d4-a05-la_programmation_de_declencheurs [2025/03/17 19:13] (Version actuelle) – [Alternative] dthevenot |
---|
| |
===== Inconvénients ===== | ===== Inconvénients ===== |
Même si des normes SQL existent et que les implémentations du langage SQL tendent à s’harmoniser ces dernières années, la syntaxe utilisée demeure relativement propre au SGBDR utilisé. | Même si des normes SQL existent et que les implémentations du langage SQL tendent à s’harmoniser ces dernières années, **la syntaxe utilisée demeure relativement propre au SGBDR utilisé**. |
| |
Par exemple, SQL Server dispose de sa propre implémentation, appelée Transact-SQL et souvent abrégée TSQL. De même, Oracle dispose d’une implémentation appelée PL-SQL. | Par exemple, SQL Server dispose de sa propre implémentation, appelée Transact-SQL et souvent abrégée TSQL. De même, Oracle dispose d’une implémentation appelée PL-SQL. |
| |
Ainsi, la première limite des triggers réside dans le fait que le SQL avancé, celui que nous étudions dans ce cours, ne soit pas interopérable. De plus, la syntaxe SQL employée peut sembler relativement lourde en comparaison de celles des langages les plus courants (PHP, Python, Java, etc.). Finalement, ces derniers langages offrent une syntaxe souvent plus étoffée que celle du SQL. | Ainsi, la première limite des triggers réside dans le fait que le SQL avancé, celui que nous étudions dans ce cours, ne soit **pas interopérable**. De plus, la syntaxe SQL employée peut sembler relativement lourde en comparaison de celles des langages les plus courants (PHP, Python, Java, etc.). Finalement, ces derniers langages offrent une syntaxe souvent plus étoffée que celle du SQL. |
| |
===== Alternative ===== | ===== Alternative ===== |
| |
Un trigger n’est finalement qu’un simple programme. Il est très fréquent de vérifier les contraintes d’intégrité de façon logicielle. On parle de contrôle logiciel ou de contrôle applicatif. Autrement dit, c’est souvent le logiciel ou les logiciels interagissant avec une base de données qui procèderont à la vérification des règles de gestion et des contraintes d’intégrité en particulier. On considérera communément que ces vérifications font partie de la logique métier. | Un déclencheur n’est finalement qu’un simple programme. Il est très fréquent de vérifier les contraintes d’intégrité de façon logicielle. On parle de **contrôle logiciel ou de contrôle applicatif**. Autrement dit, c’est souvent le logiciel ou les logiciels interagissant avec une base de données qui procèderont à la vérification des **règles de gestion** et des **contraintes d’intégrité** en particulier. On considérera communément que ces vérifications font partie de la **logique métier**. |
===== ===== | ===== ===== |
| |
Ce choix offre souvent l’avantage de la portabilité, de l’interopérabilité. Effectivement, une migration de base de données ou une duplication de la base de données vers un autre SGBD sera sans effet sur la vérification des contraintes. De surcroît, les langages de programmation actuels disposent en général d’une syntaxe plus aboutie et plus facile d’utilisation que celle proposée par la norme SQL. Plus encore, ces derniers sont souvent accompagnés de frameworks de type ORM (Object Relational Mapping) permettant de vérifier de manière élégante des contraintes d’intégrités avancées. | Ce choix offre souvent l’avantage de la **portabilité**, de **l’interopérabilité**. Effectivement, une migration de base de données ou une duplication de la base de données vers un autre SGBD sera sans effet sur la vérification des contraintes. De surcroît, les langages de programmation actuels disposent en général d’une syntaxe plus aboutie et plus facile d’utilisation que celle proposée par la norme SQL. Plus encore, ces derniers sont souvent accompagnés de frameworks de type **ORM** (Object Relational Mapping) permettant de vérifier de manière élégante des contraintes d’intégrités avancées. |
| |
| |