Introducción a las vistas lógicas

Una vista lógica es una tabla virtual definida por una consulta en SQL y es el tipo de vista predeterminado en BigQuery. Las vistas lógicas te permiten reutilizar consultas complejas y simplificar la lógica de cálculo y unión. Con las vistas autorizadas, también puedes otorgar a los usuarios acceso a un subconjunto de datos sin otorgar acceso a las tablas base.

Debido a que la consulta que define una vista lógica se ejecuta cada vez que se consulta la vista, los resultados solo contienen los datos actuales de las tablas y los campos que especifica la consulta. En este documento, se describen los casos de uso comunes y las limitaciones, las cuotas, los precios y la seguridad de las vistas lógicas.

Casos de uso

Los casos de uso comunes para las vistas incluyen los siguientes:

  • Proporcionar un nombre reutilizable para una consulta compleja o un conjunto limitado de datos y, luego, autorizar el acceso de otros usuarios Después de crear una vista, un usuario puede consultarla como lo haría en una tabla.
  • Abstraer y almacenar el cálculo y la lógica de unión en un objeto común para simplificar el uso de consultas
  • Proporcionar acceso a la lógica de cálculo y un subconjunto de datos sin proporcionar acceso a las tablas base
  • Optimiza las consultas con un costo de procesamiento elevado y resultados con conjuntos de datos pequeños para varios casos de uso.

También puedes usar vistas en otros contextos:

Para obtener una comparación de las vistas lógicas, materializadas y autorizadas, consulta Descripción general de las vistas lógicas y materializadas.

Limitaciones de las vistas lógicas

Las vistas de BigQuery están sujetas a las siguientes limitaciones:

  • Las vistas son de solo lectura. Por ejemplo, no puedes ejecutar consultas que inserten, actualicen o borren datos.
  • Si tu vista hace referencia a tablas de ubicaciones remotas, debes habilitar las consultas globales antes de crear la vista.
  • Una referencia dentro de una vista se debe calificar con un conjunto de datos. El conjunto de datos predeterminado no afecta el cuerpo de una vista.
  • No puedes usar el método TableDataList de la API de JSON para recuperar datos desde una vista. Para obtener más información, consulta Tabledata: list.
  • No puedes mezclar consultas de GoogleSQL y SQL heredado cuando se usan vistas. Una consulta de GoogleSQL no puede hacer referencia a una vista definida mediante la sintaxis de SQL heredado.
  • No puedes hacer referencia a parámetros de consulta en vistas.
  • Los esquemas de las tablas subyacentes se almacenan con la vista cuando esta se crea. Si se agregan, borran o cambian columnas después de crear la vista, esta no se actualizará de forma automática y el esquema informado seguirá siendo inexacto hasta que se cambie la definición de SQL de la vista o se vuelva a crear la vista. A pesar de que el esquema informado puede ser inexacto, todas las consultas enviadas producen resultados precisos.
  • No puedes actualizar de forma automática una vista de SQL heredado en la sintaxis de GoogleSQL. Para cambiar la consulta usada para definir una vista, puedes usar lo siguiente:
  • No puedes incluir una función temporal definida por el usuario ni una tabla temporal en la consulta en SQL que define una vista.
  • No puedes hacer referencia a una vista en una consulta de tabla comodín.
  • Las vistas lógicas no pueden heredar ni definir de forma explícita tipos de datos parametrizados, como STRING(n), ya que los tipos de datos parametrizados solo se admiten para las columnas de la tabla base y las variables de secuencia de comandos.

Cuotas de vistas lógicas

Para obtener información sobre las cuotas y los límites que se aplican a las vistas, consulta Límites de vistas. Las consultas en SQL que se usan para definir vistas también están sujetas a las cuotas de los trabajos de consulta.

Precios de las vistas lógicas

BigQuery usa vistas lógicas de forma predeterminada, no vistas materializadas. Dado que las vistas no se materializan de forma predeterminada, la consulta que define la vista se ejecuta cada vez que se consulta. Las consultas se facturan según la cantidad total de datos en todos los campos de la tabla a los que se hace referencia de forma directa o indirecta en la consulta de nivel superior.

Seguridad de las vistas lógicas

Para controlar el acceso a las vistas en BigQuery, consulta Vistas autorizadas.

¿Qué sigue?