Présentation des vues logiques

Ce document présente la compatibilité de BigQuery avec les vues logiques. Une vue est une table virtuelle définie par une requête SQL. Le type de vue par défaut pour BigQuery est une vue logique. Les résultats de la requête ne contiennent que les données des tables et des champs spécifiés dans la requête qui définit la vue.

La requête qui définit une vue est exécutée chaque fois que cette dernière est interrogée.

Voici quelques cas d'utilisation courants des vues :

  • Fournissez un nom réutilisable pour une requête complexe ou un ensemble limité de données auxquels vous pouvez ensuite autoriser d'autres utilisateurs à accéder. Une fois que vous avez créé une vue, un utilisateur peut l'interroger comme s'il s'agissait d'une table.
  • Extraire et stocker la logique de calcul et de jointure dans un objet commun pour simplifier l'utilisation des requêtes.
  • Fournir un accès à un sous-ensemble de données et de logique de calcul sans accéder aux tables de base.
  • Optimisez les requêtes avec des coûts de calcul élevés et des résultats de petite taille pour plusieurs cas d'utilisation.

Vous pouvez également utiliser des vues dans d'autres contextes :

Pour comparer les vues logiques, les vues matérialisées et les vues autorisées, consultez Présentation des vues logiques et matérialisées.

Limites des vues logiques

Les vues BigQuery font l'objet des limites suivantes :

  • Les vues sont en lecture seule. Par exemple, vous ne pouvez pas exécuter de requêtes qui insèrent, mettent à jour ou suppriment des données.
  • L'ensemble de données contenant la vue et celui contenant les tables référencées par celle-ci doivent se trouver dans le même emplacement.
  • Une référence à l'intérieur d'une vue doit être qualifiée avec un ensemble de données. L'ensemble de données par défaut n'affecte pas le corps d'une vue.
  • Vous ne pouvez pas utiliser la méthode d'API JSON TableDataList pour extraire des données d'une vue. Pour en savoir plus, consultez la page sur la méthode Tabledata.list.
  • Lorsque vous utilisez des vues, vous ne pouvez pas combiner des requêtes en GoogleSQL et en ancien SQL. Une requête en GoogleSQL ne peut pas référencer une vue définie à l'aide d'une syntaxe en ancien SQL.
  • Vous ne pouvez pas référencer les paramètres de requête dans les vues.
  • Les schémas des tables sous-jacentes sont stockés avec la vue lors de la création de celle-ci. Si des colonnes sont ajoutées, supprimées ou modifiées après la création de la vue, celle-ci n'est pas automatiquement mise à jour, et le schéma indiqué reste inexact jusqu'à ce que la définition SQL de la vue soit modifiée ou que la vue soit recréée. Même avec un schéma inexact, toutes les requêtes soumises produisent des résultats corrects.
  • Vous ne pouvez pas mettre à jour automatiquement une vue en ancien SQL vers la syntaxe GoogleSQL. Pour modifier la requête utilisée pour définir une vue, vous pouvez utiliser les éléments suivants :
  • Vous ne pouvez pas inclure une fonction temporaire définie par l'utilisateur ou une table temporaire dans la requête SQL qui définit une vue.
  • Vous ne pouvez pas référencer de vue dans une requête de table générique.

Quotas des vues logiques

Pour plus d'informations sur les quotas et les limites applicables aux vues, consultez la section Limites associées aux vues. Les requêtes SQL utilisées pour définir des vues sont également soumises aux quotas des tâches de requêtes.

Tarification des vues logiques

BigQuery utilise des vues logiques par défaut, et non des vues matérialisées. Comme les vues ne sont pas matérialisées par défaut, la requête qui définit une vue est exécutée chaque fois que cette dernière est interrogée. Les requêtes sont facturées en fonction du volume total de données de tous les champs de table référencés directement ou indirectement par la requête de premier niveau.

Sécurité des vues logiques

Pour contrôler l'accès aux vues dans BigQuery, consultez la page Vues autorisées.

Étapes suivantes