Maison >base de données >tutoriel mysql >Y a-t-il de la place pour la vue MySQL ?

Y a-t-il de la place pour la vue MySQL ?

青灯夜游
青灯夜游original
2020-10-14 16:06:592717parcourir

La vue mysql n'a pas d'espace. Une vue MySQL est une table virtuelle qui n'existe pas réellement dans la base de données et n'alloue pas d'espace. La base de données MySQL stocke uniquement la définition de la vue et ne stocke pas les données dans la vue. Ces données sont stockées dans la table réelle référencée par la requête qui définit la vue.

Y a-t-il de la place pour la vue MySQL ?

(Tutoriel recommandé : Tutoriel vidéo MySQL)

La vue MySQL (View) est une table virtuelle, comme une Dans une vraie table, une vue est composée de colonnes et de lignes, mais la vue n'existe pas réellement dans la base de données. Les données des lignes et des colonnes proviennent des tables utilisées dans la requête qui définit la vue et sont générées dynamiquement lorsque la vue est utilisée.

La base de données stocke uniquement la définition de la vue, et ne stocke pas les données dans la vue. Ces données sont stockées dans la table réelle référencée par la requête qui définit la vue. Lorsque vous utilisez une vue pour interroger des données, la base de données récupérera les données correspondantes de la table réelle. Par conséquent, les données de la vue dépendent des données de la table réelle. Une fois que les données de la table réelle changent, les données affichées dans la vue changent également.

La vue peut sélectionner les informations utiles à l'utilisateur dans le tableau d'origine. Les informations qui ne sont pas utiles à l'utilisateur ou que l'utilisateur n'est pas autorisé à connaître peuvent être directement bloquées, ce qui est similaire au filtrage. . Cela simplifie non seulement l'application, mais garantit également la sécurité du système.

Par exemple, la base de données suivante possède une table de département d'entreprise. Le tableau comprend le numéro de département (d_id), le nom du département (d_name), la fonction (fonction) et l'adresse du bureau (adresse). La structure de la table du département est la suivante :

mysql> DESC department;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| d_id     | int(4)      | NO   | PRI | NULL    |       |
| d_name   | varchar(20) | NO   | UNI    | NULL    |       |
| function | varchar(50) | YES  |     | NULL    |       |
| address  | varchar(50) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.02 sec)

Il y a aussi un employé à la table. Le tableau contient le numéro d'emploi (num), le numéro de service (d_id), le nom (nom), le sexe (sexe), la date de naissance (anniversaire) et l'adresse du domicile (adresse du domicile) de l'employé. La structure de la table des travailleurs est la suivante :

mysql> DESC worker;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| num         | int(10)     | NO   | PRI | NULL    |       |
| d_id        | int(4)      | YES  |MUL     | NULL    |       |
| name        | varchar(20) | NO   |     | NULL    |       |
| sex         | varchar(4)  | NO   |     | NULL    |       |
| birthday    | datetime    | YES  |     | NULL    |       |
| homeaddress | varchar(50) | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)

Étant donné que l'étendue des pouvoirs de chaque chef de service est différente, le chef de chaque service ne peut voir que les informations sur les employés de ce service et le chef ne peut pas le faire ; se soucier de l'anniversaire et de l'adresse du domicile de l'employé. Afin d'atteindre cet objectif, une vue peut être établie pour les dirigeants de chaque département. Grâce à cette vue, les dirigeants ne peuvent voir que les informations spécifiées sur les employés de ce département.

Par exemple, créez une vue nommée product _view pour le service de production. Grâce à la vue product_view, le responsable du département de production ne peut voir que le numéro de poste, le nom, le sexe et d'autres informations des employés du département de production. Les informations de ces tables de département et tables de travailleurs existent toujours dans leurs tables respectives et aucune information de données n'est enregistrée dans la vue product_view. Lorsque les informations de la table des départements et de la table des travailleurs changent, les informations affichées dans la vue product_view changeront également en conséquence.

Conseils : Si vous avez souvent besoin d'interroger des données pour des champs spécifiés à partir de plusieurs tables, vous pouvez créer une vue sur ces tables et afficher les données de ces champs via cette vue.

Les vues MySQL ne prennent pas en charge la fonction des paramètres d'entrée, il y a donc toujours un manque d'interactivité. Mais pour les opérations qui ne changent pas beaucoup, l'utilisation de vues peut grandement simplifier les opérations de l'utilisateur.

Les vues ne sont pas différentes des tables de données. Leurs différences résident dans les points suivants :

  • Une vue n'est pas une vraie table dans la base de données. , mais une Une table virtuelle dont la structure et les données sont basées sur la requête de la table réelle dans les données.

  • L'instruction SQL d'opération de requête stockée dans la base de données définit le contenu de la vue. Les données de colonne et les données de ligne proviennent de la table réelle référencée par la requête de vue. lorsque la vue est référencée.

  • La vue n'a pas d'enregistrement physique réel et n'est pas stockée dans la base de données sous la forme d'un ensemble de données. Les données auxquelles elle correspond sont en fait stockées dans la table réelle référencée par la vue. .

  • La vue est la fenêtre des données et le tableau est le contenu. La table est l'unité de stockage des données réelles, tandis que la vue affiche uniquement les données dans différentes méthodes d'affichage et sa source de données est toujours la table réelle.

  • Une vue est un moyen d'afficher une table de données. Elle peut interroger les données composées de certains champs de la table de données. Il s'agit simplement d'une collection d'instructions SQL. Du point de vue de la sécurité, la sécurité des données des vues est plus élevée. Les utilisateurs utilisant des vues ne touchent pas aux tables de données et ne connaissent pas la structure des tables.

  • La création et la suppression d'une vue n'affectent que la vue elle-même et n'affectent pas la table de base correspondante.

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