Wprowadzenie do widoków w MySQL

Widok SQL to nic innego jak wirtualna tabela bazy danych. Widok zawiera pola takie jak prawdziwa tabela, ale pola te pochodzą z jednej lub większej liczby tabel w bazie danych, która jest wykonywana przez uruchomienie szeregu zapytań MySQL. Możemy wykonywać operacje takie jak klauzule WHERE i JOIN w tabelach wirtualnych. Z drugiej strony VIEW to nic innego jak zapytania SELECT.

Składnia:

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

  • „CREATE VIEW view_name” nakazuje MySQL, aby utworzyć widok / wirtualną tabelę w nazwie view_name.
  • Instrukcja „AS SELECT kolumna 1, kolumna 2 z tabeli” pobiera kolumnę 1 i kolumnę 2 z prawdziwej tabeli. Następnie zapisuje te pola w wirtualnej tabeli.

Jak tworzyć widoki w MySQL?

Utwórzmy jedną tabelę klientów z następującymi atrybutami:

Identyfikator klienta Nazwa klienta Contact_no E-mail Kwota zakupu Miasto
184 Ravi Kumar 9887463893 8000, 00 Kalkuta
987 Vinay Das 9839878678 12000, 00 Delhi
452 K.Amarnath 7598759387 15000, 00 Kalkuta
874 Abhinash Desai 7675878798 5000, 00 Bombaj

Stworzymy jedną tabelę cutomser_archive z naszym wymaganym atrybutem.

Zapytanie nr 1

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

Wynik:

Identyfikator klienta Nazwa klienta Contact_no Miasto
184 Ravi Kumar 9887463893 Kalkuta
987 Vinay Das 9839878678 Delhi
452 K.Amarnath 7598759387 Kalkuta
874 Abhinash Desai 7675878798 Bombaj

Możemy również zastosować ten warunek do tego zapytania podczas tworzenia widoku.

Zapytanie nr 2

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

Wynik:

Identyfikator klienta Nazwa klienta Contact_no Kwota zakupu Miasto
987 Vinay Das 9839878678 12000, 00 Delhi
452 K.Amarnath 7598759387 15000, 00 Kalkuta

Różne opcje widoku w MySQL

Poniżej znajdują się różne opcje widoku w MySQL wyjaśniające bardziej szczegółowo,

1. DROP: Widok / wirtualną tabelę można usunąć za pomocą polecenia DROP VIEW. Jeśli chcemy usunąć tabelę customer_archive,

Składnia:

DROP VIEW customer_archive;

2. CREATE OR REPLACE: Za pomocą polecenia CREATE OR REPLACE VIEW możemy zaktualizować widok / wirtualną tabelę.

Składnia:

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

3. DOŁĄCZ: Możemy również utworzyć widok, łącząc wiele tabel. To połączenie pobierze dopasowane rekordy z obu tabel. Istnieją różne rodzaje złączeń o nazwie łączenie wewnętrzne, łączenie lewe, łączenie prawe, pełne łączenie zewnętrzne, łączenie krzyżowe itp.

Składnia:

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

Powyżej znajduje się przykład połączenia wewnętrznego. W ten sam sposób możemy również zastosować inne sprzężenia. W powyższym przykładzie widok zostanie utworzony przez konsolidację rekordów obecnych zarówno w nazwa_tabeli1, jak i nazwa_tabeli2 na podstawie wspólnego pola.

Przykłady widoków w MySQL

Rozważmy powyższy przykład:

Identyfikator klienta Nazwa klienta Contact_no E-mail Kwota zakupu Miasto
184 Ravi Kumar 9887463893 8000, 00 Kalkuta
987 Vinay Das 9839878678 12000, 00 Delhi
452 K.Amarnath 7598759387 15000, 00 Kalkuta
874 Abhinash Desai 7675878798 5000, 00 Bombaj
987 Aseem Kumar 9697679867 18000, 00 Cuttack
989 Sakti 9847984788 60000, 00 Cuttack

To jest baza danych tabeli klientów.

Stworzymy inny widok, nazywając go klientem premium. Warunki dla klientów premium będą obowiązywać, a kwota zakupu będzie większa niż 10000.

Zapytanie nr 1

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

Wynik:

