Einführung in Views in MySQL

Die SQL-Ansicht ist nichts anderes als eine virtuelle Tabelle der Datenbank. Die Ansicht enthält Felder wie eine echte Tabelle, aber diese Felder stammen aus einer oder mehreren Tabellen in der Datenbank, die ausgeführt werden, indem eine Reihe von MySQL-Abfragen ausgeführt werden. Wir können Operationen wie WHERE- und JOIN-Klauseln in den virtuellen Tabellen ausführen. Andererseits ist VIEW nichts anderes als SELECT-Abfragen.

Syntax:

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

  • "CREATE VIEW view_name" befiehlt MySQL, eine Ansicht / virtuelle Tabelle im Namen von view_name zu erstellen.
  • Die Anweisung „AS SELECT column1, column2 FROM table“ ruft Spalte1 und Spalte2 aus der realen Tabelle ab. Dann werden diese Felder in der virtuellen Tabelle gespeichert.

Wie erstelle ich Ansichten in MySQL?

Erstellen wir eine Kundentabelle mit den folgenden Attributen:

Kundennummer Kundenname Contact_no Email Purchased_amount Stadt
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

Wir werden eine cutomser_archive-Tabelle mit unserem erforderlichen Attribut erstellen.

Abfrage Nr. 1

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

Ausgabe:

Kundennummer Kundenname Contact_no Stadt
184 Ravi Kumar 9887463893 Kolkata
987 Vinay Das 9839878678 Delhi
452 K. Amarnath 7598759387 Kolkata
874 Abhinash Desai 7675878798 Mumbai

Wir können die Bedingung auch auf diese Abfrage anwenden, während Sie eine Ansicht erstellen.

Abfrage Nr. 2

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

Ausgabe:

Kundennummer Kundenname Contact_no Purchased_amount Stadt
987 Vinay Das 9839878678 12000.00 Delhi
452 K. Amarnath 7598759387 15000.00 Kolkata

Verschiedene Ansichtsoptionen in MySQL

Im Folgenden werden die verschiedenen Ansichtsoptionen in MySQL näher erläutert.

1. DROP: Eine Ansicht / virtuelle Tabelle kann mit dem Befehl DROP VIEW gelöscht werden. Wenn wir die customer_archive-Tabelle löschen wollen,

Syntax:

DROP VIEW customer_archive;

2. CREATE OR REPLACE: Mit dem Befehl CREATE OR REPLACE VIEW können wir eine View / virtuelle Tabelle aktualisieren.

Syntax:

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

3. JOIN: Wir können auch eine Ansicht erstellen, indem wir mehrere Tabellen verbinden. Dieser Join ruft übereinstimmende Datensätze aus beiden Tabellen ab. Es gibt verschiedene Arten von Verknüpfungen, die als innere Verknüpfung, linke Verknüpfung, rechte Verknüpfung, vollständige äußere Verknüpfung, Kreuzverknüpfung usw. bezeichnet werden.

Syntax:

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

Oben ist das Beispiel eines inneren Joins. Auf die gleiche Weise können wir auch andere Verknüpfungen anwenden. In dem obigen Beispiel wird die Ansicht erstellt, indem die Datensätze, die sowohl in Tabellenname1 als auch in Tabellenname2 vorhanden sind, auf der Grundlage eines gemeinsamen Felds konsolidiert werden.

Beispiele für Views in MySQL

Betrachten wir das obige Beispiel:

Kundennummer Kundenname Contact_no Email Purchased_amount Stadt
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

Dies ist die Kundentabellendatenbank.

Wir werden eine weitere Ansicht davon erstellen und sie als premium_customer bezeichnen. Die Bedingungen für Premium-Kunden gelten, solange purchase_amount größer als 10000 ist.

Abfrage Nr. 1

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

Ausgabe:

Kundennummer Kundenname Contact_no Purchased_amount Stadt
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

Wenn wir diese virtuelle premium_customer-Tabelle löschen möchten, sehen Sie unten die Syntax.

