Los datos jerárquicos usualmente se almacenan en tablas que contienen referencias recursivas como se muestra en la imagen: Esta estructura permite almacenar datos jerárquicos, por ejemplo, como han derivado unas distribuciones GNU/Linux de otras. Id Nombre IdPadre 1 Debian NULL 2 Knoppix 1 3 Ubuntu 1 4 Lindows 1 5 Corel 1 6 Damn Small Linux 2 7 KnoppMyth 2 8 Mint 3 9 Kubuntu 3 10 Xubuntu 3 11 Ulteo 9 12 Redhat NULL 13 Mandrake 12 Si queremos consultar todos los registros de distribuciones basadas en Debian, podemos recurrir a una consulta utilizando la sintaxis CTE (Common Table Expression, SQL Server 2005+) como sigue: WITH cte AS ( SELECT A . id , A . idpadre , A . nombre FROM ...
Blog sobre programación, aplicaciones web e informática.