Une vue versionnée incorpore une vue de base de données, ainsi que des procédures stockées, des déclencheurs et des fonctions pour vous permettre de lire ou de mettre à jour des données versionnées dans une table ou une classe d'entité de géodatabase à l'aide de SQL (Structured Query Language). Lorsque vous interrogez une vue versionnée, vous pouvez voir les données dans la table de base (métier) et les modifications stockées dans les tables de deltas. Les déclencheurs utilisés par les vues versionnées mettent à jour les tables de deltas lorsque vous modifiez la vue versionnée à l'aide du langage SQL.
Contrairement aux vues de base de données ou spatiales, les vues versionnées ne sont pas utilisées pour modifier la structure de la table ou limiter son accès, mais plutôt pour faciliter l'accès à une certaine version d'une table ou d'une classe d'entités. Par conséquent, vous ne spécifiez pas de clause where lors de la création d'une vue versionnée. En conséquence, les vues versionnées contiennent les mêmes colonnes et lignes que la table de base qu'elles représentent.
Résumé du fonctionnement des vues versionnées
Chaque table ou classe d'entités versionnée possède des tables de deltas associées qui enregistrent les modifications qui lui sont apportées. Lorsqu'une vue versionnée accède à une table ou classe d'entités versionnée, tous les enregistrements de la table de base sont sélectionnés et fusionnés avec les enregistrements des tables de deltas pour créer une vue qui inclut toutes les modifications apportées à la table de base dans le contexte de la version spécifiée.
Sans les vues versionnées, les applications qui ne prennent pas en charge le versionnement des géodatabases peuvent uniquement interroger directement la table de base d'une table ou classe d'entités versionnée et n'ont aucune connexion avec les tables de deltas. L'utilisation des vues versionnées avec ces applications est utile car elle fournit aux applications un accès aux données dans les tables de deltas.
Les vues versionnées ne fonctionnent pas avec les fonctionnalités implémentées au niveau de la géodatabase. Par conséquent, elles ne doivent pas être utilisées pour modifier des données qui participent au comportement de la géodatabase. Reportez-vous à la rubrique Type de données pouvant être modifié avec SQL pour plus d'informations.
Si vous interrogez une vue versionnée sans définir la version ni l'état, vous référencez l'état actuel de la version DEFAULT. Si d'autres utilisateurs valident les modifications apportées à la version DEFAULT (modifiant ainsi l'état que la version DEFAULT référence), vos requêtes suivantes verront l'état le plus récent de DEFAULT et ses modifications.
Si vous spécifiez la version à interroger à l'aide de la fonction ou procédure set_current_version (les noms varient légèrement selon votre système de gestion de bases de données), vous référencez l'état que la version spécifiée référençait lorsque vous avez défini la version.
Par exemple, si vous exécutez la fonction set_current_version pour définir la version sur une version nommée appelée decedits et que decedits pointe sur l'état 4 dans l'arborescence d'état, toutes les requêtes SQL suivantes que vous exécutez par rapport à decedits verront l'état 4 des données, même si d'autres utilisateurs publient des modifications dans decedits qui font évoluer l'état actuel de decedits sur 25. Pour voir l'état 25, exécutez de nouveau la fonction set_current_version pour définir la version sur l'état actuel de decedits.
Création de vues versionnées
Des vues versionnées sont créées automatiquement pour les tables et les classes d'entités enregistrées comme versionnées dans ArcGIS 10.1 ou version ultérieure. Si vous enregistrez un jeu de données d'entité comme versionné, une vue versionnée est créée sur chaque classe d'entités du jeu de données d'entité. La vue qui est créée porte le même nom que la table ou la classe d'entité, avec le suffixe _evw.
Si les données ont été enregistrées comme versionnées dans ArcGIS 10 ou une version antérieure, vous pouvez créer une vue versionnée à partir d'ArcGIS for Desktop 10.1 ou une version ultérieure en cliquant avec le bouton droit sur la table, la classe d'entité ou le jeu de données d'entité, en pointant sur Gérer et en cliquant sur Activer l'accès à SQL.