Il existe de nombreuses façons de stocker des hiérarchies dans des bases de données SQL. Le choix dépend du produit SGBD que vous utilisez et de la manière dont les données seront utilisées. Comme vous avez utilisé la balise MSSQL2005, je pense que vous devriez commencer à envisager le modèle "Adjacency List" ; si vous trouvez qu'il ne fonctionne pas bien pour votre application, jetez un œil à la comparaison de Vadim Tropashko qui met en évidence les différences entre les modèles en mettant l'accent sur plusieurs caractéristiques de performance.