راهنمای جامع پیادهسازی ساختارهای سلسلهمراتبی در پایگاههای داده رابطهای با تمرکز بر پستگرسکیوال (PostgreSQL). این مقاله سه روش اصلی مدیریت دادههای سلسلهمراتبی را با استفاده از مثال سازمانی کارمند-مدیر بررسی میکند.
روشهای اصلی پیادهسازی
سه رویکرد اصلی عبارتند از:
۱. مدل لیست مجاورت (Adjacency List Model)
۲. مسیرهای مادیشده (Materialized Paths)
۳. مجموعههای تو در تو (Nested Sets)
این راهنما به طور خاص به پیادهسازی مدل لیست مجاورت میپردازد که روابط والد-فرزند را با نگهداری مرجع به شناسه والد در هر رکورد ذخیره میکند:
sql
create table employees (
id bigserial primary key,
manager_id bigint references employees,
name text
);
تولید و آزمایش دادهها
پیادهسازی شامل دو روش برای تولید دادههای آزمایشی است:
– رویکرد گام به گام با استفاده از عبارات جدول مشترک (CTE) برای ایجاد سلسلهمراتب سه سطحی
– رویکرد بازگشتی که امکان تولید مجموعه دادههای بزرگتر را فراهم میکند
محیط آزمایش از PostgreSQL 17 با Testcontainers استفاده میکند و پیادهسازی از طریق یکپارچهسازی Java/Hibernate تأیید میشود.
اگر به خواندن کامل این مطلب علاقهمندید، روی لینک مقابل کلیک کنید: dev community