EN

Nested set model

Ini adalah visualisasi dari model nested set (himpunan bersarang), sebuah metode yang efisien untuk menyimpan dan mengelola data hierarkis di dalam basis data relasional. Model ini bekerja dengan menetapkan dua nilai, yaitu left dan right, pada setiap item. Kedua nilai ini mendefinisikan sebuah “interval” yang mencakup item itu sendiri dan semua turunannya.

Konsep utama

Setiap node dalam hierarki diperlakukan sebagai sebuah interval yang bersarang di dalam interval dari induknya.

Kelebihan

Model ini sangat cepat untuk operasi pembacaan (SELECT), terutama untuk menemukan semua keturunan (descendants) dari suatu node. Cukup satu kueri sederhana:

SELECT * FROM kategori WHERE left_value BETWEEN parent_left AND parent_right;

Ini sangat ideal untuk data hierarkis yang sering dibaca, seperti menu navigasi atau kategori produk di situs web.

Kekurangan

Model ini kurang efisien untuk operasi penulisan (INSERT, UPDATE, DELETE). Setiap kali sebuah node ditambahkan atau dihapus, banyak nilai left dan right dari node lain harus diperbarui, yang bisa memakan waktu dan sumber daya.

Kapan menggunakan model nested set?

Gunakan model ini ketika:

Lihat di Wikipedia —>