DROP VIEW premium_customer;

Wenn eine Änderung an dieser Premium-Tabelle erforderlich ist, indem einige Bedingungen geändert werden, dann

Abfrage Nr. 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;

Ausgabe:

Kundennummer Kundenname Contact_no Email Purchased_amount Stadt
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

Vor- und Nachteile von Views in MySQL

Hier diskutieren wir die Vor- und Nachteile von Views in MySQL,

Vorteile

  • Sicherheit: Es gibt viele Tabellen, die von vielen Benutzern eingeschränkt werden, da einige Attribute in diesen Tabellen sehr sensibel sind. Wenn wir also Ansichten mit bestimmten Attributen für die jeweiligen Benutzer erstellen können, können Benutzer die Berechtigung erhalten, auf eine Reihe von Ansichten in einer Datenbank zuzugreifen, die für sie autorisiert ist. Dies kann die Sicherheit und Integrität von Daten gewährleisten, und Benutzer können ihre Aufgaben mit den entsprechenden autorisierten Spalten ausführen.
  • Einfachheit der Abfrage: Eine Ansicht kann erstellt werden, indem Daten aus mehreren Tabellen abgerufen werden. So können alle kumulativen Datensätze aus allen Tabellen mithilfe der Ansichtsabfrage durch eine einzelne Tabelle dargestellt werden.
  • Strukturelle Einfachheit: Wir können eine spezielle oder personalisierte benutzerspezifische Ansicht erstellen. So können wir die Datenbank als eine Reihe virtueller Tabellen darstellen, die für den Benutzer sinnvoll sind.
  • Konsistenz: Wir sprechen hier von Konsistenz, da diese Ansicht ein konsistentes und unverändertes Bild der Struktur der Datenbank darstellen kann, selbst wenn die Haupt- oder Mastertabelle bearbeitet wird.
  • Datenintegrität: Wenn auf die Daten einer Ansicht zugegriffen wird, überprüft die Datenbank die Daten immer, um sicherzustellen, dass sie die Integritätsbedingungen erfüllen oder nicht.

Nachteile

  • Leistung: Ansichten sind die virtuelle Tabelle oder repräsentativ für Mastertabellen. Wenn wir einige Abfragen ausführen, um eine Ansicht zu erstellen, übersetzt DBMS diese Abfragen anhand der Ansichten in die Abfragen in den zugrunde liegenden Tabellen. Wenn die Ansichtsabfrage also sehr komplex ist und mehrere Quellen und schwierige Algorithmen enthält, ist eine einfache Aktion gegen diese Ansichten sehr zeitaufwändig.
  • Aktualisierungseinschränkungen: Beim Ändern von Zeilen in einer Ansicht muss das DBMS die Anforderung in eine Aktualisierung für Zeilen der zugrunde liegenden Quellentabelle übersetzen. Die Aktualisierung kann in der einfachen Abfrage erfolgen. Bei einer komplexen Abfrage lässt DBMS die Aktualisierung jedoch nicht zu, da Ansichten häufig schreibgeschützt sind.

Fazit

Nachdem wir die oben beschriebenen Dinge durchgearbeitet haben, können wir die Bedeutung dieses Befehls klar erkennen. Dies ist in vielen Echtzeitszenarien praktisch. Der Hauptvorteil davon ist, dass wir viele komplexe Abfragen durchführen können, um zu wissen, wie effektiv unser zugrunde liegender Algorithmus ist. Die Aufrechterhaltung der Datensicherheit und -integrität ist der Hauptvorteil von view command.

Empfohlene Artikel

Dies ist eine Anleitung zu Views in MySQL. Hier erfahren Sie, wie Sie Ansichten in MySQL erstellen und wie verschiedene Ansichten in MySQL funktionieren. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren.

  1. Die drei wichtigsten MySQL-Operatoren
  2. Verschiedene MySQL-Abfragebefehle
  3. Top 6 Wildcards in MySQL
  4. Wie funktioniert das MySQL-Schema?