Model kumpulan bersarang juga dikenal sebagai algoritma traversal pohon praorder yang dimodifikasi dan merupakan cara untuk menyimpan data hierarkis dalam basis data relasional. Model ini memiliki keuntungan menyediakan akses yang sangat cepat dan paling baik diimplementasikan dalam hierarki yang lebih sering dibaca daripada ditulis. Setiap node dalam caral informasi diberikan dua nomor yang disimpan sebagai atribut. Menanyakan caral kumpulan bersarang cukup mudah karena kedua nilai dapat digunakan untuk mengeluarkan data yang diperlukan. Membuat penyisipan, penghapusan, pemindahan, dan pembaruan, bagaimanapun, jauh lebih rumit karena mungkin melibatkan penomoran ulang node.
Wanita melakukan handstand dengan komputer
Biasanya digunakan untuk mewakili kumpulan bersarang atau informasi hierarkis dalam bentuk pohon, caral kumpulan bersarang diperkenalkan oleh Joe Celko. Sebuah pohon, dalam hal ini, adalah struktur data yang berisi sejumlah node yang terhubung. Misalnya, simpul induk dapat terhubung ke beberapa simpul anak, dan struktur ini diulang melalui pohon melalui beberapa tingkat.
Pohon adalah cara yang bagus untuk menyimpan informasi dalam urutan tertentu dalam database relasional , yang merupakan kumpulan data yang menyimpan data tergantung pada karakteristik umum. Misalnya, informasi produk dalam bagian makanan di sebuah toko dapat dimulai dengan makanan, bercabang menjadi buah-buahan, sayuran, dan daging. Buah-buahan selanjutnya dapat dibagi lagi menjadi beri, melon, dan apel dan sayuran menjadi umbi-umbian, sayuran hijau, dan lainnya, dan daging menjadi daging babi, daging kambing, dan daging sapi muda.
Database relasional menyimpan semua informasi ini dalam bentuk yang mudah dipahami, dan caral kumpulan bersarang memungkinkan struktur pohon untuk dikelola secara efisien. Menggunakan contoh di atas, simpul akar akan menjadi makanan, yang diwakili oleh dua nilai. Mengingat nilai kiri untuk makanan sebagai 1, item lain di pohon diberi nomor di sebelah kiri secara berurutan. Buah akan mendapatkan nilai 2 di sebelah kiri, buah beri akan menjadi 3, dan seterusnya. Nilai-nilai tersebut kemudian ditetapkan di sisi kanan, bekerja sepanjang jalan melalui pohon, dari bawah ke atas, melalui setiap cabang sampai nilai terakhir ditetapkan untuk makanan di sisi kanan.
Setiap item di pohon berakhir dengan dua nilai, katakanlah lft untuk kiri dan rgt untuk kanan, yang dapat digunakan untuk mengidentifikasi mereka dan menunjukkan hubungannya dengan item lain. Misalnya, jika buah memiliki nilai 2 dan 15, maka semua simpul yang memiliki nilai kiri lebih besar dari 2 dan nilai kanan kurang dari 15 adalah keturunan dari pohon buah 2-15. Menjadi mudah untuk mengeluarkan informasi tentang semua buah sekaligus karena nilai-nilai ini dapat ditentukan dalam satu kueri ke database.
Model ini sangat baik untuk menyimpan informasi yang sering diakses, tetapi penyisipan, penghapusan, dan pengurutan ulang informasi dalam caral kumpulan bersarang menjadi sangat membosankan. Penulisan ulang indeks dan penomoran ulang informasi dapat menyebabkan database crash, terutama jika pohon tumbuh untuk menyertakan ratusan ribu node. Model kumpulan bersarang adalah yang terbaik untuk sistem manajemen konten ringan yang memiliki penyisipan dan perubahan minimal. Penyisipan dapat dilakukan lebih cepat dalam caral interval bersarang karena caral ini menyimpan posisi setiap simpul di pohon menggunakan desimal titik mengambang sambil juga mengkodekan informasi jalur.