Uvod u Poglede u MySQL-u

SQL prikaz nije ništa drugo nego virtualna tablica baze podataka. Prikaz sadrži polja poput stvarne tablice, ali ta polja su iz jedne ili više tablica u bazi podataka koja se izvršava izvođenjem hrpe MySQL upita. U virtualnim tablicama možemo izvoditi operacije poput klauzule GDJE i PRIDRUŽITE se. S druge strane, VIEW nije ništa drugo nego SELECT upite.

Sintaksa:

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

  • "CREATE VIEW view_name" naređuje MySQL-u da stvori pogled / virtualnu tablicu u ime view_name.
  • Izjava "KAO ODABIR stupac1, stupac2 OD tablice" dohvaća stupac1 i stupac2 iz stvarne tablice. Zatim ta polja sprema u virtualnu tablicu.

Kako stvoriti prikaze u MySQL-u?

Napravimo jednu tablicu korisnika sa sljedećim atributima:

CUSTOMER_ID Ime kupca Contact_no E-mail Purchased_amount Grad
184 Ravi Kumar 9887463893 8.000, 00 Kolkata
987 Vinay Das 9839878678 12.000, 00 Delhi
452 K.Amarnath 7598759387 15.000, 00 Kolkata
874 Abhinash Desai 7675878798 5.000, 00 Mumbai

Napravit ćemo jednu cutomser_archive tablicu s našim potrebnim atributom.

Upit br. 1

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

Izlaz:

CUSTOMER_ID Ime kupca Contact_no Grad
184 Ravi Kumar 9887463893 Kolkata
987 Vinay Das 9839878678 Delhi
452 K.Amarnath 7598759387 Kolkata
874 Abhinash Desai 7675878798 Mumbai

Uvjet možemo primijeniti i na ovaj upit tijekom stvaranja vlasničkog pregleda.

Upit br. 2

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

Izlaz:

CUSTOMER_ID Ime kupca Contact_no Purchased_amount Grad
987 Vinay Das 9839878678 12.000, 00 Delhi
452 K.Amarnath 7598759387 15.000, 00 Kolkata

Različite opcije prikaza u MySQL-u

Slijede različite opcije prikaza u MySQL-u koje detaljnije objašnjavaju,

1. DROP: Pogled / virtualnu tablicu možete izbrisati pomoću naredbe DROP VIEW. Ako želimo izbrisati tablicu customer_archive,

Sintaksa:

DROP VIEW customer_archive;

2. STVARANJE ILI ZAMJENA: Naredbom CREATE ILI REPLACE VIEW možemo ažurirati pogled / virtualnu tablicu.

Sintaksa:

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

3. PRIDRUŽITE se: Također možemo stvoriti prikaz spajanjem više tablica. Ovo pridruživanje preuzima podudarne zapise iz obje tablice. Postoje različite vrste spajanja nazvanih unutarnjim spajanjem, lijevo spajanje, desno spajanje, potpuno vanjsko spajanje, unakrsno spajanje itd.

Sintaksa:

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

Iznad je primjer unutarnjeg spajanja. Na isti način možemo primijeniti i druge pridruživanja. U gornjem primjeru prikaz će se stvoriti konsolidacijom zapisa koji su prisutni i u tablici_ime1 i u tablici_ime2 na osnovi zajedničkog polja.

Primjeri pogleda u MySQL-u

Razmotrimo gornji primjer:

CUSTOMER_ID Ime kupca Contact_no E-mail Purchased_amount Grad
184 Ravi Kumar 9887463893 8.000, 00 Kolkata
987 Vinay Das 9839878678 12.000, 00 Delhi
452 K.Amarnath 7598759387 15.000, 00 Kolkata
874 Abhinash Desai 7675878798 5.000, 00 Mumbai
987 Aseem Kumar 9697679867 18.000, 00 Cuttack
989 sakti 9847984788 60.000, 00 Cuttack

Ovo je baza podataka tablice za kupce.

Stvorit ćemo drugi pogled na to, nazivajući ga premium_customer. Uvjeti za premium kupce će biti kupljeni, a iznos će biti veći od 10000.

Upit br. 1

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

Izlaz:

