SQL Server 2008 can with a new data type to handle hierarchical data – hierarchyid.
How to handle hierarchical data in the previous editions?
Even though it is not supported natively, there are different methods we could employ to handle hierarchical data. Some of them are rely cool and perform as fast as SQL Server 2008.
I have written an article on this:
Storing Hierarchical Data - An Early Solution
Even though this site requires paid subscription to read this article, you could go with online trial. You can cancel it if you don't like the site