Una vista versionada incorpora una vista de base de datos, procedimientos almacenados, desencadenadores y funciones que le permitirán leer o editar los datos versionados en una tabla de geodatabase o clase de entidad mediante Lenguaje estructurado de consultas (SQL). Cuando consulta una vista versionada, podrá ver los datos en la tabla base (de negocios) y las modificaciones que están almacenadas en las tablas delta. Los desencadenadores que utilizan las vistas versionadas actualizan las tablas delta cuando edita la vista versionada mediante SQL.
A diferencia de las vistas espaciales o de base de datos, las vistas versionadas no se usan para cambiar el esquema de la tabla o limitar el acceso al esquema; en realidad se utilizan para facilitar el acceso a una determinada versión de una tabla o clase de entidad. Por lo tanto, al crear una vista versionada no especifica una cláusula WHERE. Como resultado, las vistas versionadas contienen las mismas columnas y filas que la tabla base que representan.
A continuación encontrará un resumen de cómo funcionan las vistas versionadas
Cada clase de entidad o tabla versionada tiene tablas delta asociadas que registran las modificaciones que se le hacen. Cuando se accede a una clase de entidad o tabla versionada por medio de una vista versionada, se seleccionan todos los registros en la tabla base y se fusionan con los registros de las tablas delta para construir una vista que incluye todos los cambios realizados en la tabla base dentro del contexto de la versión especificada.
Sin las vistas versionadas, las aplicaciones que no son compatibles con el versionado de geodatabase solo pueden consultar directamente la tabla base de una tabla o clase de entidad versionada y no tienen ninguna conexión con las tablas delta. Usar vistas versionadas con estas aplicaciones es útil ya que les proporciona a las aplicaciones el acceso a los datos de las tablas delta.
Las vistas versionadas no funcionan con la funcionalidad implementada en el nivel de la geodatabase. Por lo tanto, no deben utilizarse para editar datos que participan en el comportamiento de geodatabase. Consulte Qué tipo de datos puede editarse con SQL para obtener más información.
Si consulta una vista versionada sin configurar la versión y el estado, hará referencia al estado actual de la versión DEFAULT. Si otros usuarios están haciendo modificaciones a la versión DEFAULT (cambiando así el estado al que hace referencia la versión DEFAULT), sus consultas posteriores verán el último estado de DEFAULT y sus modificaciones.
Si especifica la versión a consultar mediante la función o procedimiento set_current_version (los nombres varían levemente dependiendo del sistema de administración de base de datos), usted hará referencia al estado al que la versión especificada estaba haciendo referencia cuando la estableció.
Por ejemplo, si ejecuta la función set_current_version para establecer la versión a una versión denominada decedits y decedits está apuntando al estado 4 en el árbol de estado, todas las consultas SQL posteriores que haga para decedits verán el estado 4 de los datos incluso si otros usuarios están publicando modificaciones de decedits, lo que ocasiona que el estado actual de decedits sea el estado 25. Para ver el estado 25, ejecute la función set_current_version nuevamente para establecer la versión al estado actual de decedits.
Creación de vistas versionadas
Las vistas versionadas se crean automáticamente para tablas o clases de entidad que se registran como versionadas en ArcGIS 10.1 o versiones más recientes. Si registra un dataset de entidades como versionado, se crea una vista versionada para cada clase de entidad en el dataset de entidades. La vista que se crea tendrá el mismo nombre que la tabla o clase de entidad con _evw al final.
Si los datos se registraron como versionados en ArcGIS 10 o versiones anteriores, puede crear una vista versionada en ArcGIS Desktop 10.1 o una versión posterior haciendo clic con el botón derecho en la tabla, clase de entidad o dataset de entidades, yendo a Administrar y haciendo clic en Habilitar acceso SQL.