My question is on hierarchal data storage in MySQL. I want to store a hierarchy in which a node can have more than one parent on more than one level. The algorithm isn't very hard -- all paths are finite. But how do I store this? Maybe a table, in addition to my tree table, defining all paths?

    Requires Free Membership to View

The common table designs for trees (adjacency lists, nested sets and materialized paths) assume a single parent for each node. Your suggestion of splitting the materialized path to a separate table seems like a reasonable solution. Navigation through the tree will most likely require a recursive approach, which is not practical within MySQL; you'll need to implement that in a separate application.

This was first published in May 2007

Join the conversationComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.