È possibile utilizzare prove relazionali di algebra / calcolo per verificare / verificare SQL?

9

È possibile o addirittura possibile utilizzare l'algebra relazionale e / o il calcolo relazionale sotto forma di prove per verificare / verificare la correttezza delle istruzioni, delle funzioni e delle stored procedure SQL?

Mi sembra che dovrebbe essere almeno possibile, ma non so se c'è un dettaglio che mi manca che rende errata una mappatura 1: 1 tra la prova e il codice.

Qualcuno di voi ha provato un metodo come questo? Ha funzionato? Come sono state le tue esperienze?

    
posta Robert Winslow Dalpe 14.11.2013 - 04:07
fonte

1 risposta

4

Esistono alcune regole di mapping note tra operatori di algebra relazionale e istruzioni SQL. Ad esempio, l'operatore Sigma esegue il mapping a un'istruzione SELECT, c'è una mappatura uno-a-uno per gli operatori di join, mappe di Delta per selezionare un sottoinsieme di colonne, ecc.

Is it possible to use relational algebra to verify the correctness of SQL statements?

Sì, è possibile. Naturalmente avrai bisogno di avere uno schema chiaro del database con tutte le relazioni, le chiavi esterne, ecc. In alcuni casi è ancora più facile manipolare le dichiarazioni algebra relazionali rispetto alle istruzioni SQL (ci sono regole di trasformazione per la modifica e la semplificazione delle dichiarazioni).

D'altra parte, non penso che la verifica delle affermazioni usando l'algebra relazionale sia molto più facile che testare le istruzioni SQL, specialmente quando hai un database pronto dove puoi eseguire le query e vedere i risultati.

    
risposta data 14.11.2013 - 10:00
fonte

Leggi altre domande sui tag