Gestão de dados hierárquicos em (My)SQL

Eis uma forma que eu nunca tinha visto para gerir dados que respeitam uma hierarquia.
Usava a habitual estrutura:

items
 - id,    <--,
 - name,     |
 - parent  --'

ou seja, cada item pode ter um pai e assim criar uma árvore onde a raíz é o único item que não tem pai e as folhas são as que não têm nenhum item a apontar para elas (com o campo parent.

No artigo Managing Hierarchical Data in MySQL do autor Mike Hillyer, ele apresenta uma nova forma de criar uma hierarquia de dados a que chama de nested sets, mais flexível - e bem engraçada.
A ideia original não é dele, é de Joe Celko, autor do livro Joe Celko’s Trees and Hierarchies in SQL for Smarties, e é “…often credited with the nested sets model and is by far the most prolific author on the subject“.

Se ainda não conhecem, vale a pena ter uma ideia do conceito. Nunca se sabe quando irá ser necessário…

Popularity: 3% [?]