Er is een goed uitziend artikel op mysql.com waarin verschillende manieren worden beschreven om hiërarchische gegevens te beheren. Ik denk dat het een volledige oplossing biedt voor uw vraag en verschillende, minder eenvoudige, maar snellere benaderingen laat zien (bijvoorbeeld geneste sets).