Hay cuatro tipos de vistas que puede utilizar en una geodatabase corporativa:
- Vistas de la base de datos
- Vistas registradas con la geodatabase
- Vistas de control de versiones
- Vistas de archivo
Vistas de la base de datos
Las vistas de bases de datos son consultas almacenadas que seleccionan datos de tablas especificadas. Puede definir las vistas en la base de datos o en las tablas de la geodatabase corporativa que no estén registradas como versionadas. Cuando se utiliza con una geodatabase corporativa, las vistas de la base de datos se pueden definir para una única tabla no versionada o entre dos tablas no versionadas. O puede crear vistas más complejas que contengan subconsultas.
Las vistas que se utilizan con ArcGIS pueden contener una columna espacial. Si hay una columna espacial, se puede hacer referencia a estas vistas como vistas espaciales. Tenga en cuenta que, al crear una vista espacial, debe incluir la columna ObjectID de la misma tabla como columna espacial. Si no incluye el Id. de objeto de la clase de entidad, este vulnera la relación única entre la columna ObjectID y la columna forma, lo que producirá resultados incorrectos durante la consulta o renderización de la vista en ArcGIS.
No es posible editar las vistas de bases de datos a través de clientes o servicios de ArcGIS.
Estos son algunos motivos por los que debería utilizar vistas de base de datos:
- Las vistas pueden proporcionar subconjuntos de filas o columnas de una manera predefinida. Esto reduce el volumen de datos que se transfiere desde la base de datos al cliente; lo que puede mejorar el rendimiento.
- Las vistas le permiten codificar consultas comunes en la base de datos y ponerlas a disposición para varios usuarios. Esto reduce la necesidad de los usuarios de crear sus propias consultas complejas.
- Las vistas pueden unir datos de distintas tablas u otras vistas.
- Puede utilizar funciones de agregación para resumir los datos en las vistas. Esto también reduce el volumen de datos que se transfieren desde la base de datos al cliente; lo que puede mejorar el rendimiento.
- Puede otorgar privilegios select a los usuarios para las vistas de la misma manera que con las tablas. Por lo tanto, puede utilizar las vistas para controlar el acceso a las filas o columnas en las tablas.
- Puede unir una clase de entidad con una tabla no espacial cuando define una vista y, de este modo, combinar las columnas desde ambas.
- ArcGIS solo puede funcionar con tablas que contengan una columna espacial. Para utilizar una tabla espacial que contenga varias columnas espaciales, puede crear una vista espacial que incluya sólo una columna espacial desde la tabla.
- ArcGIS solo puede funcionar con tablas que utilicen una referencia espacial. Si la tabla contiene referencias espaciales múltiples, podrá crear una vista que incluya los registros que utilizan la misma referencia espacial.
Para crear una vista de base de datos, puede utilizar la herramienta de geoprocesamiento Crear vista de base de datos o el menú contextual de la base de datos de ArcGIS Desktop; también puede utilizar el SQL nativo del sistema de administración de bases de datos (DBMS).
Se necesitan permisos de base de datos específicos para permitir que un usuario cree una vista; por ejemplo, al usuario se le deben otorgar privilegios create view en las bases de datos Oracle o Microsoft SQL Server. Con algunos sistemas de administración de bases de datos, si crea una vista en una clase de entidad o tabla de la que no es propietario, no puede otorgar a otros usuarios los derechos para la vista, a menos que el propietario de las tablas subyacentes le haya otorgado permiso para que usted otorgue privilegios a otros usuarios.
Tenga en cuenta lo siguiente cuando trabaje con vistas de bases de datos:
- Las vistas existen como objetos en la base de datos y no están registradas con la geodatabase, incluso cuando las define en tablas de geodatabase mediante la herramienta Crear vista de base de datos.
- Los cambios realizados en el esquema de la tabla o las tablas subyacentes no se reflejan en la vista. Para incluir columnas adicionales en una vista, debe redefinir la vista para poder incluir estas columnas.
- No puede editar datos a través de una vista de base de datos en ArcGIS Desktop o en un servicio de entidades de ArcGIS.
- Cuando crea una vista en una tabla de geodatabase o clase de entidad versionada, solo verá los datos de la tabla base y no las ediciones de las tablas delta. Para ver las ediciones en una vista mediante clientes de ArcGIS, debe conciliar y publicar las ediciones en la versión Predeterminada y comprimir la geodatabase. Si desea ver las ediciones en una vista mediante SQL, clientes externos o personalizados, utilice la vista versionada que se crea automáticamente cuando registra una tabla de geodatabase o clase de entidad como versionada.
- Si incluye una columna espacial en la definición de la vista, la columna espacial deberá utilizar un tipo de datos de geometría de SQL, la clase de entidad de la que procede la columna espacial no puede estar registrada como versionada y también debe incluir el ObjectID de la clase de entidad que contiene la columna espacial en la definición de la vista.
Vistas registradas con la geodatabase
Si su base de datos contiene una geodatabase, puede utilizar la herramienta Crear vista de base de datos o SQL para crear una vista de base de datos y registrar esa vista con la geodatabase utilizando la herramienta de geoprocesamiento Registrar con geodatabase.
Entre los motivos para registrar una vista con la geodatabase, se incluyen los siguientes:
- Cuando registra una vista con la geodatabase, la información sobre la vista se almacena en las tablas del sistema de geodatabase. Este resulta especialmente beneficioso cuando registra una vista espacial con la geodatabase, ya que define el tipo de geometría, la referencia espacial y la extensión al registrar la vista espacial, lo que mejora el rendimiento al agregar la vista espacial a un mapa.
- Puede definir metadatos en vistas que estén registradas con la geodatabase si usted es el propietario de la vista.
- Puede publicar una vista registrada en un servicio de entidades solo de consulta.
Puede incluir una única columna espacial en la vista que crea si la clase de entidad emplea un tipo de geometría SQL y no está registrada como versionada. Para crear una vista espacial, incluya la columna espacial y el ObjectID de la clase de entidad en la definición de la vista y, a continuación, regístrela.
Las vistas que están registradas con la geodatabase no se pueden editar a través de clientes o servicios de ArcGIS.
Vistas de control de versiones
Las vistas versionadas incorporan vistas de base de datos, procedimientos almacenados, desencadenadores y funciones que permiten utilizar SQL para acceder a o editar una versión de geodatabase tradicional específica de una tabla o clase de entidad.
Las razones para tener vistas versionadas son las siguientes:
- Las vistas versionadas incorporan las modificaciones actualmente almacenadas en las tablas delta de la tabla.
- Las vistas versionadas le permiten editar las tablas y clases de entidad versionadas tradicionales utilizando SQL o aplicaciones de terceros.
Los clientes de ArcGIS crean automáticamente vistas versionadas de las tablas y clases de entidad cuando usted las registra para el versionado tradicional. Las vistas versionadas solo se admiten con el versionado tradicional.
Las vistas versionadas trabajan con todos los datos de una tabla o clase de entidad versionada individual. No puede utilizar una cláusula WHERE para unir varias tablas juntas o restringir qué filas o columnas se incluyen en una vista versionada.
El uso principal de las vistas versionadas es editar los datos versionados tradicionales con SQL. No puede modificar la tabla o clase de entidad subyacente a través de una vista versionada con una aplicación cliente de ArcGIS. La tabla o clase de entidad sobre la que se basa la vista versionada debe cumplir con los requisitos de ArcGIS para editar los datos de la geodatabase con SQL.
Vistas de archivo
Una vista de archivo es una vista de base de datos definida en una tabla o clase de entidad no versionada que está habilitada para el archivado. Las vistas de archivo también incluyen desencadenadores que mantienen las tablas de archivo actualizadas cuando se realizan modificaciones mediante la vista de archivo. Las vistas de archivo se crean al habilitar un dataset para archivado o cuando se habilita al acceso mediante SQL en un dataset no versionado y habilitado para archivado.
Las razones para tener vistas de archivo son las siguientes:
- Las vistas de archivo permiten acceder a los datos de la tabla de historial de una tabla habilitada para archivado.
- Las vistas de archivo permiten utilizar SQL para editar tablas y clases de entidad habilitadas para archivado.
Las vistas de archivo trabajan con todos los datos de una tabla o clase de entidad individual. No puede utilizar una cláusula WHERE para unir varias tablas o restringir qué filas o columnas se incluyen en una vista de archivo.