Apakah layak atau bahkan mungkin untuk menggunakan aljabar relasional dan / atau kalkulus relasional dalam bentuk bukti untuk menguji / memverifikasi kebenaran pernyataan SQL, fungsi, dan prosedur tersimpan?
Sepertinya saya paling tidak harus melakukannya, tapi saya tidak tahu apakah ada detail yang saya lewatkan sehingga membuat pemetaan 1: 1 antara bukti dan kode salah.
Adakah di antara kalian yang mencoba metode seperti ini? Apa itu bekerja? Seperti apa pengalaman Anda?
testing
sql
math
relational-database
Robert Winslow Dalpe
sumber
sumber
Jawaban:
Ada beberapa aturan pemetaan yang diketahui antara operator aljabar relasional dan pernyataan SQL. Misalnya, operator Sigma memetakan pernyataan SELECT, ada pemetaan satu-ke-satu untuk operator yang bergabung, Delta memetakan untuk memilih subset kolom, dll.
Ya itu mungkin. Tentu saja Anda harus memiliki skema database yang jelas dengan semua hubungan, kunci asing, dll. Dalam beberapa kasus bahkan lebih mudah untuk memanipulasi pernyataan aljabar relasional daripada pernyataan SQL (ada aturan transformasi yang terbukti untuk memodifikasi dan menyederhanakan pernyataan) .
Tetapi di sisi lain, saya tidak berpikir bahwa memverifikasi pernyataan menggunakan aljabar relasional jauh lebih mudah daripada menguji pernyataan SQL, terutama ketika Anda memiliki database yang siap di mana Anda dapat menjalankan kueri dan melihat hasilnya.
sumber