Identyfikator klienta Nazwa klienta Contact_no Kwota zakupu Miasto
987 Vinay Das 9839878678 12000, 00 Delhi
452 K.Amarnath 7598759387 15000, 00 Kalkuta
987 Aseem Kumar 9697679867 18000, 00 Cuttack
989 Sakti 9847984788 60000, 00 Cuttack

Jeśli chcemy upuścić tę wirtualną tabelę premium_customer, poniżej znajduje się składnia.

DROP VIEW premium_customer;

Jeśli wymagana jest modyfikacja powyższej tabeli premium poprzez zmianę niektórych warunków, to

Zapytanie 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;

Wynik:

Identyfikator klienta Nazwa klienta Contact_no E-mail Kwota zakupu Miasto
184 Ravi Kumar 9887463893 8000, 00 Kalkuta
987 Vinay Das 9839878678 12000, 00 Delhi
452 K.Amarnath 7598759387 15000, 00 Kalkuta
987 Aseem Kumar 9697679867 18000, 00 Cuttack
989 Sakti 9847984788 60000, 00 Cuttack

Zalety i wady widoków w MySQL

Tutaj omawiamy zalety i wady widoków w MySQL,

Zalety

  • Bezpieczeństwo: Istnieje wiele tabel, które są ograniczone dla wielu użytkowników, ponieważ niektóre atrybuty w tych tabelach będą bardzo wrażliwe. Tak więc, jeśli możemy stworzyć widoki z określonymi atrybutami dla odpowiednich użytkowników, użytkownicy mogą otrzymać pozwolenie na dostęp do pewnego zestawu widoków w bazie danych, która jest do nich autoryzowana. Pozwala to zachować bezpieczeństwo i integralność danych, a użytkownicy mogą wykonywać swoje zadania przy użyciu odpowiednich autoryzowanych kolumn.
  • Prostota zapytania: widok można utworzyć, pobierając dane z kilku tabel. Tak więc wszystkie skumulowane rekordy ze wszystkich tabel mogą być reprezentowane przez pojedynczą tabelę za pomocą zapytania widoku.
  • Strukturalna prostota: możemy stworzyć wyspecjalizowany lub spersonalizowany widok specyficzny dla użytkownika. Możemy więc przedstawić bazę danych jako zestaw wirtualnych tabel, które mają sens dla użytkownika.
  • Spójność: wspominamy tutaj o spójności, ponieważ ten widok może reprezentować spójny i niezmieniony obraz struktury bazy danych, nawet jeśli dokonamy pewnych manipulacji w głównej tabeli lub głównej tabeli.
  • Integralność danych: jeśli dane są dostępne do widoku, baza danych zawsze sprawdza dane, aby upewnić się, czy spełnia ograniczenia integralności, czy nie.

Niedogodności

  • Wydajność: widoki to wirtualna tabela lub reprezentant tabel głównych. Kiedy uruchamiamy niektóre zapytania w celu utworzenia widoku, DBMS tłumaczy te zapytania względem widoków na zapytania w tabelach leżących u podstaw. Jeśli więc zapytanie widoku jest bardzo złożone i zawiera wiele źródeł i trudne algorytmy, wówczas proste działanie przeciwko tym widokom zajmuje dużo czasu.
  • Ograniczenia aktualizacji: Podczas zmiany wierszy w widoku DBMS musi przetłumaczyć żądanie na aktualizację wierszy podstawowej tabeli źródłowej. Aktualizacji można dokonać za pomocą prostego zapytania, ale w przypadku zapytania złożonego DBMS nie zezwala na aktualizację, ponieważ widoki są często ograniczone tylko do odczytu.

Wniosek

Po przejściu opisanych wyżej rzeczy możemy wyraźnie poznać znaczenie tego polecenia. Jest to przydatne w wielu scenariuszach w czasie rzeczywistym. Główną zaletą tego jest to, że możemy wykonywać wiele złożonych zapytań, aby dowiedzieć się, jak skuteczny jest nasz podstawowy algorytm. Utrzymanie bezpieczeństwa i integralności danych jest kluczową zaletą polecenia view.

Polecane artykuły

Jest to przewodnik po widokach w MySQL. Tutaj omawiamy, jak tworzyć widoki w mysql i rozumiemy, jak działają różne opcje widoków w MySQL. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej-

  1. 3 najlepszych operatorów MySQL
  2. Różne polecenia zapytania MySQL
  3. Top 6 symboli wieloznacznych w MySQL
  4. Jak działa schemat MySQL?