Introduction aux vues dans MySQL

La vue SQL n'est rien d'autre qu'une table virtuelle de la base de données. La vue contient des champs comme une vraie table, mais ces champs proviennent d'une ou plusieurs tables de la base de données qui sont exécutées en exécutant un tas de requêtes MySQL. Nous pouvons effectuer des opérations telles que les clauses WHERE et JOIN dans les tables virtuelles. D'un autre côté, VIEW n'est rien d'autre que des requêtes SELECT.

Syntaxe:

CREATE VIEW view_name AS
SELECT column1, column2, …
FROM table;

  • «CREATE VIEW view_name» commande à MySQL de créer une vue / table virtuelle au nom de view_name.
  • L'instruction «AS SELECT column1, column2 FROM table» récupère la colonne1 et la colonne2 de la table réelle. Il enregistre ensuite ces champs dans la table virtuelle.

Comment créer des vues dans MySQL?

Créons une table client avec les attributs suivants:

N ° de client Nom_client Contact_no Email Montant_acheté Ville
184 Ravi Kumar 9887463893 8000, 00 Kolkata
987 Vinay Das 9839878678 12000, 00 Delhi
452 K.Amarnath 7598759387 15000, 00 Kolkata
874 Abhinash Desai 7675878798 5000, 00 Mumbai

Nous allons créer une table cutomser_archive avec notre attribut requis.

Requête n ° 1

CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, city
FROM customer;

Production:

N ° de client Nom_client Contact_no Ville
184 Ravi Kumar 9887463893 Kolkata
987 Vinay Das 9839878678 Delhi
452 K.Amarnath 7598759387 Kolkata
874 Abhinash Desai 7675878798 Mumbai

Nous pouvons également appliquer la condition à cette requête lors de la création d'une vue.

Requête n ° 2

CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;

Production:

N ° de client Nom_client Contact_no Montant_acheté Ville
987 Vinay Das 9839878678 12000, 00 Delhi
452 K.Amarnath 7598759387 15000, 00 Kolkata

Différentes options d'affichage dans MySQL

Voici les différentes options d'affichage de MySQL expliquées plus en détail,

1. DROP: Une vue / table virtuelle peut être supprimée à l'aide de la commande DROP VIEW. Si nous voulons supprimer la table customer_archive,

Syntaxe:

DROP VIEW customer_archive;

2. CRÉER OU REMPLACER: Avec la commande CRÉER OU REMPLACER LA VUE, nous pouvons mettre à jour une vue / table virtuelle.

Syntaxe:

CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ….
FROM table;

3. JOIN: Nous pouvons également créer une vue en joignant plusieurs tables. Cette jointure récupérera les enregistrements correspondants des deux tables. Il existe différents types de jointures nommées jointure interne, jointure gauche, jointure droite, jointure externe complète, jointure croisée, etc.

Syntaxe:

CREATE VIEW view-name AS
SELECT column1, column2, column3, …
FROM table_name1 INNER JOIN table_name2
ON table_name1.column = table_name2.column;

Ci-dessus, l'exemple d'une jointure interne. De la même manière, nous pouvons également appliquer d'autres jointures. Dans l'exemple ci-dessus, la vue sera créée en consolidant les enregistrements présents dans table_name1 et table_name2 sur la base d'un champ commun.

Exemples de vues dans MySQL

Prenons l'exemple ci-dessus:

N ° de client Nom_client Contact_no Email Montant_acheté Ville
184 Ravi Kumar 9887463893 8000, 00 Kolkata
987 Vinay Das 9839878678 12000, 00 Delhi
452 K.Amarnath 7598759387 15000, 00 Kolkata
874 Abhinash Desai 7675878798 5000, 00 Mumbai
987 Aseem Kumar 9697679867 18000.00 Cuttack
989 Sakti 9847984788 60000.00 Cuttack

Il s'agit de la base de données de la table client.

Nous allons en créer une autre vue, en la nommant premium_customer. Les conditions pour les clients premium seront alors que le montant acheté sera supérieur à 10000.

Requête n ° 1

CREATE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;

Production:

