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

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

26/ 04/ 2007 Auto-Jointure : SELECT * FROM Nom_relation R1 INNER JOIN Nom_relation R2 ON Condition_de_jointure; Problèmes Si des attributs de même nom.
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
Mise en Forme des Résultats avec SQL*Plus
L'Ordre SELECT Élémentaire
Regrouper les Données avec les Fonctions de Groupe
T ECHNOLOGIES O RACLE Manipulation des données © sebvita.com.
Copyright Oracle Corporation, Tous droits réservés. 9 Écriture de Sous- Interrogations Synchronisées.
Les fonctions de groupes Gestion des transactions
Bases de données et SGBD relationnels
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
Fonctions Mono-Ligne.
SQL Partie 3 : (LID : Langage d'interrogation de données)
BASES DE DONNÉES RELATIONNELLES Introduction
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
OPTIMISATION DE BASE DE DONNEES ORACLE
Procédures Stockées Schedule: Timing Topic 60 minutes Lecture
Limiter et trier des données
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Chapitre 5 : Le langage SQL
 CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure.
Access Les requêtes Table médias Table (*) Requêtes simples.
Les Composants de l’architecture Oracle
Cours 5: Sous requetes Exploitation des données Présentation  Supposez que vous voulez écrire une requête pour trouver qui a un salaire plus.
Chapitre 6.2 Les curseurs Cours SGBD 3A Mme hkimi Jihène
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
Créer des packages.
 C'est une fenêtre par laquelle les informations d'une table peuvent être visualisées et changées.  C'est une table virtuelle: ◦ elle n'existe pas ◦
Gérer l'instance Oracle
Manipulation des Données
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Sous-Interrogations.
Module 7 : Utilisation de requêtes élaborées
Copyright  Oracle Corporation, All rights reserved. 20 Gestion des Rôles ( ou regroupement des privilèges)
Gérer les rôles.
Les Contraintes.
Gérer les utilisateurs
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
BASES DE DONNÉES RELATIONNELLES
Révision du langage PL/SQL
Afficher des Données Issues de Plusieurs Tables
Copyright  Oracle Corporation, Tous droits réservés. 2 Sélection et Tri des Lignes Retournées par un SELECT.
Création et Gestion de Tables
Initiation à Oracle Server
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
4 Copyright © Oracle Corporation, Tous droits réservés. Gérer les sous-programmes.
13 Copyright © Oracle Corporation, Tous droits réservés. Gérer l'intégrité des données.
Le langage SQL. Voir polycopié: Introduction à SQL SQL.
Le Langage d’Interrogation de Données LID Multi-table Jointures
Les bases de données Séance 8 Jointures.
Séance /10/2004 SGBD - Approches & Principes.
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
Complément sous-requêtes
Le Langage d ’ Interrogation des donn é es (LID) Module 2.
Les vues, indexes, séquences.  Qu’est ce qu’une vue 1. Une vue est une vision partielle ou particulière des données d'une ou plusieurs tables de la base.
Le Langage de Manipulation de Données LMD Module 6.
CONCEPTS BD - Synthèse journée 1 :
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
1 Les bases de données Séance 6 L ’extraction de données Le SELECT.
Langage d’interrogation des Données LID
Langage d’interrogation des Données LID
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
4 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données agrégées à l'aide des fonctions de groupe.
5 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données de plusieurs tables.
6 Copyright © 2004, Oracle. Tous droits réservés. Utiliser des sous-interrogations pour résoudre des interrogations.
7 Copyright © 2004, Oracle. Tous droits réservés. Utiliser les opérateurs ensemblistes.
C Copyright © 2004, Oracle. Tous droits réservés. Syntaxe des jointures Oracle.
D Copyright © 2004, Oracle. Tous droits réservés. Utiliser SQL*Plus.
Bogdan Shishedjievв - SQL
Opérateurs Ensemblistes
Transcription de la présentation:

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

11-2 Copyright  Oracle Corporation, 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

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

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

11-5 Copyright  Oracle Corporation, 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:

11-6 Copyright  Oracle Corporation, 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

11-7 Copyright  Oracle Corporation, 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

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

11-9 Copyright  Oracle Corporation, 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 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 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';

11-10 Copyright  Oracle Corporation, 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 Copyright  Oracle Corporation, 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;

11-12 Copyright  Oracle Corporation, 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

11-13 Copyright  Oracle Corporation, 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

11-14 Copyright  Oracle Corporation, 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.

11-15 Copyright  Oracle Corporation, 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

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

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

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