Qu'est-ce que c'est que les APIS de tables (TAPIs) ?

Un modèle physique de données relationnel classique permet de spécifier de nombreuses contraintes au niveau des colonnes ou des tables. Toutefois, même si ces spécifications sont relativement complètes selon l’implantation de la norme SQL par le constructeur ou le produit, il arrive toujours un moment où il est nécessaire de recourir à du code pour implanter une spécification particulière. 

Cet enrichissement, par du code, soulève deux problèmes importants :

Si  le code est écrit au sein de la couche applicative, comment garantir que tous les éléments applicatifs qui manipulent des données contiennent cet enrichissement (Ri) et qu’il est correctement écrit.

Dans ce cas, le risque est grand d’avoir des redondances de code.

Si le code est écrit au sein de la base de données, le risque de redondance est réduit. Toutefois, il faut encore garantir que cet enrichissement est bien appelé à chaque manipulation de données .

Pour enrichir nos spécifications par du code, tout en évitant les problèmes de redondance et de garantie d’appel, je me suis inspiré du concept d’APIs de tables ou TAPIs (abrégé en anglais) mis en place par Oracle au sein de son outil CASE Designer. 

Les TAPIs peuvent être mises en place au sein de n’importe quelle base de données relationnelle, pour autant que celle-ci supporte :

 Les procédures ou fonctions stockées au sein de la base de données réalisent l’enrichissement sans redondance.

Les déclencheurs garantissent l’appel à l’enrichissement. Ils interceptent les commandes de manipulation de données et invoquent les procédures ou fonctions stockées.

En plus des déclencheurs et des procédures stockées qui sont les briques essentielles des APIs de tables, selon les cas et les produits ou constructeurs, nous pouvons recourir à :

Les livres pour en savoir plus et mettre en pratique