N ° de client Nom_client Contact_no Montant_acheté Ville
987 Vinay Das 9839878678 12000, 00 Delhi
452 K.Amarnath 7598759387 15000, 00 Kolkata
987 Aseem Kumar 9697679867 18000.00 Cuttack
989 Sakti 9847984788 60000.00 Cuttack

Si nous voulons supprimer cette table virtuelle premium_customer, voici la syntaxe ci-dessous.

DROP VIEW premium_customer;

Si une modification est nécessaire à ce tableau de prime ci-dessus en modifiant certaines conditions, alors

Requête n ° 2

CREATE OR REPLACE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, email, purchased_amont, city
FROM customer
WHERE purchased_amount > 6000;

Production:

N ° de client Nom_client Contact_no Email Montant_acheté Ville
184 Ravi Kumar 9887463893 8000, 00 Kolkata
987 Vinay Das 9839878678 12000, 00 Delhi
452 K.Amarnath 7598759387 15000, 00 Kolkata
987 Aseem Kumar 9697679867 18000.00 Cuttack
989 Sakti 9847984788 60000.00 Cuttack

Avantages et inconvénients des vues dans MySQL

Ici, nous discutons des avantages et des inconvénients des vues dans MySQL,

Les avantages

  • Sécurité: de nombreuses tables sont restreintes par de nombreux utilisateurs, car certains attributs de ces tables seront très sensibles. Donc, si nous pouvons créer des vues avec des attributs spécifiques pour les utilisateurs respectifs, les utilisateurs peuvent être autorisés à accéder à un ensemble de vues dans une base de données qui leur est autorisée. Cela peut maintenir la sécurité et l'intégrité des données ainsi que les utilisateurs peuvent effectuer leurs tâches avec les colonnes autorisées respectives.
  • Simplicité de la requête: une vue peut être créée en récupérant les données de plusieurs tables. Ainsi, tous les enregistrements cumulatifs de toutes les tables peuvent être représentés par une seule table à l'aide de la requête de vue.
  • Simplicité structurelle: nous pouvons créer une vue spécifique à l'utilisateur spécialisée ou personnalisée. Nous pouvons donc représenter la base de données comme un ensemble de tables virtuelles qui ont du sens pour l'utilisateur.
  • Cohérence: nous mentionnons ici la cohérence car cette vue peut représenter une image cohérente et inchangée de la structure de la base de données même si nous faisons quelques manipulations sur la table principale ou la table principale.
  • Intégrité des données: si les données sont accessibles à une vue, la base de données vérifie toujours les données pour s'assurer qu'elles satisfont ou non aux contraintes d'intégrité.

Désavantages

  • Performances: les vues sont la table virtuelle ou représentative des tables principales. Lorsque nous exécutons certaines requêtes pour créer une vue, le SGBD traduit ces requêtes par rapport aux vues dans les requêtes des tables sous-jacentes. Donc, si la requête de vue est très complexe et contient plusieurs sources et des algorithmes difficiles, une action simple contre ces vues prend un temps considérable.
  • Restrictions de mise à jour: lors de la modification des lignes dans une vue, le SGBD doit traduire la demande en une mise à jour sur les lignes de la table source sous-jacente. La mise à jour peut être effectuée dans la requête simple mais dans le cas d'une requête complexe, le SGBD n'autorisera pas la mise à jour car les vues sont souvent limitées à la lecture seule.

Conclusion

Après avoir parcouru les choses décrites ci-dessus, nous pouvons clairement comprendre la signification de cette commande. Cela est pratique dans de nombreux scénarios en temps réel. L'avantage majeur de ceci est que nous pouvons effectuer de nombreuses requêtes complexes juste pour savoir à quel point notre algorithme sous-jacent est efficace. Le maintien de la sécurité et de l'intégrité des données est le principal avantage de la commande view.

Articles recommandés

Ceci est un guide des vues dans MySQL. Ici, nous discutons comment créer des vues dans mysql et comprendre comment différentes options de vues fonctionnent dans MySQL. Vous pouvez également consulter les articles suivants pour en savoir plus-

  1. Top 3 des opérateurs MySQL
  2. Différentes commandes de requête MySQL
  3. Top 6 des caractères génériques dans MySQL
  4. Comment fonctionne le schéma MySQL?