La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Copyright  Oracle Corporation, 1998. Tous droits réservés. 11 Extraction Hiérarchique.

Présentations similaires


Présentation au sujet: "Copyright  Oracle Corporation, 1998. Tous droits réservés. 11 Extraction Hiérarchique."— Transcription de la présentation:

1 Copyright  Oracle Corporation, 1998. Tous droits réservés. 11 Extraction Hiérarchique

2 11-2 Copyright  Oracle Corporation, 1998. Tous droits réservés. Objectifs A la fin de ce chapitre, vous saurez : Décrire le concept d'une requête hiérarchique Créer un état sous forme d'arbre Mettre en forme des données hiérarchiques Exclure des branches de la structure arborescente A la fin de ce chapitre, vous saurez : Décrire le concept d'une requête hiérarchique Créer un état sous forme d'arbre Mettre en forme des données hiérarchiques Exclure des branches de la structure arborescente

3 11-3 Copyright  Oracle Corporation, 1998. Tous droits réservés. Quand est-il Possible d'Utiliser une Requête Hiérarchique ? EMPNO ENAME JOB MGR --------- ---------- --------- --------- 7839 KING PRESIDENT 7698 BLAKE MANAGER 7839 7782 CLARK MANAGER 7839 7566 JONES MANAGER 7839 7654 MARTIN SALESMAN 7698 7499 ALLEN SALESMAN 7698 7844 TURNER SALESMAN 7698 7900 JAMES CLERK 7698 7521 WARD SALESMAN 7698 7902 FORD ANALYST 7566 7369 SMITH CLERK 7902 7788 SCOTT ANALYST 7566 7876 ADAMS CLERK 7788 7934 MILLER CLERK 7782 EMPNO ENAME JOB MGR --------- ---------- --------- --------- 7839 KING PRESIDENT 7698 BLAKE MANAGER 7839 7782 CLARK MANAGER 7839 7566 JONES MANAGER 7839 7654 MARTIN SALESMAN 7698 7499 ALLEN SALESMAN 7698 7844 TURNER SALESMAN 7698 7900 JAMES CLERK 7698 7521 WARD SALESMAN 7698 7902 FORD ANALYST 7566 7369 SMITH CLERK 7902 7788 SCOTT ANALYST 7566 7876 ADAMS CLERK 7788 7934 MILLER CLERK 7782

4 11-4 Copyright  Oracle Corporation, 1998. Tous droits réservés. Structure Arborescente JONESBLAKE SCOTTFORD KING ALLENWARDMARTINTURNERJAMES ADAMSSMITH EMPNO = 7839 MGR = 7839 MILLER CLARK

5 11-5 Copyright  Oracle Corporation, 1998. Tous droits réservés. Syntaxe Hiérarchique expr comparison_operator expr SELECT[LEVEL], column, expr... FROM table [WHERE condition(s)] [START WITH condition(s)] [CONNECT BY PRIOR condition(s)]; condition:

6 11-6 Copyright  Oracle Corporation, 1998. Tous droits réservés. Parcours de l'Arbre DIRECTION DU HAUT VERS LE BAS Column1 = CLE PARENT Column2 = CLE ENFANT DU BAS VERS LE HAUT Column1 = CLE ENFANT Column2 = CLE PARENT Parcours du haut vers le bas sur la table EMP. CONNECT BY PRIOR column1 = column2... CONNECT BY PRIOR empno = mgr

7 11-7 Copyright  Oracle Corporation, 1998. Tous droits réservés. Parcours de l'Arbre POINT DE DEPART Indique la condition à remplir Accepte tous les prédicats valides Sur la table EMP, commencer par l’employé Blake. Indique la condition à remplir Accepte tous les prédicats valides Sur la table EMP, commencer par l’employé Blake.... START WITH ename = ‘BLAKE’ START WITH column1 = value

8 11-8 Copyright  Oracle Corporation, 1998. Tous droits réservés. Parcours de l'Arbre EMPNO ENAME JOB MGR ------- ---------- --------- --------- 7698 BLAKE MANAGER 7839 7839 KING PRESIDENT EMPNO ENAME JOB MGR ------- ---------- --------- --------- 7698 BLAKE MANAGER 7839 7839 KING PRESIDENT SQL> SELECT empno, ename, job, mgr 2 FROM emp 3 CONNECT BY PRIOR mgr = empno 4 START WITH empno = 7698;

