Est-il possible ou même possible d'utiliser l'algèbre relationnelle et / ou le calcul relationnel sous forme de preuves pour tester / vérifier l'exactitude des instructions, fonctions et procédures stockées SQL?
Il me semble que cela devrait être au moins possible, mais je ne sais pas s'il manque un détail qui rend incorrecte une correspondance 1: 1 entre la preuve et le code.
Avez-vous essayé une méthode comme celle-ci? Cela a-t-il fonctionné? Quelles ont été vos expériences?
testing
sql
math
relational-database
Robert Winslow Dalpe
la source
la source
Réponses:
Il existe des règles de mappage connues entre les opérateurs d'algèbre relationnelle et les instructions SQL. Par exemple, l'opérateur Sigma est mappé à une instruction SELECT, il existe un mappage un à un pour les opérateurs de jointure, Delta mappe pour sélectionner un sous-ensemble de colonnes, etc.
Oui c'est possible. Bien sûr, vous aurez besoin d'avoir un schéma clair de la base de données avec toutes les relations, les clés étrangères, etc. Dans certains cas, il est encore plus facile de manipuler les instructions d'algèbre relationnelle que les instructions SQL (il existe des règles de transformation éprouvées pour modifier et simplifier les instructions) .
Mais d'un autre côté, je ne pense pas que la vérification des instructions à l'aide de l'algèbre relationnelle soit beaucoup plus facile que de tester des instructions SQL, en particulier lorsque vous avez une base de données prête où vous pouvez exécuter les requêtes et voir les résultats.
la source