I sistemi di gestione di database relazionali basati su SQL sono adatti solo in modo condizionale per query gerarchiche o ricorsive. Altri sistemi come ArangoDB sono migliori qui (si è parlato molto di questo a GOTO 2016 ). Ma puoi anche generare query ricorsive in SQL con l'aiuto di espressioni di tabella comuni e quindi interrogare le classiche tabelle padre / figlio per tutti gli antenati e discendenti.
In PostgreSQL assomiglia a questo, per esempio:
0672c4761d202a35a9059fa137ace7c3
Se vuoi ottenere tutti i figli di un certo item_id, usa le espressioni di tabella comuni:
0672c4761d202a35a9059fa137ace7c3
Anche interrogare i genitori non è un problema:
0672c4761d202a35a9059fa137ace7c3