Types de vues en SQL | Vues en SQL [2022]

Publié: 2021-01-02

L'écriture de requêtes SQL complexes et la sécurisation de l'accès à la base de données sont les défis auxquels les administrateurs et les utilisateurs de base de données sont toujours confrontés, et ces requêtes peuvent devenir très compliquées. L'utilisation d'un proxy sur la table d'origine permet de simplifier ces requêtes. De plus, il existe des cas où l'administrateur souhaite limiter l'accès direct à la base de données. Dans ces deux circonstances, des vues peuvent être utilisées.

Table des matières

Qu'est-ce qu'une vue ?

SQL a une version spéciale des tables appelée View, qui est une table virtuelle compilée lors de l'exécution. Une vue n'est qu'une instruction SQL et les données qui lui sont associées ne sont pas stockées physiquement dans la vue mais dans les tables de base de celle-ci.

Apprenez à créer des applications comme Swiggy, Quora, IMDB et plus

Il peut contenir toutes les lignes et colonnes d'une table ou seulement quelques lignes et colonnes sélectionnées s'il est nécessaire de restreindre l'accès. Selon la requête SQL écrite utilisée pour créer la vue, celle-ci peut être créée à partir d'une ou de plusieurs tables.

Les vues peuvent être utilisées pour structurer les données de manière à ce que les utilisateurs les trouvent naturelles, simplifier les requêtes complexes, restreindre l'accès aux données et résumer les données de plusieurs tables pour créer des rapports.

Gestion des vues

Il existe différents aspects liés à la gestion des vues, qui sont définis ici.

Création d'une vue : les vues peuvent être créées à l'aide de l'instruction "create view". La vue est définie par une requête qui référence des vues matérialisées, des tables ou d'autres vues.

Renommer la vue : les vues peuvent être renommées et il convient de s'assurer que tous les objets qui font référence à l'ancien nom de la vue doivent maintenant avoir un nouveau nom.

Liste des vues : toutes les vues de la base de données SQL Server peuvent être répertoriées en interrogeant la vue du catalogue système.

Suppression d'une vue : à l'aide de l'instruction "drop view", une vue existante peut être supprimée.

Lire : SQL contre PlSQL

Inscrivez-vous aux cours de développement de logiciels en ligne des meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Types de vues en SQL

Il existe deux types de vues dans SQL Server, à savoir les vues définies par le système et les vues définies par l'utilisateur. Cette section contient une description de ces deux types.

Vues définies par le système

Les vues définies par le système sont des vues prédéfinies qui existent déjà dans la base de données SQL Server, telles que Tempdb, Master et temp. Chacune des bases de données a ses propres propriétés et fonctions.

La base de données de modèles pour toutes les vues définies par l'utilisateur provient de la base de données principale. Il contient de nombreuses vues prédéfinies qui sont des modèles pour les tables et autres bases de données. Il contient près de 230 des vues prédéfinies.

Les vues définies par le système seront automatiquement attachées à toutes les bases de données définies par l'utilisateur. Et ceux-ci fournissent des informations sur la base de données, les tables et toutes les propriétés de la base de données et des tables. Il existe trois types de vues définies par le système : schéma d'informations, vue de catalogue et vue de gestion dynamique.

Schéma d'informations

Il existe vingt vues de schéma différentes dans le serveur SQL. Ils sont utilisés pour afficher les informations physiques de la base de données, telles que les tables, les contraintes, les colonnes et les vues. Cette vue commence par INFORMATION_SCHEMA et est suivie du nom de la vue. INFORMATION_SCHEMA.CHECK_CONSTRAINTS est utilisé pour recevoir des informations sur toute contrainte disponible dans la base de données.

Une contrainte est utilisée sur une colonne particulière dans une table pour s'assurer que certaines règles de données sont suivies pour la colonne. INFORMATION_SCHEMA.COLUMNS est utilisé pour recevoir des informations sur les colonnes de la table telles que le nom de la table, le nom de la colonne, la position de la colonne, la valeur par défaut, etc. Pour retourner les vues présentes dans la base de données courante, INFORMATION_SCHEMA.VIEWS est utilisé.

