Heim  >  Artikel  >  Datenbank  >  Gibt es Platz für die MySQL-Ansicht?

Gibt es Platz für die MySQL-Ansicht?

青灯夜游
青灯夜游Original
2020-10-14 16:06:592678Durchsuche

MySQL-Ansicht hat keinen Platz. Eine MySQL-Ansicht ist eine virtuelle Tabelle, die tatsächlich nicht in der Datenbank vorhanden ist und keinen Speicherplatz zuweist. Die MySQL-Datenbank speichert nur die Definition der Ansicht und nicht die Daten in der Ansicht. Diese Daten werden in der realen Tabelle gespeichert, auf die die Abfrage verweist, die die Ansicht definiert.

Gibt es Platz für die MySQL-Ansicht?

(Empfohlenes Tutorial: MySQL-Video-Tutorial)

MySQL-Ansicht (Ansicht) ist eine virtuelle Tabelle, die Ansicht besteht auch aus Spalten und Zeilen, aber die Ansicht existiert nicht wirklich in der Datenbank. Die Zeilen- und Spaltendaten stammen aus den Tabellen, die in der Abfrage verwendet werden, die die Ansicht definiert, und werden dynamisch generiert, wenn die Ansicht verwendet wird.

Die Datenbank speichert nur die Definition der Ansicht und nicht die Daten in der Ansicht. Diese Daten werden in der realen Tabelle gespeichert, auf die von der Abfrage verwiesen wird, die die Ansicht definiert. Wenn Sie eine Ansicht zum Abfragen von Daten verwenden, ruft die Datenbank die entsprechenden Daten aus der realen Tabelle ab. Daher hängen die Daten in der Ansicht von den Daten in der realen Tabelle ab. Sobald sich die Daten in der realen Tabelle ändern, ändern sich auch die in der Ansicht angezeigten Daten.

Die Ansicht kann Informationen, die für den Benutzer nützlich sind, aus der Originaltabelle auswählen. Informationen, die für den Benutzer nicht nützlich sind oder zu deren Kenntnis der Benutzer keine Berechtigung hat, können ähnlich wie beim Filtern direkt blockiert werden. Dies vereinfacht nicht nur die Anwendung, sondern gewährleistet auch die Sicherheit des Systems.

Zum Beispiel verfügt die folgende Datenbank über eine Unternehmensabteilungstabelle „Abteilung“. Die Tabelle enthält Abteilungsnummer (d_id), Abteilungsname (d_name), Funktion (function) und Büroadresse (address). Die Struktur der Abteilungstabelle ist wie folgt:

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)

Es gibt auch eine Mitarbeitertabelle. Die Tabelle enthält die Jobnummer (num), die Abteilungsnummer (d_id), den Namen (name), das Geschlecht (sex), das Geburtsdatum (birthday) und die Heimatadresse (homeaddress) des Mitarbeiters. Die Struktur der Arbeitertabelle ist wie folgt:

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)

Da die Befugnisse jedes Abteilungsleiters unterschiedlich sind, kann der Leiter jeder Abteilung nur die Mitarbeiterinformationen dieser Abteilung sehen. Darüber hinaus kümmert sich der Leiter möglicherweise nicht um die Mitarbeiterinformationen Geburtstag und Wohnadresse. Um diesen Zweck zu erreichen, kann für die Leiter jeder Abteilung eine Ansicht eingerichtet werden. Durch diese Ansicht können die Leiter nur die angegebenen Informationen der Mitarbeiter dieser Abteilung sehen.

Erstellen Sie beispielsweise eine Ansicht mit dem Namen „product_view“ für die Produktionsabteilung. Über die Ansicht „product_view“ kann der Leiter der Produktionsabteilung nur die Auftragsnummer, den Namen, das Geschlecht und andere Informationen der Mitarbeiter in der Produktionsabteilung sehen. Die Informationen dieser Abteilungstabellen und Arbeitertabellen sind weiterhin in ihren jeweiligen Tabellen vorhanden und es werden keine Dateninformationen in der Ansicht „product_view“ gespeichert. Wenn sich die Informationen in der Abteilungstabelle und der Arbeitertabelle ändern, ändern sich auch die in der Ansicht „product_view“ angezeigten Informationen entsprechend.

Tipps: Wenn Sie häufig Daten bestimmter Felder aus mehreren Tabellen abfragen müssen, können Sie eine Ansicht für diese Tabellen erstellen und die Daten dieser Felder über diese Ansicht anzeigen.

MySQL-Ansichten unterstützen die Funktion von Eingabeparametern nicht, daher mangelt es noch an Interaktivität. Bei Vorgängen, die sich nicht wesentlich ändern, kann die Verwendung von Ansichten die Vorgänge des Benutzers jedoch erheblich vereinfachen.

Ansichten unterscheiden sich nicht von Datentabellen:

  • Eine Ansicht ist keine reale Tabelle in der Datenbank, sondern eine virtuelle Tabelle, deren Struktur und Daten auf der realen Tabelle in basieren die Daten basierend auf der Abfrage.

  • Die in der Datenbank gespeicherte SQL-Anweisung für die Abfrage definiert den Inhalt der Ansicht. Die Spaltendaten und Zeilendaten stammen aus der tatsächlichen Tabelle, auf die die Ansichtsabfrage verweist. Diese Daten werden dynamisch generiert, wenn auf die Ansicht verwiesen wird.

  • Die Ansicht hat keine tatsächlichen physischen Datensätze und wird nicht in Form eines Datensatzes in der Datenbank gespeichert. Die entsprechenden Daten werden tatsächlich in der realen Tabelle gespeichert, auf die die Ansicht verweist.

  • Ansicht ist das Datenfenster und Tabelle ist der Inhalt. Die Tabelle ist die Speichereinheit der tatsächlichen Daten, während die Ansicht die Daten nur in verschiedenen Anzeigemethoden anzeigt und ihre Datenquelle immer noch die tatsächliche Tabelle ist.

  • View ist eine Möglichkeit, eine Datentabelle anzuzeigen. Es kann die aus bestimmten Feldern in der Datentabelle zusammengesetzten Daten abfragen. Aus Sicherheitsgründen ist die Datensicherheit von Ansichten höher. Benutzer, die Ansichten verwenden, berühren die Datentabellen nicht und kennen die Tabellenstruktur nicht.

  • Das Anlegen und Löschen von Ansichten betrifft nur die Ansicht selbst und nicht die entsprechende Basistabelle.

Das obige ist der detaillierte Inhalt vonGibt es Platz für die MySQL-Ansicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn