Crear un modelo de datos jerárquico
En este ejercicio, vas a construir un modelo de datos jerárquico sencillo creando la jerarquía de activos de TI. Un activo puede ser Hardware o Software. Un activo de Software puede dividirse en Application o Tools, y así sucesivamente. La jerarquía se muestra en la siguiente imagen.

Para modelar esta jerarquía, se necesita una estructura de datos adecuada. Esta estructura se puede conseguir usando un modelo de datos que consta del ID del registro hijo y el ParentID del registro padre. Los ID son valores consecutivos del 1 al 10.
Tu tarea es crear la tabla Equipment correspondiente e insertar los activos Software, Monitor y Microsoft Office en la tabla. Ten en cuenta que debes establecer los IDs correctos para cada activo para lograr la jerarquía deseada de activos.
Este ejercicio forma parte del curso
Consultas jerárquicas y recursivas en SQL Server
Instrucciones del ejercicio
- Define los campos
IDyParentIDde tipoINT.IDno debe serNULL,ParentIDpuede serNULL. - Inserta el equipo
Softwareen la tabla con los IDs correctos. El software forma parte deAsset. - Inserta el equipo
Monitoren la tabla con los IDs correctos. El monitor forma parte deHardware. - Inserta el equipo
Microsoft Officeen la tabla con los IDs correctos. Este software forma parte deApplication.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
CREATE TABLE Equipment (
-- Define ID and ParentID
___ ___ NOT NULL,
Equipment VARCHAR(255) NOT NULL,
___ ___
);
INSERT INTO Equipment VALUES (1,'Asset',NULL);
INSERT INTO Equipment VALUES (2,'Hardware',1);
-- Insert the type Software
INSERT INTO Equipment VALUES (___,____,1);
INSERT INTO Equipment VALUES (4,'Application',3);
INSERT INTO Equipment VALUES (5,'Tool',3);
INSERT INTO Equipment VALUES (6,'PC',2);
-- Insert the type Monitor
INSERT INTO Equipment VALUES (___,'Monitor',2);
INSERT INTO Equipment VALUES (8,'Phone',2);
INSERT INTO Equipment VALUES (9,'IPhone',8);
-- Insert the type Microsoft Office
INSERT INTO Equipment VALUES (___,___,4);
SELECT *
FROM Equipment;