Configurar una tabla con datos jerárquicos
El primer paso para convertir una tabla en una estructura jerárquica es crear la tabla. El siguiente procedimiento crea una tabla que contiene información del identificador de un empleado, el identificador del administrador y el identificador de inicio de sesión.
Para crear la tabla EmployeeDemo
En una ventana del Editor de consultas, ejecute el código siguiente para crear una nueva tabla denominada EmployeeDemo.
CREATE TABLE EmployeeDemo (EmployeeID int, LoginID varchar(200), ManagerID int); INSERT INTO EmployeeDemo VALUES (1, 'zarifin', Null), (2, 'tplate', 1), (3, 'hjensen', 1), (4, 'schai', 2), (5, 'elang', 2), (6, 'gsmits', 2), (7, 'sdavis', 3), (8, 'norint', 3), (9, 'jwang', 4), (10, 'malexander', 4);
Para examinar la estructura y los datos de la tabla EmployeeDemo
Esta nueva tabla EmployeeDemo representa una tabla típica en una base de datos existente que podría desear migrar a una nueva estructura. En una ventana del editor de consultas, ejecute el código siguiente para mostrar cómo la tabla utiliza una autocombinación para mostrar las relaciones empleado/administrador:
SELECT Mgr.EmployeeID AS MgrID, Mgr.LoginID AS Manager, Emp.EmployeeID AS E_ID, Emp.LoginID AS LoginID FROM EmployeeDemo AS Emp LEFT JOIN EmployeeDemo AS Mgr ON Emp.ManagerID = Mgr.EmployeeID ORDER BY MgrID, E_ID;
El conjunto de resultados es el siguiente.
MgrID Manager E_ID LoginID
NULL NULL 1 zarifin
1 zarifin 2 tplate
1 zarifin 3 hjensen
2 tplate 4 schai
2 tplate 5 elang
2 tplate 6 gsmits
3 hjensen 7 sdavis
3 hjensen 8 norint
4 schai 9 jwang
4 schai 10 malexander
En la tarea siguiente, crearemos una nueva tabla con un tipo de datos hierarchyid y pasaremos los datos a la nueva tabla.