Vue du catalogue

Ceux-ci sont utilisés pour renvoyer des informations utilisées par le serveur SQL. Les vues de catalogue offrent un moyen efficace d'obtenir, de présenter et de transformer des formulaires d'informations personnalisés. Mais ils n'incluent aucune information sur les plans de sauvegarde, de réplication ou de maintenance, etc. Ces vues sont utilisées pour accéder aux métadonnées des bases de données, et les noms et les noms de colonne sont descriptifs, aidant un utilisateur à interroger ce qui est attendu.

Vue de gestion dynamique

Celles-ci ont été introduites dans le serveur SQL en 2005. L'administrateur peut obtenir des informations sur l'état du serveur pour diagnostiquer les problèmes, surveiller la santé de l'instance du serveur et ajuster les performances via ces vues. La vue de gestion dynamique de l'étendue du serveur est uniquement stockée dans la base de données principale, tandis que la vue de gestion dynamique de l'étendue de la base de données est stockée dans chaque base de données.

Vues définies par l'utilisateur

Ce sont les types de vues qui sont définis par les utilisateurs. Il existe deux types sous les vues définies par l'utilisateur, la vue simple et la vue complexe.

Vue simplifiée

Ces vues ne peuvent contenir qu'une seule table de base ou ne peuvent être créées qu'à partir d'une seule table. Les fonctions de groupe telles que MAX(), COUNT(), etc. ne peuvent pas être utilisées ici et ne contiennent pas de groupes de données.

En utilisant Simple View, les opérations DML peuvent être effectuées. L'insertion, la suppression et la mise à jour sont directement possibles, mais la vue simple ne contient pas de groupe par, pseudo-colonne comme rownum, distinct, colonnes définies par des expressions. La vue simple n'inclut pas non plus les colonnes NOT NULL des tables de base.

Vue complexe

Ces vues peuvent contenir plus d'une table de base ou peuvent être construites sur plus d'une table de base, et elles contiennent une clause group by, des conditions de jointure, une clause order by. Les fonctions de groupe peuvent être utilisées ici, et elles contiennent des groupes de données. Les vues complexes ne peuvent pas toujours être utilisées pour effectuer des opérations DML.

L'insertion, la suppression et la mise à jour ne peuvent pas être appliquées directement sur des vues complexes. Mais contrairement aux vues simples, les vues complexes peuvent contenir group by, pseudocolumn like rownum, distinct, colonnes définies par des expressions. Les colonnes NOT NULL peuvent être incluses dans des vues complexes alors qu'elles ne sont pas sélectionnées par la vue simple.

Il existe d'autres vues, telles que la vue en ligne et la vue matérialisée. La vue en ligne est basée sur une sous-requête dans la clause FROM, la sous-requête crée une table temporaire, ce qui simplifie la requête complexe.

Ces vues sont utilisées pour écrire des requêtes SQL complexes sans les opérations de jointure et de sous-requêtes. La vue matérialisée stocke la définition et même les données. Des répliques de données sont créées en les stockant physiquement. Cette vue réduit le temps de traitement pour régénérer l'ensemble des données.

Lire : Idées et sujets de projets SQL passionnants

Conclusion

Cet article décrit les types de vues dans SQL . Une vue en SQL est définie et expliquée en détail, et les différentes manières dont les vues sont gérées sont également définies. Les différents types de vues dans SQL , tels que les vues définies par le système et les vues définies par l'utilisateur, sont décrits en détail avec les différents sous-types sous chaque type.

Si vous souhaitez en savoir plus sur le développement de logiciels à pile complète, consultez le programme Executive PG de upGrad & IIIT-B en développement de logiciels à pile complète, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, plus de 9 projets, et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Préparez-vous à une carrière d'avenir

Postulez maintenant pour une maîtrise en génie logiciel