Возможно ли или даже возможно использовать реляционную алгебру и / или реляционное исчисление в форме доказательств для проверки / проверки правильности операторов, функций и хранимых процедур SQL?
Мне кажется, что это должно быть по крайней мере возможно, но я не знаю, есть ли какая-то деталь, которую я упускаю, которая делает соотношение 1: 1 между доказательством и кодом неверным.
Кто-нибудь из вас пробовал такой метод? Это сработало? Каким был ваш опыт?
testing
sql
math
relational-database
Роберт Уинслоу Дальпе
источник
источник
Ответы:
Существует несколько известных правил отображения между операторами реляционной алгебры и операторами SQL. Например, оператор Sigma сопоставляется с оператором SELECT, есть взаимно-однозначное сопоставление для операторов соединения, Delta сопоставляется с выбором подмножества столбцов и т. Д.
Да, это возможно. Конечно, вам нужно иметь четкую схему базы данных со всеми связями, внешними ключами и т. Д. В некоторых случаях манипулировать операторами реляционной алгебры даже проще, чем операторами SQL (существуют проверенные правила преобразования для изменения и упрощения операторов) ,
Но, с другой стороны, я не думаю, что проверка операторов с использованием реляционной алгебры намного проще, чем проверка операторов SQL, особенно когда у вас есть готовая база данных, где вы можете выполнять запросы и просматривать результаты.
источник