We usually format tree structure using adjacency list, however, it also able to present in a set. Which spend more work on [create, delete, update] operations, but achieve much better query performance. http://searchdatabase.techtarget.com/tip/1,289483,sid13_gci537290,00.html http://searchdatabase.techtarget.com/tip/1,289483,sid13_gci801943,00.html http://www.onlamp.com/lpt/a/5007 http://www.google.com/search?q=http%3A%2F%2Fwww.onlamp.com%2Fpub%2Fa%2Fonlamp%2F2004%2F08%2F05%2Fhierarchical_sql.html&sourceid=mozilla-search&start=0&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:en-US:official http://www.anarchogeek.com/archives/000173.html Java example - http://threebit.net/tutorials/nestedset/tutorial1.html