171 votes

Différence entre View et table en sql

Duplicata possible :
Différence entre les vues et les tables dans les performances

Quelle est la principale différence entre une vue et une table en SQL. Y a-t-il un avantage à utiliser des vues plutôt que des tables ?

1 votes

8 votes

Ça ne semble pas être un doublon. Le message lié pose une question spécifique sur la performance/efficacité. Ce post pose plus de questions sur la façon dont ils diffèrent en tant que types de données, comme le représente la réponse sélectionnée.

0 votes

Aucune réponse jusqu'à présent n'est vraiment satisfaisante... :/

250voto

Aaron Digulla Points 143830

Une table contient des données, une vue est juste une SELECT qui a été sauvegardée dans la base de données (plus ou moins, selon votre base de données).

L'avantage d'une vue est qu'elle permet de joindre les données de plusieurs tables, créant ainsi une nouvelle vue de celles-ci. Supposons que vous ayez une base de données contenant des salaires et que vous ayez besoin d'effectuer des requêtes statistiques complexes sur cette base.

Au lieu d'envoyer en permanence la requête complexe à la base de données, vous pouvez enregistrer la requête en tant que vue et ensuite SELECT * FROM view

16 votes

La vue est donc une table qui a été créée par une instruction de sélection. La vue est stockée et on peut y accéder, alors quelle serait la différence entre créer une nouvelle table avec cette information au lieu d'une vue ?

31 votes

Vous pouvez considérer une vue comme une "instruction de sélection enregistrée" que vous pouvez répéter. Il ne s'agit pas vraiment d'une table ; même si certaines bases de données permettent de créer des vues qui ont une véritable table en dessous, il s'agit en réalité d'une SELECT qui renvoie les résultats.

1 votes

A noter : certains systèmes de bases de données listent les vues en même temps que les tables avec la commande "show tables ;".

61voto

Senthil_Arun Points 731

Table : La table est un stockage préliminaire pour stocker des données et des informations dans le SGBDR. Une table est une collection d'entrées de données liées entre elles et elle est constituée de colonnes et de lignes.

Voir : Une vue est une table virtuelle dont le contenu est défini par une requête. À moins d'être indexée, une vue n'existe pas en tant qu'ensemble stocké de valeurs de données dans une base de données. Les avantages par rapport aux tables sont

  • Nous pouvons combiner les colonnes/lignes de plusieurs tableaux ou d'une autre vue et obtenir une vue consolidée.
  • Les vues peuvent être utilisées comme mécanismes de sécurité en permettant aux utilisateurs d'accéder aux données par le biais de la vue, sans leur accorder les autorisations nécessaires pour accéder directement aux tables de base sous-jacentes de la vue.
  • Il agit comme une couche abstraite pour les systèmes en aval, de sorte que tout changement dans le schéma n'est pas exposé et donc les systèmes en aval ne sont pas affectés.

35voto

SuperGuy10 Points 371

Une vue est une table virtuelle. Une vue est constituée de lignes et de colonnes, tout comme un tableau. La différence entre une vue et une table est que les vues sont des définitions construites au-dessus d'autres tables (ou vues), et ne contiennent pas de données elles-mêmes. Si les données changent dans la table sous-jacente, le même changement est reflété dans la vue. Une vue peut être construite au-dessus d'une seule ou de plusieurs tables. Elle peut également être construite au-dessus d'une autre vue. Dans la page SQL Create View, nous allons voir comment une vue peut être construite.

Les vues offrent les avantages suivants :

  1. Facilité d'utilisation : Une vue cache la complexité des tables de la base de données aux utilisateurs finaux. Essentiellement, nous pouvons considérer les vues comme une couche d'abstraction au-dessus des tables de la base de données.

  2. Gain d'espace : Les vues prennent très peu d'espace à stocker, puisqu'elles ne stockent pas de données réelles.

  3. Sécurité supplémentaire des données : Les vues peuvent inclure uniquement certaines colonnes de la table afin que seules les colonnes non sensibles soient incluses et exposées à l'utilisateur final. En outre, certaines bases de données permettent aux vues d'avoir différents paramètres de sécurité, cachant ainsi les données sensibles aux regards indiscrets.

Réponse de : http://www.1keydata.com/sql/sql-view.html

7voto

Haris N I Points 5086

En vue, il n'y a pas de relation directe ou physique avec la base de données. Et la modification par une vue (par exemple, insertion, mise à jour, suppression) n'est pas autorisée. C'est juste un ensemble logique de tables.

1 votes

Dans SQL Server, vous pouvez modifier la table sous-jacente par le biais d'une vue, si celle-ci ne fait référence qu'à une seule table de base. voir ici

5voto

Une vue nous aide à nous débarrasser de l'utilisation de l'espace de la base de données tout le temps. Si vous créez une table, elle est stockée dans la base de données et occupe de l'espace tout au long de son existence. Au lieu de cela, la vue est utilisée lorsqu'une requête est exécutée, ce qui permet d'économiser de l'espace dans la base de données. Et nous ne pouvons pas créer de grandes tables tout le temps en joignant différentes tables, bien que nous puissions le faire mais cela dépend de la taille de la table pour économiser l'espace. Ainsi, la vue crée juste temporairement une table en joignant différentes tables au moment de l'exécution. Experts, s'il vous plaît corrigez-moi si je me trompe.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X