Consultas Jerarquicas
Consultas Jerarquicas
Consultas Jerarquicas
Consultas Jerárquicas
Objetivos
Después de este capítulo, usted estará
en capacidad de:
Entender el concepto de consulta
jerárquica
Crear un reporte en estructura de árbol
Formatear la salida de datos jerárquicos
Recortar ramas de la estructura jerárquica
18-2
Relación jerárquica en empleados
EMP_ID = EMP_JEFE
EMPLEADOS
EMP_ID NUMBER(4) <pk> not null
EMP_NOMBRE VARCHAR2(10) not null
EMP_CARGO VARCHAR2(10) not null
EMP_JEFE NUMBER(4) <fk2> null
EMP_FECHACONTRATO DATE not null
EMP_SALARIO NUMBER(11,2) not null
EMP_COMISION NUMBER(11,2) null
DEP_ID NUMBER(2) <fk1> null
18-3
Relación jerárquica en empleados
Las relaciones jerárquicas son muy comunes:
organigramas de empresas, planes de cuentas,
árboles familiares, taxonomías científicas, entre otros.
La relación padre-hijo de la tabla permite controlar:
La forma en que se recorre el árbol.
El punto de inicio (entrada) para recorrer el árbol.
Emp_Id=1000 LOPEZ
SANDOVAL AGREDO
18-4
Sintaxis de las consultas jerárquicas
SELECT [LEVEL], ListaDeColumnas, Expresiones …
FROM Tabla
[WHERE Condiciones]
[START WITH Condiciones]
[CONNECT BY PRIOR Condiciones]
[ORDER SIBLINGS BY ListaDeColumnas];
LEVEL es una seudo columna que retorna 1 para la raíz del árbol, 2
para el nivel siguiente y así sucesivamente.
START WITH especifica la fila raíz de la jerarquía (punto de inicio).
Esta cláusula es obligatoria para una consulta realmente jerárquica.
Esta cláusula NO hace parte del estándar ANSI.
CONNECT BY PRIOR especifica la relación padre-hija entre cada
una de las filas. Esta cláusula es obligatoria para una consulta
realmente jerárquica. Esta cláusula NO hace parte del estándar ANSI.
ORDER SIBLINGS BY permite ordenar las filas recuperadas,
conservando la relación padre-hijo del árbol.
18-5
Uso de START WITH
Jerarquía iniciando
en Córdoba.
Jerarquía iniciando en
Benavidez.
Jerarquía
Completa.
18-6
Cláusula CONNECT BY
CONNECT BY PRIOR Columna1 = Columna2
Columna1 – Columna Padre
Top-Down
Columna2 – Columna Hija
Columna1 – Columna Hija
Botton-Up
Columna2 – Columna Padre
Jerarquía
iniciando
en Arteaga
Botton-up
Jerarquía
Completa
Top-Down
Jerarquía
iniciando
en
Sandoval
Botton-up
18-8
Formateo de los datos jerárquicos
Jerarquía
Completa
Top-Down:
Sin mostrar
la columna
LEVEL en la
salida
Iniciando
con el
Nombre del
Jefe con
nivel 1
18-9
Recortando ramas al árbol
18-11
Practica 18
Realizar una práctica de cinco (5)
puntos que permite practicar:
El uso de consultas jerárquicas
El recorrido de árboles
La creación de un reporte jerárquico
identado como árbol haciendo uso de la
seudo columna LEVEL
El recorte de algunas ramas
El ordenamiento de los resultados
18-12