En las geodatabases corporativas o de grupo de trabajo, puede haber más de un usuario leyendo y editando los mismos datos al mismo tiempo. Para poder trabajar con datos en una geodatabase para aplicaciones como ArcMap, la aplicación debe funcionar sobre el principio de que el esquema de la geodatabase permanezca fijo y no cambie en cualquier momento mientras se está trabajando con el contenido de la geodatabase. Por ejemplo, al agregar una clase de entidad desde una geodatabase al mapa, ni usted ni otro usuario pueden modificar su esquema. Una vez que haya quitado la clase de entidad del mapa o haya cerrado el documento de mapa y no haya ningún otro usuario consultando o editando dicha clase de entidad, se puede modificar el esquema.
Información general de bloqueo del esquema
Las geodatabases y sus datasets rara vez son estáticos. La mayoría de los datasets se editan y actualizan a través del tiempo. De vez en cuando, se agregan nuevos datasets y los existentes se quitan por diversas razones. Además, se realizan cambios de esquema en datasets existentes: agregar una columna de atributos, cambiar las reglas en una topología, agregar representaciones cartográficas, etc.
Si está trabajando con una geodatabase que tiene un único usuario, estos cambios son fáciles de hacer y no tiene que pensar cómo afectará su trabajo a los demás. Sin embargo, si otros usuarios acceden y utilizan la misma geodatabase en la que desea realizar modificaciones, tendrá que establecer algunos flujos de trabajo para realizar modificaciones del esquema. Por ejemplo, para realizar modificaciones sin afectar a otros usuarios, podría programar su trabajo del esquema de forma que se realice cuando todos los demás usuarios estén desconectados del sistema.
ArcGIS proporciona algunos mecanismos automatizados de bloqueo de esquema para ayudarle a administrar los cambios en la geodatabase. Es útil tenerlos en cuenta a la hora de planificar el trabajo.
Bloqueos de esquema compartidos
ArcGIS adquiere automáticamente un bloqueo compartido en un dataset individual cuando esté en uso, por ejemplo, cada vez que un usuario edite o consulte el contenido de una clase de entidad o tabla. Este mecanismo se utiliza para que los demás usuarios no puedan realizar cambios en el dataset subyacente y en su esquema mientras esté en uso.
En una tabla o clase de entidad única se puede establecer cualquier número de bloqueos compartidos en un momento dado. Cuando se utiliza ArcGIS para modificar el esquema de geodatabase: por ejemplo, agregar un campo o modificar reglas. ArcGIS intenta establecer un bloqueo exclusivo en los datos que se están modificando. Sin embargo, si existe un bloqueo compartido en dicho dataset, no se puede establecer un bloqueo exclusivo.
Bloqueos de esquema exclusivos
Se utiliza un bloqueo exclusivo para bloquear el uso de un dataset en la geodatabase por parte de otros usuarios para realizar los cambios necesarios en el mismo; por ejemplo, modificar el esquema del dataset. Cuando un usuario con los permisos apropiados empiece a hacer cambios en un dataset en la geodatabase, ArcGIS establecerá automáticamente un bloqueo exclusivo en la tabla de atributos individual, tabla de clases de entidad, tabla rasterizada u otro dataset.
Si un usuario desea realizar cambios en un esquema de la geodatabase, otros usuarios no deben estar utilizando los datasets concretos con los que está trabajando. En otras palabras, para realizar cambios en un dataset, no debe existir un bloqueo compartido en dicho dataset.
Bloqueos en geodatabases personales
En las geodatabases personales, todos los bloqueos se aplican a todo el contenido de toda la geodatabase. Cuando se adquiere un bloqueo exclusivo o un bloqueo compartido en un elemento en una geodatabase personal, dicho bloqueo se aplica a toda la geodatabase. Esto significa que solo un editor puede editar una geodatabase personal a la vez.
Cualquier usuario que tenga el acceso de lectura y escritura apropiado al archivo de base de datos de Microsoft Access (.mdb) que contiene la geodatabase personal puede editar y cambiar su contenido de esquema.
Cuando acceda a una geodatabase personal almacenada en una unidad de red o a través de rutas UNC, asegúrese de que todos los usuarios tienen por lo menos acceso de escritura a la carpeta que contiene la geodatabase personal. Si todos los usuarios no tienen acceso de escritura, solo un usuario podrá abrir la geodatabase personal. Los siguientes intentos de abrir la geodatabase personal producirán un error de bloqueo del esquema, debido a la incapacidad del motor de base de datos Microsoft Jet de abrir y modificar el archivo .ldb para controlar el acceso al archivo .mdb.
Bloqueos en geodatabases de archivos
Los usuarios deben tener acceso de lectura y escritura a la carpeta de la geodatabase de archivos para realizar cambios en el esquema.
Los bloqueos de esquema, tanto compartidos como exclusivos, se aplican a datasets individuales y tablas relacionadas en una geodatabase de archivos. Por ejemplo:
- Si adquiere un bloqueo en una clase de entidad dentro de un dataset de entidades, el bloqueo se aplica a todo el dataset de entidades y su contenido.
- Los bloqueos también se aplican a ambos lados de una clase de relación. Por ejemplo, si dos clases de entidad independientes se relacionan a través de una clase de relación y adquiere un bloqueo exclusivo o compartido en una de ellos, el bloqueo también se aplica a la otra.
Bloqueos en geodatabases corporativas o de grupo de trabajo
Los usuarios deben poseer un dataset para hacer cambios a su esquema y tener los privilegios apropiados otorgados a ellos al editar los datos de otro usuario.
Los bloqueos de esquema, tanto compartidos como exclusivos, se aplican a datasets individuales y tablas relacionadas. Por ejemplo:
- Si adquiere un bloqueo en una clase de entidad dentro de un dataset de entidades, el bloqueo se aplica a todo el dataset de entidades y su contenido.
- Los bloqueos también se aplican a ambos lados de una clase de relación. Por ejemplo, si dos clases de entidad independientes se relacionan a través de una clase de relación y adquiere un bloqueo exclusivo o compartido en una de ellos, el bloqueo también se aplica a la otra.