Consultas jerarquicas en oracle

Solo disponible en BuenasTareas
  • Páginas : 7 (1530 palabras )
  • Descarga(s) : 0
  • Publicado : 4 de mayo de 2011
Leer documento completo
Vista previa del texto
Recuperación Jerárquica
Objetivos
Después de completar este capítulo conocerás lo siguiente:
Interpretar el concepto de consultas jerárquicas
Crear un reporte con estructura de árbol
El formato de datos jerárquicos
Excluir ramas de una estructura de árbol
Datos de muestra de la tabla EMPLOYEES
Usando consultas jerárquicas, se pueden recuperar datos basados en una
natural relaciónjerárquica entre filas en una tabla. Una base de datos relacional
no almacena registros en un camino jerárquico. Sin embargo, donde una
relación jerárquica exista entre filas de una tabla sencilla, un proceso llamado
recorrido del árbol (tree walking) habilita la jerarquía que ha sido construida.
Una consulta jerárquica es un método de reportar, en orden, las ramas de un
árbol.
Imagíneseque un árbol genealógico con los miembros mayores de la familia
cerca de la base o tronco del árbol y los miembros mas jóvenes que
representan ramas del árbol. Las ramas pueden tener sus propias ramas,
etcétera.
Una consulta jerárquica es posible cuando una relación existe entre las filas de
una tabla. Por ejemplo, en los datos anteriores, se ve que los empleados con el
puesto de AD_VP,ST_MAN, SA_MAN y MK_MAN se reportan directamente al
presidente de la compañía. Nosotros conocemos esto debido a que la columna
MANAGER_ID de esos registros contiene el valor 100, que es el
EMPLOYEE_ID del presidente (AD_PRES).
Parcial II: 5 Lección 19
2
Nota: los árboles jerárquicos son usados en varios campos como la genealogía
humana (árboles genealógicos), existencia de animales (parapropósitos
reproductivos), administración corporativa (organigrama), manufactura
(ensamble de productos), investigación evolutiva (desarrollo de especies) e
investigación científica.
Estructura natural de árbol
La tabla EMPLOYEES tiene una estructura de árbol representando la línea de
reporte administrativo. La jerarquía puede ser creada por la relación entre
valores equivalentes de las columnasEMPLOYEE_ID y MANAGER_ID. Esta
relación puede ser explotada por la relación de la tabla con si misma. La
columna MANAGER_ID contiene el número de empleado de los empleados
administrativos.
La relación padre – hijo de la estructura de árbol habilita el control:
De la dirección en el cuál la jerarquía es recorrida
El punto de inicio de la jerarquía
Nota: El diagrama muestra una estructura deárbol invertido de la
administración jerárquica de los empleados en la tabla EMPLOYEES.
Parcial II: 5 Lección 19
3
Consultas Jerárquicas
Palabras reservadas y cláusulas
Las consultas jerárquicas pueden ser identificadas por la presencia de las
cláusulas CONNECT BY y START WITH.
Donde:
SELECT Es el estándar de la cláusula SELECT
LEVEL Para cada fila obtenida por la consulta jerárquica,la
pseudocolumna LEVEL obtiene 1 para la fila raíz, 2
para los hijos de la raíz, etc.
FROM table Específica la tabla, vista o snapshot conteniendo las
columnas. Se puede seleccionar de una sola tabla.
WHERE Restringe las filas obtenidas por la consulta sin
afectar otras filas de la jerarquía
condition Es una comparación con expresiones
START WITH Especifica la fila raíz de la jerarquía(donde inicia).
Esta cláusula es requerida para una verdadera
consulta jerárquica
CONNECT BY
PRIOR Especifica las columnas en la cual la relación entre
filas padre e hijo existe. Esta cláusula es requerida
para consultas jerárquicas
La sentencia SELECT no puede contener un JOIN o consulta de una vista que
contenga un JOIN.
Parcial II: 5 Lección 19
4
Recorriendo el árbol
La fila o filasusadas como raíz del árbol se determinan con la cláusula START
WITH. La cláusula START WITH puede ser usada en conjunto con alguna
condición válida.
Ejemplos
Usando la tabla EMPLOYEES, inicie con “King”, el presidente de la compañía.
Usando la tabla EMPLOYEES, inicie con el empleado “Kochhar”. Una condición
START WITH puede contener una sub consulta.
Si la cláusula START WITH es omitida, el...
tracking img