Extraction Hiérarchique | Cours sql oracle

879 views

Published on

Extraction Hiérarchique | Cours sql oracle. telecharger presentation ppt gratuit

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
879
On SlideShare
0
From Embeds
0
Number of Embeds
53
Actions
Shares
0
Downloads
59
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Extraction Hiérarchique | Cours sql oracle

  1. 1. Copyright Oracle Corporation, 1998. Tous droits réservés. 11 Extraction Hiérarchique www.TelechargerCours.com
  2. 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 www.TelechargerCours.com
  3. 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
  4. 4. 11-4 Copyright Oracle Corporation, 1998. Tous droits réservés. Structure Arborescente JONES BLAKE SCOTT FORD KING ALLEN WARD MARTIN TURNER JAMES ADAMS SMITH EMPNO = 7839 MGR = 7839 MILLER CLARK www.TelechargerCours.com
  5. 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: www.TelechargerCours.com
  6. 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 www.TelechargerCours.com
  7. 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. ... START WITH ename = ‘BLAKE’ START WITH column1 = value www.TelechargerCours.com
  8. 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 SQL> SELECT empno, ename, job, mgr 2 FROM emp 3 CONNECT BY PRIOR mgr = empno 4 START WITH empno = 7698; www.TelechargerCours.com
  9. 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. SQL> SELECT ename||' reports to '||PRIOR ename "Walk" 2 FROM emp 3 CONNECT BY PRIOR empno = mgr 4 START WITH ename = 'KING'; www.TelechargerCours.com
  10. 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 WARD MARTIN TURNER JAMES CLARK MILLER JONES SCOTT FORD ADAMS SMITH Niveau 2 parent/enfant Niveau 3 parent/enfant /feuille Niveau 4 feuille www.TelechargerCours.com
  11. 11. 11-11 Copyright Oracle Corporation, 1998. Tous droits réservés. 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; www.TelechargerCours.com
  12. 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 SCOTT FORD ADAMS SMITH JONES SCOTT FORD ADAMS SMITH www.TelechargerCours.com
  13. 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; Créez un état hiérarchique trié par numéro de département www.TelechargerCours.com
  14. 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. www.TelechargerCours.com
  15. 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 www.TelechargerCours.com

×