Un recorrido rápido por la edición de datos versionados con SQL

Para editar los datos versionados de un cliente de SQL, debe editar una vista versionada de los datos, no la tabla base (comercial) en sí. Las tablas versionadas utilizan dos tablas asociadas, las tablas de adiciones y borrados (conocidas colectivamente como tablas delta), para registrar los cambios. Al editar una vista versionada de la tabla, las ediciones se escriben en las tablas de adiciones y borrados. Editar la tabla base directamente evade esto y puede llevar a registros huérfanos y datos perdidos.

Cuando ejecuta declaraciones de manipulación de datos de SQL contra una vista versionada, lo siguiente se lleva a cabo en la base de datos para cada tipo de declaración:*

*Si editar la versión DEFAULT apunta al estado 0, todas las ediciones se mueven inmediatamente a la tabla base.

Tenga en cuenta que no se realiza ninguna conciliación de versiones| interna para las ediciones realizadas a través de SQL. Por lo tanto, debe conciliar sus ediciones con una versión principal a través de ArcGIS for Desktop o una secuencia de comandos Python después de que terminó de editar.

Editar modelos

Puede crear una nueva versión de la geodatabase nombrada y editar esa versión o puede editar la versión DEFAULT directamente. Lo que realice depende de los requisitos en su sitio. Es importante elegir el modelo apropiado, ya sea editar una versión con nombre o editar la versión DEFAULT, para asegurar el rendimiento y escalabilidad óptimos.

Editar una versión con nombre

Creará y utilizará versiones con nombre para editar con SQL a través de las vistas versionadas si cualquiera de los siguientes es verdadero en su sitio:

  • Múltiples editores deben cambiar los mismos datos.
  • Requiere un proceso de control de calidad bien definido.
  • Los cambios no tienen que estar disponibles inmediatamente para otros usuarios; en lugar de eso, se pueden mantener separados hasta que los concilie y los publique.
  • Las clases de entidad versionadas que desea editar utilizan el almacenamiento de geometría SDEBINARY o OGCWKB en una base de datos Oracle o SQL Server.
  • La clase de entidad versionada o la tabla que desea editar está registrada como versionada con la opción para mover las ediciones a la base.

Cuando edita a través de una vista versionada, las ediciones se registran en las tablas de adiciones y borrados. Las ediciones se escriben en el estado actual al que la versión con nombre hace referencia.

Los pasos que lleva a cabo para editar los datos en una versión con nombre son los siguientes y se deberían realizar en este orden:

  1. Cree una vista versionada en una tabla o clase de entidad versionada si aún no existe una.
  2. Cree una versión de geodatabase en la que puede hacer sus ediciones.
  3. Utilice el procedimiento set_current_version para especificar que desea obtener acceso a su nueva versión. Hacer esto establece la sesión de edición en el estado al que la versión con nombre indica y bloquea la versión.
  4. Inicie una sesión de edición ejecutando el procedimiento o la función edit_version adecuados para la base de datos.
  5. Realice las ediciones en la vista versionada utilizando SQL.
  6. Guarde las ediciones en la base de datos o déjelas sin efecto.
  7. Detenga la sesión de edición ejecutando el procedimiento o la función edit_version adecuados para su base de datos.
  8. Concilie y publique las modificaciones por medio de ArcGIS.
  9. Cuando se envían todos los cambios a una versión principal con ArcGIS, puede eliminar la versión que creó para las ediciones en la vista versionada.

Editar la versión DEFAULT

Puede editar la versión DEFAULT con SQL a través de las vistas versionadas si una o más de las siguientes son verdaderas en su sitio:

  • Las ediciones que hará son breves transacciones.
  • Su sitio requiere que las ediciones hechas a través de una vista versionadas estén disponibles para otros usuarios inmediatamente.
  • Si edita clases de entidad, las clases de entidad utilizan tipos espaciales de SQL, no almacenamiento de geometría de SDEBINARY o OGCWKB.
  • La clase de entidad o tabla que desea editar no está registrada como versionada con la opción para mover las ediciones a la base.

Cuando edita la versión DEFAULT, las ediciones se registran en las tablas delta en el momento que edita una versión con nombre. Sin embargo, cuando edita la versión DEFAULT, cualquiera que ve la versión DEFAULT puede ver las ediciones.

Si la versión DEFAULT hace referencia al estado 0, cada edición se aplica directamente a la tabla base de la tabla versionada o de la clase de entidad. Cuando la versión DEFAULT se edita con un cliente de ArcGIS, se actualiza para hacer referencia a un nuevo estado de base de datos durante el guardado. Cuando una vista versionada edita la versión DEFAULT directamente, cada operación de inserción, actualización y eliminación se escribe en el estado actual al que la versión DEFAULT hace referencia.

Por ejemplo, si la versión DEFAULT se actualiza con un cliente ArcGIS a la vez que se realizan varios cambios mediante la vista versionada, es posible que los cambios realizados mediante la vista versionada se puedan aplicar a varios estados.

Una vez sus ediciones están confirmadas, inmediatamente están accesibles para lo siguiente:

  • Los usuarios o aplicaciones que están trabajando con la tabla versionada y la versión DEFAULT
  • Los usuarios o aplicaciones que están trabajando con una versión secundaria que tiene un linaje de estado que contiene el estado actual de la versión DEFAULT
InmersiónInmersión:

Si la fila que está modificando en la versión DEFAULT por medio de una vista versionada se ha modificado por otra versión en un estado que depende del estado actual de la versión DEFAULT, la vista versionada crea un nuevo estado de la geodatabase, actualiza la versión DEFAULT para hacer referencia al nuevo estado, luego lleva a cabo la edición. Esto se requiere para asegurar que la fila que está modificando (la cual también se modifica en un estado dependiente en el estado de la versión DEFAULT) no se sobrescribirá por medio de una operación de compresión o cuando la versión del estado descendente se concilia con la versión DEFAULT.

No establece la versión o inicia una sesión de edición si desea editar datos en la versión de la geodatabase DEFAULT a través de una vista versionada. Los pasos que lleva a cabo son los siguientes:

  1. Cree una vista versionada en una tabla o clase de entidad versionada si aún no existe una.
    NotaNota:

    Si la vista versionada se creó antes de ArcGIS 10.1, debe recrearla; las vistas versionadas anteriores no se pueden editar en la versión DEFAULT.

  2. Realice las ediciones en la vista versionada utilizando SQL. Automáticamente estará editando el estado actual de la versión DEFAULT.
  3. Guarde las ediciones en la base de datos o déjelas sin efecto. Es mejor confirmar o regresar después de cada edición debido a que, mientras su transacción está abierta, los bloqueos exclusivos se retienen en las tablas delta. Los bloqueos no se liberan hasta que la transacción termina.

Temas relacionados

9/11/2013