Diana Soares

"The voice you hear is not my speaking voice, but my mind's voice." - Ada McGrath, The Piano

quinta-feira, agosto 25, 2005

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...

Etiquetas: