Bevezetés a MySQL nézetekbe

Az SQL nézet nem más, mint az adatbázis virtuális táblája. A nézet olyan mezőket tartalmaz, mint egy igazi tábla, de ezek a mezők egy vagy több táblaből származnak az adatbázisban, amelyet egy csomó MySQL lekérdezés futtatásával hajtanak végre. Végezhetünk olyan műveleteket, mint a WHERE és JOIN záradékok a virtuális táblázatokban. Másrészt a VIEW nem más, mint a SELECT lekérdezések.

Szintaxis:

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

  • A „CREATE VIEW view_name” paranccsal a MySQL parancsot készít egy nézet / virtuális tábla létrehozására a view_name néven.
  • Az „AS SELECT 1. oszlop, 2. oszlop FROM táblából” nyilatkozat az 1. és 2. oszlopot hozza le a valódi táblából. Ezután elmenti ezeket a mezőket a virtuális táblába.

Hogyan lehet nézeteket létrehozni a MySQL-ben?

Készítsünk egy ügyféltáblát a következő attribútumokkal:

Ügyfél-azonosító Ügyfél neve Elérhetőség Email Purchased_amount Város
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

Készítünk egy cutomser_archive táblát a szükséges attribútummal.

1. lekérdezés

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

Kimenet:

Ügyfél-azonosító Ügyfél neve Elérhetőség Város
184 Ravi Kumar 9887463893 Kolkata
987 Vinay Das 9839878678 Delhi
452 K.Amarnath 7598759387 Kolkata
874 Abhinash Desai 7675878798 Mumbai

Ezt a lekérdezést is alkalmazhatjuk nézet létrehozásakor.

2. lekérdezés

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

Kimenet:

Ügyfél-azonosító Ügyfél neve Elérhetőség Purchased_amount Város
987 Vinay Das 9839878678 12000.00 Delhi
452 K.Amarnath 7598759387 15000.00 Kolkata

Különböző nézetbeállítások a MySQL-ben

Az alábbiakban bemutatjuk a MySQL különböző nézetbeállításait részletesebben:

1. DROP: A nézet / virtuális tábla a DROP VIEW paranccsal törölhető. Ha törölni akarjuk a customer_archive táblát,

Szintaxis:

DROP VIEW customer_archive;

2. LÉTREHOZÁS VAGY KICSERÉLÉS: A CREATE OR REPLACE VIEW paranccsal frissíthetünk nézetet / virtuális táblát.

Szintaxis:

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

3. CSATLAKOZTATÁS: Néhány táblát több tábla összekapcsolásával is létrehozhatunk. Ez a csatlakozás mindkét táblából beolvassa a párosított rekordokat. Különböző típusú csatlakozások léteznek, amelyeket belső csatlakozásnak, bal csatlakozásnak, jobb oldali csatlakozásnak, teljes külső csatlakozásnak, keresztirányú csatlakozásnak stb.

Szintaxis:

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

A fenti egy belső csatlakozás példája. Hasonló módon más csatlakozásokat is alkalmazhatunk. A fenti példában a nézetet úgy hozzuk létre, hogy a tábla_név1 és a tábla_név2 egyaránt létező rekordokat egy közös mező alapján konszolidáljuk.

Példák a MySQL nézetekre

Nézzük meg a fenti példát:

Ügyfél-azonosító Ügyfél neve Elérhetőség Email Purchased_amount Város
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

Ez az ügyféltáblázat-adatbázis.

Új nézetet készítünk róla, prémium ügyfélnek nevezzük. A prémium ügyfelek feltételei fennállnak, míg a vásárolt_összeg meghaladja a 10000-ot.

1. lekérdezés

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

Kimenet:

Ügyfél-azonosító Ügyfél neve Elérhetőség Purchased_amount Város
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

Ha el akarjuk dobni ezt a premium_customer virtuális táblát, akkor az alábbiakban a szintaxis található.

DROP VIEW premium_customer;

Ha a fenti prémium táblázat módosítása szükséges bizonyos feltételek módosításával, akkor

2. lekérdezés

CREATE OR REPLACE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, email, purchased_amont, city
FROM customer
WHERE purchased_amount > 6000;

Kimenet:

Ügyfél-azonosító Ügyfél neve Elérhetőség Email Purchased_amount Város
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

A nézetek előnyei és hátrányai a MySQL-ben

Itt tárgyaljuk a MySQL nézeteinek előnyeit és hátrányait,

Előnyök

  • Biztonság: Sok olyan tábla korlátozott, amelyektől sok felhasználó korlátozott, mivel a táblák egyes attribútumai nagyon érzékenyek lesznek. Tehát, ha képesek vagyunk nézeteket létrehozni bizonyos specifikus attribútumokkal az egyes felhasználók számára, akkor a felhasználók engedélyt kaphatnak arra, hogy bizonyos nézetkészleteket hozzáférjenek a hozzájuk felhatalmazott adatbázisba. Ez fenntarthatja az adatok biztonságát és integritását, valamint a felhasználók elvégezhetik feladataikat a megfelelő engedélyezett oszlopokkal.
  • Lekérdezés egyszerűsége: Nézet létrehozható több tábla adatainak beolvasásával. Tehát az összes tábla összes halmozott rekordja egyetlen táblával ábrázolható a nézet lekérdezés felhasználásával.
  • Szerkezeti egyszerűség: létrehozhatunk egy speciális vagy személyre szabott felhasználó-specifikus nézetet. Tehát reprezentálhatjuk az adatbázist a felhasználó számára értelmes virtuális táblázatok halmazaként.
  • Konzisztencia: itt említjük a konzisztenciát, mivel ez a nézet egységes és változatlan képet ábrázolhat az adatbázis szerkezetéről, még akkor is, ha a főtáblához vagy a főtáblához valamilyen módon manipulálunk.
  • Adatok integritása: ha az adatokhoz egy nézethez férnek hozzá, az adatbázis mindig ellenőrzi az adatokat annak biztosítása érdekében, hogy megfelel-e az integritási korlátozásoknak.

hátrányok

  • Teljesítmény: A nézetek a virtuális táblák vagy a főtáblák képviselői. Amikor néhány lekérdezést futtatunk nézet létrehozásához, a DBMS lefordítja ezeket a lekérdezéseket a nézetek alapján az alapul szolgáló táblák lekérdezéseire. Tehát, ha a nézetkérdezés nagyon összetett, amely több forrást és bonyolult algoritmusokat tartalmaz, akkor az ilyen nézetekkel szembeni egyszerű művelet jelentős időt vesz igénybe.
  • Frissítési korlátozások: Miközben nézeten sorokat módosít, a DBMS-nek a kérést frissítésre kell fordítania az alapul szolgáló forrástáblák sorain. A frissítés egyszerű lekérdezéssel is elvégezhető, de összetett lekérdezés esetén a DBMS nem engedélyezi a frissítést, mivel a nézetek gyakran csak írásvédettre vannak korlátozva.

Következtetés

A fent leírt dolgok áttekintése után egyértelműen megismerhetjük ennek a parancsnak a jelentőségét. Ez sok valós idejű forgatókönyv esetén hasznos. Ennek fő előnye, hogy sok összetett lekérdezést elvégezhetünk annak érdekében, hogy megismerjük az alapul szolgáló algoritmus hatékonyságát. Az adatbiztonság és integritás fenntartása a nézet parancs legfontosabb előnye.

Ajánlott cikkek

Ez a MySQL nézetek útmutatója. Itt tárgyaljuk, hogyan lehet nézeteket létrehozni a mysql-ben, és megértjük, hogyan működnek a különböző nézetopciók a MySQL-ben. A következő cikkeket is megnézheti további információkért -

  1. A MySQL legfontosabb 3 operátora
  2. Különböző MySQL lekérdezési parancsok
  3. A MySQL 6 legfontosabb helyettesítő karaktere
  4. Hogyan működik a MySQL séma?