Rumah >pangkalan data >tutorial mysql >Bolehkah Pendekatan Sistematik Menerjemahkan Penerangan Pertanyaan Boleh Dibaca Manusia ke dalam SQL?
Masalah:
Apabila berhadapan dengan penerangan yang boleh dibaca manusia tentang sesuatu pertanyaan, pembangun biasanya bergantung pada heuristik dan sumbang saran untuk menterjemahkannya ke dalam pertanyaan SQL. Walau bagaimanapun, adakah terdapat pendekatan yang sistematik dan matematik untuk proses terjemahan ini?
Jawapan:
Ya, terdapat pendekatan sistematik untuk membina pertanyaan SQL daripada penerangan yang boleh dibaca manusia . Ia melibatkan pemahaman korespondensi antara ungkapan bahasa semula jadi, ungkapan logik, ungkapan algebra hubungan dan ungkapan SQL.
Pertimbangkan huraian yang boleh dibaca manusia berikut:
Cari semua orang yang disukai oleh seseorang tetapi tidak seperti Ed.
Predikat Suka jadual:
[orang] suka [suka]
Ungkapan Algebra Hubungan:
UNTUK SESETENGAH x, Suka(orang, x) DAN Suka(x, disukai) DAN orang = 'Bob' DAN BUKAN Suka(x, 'Ed')
Pertanyaan SQL:
SELECT DISTINCT l1.liker AS person, l2.liked AS liked FROM Likes l1 INNER JOIN Likes l2 ON l1.liked = l2.liker WHERE l1.liker = 'Bob' AND NOT (l1.liked, 'Ed') IN (SELECT * FROM Likes)
Atas ialah kandungan terperinci Bolehkah Pendekatan Sistematik Menerjemahkan Penerangan Pertanyaan Boleh Dibaca Manusia ke dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!