Quatre types de vues sont disponibles dans une géodatabase d'entreprise :
- Vues de base de données (ou vues non spatiales)
- Vues spatiales
- Vues versionnées
- Vues d'archive
Vues de base de données
Les vues de base de données sont des requêtes prédéfinies qui sélectionnent des données dans les tables non spatiales et non versionnées. Vous pouvez définir des vues sur les tables de base de données ou des tables de géodatabase d'entreprise. Lorsqu'elles sont utilisées avec une géodatabase d'entreprise, les vues de base de données peuvent être définies pour une seule table non versionnée ou entre deux tables non versionnées. Vous pouvez également créer des vues plus complexes qui contiennent des sous-requêtes ou étendent des bases de données.
Vous pouvez utiliser les vues de base de données 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.
- 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 de plusieurs tables métier 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 accorder aux utilisateurs des privilèges de sélection (SELECT) sur les vues de la même façon que pour les tables. Par conséquent, vous pouvez utiliser des vues pour contrôler l'accès aux lignes ou aux colonnes des tables métier.
Pour créer une vue de base de données, activez l'outil Créer une vue de base de données ou le menu contextuel de la base de données dans ArcGIS for Desktop ou utilisez le SQL natif de votre système de gestion de bases de données (SGBD).
Les vues existent en tant qu'objets dans la base de données et ne sont pas inscrites 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.
Des autorisations spécifiques sont nécessaires pour permettre à un utilisateur de créer une vue ; par exemple, des privilèges CREATE VIEW doivent être accordés à l'utilisateur dans les bases de données Oracle ou SQL Server. Avec certains systèmes de gestion de bases de données, si vous créez une vue sur une classe d'entités ou une table dont vous n'êtes pas propriétaire, vous ne pouvez pas accorder des droits sur la vue aux autres utilisateurs, à moins que le propriétaire des tables sous-jacentes ne vous ait accordé l'autorisation d'accorder des privilèges à d'autres utilisateurs.
Lorsque vous créez une vue dans un jeu de données versionné, vous ne voyez que la table métier (de base) et non les modifications des tables delta. Pour voir les modifications dans les tables de deltas, utilisez à la place une vue versionnée sur la table métier.
N'oubliez pas que vous ne pouvez pas modifier les données via une vue de base de données dans ArcMap ou un service d'entités ArcGIS.
Vues spatiales
Les vues spatiales sont des vues de base de données qui contiennent une seule colonne spatiale.
Outre les explications ci-dessus sur l'utilisation des vues de base de données, vous pouvez créer des vues spatiales pour les raisons suivantes :
- Vous pouvez joindre une classe d'entités à une table non spatiale lorsque vous définissez la vue spatiale, en combinant ainsi les colonnes des deux tables.
- Les clients ArcGIS ne peuvent utiliser que des tables qui contiennent une colonne spatiale. Pour utiliser une table spatiale qui contient plusieurs colonnes spatiales, vous pouvez créer une vue spatiale qui inclut une seule colonne spatiale de la table.
- Les clients ArcGIS ne peuvent utiliser que des tables qui utilisent une référence spatiale. Si votre table contient plusieurs références spatiales, vous pouvez créer une vue qui inclut uniquement les enregistrements utilisant la même référence spatiale.
Vous pouvez faire appel à l'outil Créer une vue de base de données ou à SQL pour créer une vue spatiale si votre classe d'entités utilise un type de géométrie SQL et si elle n'est pas inscrite comme versionnée. Pour créer une vue spatiale, incluez la colonne spatiale et l'identifiant ObjectID de la classe d'entités dans la définition de la vue.
Lorsque vous créez une vue spatiale, vous devez inclure la colonne ObjectID issue de la même table que la colonne spatiale. Si l'identifiant ObjectID de la classe d'entités n'est pas inclus, la relation unique entre ObjectID et la colonne de forme risque d'être enfreinte, provoquant des résultats inexacts en cas d'interrogation ou d'affichage dans ArcGIS.
Tout comme les autres vues de base de données, les vues spatiales ne sont pas inscrites dans la géodatabase.
Vues versionnées
Les vues versionnées intègrent des vues de base de données, des procédures stockées, des déclencheurs et des fonctions pour accéder à ou modifier une version particulière d'une table ou classe d'entités dans une géodatabase à l'aide du langage SQL.
Vous pouvez utiliser les vues versionnées pour les raisons suivantes notamment :
- Les vues versionnées vous permettent de voir les modifications stockées dans les tables de deltas de la table.
- Les vues versionnées vous permettent de mettre à jour les tables versionnées et les classes d'entités à l'aide du langage SQL.
Avec ArcGIS 10.1, les vues versionnées sont créées automatiquement pour les tables et les classes d'entités lorsque vous les inscrivez comme versionnées. Si vous disposez déjà de données versionnées, vous pouvez créer une vue versionnée en cliquant avec le bouton droit sur la table versionnée, la classe d'entités ou le jeu de données d'entité dans l'arborescence du Catalogue d'ArcGIS for Desktop, en pointant sur Organiser puis en cliquant sur Activer l'accès à SQL.
Les vues versionnées fonctionnent seulement avec une table versionnée ou une classe d'entités individuelle. Vous ne pouvez pas utiliser la clause where pour joindre plusieurs tables ou limiter les lignes ou colonnes à inclure dans une vue versionnée.
L'utilisation principale des vues versionnées porte sur la modification des données versionnées à l'aide de SQL. Vous ne pouvez pas modifier la table sous-jacente ou la classe d'entités à travers une vue versionnée à l'aide d'une application cliente ArcGIS. La table ou la classe d'entités sur laquelle repose la vue versionnée doit satisfaire les exigences ArcGIS pour la modification des données de géodatabase avec SQL. Reportez-vous à la rubrique Type de données pouvant être modifié avec SQL pour plus d'informations.
Vues d'archive
Une vue d'archive est une vue de base de données définie sur une table ou une classe d'entités non versionnée qui a été activée pour l'archivage. Les vues d'archive incluent également des déclencheurs qui mettent à jour les tables d'archivage dès que des modifications sont apportées via la vue d'archive. Une vue d'archive est créée lorsque vous activez l'archivage du jeu de données ou lorsque vous activez l'accès SQL sur un jeu de données archivable non versionné.
Vous pouvez utiliser les vues d'archive pour les raisons suivantes notamment :
- Les vues d'archive vous permettent de voir les données stockées dans la table d'historique d'une table activée pour l'archivage.
- Les vues d'archive vous permettent d'utiliser SQL pour mettre à jour les tables et les classes d'entités dont l'archivage est activé.
Les vues d'archive fonctionnent seulement avec une table ou une classe d'entités individuelle. Vous ne pouvez pas utiliser la clause where pour joindre plusieurs tables ou limiter les lignes ou colonnes à inclure dans une vue d'archive.