El HIERARCHYID es un tipo de dato con longitud variable, que podemos utilizar para almacenar y consultar datos jerárquicos. HIERARCHYID esta optimizado
para la representación de árboles que
son tipo
más comunes de datos
jerárquicos.
Como sabemos los datos jerárquicos definen como un conjunto de elementos que están relacionados entre sí por relaciones jerárquicas. Los datos jerárquicos que se almacenan en la base de datos comúnmente incluyen la siguiente información:
Como sabemos los datos jerárquicos definen como un conjunto de elementos que están relacionados entre sí por relaciones jerárquicas. Los datos jerárquicos que se almacenan en la base de datos comúnmente incluyen la siguiente información:
- Una estructura organizativa.
- Sistema de archivo
- Un conjunto de tareas en un proyecto
- Una taxonomía de los términos lingüísticos
En este ejemplo vamos a utilizar la función HIERARCHYID en
Transact-SQL para consultar y gestionar los
datos jerárquicos de la tabla Partida y mostrarlo ordenados de manera ascendente.
CREATE
TABLE [dbo].[Partida](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Partida]
[varchar](50) NULL,
CONSTRAINT [PK_Partida] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX
= OFF, STATISTICS_NORECOMPUTE
= OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
)
ON [PRIMARY]
GO
SET
ANSI_PADDING OFF
GO
SET
IDENTITY_INSERT [dbo].[Partida] ON
INSERT [dbo].[Partida] ([Id], [Partida]) VALUES (1, N'1.1')
INSERT [dbo].[Partida] ([Id], [Partida]) VALUES (2, N'1.2')
INSERT [dbo].[Partida] ([Id], [Partida]) VALUES (3, N'1.2.22')
INSERT [dbo].[Partida] ([Id], [Partida]) VALUES (4, N'1.2.11')
INSERT [dbo].[Partida] ([Id], [Partida]) VALUES (5, N'1.2.3')
INSERT [dbo].[Partida] ([Id], [Partida]) VALUES (6, N'1.2.4')
INSERT [dbo].[Partida] ([Id], [Partida]) VALUES (7, N'1.2.1')
INSERT [dbo].[Partida] ([Id], [Partida]) VALUES (8, N'1.2.10')
SET
IDENTITY_INSERT [dbo].[Partida] OFF
SELECT Id, Partida
FROM Partida
ORDER
BY CAST('/' + (Partida) + '/' AS HIERARCHYID) asc

