You are on page 1of 8

ARBOLES DE BSQUEDA

Presentan: Acosta Durn Vidal Gutirrez Valle Fredy Antonio Aguilar Milln Mario Alberto

INTRODUCCIN
En algunas ocasiones, es necesario recuperar los datos de una tabla cuya relacin es recursiva, para mostrar pertenencias y/o jerarquas. Tales jerarquas generalmente son representadas a travs de estructuras tipo rbol, en donde la raz (o nodo principal) tiene ramas (nodos descendientes) y cada una de estas ramas puede a su vez generar ms ramas, hasta llegar a un punto final en donde no hay mas divisiones. Esos nodos terminales son pues llamados tambin hojas.

PALABRAS CLAVE Y CLUSULAS


SELECT

LEVEL
FROM table WHERE CONDICIONES

START WITH
CONNECT BY

DESPLAZAMIENTO
INICIO DE LA CONSULTA:

Especificar la condicin a cumplir e introducir consultas y condiciones validas.


Inicia con especificar en donde empezar (columna y valor). Sintaxis: START WITH columna_name=valor

Ventajas: "una consulta con la condicin START WITH puede contener una subconsulta
START WITH employee_id = (SELECT employee_id FROM employees WHERE last_name = 'Kochhar');

Desventajas: si se omite la clusula START WITH, todas las filas se convierten en punto raiz de la consulta.

DIRECCIN DE LA CONSULTA (ARRIBA-ABAJO)


La direccin de la consulta, ya sea de principal a secundario o de secundario a principal, est determinada por la colocacin de la columna CONNECT BY PRIOR. El operador PRIOR se refiere a la fila principal. Para encontrar las filas secundarias de una fila principal. Modo de Seleccin:

Ventajas: Podemos desplazarnos de arriba abajo o viceversa en cualquier tabla por medio de la definicin jerrquica en la que la clave principal sea igual a la clave secundaria.

CONTINUACIN.
No es necesario codificar inmediatamente el operador PRIOR despus de CONNECT BY. As, la siguiente clusula CONNECT BY PRIOR genera el mismo resultado utilizndola de la siguiente manera: CONNECT BY clave_principal=PRIOR clave_secundaria; Desventajas: La clusula CONNECT BY no puede contener una subconsulta.

DESPLAZAMIENTO DE ABAJO ARRIBA.

SELECT employee_id, last_name, job_id, manager_id FROM employees

START WITH employee_id = 101


CONNECT BY PRIOR manager_id = employee_id ;

DESPLAZAMIENTO DE ARRIBA ABAJO


SELECT last_name||' reports to '||
PRIOR last_name "Walk Top Down" FROM employees START WITH last_name = 'King'

CONNECT BY PRIOR employee_id = manager_id ;

You might also like