Comparaison de requêtes et de vues
Comme les requêtes et les vues présentent beaucoup de points communs, il est facile de cerner leurs différences. Vous trouverez dans cette section une brève comparaison entre les requêtes et les vues.
Stockage Les vues sont conservées en tant que partie intégrante du design d'une base de données, à la différence des requêtes. Voici les raisons pour lesquelles il peut être utile d'inclure des vues dans le design de votre base de données :
Certains sous-ensembles de données peuvent être dignes d'intérêt pour de nombreux utilisateurs. Chaque vue étant stockée dans la base de données, elle établit un sous-ensemble particulier de données à la disposition de tout utilisateur de la base.
**Les vues peuvent masquer les tables de base. **Vous pouvez interdire aux utilisateurs tout accès aux tables de la base de données, ce qui les oblige à passer par les vues pour manipuler des données. Cette approche protège les utilisateurs et les programmes d'application contre certaines modifications de la base de données. Par exemple, vous pouvez créer une vue « Ventes du mois en cours ». Le 1er de chaque mois, vous modifierez la définition de la vue en conséquence. Sans cette vue, il faudrait que les utilisateurs modifient leurs requêtes tous les mois pour sélectionner les lignes relatives aux ventes du mois en cours.
Mise à jour des résultats Les restrictions qui s'appliquent à la mise à jour des ensembles de résultats diffèrent selon que vous utilisez des vues ou des requêtes. Pour plus d'informations, consultez Règles relatives à la mise à jour des résultats.
Tri des résultats (Microsoft SQL Server uniquement) Vous pouvez trier les résultats de n'importe quels résultats de requête, mais vous ne pouvez trier une vue que si elle contient la clause TOP. Pour plus d'informations sur la clause TOP, consultez la documentation SQL Server. Pour plus d'informations sur le tri, consultez Tri et regroupement des résultats de la requête.
Génération d'un plan de requête Un plan de requête est une stratégie interne selon laquelle un serveur de base de données essaie de créer rapidement des ensembles de résultats. Un serveur de base de données peut établir un plan de requête pour une vue dès que la vue est enregistrée. Dans le cas d'une requête, ce n'est qu'au moment de son exécution réelle que le serveur de base de données peut établir un plan de requête — c'est-à-dire au moment où l'utilisateur demande explicitement l'ensemble des résultats.
Paramétrage Vous pouvez créer des paramètres pour une requête, mais il est impossible d'en créer pour une vue. Pour plus d'informations sur les requêtes paramétrées, consultez Interrogation avec des paramètres.