En allant dans ce sens, je pense que le contrôle de l'intégrité d'une base de données _doit_ faire partie de ladite base de données.
En effet, le problème de faire les contrôles au niveau des scripts/programmes d'interfaçage est que, si pour une raison ou pour une autre, le besoin se fait sentir d'accéder directement à la base (pour des questions de maintenance, pour des modifications massives, etc...), des problèmes de cohérence peuvent se poser. Il devient facile de faire une erreur.
Si les contraintes d'intégrités sont placées au sein de la base elle-même, ce genre de problème est évité : en effet, qu'une requête soit faite depuis les scripts d'interfaçage ou depuis l'outil d'accès en ligne de commande (ou tout autre outil d'accès à la base), le résultat sera toujours le même. Une requête invalide (dans le sens où elle menace la cohérence des données stockées) sera refusée.
[^] # Re: phpPgAdmin
Posté par Emmanuel BENOIT . En réponse à la dépêche De nouveaux outils PostgreSQL. Évalué à 2.
En effet, le problème de faire les contrôles au niveau des scripts/programmes d'interfaçage est que, si pour une raison ou pour une autre, le besoin se fait sentir d'accéder directement à la base (pour des questions de maintenance, pour des modifications massives, etc...), des problèmes de cohérence peuvent se poser. Il devient facile de faire une erreur.
Si les contraintes d'intégrités sont placées au sein de la base elle-même, ce genre de problème est évité : en effet, qu'une requête soit faite depuis les scripts d'interfaçage ou depuis l'outil d'accès en ligne de commande (ou tout autre outil d'accès à la base), le résultat sera toujours le même. Une requête invalide (dans le sens où elle menace la cohérence des données stockées) sera refusée.