HeadlinesBriefing favicon HeadlinesBriefing.com

Bahasa Pertanyaan Prela: Alternatif SQL 11 Baris

Hacker News •
×

Prela adalah bahasa pertanyaan baru yang sedang dikembangkan di UCLA Re PL. Bahasa ini sangat berbeda dari SQL, tetapi ide kuncinya sangat sederhana. Dalam tutorial singkat ini, kita membangun versi mainan Prela di Python untuk memahami prinsip intinya.

Pertanyaan di bawah ini menemukan setiap film yang diproduksi oleh perusahaan Amerika dan memiliki nama karakter dalam judulnya, dengan menghasilkan judul beserta alias untuk setiap anggota kast. Catatan bahwa pertanyaan yang setara di SQL menyusuri lebih dari 20 baris.

Hal khusus pertama tentang Prela adalah bahwa hanya ada relasi biner, yaitu tabel dengan dua kolom. Ini mungkin terdengar sangat terbatas pada pertama kalinya, tetapi mudah untuk "binerisasi" tabel lebar dengan beberapa kolom.

Motivasi untuk fokus pada relasi biner adalah karena mereka mempergeneralisasikan fungsi. Fungsi adalah kuat karena mereka dapat composition, membuat mereka menjadi blok bangunan program. Fungsi memetakan setiap input ke output unik, sementara relasi dapat memetakan input ke beberapa output yang berbeda. Dalam suatu arti, relasi dapat dilihat sebagai fungsi yang tidak deterministik.

Kekuatan komposisi benar-benar terlihat ketika kita mengantai beberapa pemanggilan .select bersama. Karena menghubungkan melalui kunci asing hampir selalu memerlukan "memecahkan" ID menjadi baris, Prela secara otomatis menyisipkan langkah tersebut sehingga kita dapat menulis berikut ini yang hanya dibaca seperti "negara perusahaan sebuah film"!