CUSTOMER_ID Ime kupca Contact_no Purchased_amount Grad
987 Vinay Das 9839878678 12.000, 00 Delhi
452 K.Amarnath 7598759387 15.000, 00 Kolkata
987 Aseem Kumar 9697679867 18.000, 00 Cuttack
989 sakti 9847984788 60.000, 00 Cuttack

Ako želimo odbaciti ovu virtualnu tablicu premium_customer, u nastavku je sintaksa.

DROP VIEW premium_customer;

Ako su neke promjene potrebne ovom gornjem premijskom stolu modificiranjem nekih uvjeta

Upit br. 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;

Izlaz:

CUSTOMER_ID Ime kupca Contact_no E-mail Purchased_amount Grad
184 Ravi Kumar 9887463893 8.000, 00 Kolkata
987 Vinay Das 9839878678 12.000, 00 Delhi
452 K.Amarnath 7598759387 15.000, 00 Kolkata
987 Aseem Kumar 9697679867 18.000, 00 Cuttack
989 sakti 9847984788 60.000, 00 Cuttack

Prednosti i nedostaci pogleda u MySQL-u

Ovdje smo raspravljali o prednostima i nedostacima vlasničkih pregleda u MySQL-u,

prednosti

  • Sigurnost: Mnogo je tablica koje su ograničene od mnogih korisnika jer će neki atributi u tim tablicama biti vrlo osjetljivi. Dakle, ako možemo stvoriti prikaze s nekim određenim atributima za pojedine korisnike, tada ćemo korisnicima moći dati dozvolu za pristup nekom skupu pogleda u bazi podataka koja je njima ovlaštena. Na taj način se može održati sigurnost i cjelovitost podataka, a korisnici mogu izvršavati svoje zadatke u odgovarajućim ovlaštenim stupcima.
  • Jednostavnost upita: Prikaz se može stvoriti dohvaćanjem podataka iz nekoliko tablica. Dakle, svi kumulativni zapisi iz svih tablica mogu se predstaviti pomoću jedne tablice pomoću upita pogleda.
  • Strukturna jednostavnost: možemo stvoriti specijalizirani ili personalizirani pogled koji je specifičan za korisnika. Tako bazu možemo predstaviti kao skup virtualnih tablica koje korisniku daju smisla.
  • Dosljednost: ovdje spominjemo dosljednost jer ovaj prikaz može predstavljati konzistentnu i nepromijenjenu sliku strukture baze podataka, čak i ako izvršimo neku manipulaciju s glavnom ili glavnom tablicom.
  • Integritet podataka: ako se podacima pristupa pristupu, baza podataka uvijek provjerava podatke da li zadovoljavaju ograničenja integriteta ili ne.

Nedostaci

  • Izvedba: Prikazi su virtualna tablica ili predstavnik glavnih tablica. Kada pokrenemo neke upite za stvaranje pogleda, DBMS prevodi te upite protiv pogleda u upite u donjim tablicama. Dakle, ako je upitni pogled vrlo složen, a sadrži više izvora i teške algoritme, tada jednostavno djelovanje protiv tih pogleda zahtijeva mnogo vremena.
  • Ograničenja ažuriranja: Dok mijenjaju retke u vlasničkom pregledu, DBMS mora prevesti zahtjev u nadogradnju na redove osnovne izvorne tablice. Ažuriranje se može obaviti pomoću jednostavnog upita, ali u slučaju složenog upita, DBMS neće dopustiti ažuriranje jer su pogledi često ograničeni samo na čitanje.

Zaključak

Nakon prolaska kroz gore opisane stvari, možemo jasno upoznati značaj ove naredbe. To je korisno za mnoge scenarije u stvarnom vremenu. Glavna prednost ovoga je što možemo izvesti mnogo složenih upita samo da bismo znali koliko je naš temeljni algoritam učinkovit. Održavanje sigurnosti i integriteta podataka ključna je prednost naredbe view.

Preporučeni članci

Ovo je vodič za prikaze u MySQL-u. Ovdje smo raspravljali o kreiranju pogleda u mysql-u i razumijevanju načina na koji različite opcije pogleda djeluju u MySQL-u. Možete pogledati i sljedeće članke da biste saznali više -

  1. Top 3 MySQL operatora
  2. Različite naredbe za MySQL upit
  3. Top 6 wildcards u MySQL-u
  4. Kako funkcionira MySQL shema?

Kategorija: