Création de sélections avec SQL

Diverses méthodes de sélection d’objets réseau ont été traitées jusqu’à présent. Vous pouvez effectuer d’autres sélections à l’aide de requêtes SQL, ce qui vous permet de créer des listes d’objets répondant à des conditions spécifiées. Les conditions peuvent être aussi simples ou complexes que vous le souhaitez. Par exemple, vous pouvez créer une liste de nœuds d’un type particulier ou de liens pour lesquels des champs particuliers se trouvent dans des plages spécifiées.

Les étapes suivantes créent un certain nombre de listes de sélection à l’aide de SQL. Vous pouvez utiliser le réseau « Newtown Network » fourni.

  1. Créez une liste de tous les réservoirs :
    • Cliquez sur l’outil SQL select. La boîte de dialogue SQL s’affiche.

      Afficher l’image

      SQL dialog

    • Dans la liste déroulante Type d’objet, sélectionnez Réservoir. Une requête simple permet de sélectionner des objets d’un même type, mais n’oubliez pas que vous pouvez combiner des listes si plusieurs types sont nécessaires. Des requêtes plus complexes peuvent également être utilisées pour sélectionner des objets de plusieurs types.
    • Sélectionnez « node_id » dans la liste déroulante Champ.
    • Cliquez sur le bouton Générateur. La boîte de dialogue est développée pour afficher les opérations qui peuvent être incluses lors de la création de la requête SQL.

      Afficher l’image

      SQL dialog expanded

    • Cliquez sur le bouton « > ».
    • Cliquez sur la zone Constante, saisissez « 0 » (zéro) et cliquez sur le petit bouton OK situé juste en dessous. La requête est à présent terminée. En cas d’erreur, cliquez sur la grande zone de texte à gauche contenant la requête et modifiez-la. Vous pouvez saisir n’importe quelle expression directement dans la zone de texte. Vous n’êtes pas tenu d’utiliser les options du générateur si vous connaissez le format requis pour les expressions SQL.

      Afficher l’image

      Example of SQL query (WS)

    • Cliquez sur le bouton Enregistrer sous. Ouvrez les groupes de modèles Didacticiel et Newtown. Cliquez sur le groupe de requêtes stockées et saisissez « Sélectionner les réservoirs ». Cliquez sur Enregistrer pour ajouter la requête au groupe. La boîte de dialogue Enregistrer sous est fermée.
    • Dans la boîte de dialogue, cliquez sur Enregistrer. La boîte de dialogue est fermée et tous les objets correspondant à la condition de requête sont sélectionnés (à savoir, tous les réservoirs portant un ID de nœud). Si nécessaire, cliquez avec le bouton droit de la souris sur une zone vide du GeoPlan et sélectionnez Rechercher la sélection pour agrandir l’affichage.

      Afficher l’image

      Objects selected in the GeoPlan following SQL query

    • Cliquez avec le bouton droit de la souris sur le groupe de listes de sélection et choisissez Nouveau | Liste de sélection. Nommez la liste « Réservoirs (SQL) » et cliquez sur OK. Jusqu’à présent, le code SQL qui génère la liste a été créé ; la liste d’objets résultant de l’exécution de ce code doit être spécifiquement enregistrée. À défaut d’enregistrer cette liste, vous devrez la recréer en exécutant de nouveau le code SQL chaque fois que vous aurez besoin de sélectionner les éléments.
  2. Une autre tâche peut consister à sélectionner tous les nœuds au-dessus de 140 mAD (l’outil Find Network Objects ne peut pas être utilisé dans ce cas) :
    • Effacez la sélection actuelle. Si vous exécutez une requête SQL à partir de la boîte de dialogue SQL, tous les objets correspondants sont ajoutés à la sélection actuelle. Cependant, si vous exécutez une requête SQL en faisant glisser son icône sur le GeoPlan, la nouvelle sélection remplace la sélection actuelle.
    • Cliquez sur l’outil SQL select.
    • Sélectionnez « Nœud » comme Type d’objet.
    • Sélectionnez « Z (Altitude) » comme Champ.
    • Dans la zone de requête principale, saisissez « > 140 ».

      Afficher l’image

      Example of WS SQL query for elevation

    • Cliquez sur Test. La boîte de dialogue affiche le nombre d’objets correspondant aux critères. Cliquez sur OK.

      Afficher l’image

      SQL warning message

    • Enregistrez la requête dans le groupe de requêtes stockées, en lui attribuant le nom « Nœuds au-dessus de 140 mAD ».
    • Cliquez sur Exécuter. Les nœuds sélectionnés sont mis en surbrillance. Vous pouvez également exécuter une requête SQL existante, sans utiliser la boîte de dialogue SQL, en la faisant glisser vers le GeoPlan.
    • Utilisez Rechercher la sélection pour agrandir l’affichage.

      Afficher l’image

      Objects selected in the GeoPlan

    • Enregistrez la sélection dans le groupe de listes de sélection sous le nom « Nœuds au-dessus de 140 mAD ».
    • Ouvrez la vue tabulaire Nœuds (pour en savoir plus sur les tableaux, voir la rubrique Utilisation des tableaux et des feuilles de propriétés) et triez les enregistrements dans l’ordre décroissant d’altitude. Les nœuds sélectionnés sont répertoriés en haut, ce qui confirme que la liste est exacte et fournit une autre méthode pour générer la sélection. Fermez la vue tabulaire.
  3. Vous pouvez utiliser n’importe quel champ de données dans une requête. Par exemple, vous pouvez créer une liste de canalisations de plus de 175 mm de large :
    • Effacez la sélection actuelle.
    • Cliquez sur SQL select, définissez le Type d’objet sur « Canalisation » et saisissez la condition : « diamètre > 175 ».

      Afficher l’image

      SQL pipe width query

    • Testez la requête. Le nombre d’éléments sélectionnés est indiqué. Cliquez sur OK.
    • Enregistrez la requête sous le nom « Canalisations < 175 mm ».
    • Exécutez la requête et recherchez la sélection.

      Afficher l’image

      Objects selected in the GeoPlan following the running of the SQL query

    • Enregistrez la sélection dans le groupe de listes de sélection sous le nom « Canalisations < 175 mm ».
  4. Les outils et les tableaux GeoPlan offrent les mêmes effets que les requêtes SQL simples. Toutefois, des requêtes SQL plus complexes peuvent être conçues pour sélectionner des objets en fonction d’une combinaison de critères :
    • Commencez par faire une copie de la dernière requête. Cliquez avec le bouton droit de la souris sur la requête « Canalisations < 175 mm » (dans le groupe de requêtes stockées) et sélectionnez Copier. Cliquez avec le bouton droit de la souris sur le groupe de requêtes stockées et sélectionnez Coller. Cliquez avec le bouton droit de la souris sur la nouvelle requête (« Canalisations < 175 mm !) et sélectionnez Renommer. Remplacez le nom par « Canalisations mineures » et cliquez sur OK.
    • Effacez la sélection actuelle.
    • Faites glisser la requête Canalisations mineures sur l’arrière-plan d’InfoWorks WS Pro (et non sur le GeoPlan). La requête est rechargée. Lorsque vous faites glisser la requête sur le GeoPlan, elle est exécutée, mais elle ne peut pas être chargée à des fins de modification.

      Afficher l’image

      Reloaded Query

    • Cliquez sur le bouton Générateur.
    • Étendez la condition à l’aide des boutons de la boîte de dialogue ou en saisissant directement la condition : « diamètre < 175 OU longueur < 1 ».
    • Afficher l’image

    • Lorsque vous saisissez des expressions (directement ou à l’aide des options du générateur), assurez-vous de laisser un espace de chaque côté des opérateurs (Arithmétique, Texte, Comparaison et Logique).
    • Cliquez sur Test. Il y a maintenant plus d’objets correspondants, d’un diamètre inférieur à 75 mm ou d’une longueur inférieure à 1 mètre. Cliquez sur OK.
    • Cliquez sur Enregistrer pour enregistrer à nouveau la requête. Si vous souhaitez créer une version d’une requête, plutôt que de la modifier, vous devez en faire une copie avant de charger la requête.
    • Exécutez la requête et enregistrez la sélection dans le groupe de listes de sélection sous le nom « Canalisations mineures ».
  5. Il est possible d’afficher les résultats d’une requête sous forme de tableau (pour en savoir plus sur les tableaux, voir la rubrique Utilisation des tableaux et des feuilles de propriétés) :
    • Effacez la sélection actuelle.
    • Faites glisser la requête Canalisations mineures sur l’arrière-plan d’InfoWorks WS Pro.
    • Cliquez sur l’onglet Tableau.

      Afficher l’image

      Grid Tab of the SQL dialog

    • Maintenez la touche Ctrl enfoncée et cliquez sur les champs us_node_id, link_suffix, longueur et diamètre. Cliquez sur Inclure.

      Afficher l’image

      Multi-selection in grid tab

    • Cliquez sur Tester la grille. La requête est exécutée et la vue tabulaire des canalisations est chargée. Fermez la boîte de dialogue SQL. Le tableau affiche uniquement les enregistrements correspondants et les colonnes sélectionnées. Si vous ne sélectionnez aucun champ dans l’onglet Tableau, toutes les colonnes sont incluses.

      Afficher l’image

      Objects selected in Grid view

  6. Fermez toutes les fenêtres, y compris la fenêtre GeoPlan.

Back Retour à l’organigramme

Related Topics button

Utilisation de SQL

Listes de sélection

À propos de l’utilisation des objets de base de données

Tableau des liens

Tableau des nœuds