Adjacency List or Nested Sets to model file system hierarchy?

From: Bill Moseley <moseley(at)hank(dot)org>
To: pgsql-general(at)postgresql(dot)org
Subject: Adjacency List or Nested Sets to model file system hierarchy?
Date: 2007-02-12 00:20:10
Message-ID: 20070212002010.GB30253@hank.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I'm looking for a little guidance in representing a file system --
well just the file and directory structure of a file system.

Often articles on representing a hierarchy discuss the advantages of
using Nested Sets (or nested intervals) it seems. I'm not clear how
well they apply to a file system-like hierarchy, though.

The examples (and my limited understanding) of Nested Sets have the
leaf nodes at the end of the branches, where in a file system a node
can have both leaf nodes (files) and branches (directories).

Also, the Nested Sets seem to solve problems I don't have -- such as
finding all descendants of a given node.

My simple requirements are:

-- Quickly be able to lookup content by a full "path" name

-- Provide "directory" views that shows parent, list of contents
including any "sub-directories".

-- To be able to easily move branches.

It will not be a large collection of "files" in the tree, so that's
not an issue.

Seems like an Adjacency List along with a de-normalized "path" column
in the leaf nodes would meet the requirements. But, as I see nested
sets discussed so often I wonder which is a better approach.

I assume this is a reasonably common problem so I'm curious how others
have implemented it.

Thanks,

--
Bill Moseley
moseley(at)hank(dot)org

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Joshua D. Drake 2007-02-12 00:35:36 Re: getting postgres to emulate mysql/sqlserver bit datatype
Previous Message Phil Endecott 2007-02-12 00:01:07 Re: "no value found for parameter 1" error for query with no parameters