Las vistas de bases de datos son consultas almacenadas que seleccionan datos de tablas especificadas en la definición de la vista. Las vistas pueden incluir una sola tabla, varias tablas y subconsultas.
Las vistas existen como objetos en la base de datos y requieren permisos específicos de la base de datos para permitir que un usuario las cree. Lea la documentación de su sistema de gestión de bases de datos para obtener información sobre qué se admite y qué no se admite en las vistas en ese tipo de base de datos.
Puede utilizar la herramienta de geoprocesamiento Crear vista de base de datos o la opción Nueva > Vista del menú contextual de la conexión de la base de dato para crear una vista de base de datos en una geodatabase corporativa, o bien utilizar el SQL nativo del sistema de administración de bases de datos.
Nota:
Las vistas no se registran automáticamente con la geodatabase, incluso aunque estén definidas en las tablas de la geodatabase y las clases de entidad y se creen mediante la herramienta de geoprocesamiento Crear vista de base de datos. La vista no está registrada con la geodatabase a no ser que la registre explícitamente.
Motivos para usar vistas
Estos son algunos motivos para utilizar vistas de base de datos en una geodatabase:
- 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.
- Limitar las columnas o filas presentes en una vista también le permite controlar qué datos ven los usuarios. Por ejemplo, los empleados encargados de evaluar inventarios y realizar pedidos de productos no tienen por qué ver los nombres de las personas que compraron los productos ni el precio de venta de estos. En lugar de otorgar a esos empleados acceso a toda la tabla en la que dicha información se almacena, puede crear una vista que no incluya esas columnas y otorgar a los empleados de inventario el privilegio de select sobre la vista.
- Limitar las columnas o filas también le permite satisfacer los requisitos de datos de ArcGIS. Por ejemplo, ArcGIS solo puede funcionar con tablas que contengan una columna espacial. Para utilizar una tabla espacial que contenga varias columnas espaciales, puede crear vistas. Cada vista puede contener una única columna espacial. De manera similar, ArcGIS solo puede funcionar con tablas que utilicen una referencia espacial. Si la tabla contiene datos almacenados en varias referencias espaciales, podrá crear una vista que incluya únicamente los registros (entidades) que utilizan la misma referencia espacial.
- 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 unir una clase de entidad con una tabla no espacial cuando define una vista y, de este modo, combinar las columnas desde ambas.
Consideraciones sobre el uso de vistas
Tenga en cuenta lo siguiente cuando trabaje con vistas en ArcGIS:
- No es posible editar datos a través de las vistas mediante clientes o servicios de ArcGIS, incluso aunque registre la vista con la geodatabase.
- 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.
Precaución:
Si reemplaza las vistas creadas con ArcGIS mediante la modificación de una vista existente, con ayuda de SQL u otras herramientas de base de datos, usted se responsabiliza no solo de la exactitud y eficacia de la consulta, sino también de la relevancia y adecuación para el uso con los clientes de ArcGIS. Por ejemplo, crear vistas de uno a muchos que involucren clases de entidad da como resultado Id. de objetos duplicados. Esto lleva a un comportamiento inesperado en aplicaciones tales como ArcGIS AllSource, así como en servicios web, porque estos requieren que el Id. de objeto contenga valores únicos.
- En la mayoría de casos, las tablas de geodatabase y las clases de entidad que incluya en una vista no deben estar registradas para el versionado tradicional ni habilitadas para archivado. Al crear una vista en una tabla de geodatabase o clase de entidad que participa en el versionado tradicional, solo verá los datos de la tabla base y no las ediciones de las tablas delta o los registros almacenados en las tablas de archivo. 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.
- Los siguientes requisitos deben satisfacerse al incluir una columna espacial en la definición de una vista utilizada en ArcGIS:
- En una vista solo puede haber presente una única columna especial.
- La definición de la vista debe incluir la columna Id. de objeto de la misma clase de entidad que la columna espacial. Si no incluye el Id. de objeto de la clase de entidad, este vulnera la relación única entre la columna de Id. de objeto y la columna de forma, lo que producirá resultados incorrectos durante la consulta o renderización de la vista en ArcGIS.
Vistas registradas con la geodatabase
Tras crear una vista en la geodatabase, puede ejecutar la herramienta de geoprocesamiento Registrar con geodatabase para hacer que la vista sea un objeto de la 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. Esta información, por ejemplo el tipo de geometría, la referencia espacial y la extensión, deriva en una mejora del rendimiento cuando se agrega a un mapa una vista que contiene un campo espacial.
- Puede definir metadatos en vistas que estén registradas con la geodatabase si usted es el propietario de la vista.