Maison  >  Article  >  base de données  >  Introduction aux vues MySQL et pourquoi elles sont utilisées ainsi que leurs règles et limitations

Introduction aux vues MySQL et pourquoi elles sont utilisées ainsi que leurs règles et limitations

巴扎黑
巴扎黑original
2017-05-17 16:35:553716parcourir

Introduction aux vues

Nécessite MySQL 5 MySQL 5 ajoute la prise en charge des vues. Par conséquent, le contenu de ce chapitre s'applique à MySQL 5 et aux versions ultérieures.

Les vues sont des tables virtuelles. Contrairement aux tables contenant des données, les vues contiennent uniquement des requêtes qui récupèrent dynamiquement les données lorsqu'elles sont utilisées.

La meilleure façon de comprendre une vue est de regarder un exemple :

Entrée :

select cust_name ,cust_contact from customers,orders,orderitems where customers.cust_id = orders.cust_id and orderutems.order_num = order.orders.order_num and prod_id = 'TNT2';

Cette requête est utilisée pour récupérer les clients qui ont commandé un produit spécifique . Toute personne ayant besoin de ces données doit comprendre la structure des tables associées et savoir comment créer des requêtes et joindre les tables. Afin de récupérer les mêmes données pour d'autres produits (ou produits), la clause WHERE finale doit être modifiée. Maintenant, si vous pouvez regrouper l'intégralité de la requête dans une table virtuelle appelée productcustomers, vous pouvez facilement récupérer les mêmes données comme suit :

Entrez :

select cust_name ,cust_contact from productcustomers where prod_id = 'TNT2';

C'est à quoi servent les vues. productcustomers est une vue, et en tant que vue, elle ne contient aucune colonne ou donnée qui devrait figurer dans la table, elle contient une requête SQL (la même requête utilisée ci-dessus pour joindre correctement les tables).


Pourquoi utiliser les vues

Nous avons vu un exemple d'application de vue. Vous trouverez ci-dessous quelques applications courantes des vues.

1. Réutilisez les instructions SQL.

2. Simplifiez les opérations SQL complexes. Après avoir écrit une requête, vous pouvez facilement la réutiliser sans connaître les détails de la requête sous-jacente.

3. Utilisez les composants d'un tableau au lieu du tableau entier.

4. Protéger les données. Un utilisateur peut avoir accès à une partie spécifique d'un tableau plutôt qu'à l'ensemble du tableau.

5. Modifier le format et la représentation des données. Les vues peuvent renvoyer des données représentées et formatées différemment de la table sous-jacente.

Une fois les vues créées, elles peuvent être utilisées à peu près de la même manière que les tableaux. Vous pouvez effectuer des opérations SELECT sur des vues, filtrer et trier des données, joindre des vues à d'autres vues ou tables, et même ajouter et mettre à jour des données (il existe certaines restrictions sur l'ajout et la mise à jour de données. Nous y reviendrons plus tard).

Il est important de savoir qu'une vue est simplement une fonction permettant de visualiser des données stockées ailleurs. Les vues elles-mêmes ne contiennent aucune donnée, donc les données qu'elles renvoient sont récupérées à partir d'autres tables. Lorsque vous ajoutez ou modifiez des données dans ces tables, la vue renvoie les données modifiées.

Problèmes de performances Étant donné que la vue ne contient pas de données, chaque fois que la vue est utilisée, toute récupération requise pour l'exécution de la requête doit être traitée. Si vous créez des vues complexes avec plusieurs jointures et filtres ou des vues imbriquées, vous constaterez peut-être que les performances se dégradent considérablement. Par conséquent, avant de déployer une application utilisant un grand nombre de vues, vous devez la tester.


Utiliser les vues

Après avoir compris ce que sont les vues (et les règles et contraintes qui les régissent) , jetons un coup d'œil à la création de vues.

1. Les vues sont créées à l'aide de l'instruction CREATE VIEW.

2. Utilisez SHOW CREATE VIEW viewname ; pour afficher l'instruction qui crée la vue.

3. Utilisez DROP pour supprimer la vue, la syntaxe est DROP VIEW viewname ;.

4. Lors de la mise à jour de la vue, vous pouvez d'abord utiliser DROP puis CREATE, ou vous pouvez utiliser directement CREATE ORREPLACE VIEW. Si la vue à mettre à jour n'existe pas, la deuxième instruction de mise à jour créera une vue ; si la vue à mettre à jour existe, la deuxième instruction de mise à jour remplacera la vue d'origine.

Règles et restrictions pour les vues

Voici quelques-unes des règles et restrictions les plus courantes concernant la création et l'utilisation de vues.

1. Comme les tables, les vues doivent être nommées de manière unique (les vues ne peuvent pas recevoir le même nom que d'autres vues ou tables).

2. Il n'y a pas de limite au nombre de vues pouvant être créées.

3. Afin de créer une vue, vous devez disposer de droits d'accès suffisants. Ces limites sont généralement accordées par l'administrateur de la base de données.

4. Les vues peuvent être imbriquées, c'est-à-dire qu'une vue peut être construite à l'aide de requêtes qui récupèrent des données d'autres vues.

5.ORDER BY peut être utilisé dans une vue, mais si le SELECT pour récupérer les données de la vue contient également ORDER BY, le ORDER BY dans la vue sera écrasé.

6. Les vues ne peuvent pas être indexées et ne peuvent pas avoir de déclencheurs associés ou de valeurs par défaut.

7. Les vues peuvent être utilisées avec des tableaux. Par exemple, écrivez une instruction SELECT qui joint une table et une vue.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn