Vues dans une géodatabase d'entreprise

Les vues de base de données sont des requêtes stockées qui sélectionnent des données dans les tables que vous spécifiez dans la définition de la vue. Les vues peuvent inclure une seule table, plusieurs tables et des sous-requêtes.

Les vues existent en tant qu’objets dans la base de données et nécessitent des autorisations de base de données spécifiques pour permettre à un utilisateur de les créer. Lisez la documentation relative à votre système de gestion de base de données pour savoir ce qui est ou non pris en charge pour les vues de ce type de base de données.

Pour créer une vue de base de données dans une géodatabase d’entreprise, utilisez l’outil de géotraitement Create Database View (Créer une vue de base de données) ou l’option New (Nouveau) > View (Vue) dans le menu contextuel de connexion à la base de données. Vous pouvez également utiliser le SQL natif du système de gestion de base de données.

Remarque :

Les vues ne sont pas automatiquement inscrites dans la géodatabase, même si la vue est définie dans les tables de géodatabase et dans les classes d’entités, et même si vous créez la vue à l’aide de l’outil de géotraitement Create Database View (Créer une vue de base de données). La vue n’est pas inscrite dans la géodatabase, sauf si vous l’inscrivez explicitement.

Pourquoi utiliser les vues

Vous pouvez créer des vues de base de données dans une géodatabase pour les raisons suivantes notamment :

  • Les vues peuvent fournir des sous-ensembles de lignes ou de colonnes de manière prédéfinie. Cela réduit le volume de données transférées de la base de données vers le client, améliorant ainsi les performances.
  • Limiter les colonnes ou les lignes dans une vue vous permet également de contrôler ce que voient les utilisateurs. Par exemple, les employés chargés de l’évaluation des stocks et de la commande des produits n’ont pas besoin de voir les noms des personnes qui ont acheté des produits, ni le prix de vente. Plutôt que de donner accès à l’intégralité de la table dans laquelle ces informations sont stockées à ces employés, vous pouvez créer une vue qui n’inclut pas ces colonnes et donner aux employés chargés du stock le privilège select sur la vue.
  • Limiter les colonnes et les lignes vous permet également de respecter les exigences en matière de données d’ArcGIS. Par exemple, ArcGIS ne fonctionne qu’avec des tables qui contiennent une colonne spatiale. Pour utiliser une table spatiale qui contient plusieurs colonnes spatiales, vous pouvez créer des vues. Chaque vue peut contenir une seule colonne spatiale. De même, ArcGIS ne fonctionne qu’avec des tables qui utilisent une référence spatiale. Si la table contient des données stockées dans plusieurs références spatiales, vous pouvez créer une vue qui inclut uniquement les lignes (entités) utilisant la même référence spatiale.
  • Les vues vous permettent de codifier les requêtes fréquentes dans la base de données et de les rendre disponibles à plusieurs utilisateurs. Les utilisateurs sont ainsi moins souvent amenés à créer leurs propres requêtes complexes.
  • Les vues peuvent rassembler des données issues de plusieurs tables ou d’autres vues.
  • Vous pouvez utiliser les fonctions d'agrégation pour résumer les données dans des vues. Cela réduit également le volume de données transférées de la base de données vers le client, améliorant ainsi les performances.
  • Vous pouvez joindre une classe d'entités à une table non spatiale lorsque vous définissez une vue, en combinant ainsi les colonnes des deux.

Éléments à prendre en compte lors de l’utilisation des vues

Tenez compte des points suivants lorsque vous utilisez des vues dans ArcGIS :

  • Vous ne pouvez pas mettre à jour les données via la vue à l’aide des clients ou services ArcGIS, même si vous inscrivez la vue dans la géodatabase.
  • Les changements apportés à la structure de la table sous-jacente ne sont pas répercutés dans la vue. Pour ajouter des colonnes supplémentaires à une vue, vous devez redéfinir la vue afin d’inclure ces colonnes.
    Attention :

    Si vous remplacez des vues créées par ArcGIS en les modifiant à l’aide de SQL ou d’autres outils de base de données, vous êtes seul responsable de l’exactitude de la requête, mais aussi de son fonctionnement, de sa pertinence et de son adéquation à une utilisation avec les clients ArcGIS. Par exemple, la création de vues de type un vers plusieurs impliquant des classes d’entités se traduit par la duplication d’identifiants d’objet. Cela entraîne un comportement inattendu dans des applications comme ArcGIS Pro, ainsi que dans les services web, pour lesquels l’ID objet ne doit contenir que des valeurs uniques.

  • Dans la plupart des cas, les tables et classes d’entités de la géodatabase que vous incluez dans une vue ne doivent pas être inscrites pour le versionnement traditionnel ou activées pour l’archivage. Lorsque vous créez une vue dans une classe d’entités ou une table de géodatabase relevant du versionnement traditionnel, vous ne voyez que les données de la table de base et non les mises à jour effectuées dans les tables delta ou les enregistrements stockés dans les tables d’archivage. Pour afficher les mises à jour effectuées dans une vue via des clients ArcGIS, vous devez réconcilier et publier les mises à jour dans la version par défaut et compresser totalement la géodatabase.
  • Les exigences suivantes doivent être respectées lorsque vous incluez une colonne spatiale dans la définition d’une vue utilisée dans ArcGIS :
    • La vue ne peut contenir qu’une seule colonne spatiale.
    • La définition de la vue doit inclure la colonne Object ID (ID d’objet) issue de la même classe d’entités que la colonne spatiale. Si vous n’incluez pas l’ID d’objet issu de la classe d’entités, la relation unique entre l’ID d’objet et la colonne de forme est rompue, ce qui génère des résultats inexacts en cas d’interrogation ou d’affichage dans ArcGIS.

Vues enregistrées dans la géodatabase

Lorsque vous créez une vue dans une géodatabase, vous pouvez exécuter l’outil de géotraitement Register With Geodatabase (Inscrire dans une géodatabase) pour transformer la vue en objet de géodatabase.

Voici certaines raisons pour lesquelles vous devez enregistrer une vue dans la géodatabase :

  • Lorsque vous enregistrez une vue dans la géodatabase, les informations sur la vue sont stockées dans les tables système de la géodatabase. Ces informations, telles que le type de géométrie, la référence spatiale et l’étendue, améliorent les performances lorsque vous ajoutez une vue qui contient un champ spatial à une carte.
  • Vous pouvez définir des métadonnées dans des vues enregistrées dans la géodatabase si vous êtes propriétaire des vues.