Sissejuhatus MySQL-i vaadetesse

SQL-vaade pole midagi muud kui andmebaasi virtuaalne tabel. Vaade sisaldab välju nagu päris tabel, kuid need väljad pärinevad ühest või enamast andmebaasi tabelist, mis käivitatakse, käivitades hulga MySQL päringuid. Saame teha toiminguid nagu WHERE ja JOIN klauslid virtuaalsetes tabelites. Teisest küljest ei ole VAADE midagi muud kui VALI päringud.

Süntaks:

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

  • “CREATE VIEW view_name” annab MySQL-ile käsu / virtuaalse tabeli loomiseks vaate_nimi nimel käsu / virtuaalse tabeli.
  • Väljavõte „AS SELECT 1. veerg, 2. veerg tabelist” tõmbab 1. ja 2. veeru tegelikust tabelist. Siis salvestab see need väljad virtuaalsesse tabelisse.

Kuidas luua vaateid MySQL-is?

Loome ühe klienditabeli järgmiste atribuutidega:

Kliendi ID Kliendi nimi Kontakt_no E-post Ostetud_kogus Linn
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

Loome ühe cutomser_archive tabeli koos meie vajaliku atribuudiga.

Päring nr 1

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

Väljund:

Kliendi ID Kliendi nimi Kontakt_no Linn
184 Ravi Kumar 9887463893 Kolkata
987 Vinay Das 9839878678 Delhi
452 K.Amarnath 7598759387 Kolkata
874 Abhinash Desai 7675878798 Mumbai

Me võime tingimust sellele päringule rakendada ka vaate loomise ajal.

Päring nr 2

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

Väljund:

Kliendi ID Kliendi nimi Kontakt_no Ostetud_kogus Linn
987 Vinay Das 9839878678 12000.00 Delhi
452 K.Amarnath 7598759387 15000.00 Kolkata

MySQL-i erinevad vaatevalikud

Järgnevalt kirjeldatakse üksikasjalikumalt MySQL-i erinevaid vaatevalikuid,

1. DROP: vaadet / virtuaalset tabelit saab kustutada käsu DROP VIEW abil. Kui tahame kustutada customer_archive tabeli,

Süntaks:

DROP VIEW customer_archive;

2. LOE VÕI VAHETAMINE: Käsuga LOE VÕI REPLACE VIEW abil saame värskendada vaadet / virtuaalset tabelit.

Süntaks:

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

3. LIITU: Me saame ka vaate luua, ühendades mitu tabelit. See liitumine toob kokku sobitatud kirjed mõlemast tabelist. Liitumisi on erinevaid, mida nimetatakse sisemiseks liitumiseks, vasakpoolseks liitumiseks, paremaks liitumiseks, täielikuks väliseks liitumiseks, ristühenduseks jne.

Süntaks:

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

Ülal on sisemise liitumise näide. Samal viisil saame rakendada ka teisi liitumisi. Ülaltoodud näites luuakse vaade, ühendades nii tabeli_nimi1 kui ka tabeli_nimi2 olevad kirjed ühise välja alusel.

MySQL-i vaadete näited

Vaatleme ülaltoodud näidet:

Kliendi ID Kliendi nimi Kontakt_no E-post Ostetud_kogus Linn
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

See on klienditabeli andmebaas.

Loome sellest uue vaate, nimetades seda premium_customeriks. Tingimused premium-klientidele kehtivad, kui ostetud summa on suurem kui 10000.

Päring nr 1

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

Väljund:

Kliendi ID Kliendi nimi Kontakt_no Ostetud_kogus Linn
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

Kui tahame selle premium_customer virtuaalse tabeli maha jätta, on allpool toodud süntaks.

DROP VIEW premium_customer;

Kui mõnda ülaltoodud lisatasude tabelit on vaja mõne tingimuse muutmisega muuta, siis

Päring 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;

Väljund:

Kliendi ID Kliendi nimi Kontakt_no E-post Ostetud_kogus Linn
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

MySQL-i vaadete plussid ja miinused

Siin käsitleme MySQL-i vaadete eeliseid ja puudusi,

Eelised

  • Turvalisus: palju tabeleid on paljude kasutajate jaoks piiratud, kuna mõned nende tabelite atribuudid on väga tundlikud. Niisiis, kui suudame vastavatele kasutajatele luua vaateid, millel on teatud spetsiifilised atribuudid, siis saab kasutajatele anda loa pääseda mõnele vaadetele nende jaoks volitatud andmebaasi. See võib säilitada andmete turvalisuse ja terviklikkuse, samuti saavad kasutajad täita oma ülesandeid vastavate volitatud veergudega.
  • Päringu lihtsus: vaate saab luua, tõmmates andmeid mitmelt tabelilt. Niisiis saab kõigi tabelite kõiki kumulatiivseid kirjeid kuvada ühe tabelina, kasutades vaatepäringut.
  • Struktuuriline lihtsus: saame luua spetsialiseeritud või isikupärastatud kasutajapõhise vaate. Nii saame andmebaasi esindada virtuaalsete tabelitena, mis on kasutajale mõistlikud.
  • Järjepidevus: mainime siinkohal järjepidevust, kuna see vaade võib kujutada andmebaasi struktuuri ühtlast ja muutumatut pilti ka siis, kui teeme põhitabeli või põhitabeliga mõningaid manipulatsioone.
  • Andmete terviklikkus: kui andmetele pääseb juurde vaatega, kontrollib andmebaas alati andmeid, et veenduda, kas need vastavad terviklikkuse piirangutele või mitte.

Puudused

  • Toimivus: vaated on virtuaalne tabel või põhitabelite esindaja. Kui käitame vaate loomiseks mõned päringud, tõlgib DBMS need vaadetega seotud päringud alustabelites olevateks päringuteks. Niisiis, kui vaatepäring on väga keeruline, mis sisaldab mitut allikat ja keerulisi algoritme, võtab lihtne vaadete vastu võtmine palju aega.
  • Värskenduspiirangud: Vaate ridade muutmise ajal peab DBMS tõlkima päringu aluseks oleva lähtetabeli ridade värskenduseks. Värskendada saab lihtsa päringuga, kuid keeruka päringu korral ei luba DBMS värskendamist, kuna vaated on sageli piiratud kirjutuskaitstud versioonidega.

Järeldus

Pärast ülalkirjeldatud asjade tutvumist saame selgelt teada selle käsu olulisuse. See on käepärane paljudes reaalajas stsenaariumides. Selle peamine eelis on see, et saame teha palju keerulisi päringuid lihtsalt selleks, et teada saada, kui tõhus meie aluseks olev algoritm on. Andmete turvalisuse ja terviklikkuse säilitamine on vaate käsu peamine eelis.

Soovitatavad artiklid

See on MySQL-i vaadete juhend. Siin räägime sellest, kuidas luua MySQLis vaateid, ja mõista, kuidas erinevad vaatevalikud MySQL-is töötavad. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. 3 parimat MySQL-i operaatorit
  2. Erinevad MySQL päringu käsud
  3. MySQL-i 6 parimat metamärki
  4. Kuidas MySQL skeem töötab?