martes, 13 de septiembre de 2016

Datos jerárquicos en SQL Server



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:
  • 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


domingo, 11 de septiembre de 2016

El comienzo de una gran alianza.


Linux Foundation anuncia “un gran comienzo para una gran alianza”, en referencia a la propia fundación Linux  y Microsoft. Y el comienzo de esta singular alianza gira en torno a una nueva certificación oficial que el gigante del software ha lanzado para aquellos profesionales que deseen especializarse con Linux en Azure.

“La líneas entre código abierto y software propietario se está difuminando“, comenta Jim Zemlin en Linux Foundation. “Cada vez más organizaciones están construyendo tecnologías incluso propias con lo métodos del Open Source. Esto incluye a Microsoft. Microsoft está demostrando un enfoque sincero, inteligente y práctico en la forma en que construye nuevas tecnologías y da soporte a su amplia base de clientes“, añade.

Son palabras gruesas, pero con cierto fundamento. Que Microsoft se está abriendo lo que nunca se hubiera imaginado, no es un secreto para nadie. Solo en los últimos meses hemos hablado en positivo de la compañía de Redmond a razón del lanzamiento y posterior liberación de Visual Studio Code, de su contribución conOpenSSH o de su propio Linux, Azure Cloud Switch.


 Cualquier interesado en la certificación de Linux en Azure encontrará toda la información en el blog oficial de Microsoft.