9 11-9 Copyright  Oracle Corporation, 1998. Tous droits réservés. Parcours de l'Arbre Walk ------------------------------ KING reports to BLAKE reports to KING MARTIN reports to BLAKE ALLEN reports to BLAKE TURNER reports to BLAKE JAMES reports to BLAKE... 14 rows selected. Walk ------------------------------ KING reports to BLAKE reports to KING MARTIN reports to BLAKE ALLEN reports to BLAKE TURNER reports to BLAKE JAMES reports to BLAKE... 14 rows selected. SQL> SELECT ename||' reports to '||PRIOR ename "Walk" 2 FROM emp 3 CONNECT BY PRIOR empno = mgr 4 START WITH ename = 'KING'; SQL> SELECT ename||' reports to '||PRIOR ename "Walk" 2 FROM emp 3 CONNECT BY PRIOR empno = mgr 4 START WITH ename = 'KING';

10 11-10 Copyright  Oracle Corporation, 1998. Tous droits réservés. Classement des Lignes avec la Pseudocolonne LEVEL Niveau 1 racine/parent BLAKE KING ALLEN WARDMARTINTURNERJAMES CLARK MILLER JONES SCOTT FORD ADAMSSMITH Niveau 2 parent/enfant Niveau 3 parent/enfant /feuille Niveau 4 feuille

11 11-11 Copyright  Oracle Corporation, 1998. Tous droits réservés. Créer un rapport affichant les niveaux hiérarchiques de la société en commençant par le plus haut, marquer chaque niveau suivant par une indentation jusqu'au niveau le plus bas. Formatage des Etats Hiérarchiques avec LEVEL et LPAD Créer un rapport affichant les niveaux hiérarchiques de la société en commençant par le plus haut, marquer chaque niveau suivant par une indentation jusqu'au niveau le plus bas. SQL> COLUMN org_chart FORMAT A15 SQL> SELECT LPAD(' ', 3 * LEVEL-3)||ename org_chart, 2 LEVEL, empno, mgr, deptno 3 FROM emp 4 CONNECT BY PRIOR empno = mgr 5 START WITH mgr is NULL;

12 11-12 Copyright  Oracle Corporation, 1998. Tous droits réservés. Elagage des Branches Utilisez la clause WHERE pour éliminer un noeud individuel. Utilisez la clause CONNECT BY pour éliminer une branche. WHERE ename != ‘SCOTT’ CONNECT BY PRIOR empno = mgr AND ename != ‘SCOTT’ JONES SCOTTFORD ADAMSSMITH JONES SCOTTFORD ADAMSSMITH

13 11-13 Copyright  Oracle Corporation, 1998. Tous droits réservés. Tri des Données SQL>BREAK ON deptno SQL>SELECT LEVEL,deptno,empno,ename,job,sal 2 FROM emp 3 CONNECT BY PRIOR empno = mgr 4 START WITH mgr is NULL 5 ORDER BY deptno; SQL>BREAK ON deptno SQL>SELECT LEVEL,deptno,empno,ename,job,sal 2 FROM emp 3 CONNECT BY PRIOR empno = mgr 4 START WITH mgr is NULL 5 ORDER BY deptno; Créez un état hiérarchique trié par numéro de département

14 11-14 Copyright  Oracle Corporation, 1998. Tous droits réservés. RESUME Les requêtes hiérarchiques permettent d'afficher une relation hiérarchique existant entre des lignes d'une table. Il est possible de déterminer la direction et le point de départ du parcours. L'élagage permet d'éliminer des noeuds ou des branches. Les requêtes hiérarchiques permettent d'afficher une relation hiérarchique existant entre des lignes d'une table. Il est possible de déterminer la direction et le point de départ du parcours. L'élagage permet d'éliminer des noeuds ou des branches.

15 11-15 Copyright  Oracle Corporation, 1998. Tous droits réservés. Présentation des Exercices Différence entre les requêtes hiérarchiques et les requêtes non hiérarchiques Parcours d'un arbre Création d'un état indenté à l'aide de la pseudocolonne LEVEL Elagage de la structure arborescente Tri des résultats

16 11-16 Copyright  Oracle Corporation, 1998. Tous droits réservés.

17 11-17 Copyright  Oracle Corporation, 1998. Tous droits réservés.

18 11-18 Copyright  Oracle Corporation, 1998. Tous droits réservés.


Télécharger ppt "Copyright  Oracle Corporation, 1998. Tous droits réservés. 11 Extraction Hiérarchique."

Présentations similaires


Annonces Google