in reply to
Tree Structure and Db
1) The standard solution is to use a link table from the main table to itself. The link table contains two foreign keys from the same main table, i.e. the main table has TWO one-to-many relationships to the link table, one for parent relation and the other for child relation.
2) But to get performance out of this, it is best to write some access stored procedures (and in some cases perhaps views) which include a GetChild and a GetParent along with any procedures or triggers for insert, update and delete that may be required to simplify and unify access, but which otherwise hide (or rather make it unnecessary to expose) the link-table implementation to the database user ("user" includes any perl code that transacts with it).