DocumentDB SQL - Ikhtisar
DocumentDB adalah platform database dokumen NoSQL terbaru dari Microsoft yang berjalan di Azure. Dalam tutorial ini, kita akan mempelajari semua tentang membuat kueri dokumen menggunakan versi khusus SQL yang didukung oleh DocumentDB.
Database Dokumen NoSQL
DocumentDB adalah database dokumen NoSQL terbaru dari Microsoft, namun, ketika kami mengatakan database dokumen NoSQL, apa sebenarnya yang kami maksud dengan NoSQL, dan database dokumen?
SQL berarti Bahasa Kueri Terstruktur yang merupakan bahasa kueri tradisional dari database relasional. SQL sering disamakan dengan database relasional.
Ini benar-benar lebih membantu untuk memikirkan database NoSQL sebagai database non-relasional, jadi NoSQL benar-benar berarti non-relasional.
Ada berbagai jenis database NoSQL yang mencakup penyimpanan nilai kunci seperti -
- Penyimpanan Meja Azure
- Toko berbasis kolom, seperti Cassandra
- Database grafik, seperti NEO4
- Database dokumen, seperti MongoDB dan Azure DocumentDB
Mengapa Sintaks SQL?
Ini mungkin terdengar aneh pada awalnya, tetapi di DocumentDB yang merupakan database NoSQL, kami melakukan kueri menggunakan SQL. Seperti disebutkan di atas, ini adalah versi khusus dari SQL yang di-rooting di semantik JSON dan JavaScript.
SQL hanyalah sebuah bahasa, tetapi juga merupakan bahasa yang sangat populer dan ekspresif. Jadi, sepertinya ide yang bagus untuk menggunakan beberapa dialek SQL daripada menemukan cara baru untuk mengekspresikan kueri yang perlu kita pelajari jika Anda ingin mengeluarkan dokumen dari database Anda.
SQL dirancang untuk database relasional, dan DocumentDB adalah database dokumen non-relasional. Tim DocumentDB sebenarnya telah mengadaptasi sintaks SQL untuk dunia database dokumen non-relasional, dan inilah yang dimaksud dengan rooting SQL di JSON dan JavaScript.
Bahasanya masih terbaca sebagai SQL yang sudah dikenal, tetapi semantik semuanya didasarkan pada dokumen JSON skema daripada tabel relasional. Di DocumentDB, kami akan bekerja dengan tipe data JavaScript daripada tipe data SQL. Kita akan terbiasa dengan SELECT, FROM, WHERE, dan seterusnya, tetapi dengan tipe JavaScript, yang dibatasi pada angka dan string, objek, array, Boolean, dan null jauh lebih sedikit daripada berbagai tipe data SQL.
Demikian pula, ekspresi dievaluasi sebagai ekspresi JavaScript daripada beberapa bentuk T-SQL. Misalnya, dalam dunia data yang dinormalisasi, kita tidak berurusan dengan baris dan kolom, tetapi dokumen bebas skema dengan struktur hierarki yang berisi larik dan objek bersarang.
Bagaimana cara kerja SQL?
Tim DocumentDB telah menjawab pertanyaan ini dengan beberapa cara inovatif. Beberapa dari mereka terdaftar sebagai berikut -
Pertama, dengan asumsi Anda tidak mengubah perilaku default untuk mengindeks setiap properti secara otomatis dalam dokumen, Anda dapat menggunakan notasi titik-titik dalam kueri Anda untuk menavigasi jalur ke properti apa pun tidak peduli seberapa dalam bersarangnya di dalam dokumen.
Anda juga dapat melakukan penggabungan intra-dokumen di mana elemen array bersarang digabungkan dengan elemen induknya dalam dokumen dengan cara yang sangat mirip dengan cara penggabungan dilakukan antara dua tabel di dunia relasional.
Kueri Anda bisa mengembalikan dokumen dari database apa adanya, atau Anda bisa memproyeksikan bentuk JSON kustom apa pun yang Anda inginkan berdasarkan sebanyak atau sesedikit mungkin data dokumen yang Anda inginkan.
SQL di DocumentDB mendukung banyak operator umum termasuk -
Operasi aritmatika dan bitwise
DAN dan ATAU logika
Perbandingan kesetaraan dan jangkauan
Rangkaian string
Bahasa kueri juga mendukung sejumlah fungsi bawaan.