Objašnjeni SQL prikaz - Kako stvoriti pogled u SQL-u i MySQL-u

Što je pogled u SQL-u?

Pogled je objekt baze podataka koji prikazuje podatke koji postoje u jednoj ili više tablica. Prikazi se koriste na sličan način kao tablice, ali ne sadrže nikakve podatke. Oni samo "usmjeravaju" na podatke koji postoje negdje drugdje (tablice ili prikazi, na primjer).

Zašto ih volimo?

  • Prikazi su način ograničavanja prikazanih podataka. Primjerice, podaci odjela za ljudske resurse filtrirani su kako bi prezentirali samo osjetljive podatke. Osjetljive informacije u ovom slučaju mogu biti brojevi socijalnog osiguranja, spol zaposlenika, stopa zarade, kućna adresa itd.
  • Složeni podaci iz više tablica mogu se kombinirati u jedan "prikaz". To vašim poslovnim analitičarima i programerima može olakšati život.

Važni sigurnosni savjeti

  • Pogledima upravlja sustav. Kad se podaci u povezanim tablicama promijene, dodaju ili ažuriraju, sustav ažurira prikaz. Želimo ih koristiti samo kada je potrebno za upravljanje korištenjem sistemskih resursa.
  • U MySQL-u promjene u dizajnu tablice (tj. Novi ili ispušteni stupci) napravljene NAKON stvaranja pogleda ne ažuriraju se u samom prikazu. Pogled bi se trebao ažurirati ili ponovno stvoriti.
  • Pogledi su jedan od četiri standardne vrste objekata baze podataka. Ostalo su tablice, pohranjene procedure i funkcije.
  • S prikazima se obično može postupati kao s tablicom, ali ažuriranja su ograničena ili nisu dostupna kada pogled sadrži više od jedne tablice.
  • Postoje mnogi drugi detalji o pogledima koji su izvan dosega ovog uvodnog vodiča. Provedite vrijeme s priručnikom za upravitelje baza podataka i zabavite se s ovim moćnim SQL objektom.

Sintaksa izjave Create View (MySQL)

CREATE [OR REPLACE] [ALGORITHM =  TEMPTABLE] [DEFINER =  CURRENT_USER ] [SQL SECURITY  DEFINER ] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION] 

Ovaj će vodič pokrivati ​​ovaj dio izjave ...

CREATE VIEW view_name [(column_list)] AS select_statement 

Uzorak Stvaranje prikaza iz studentskih tablica

Bilješke:

  • Ime pogleda na kraju ima "v". Preporučuje se da naziv pogleda ukazuje na to da je pogled na neki način kako bi olakšao život programerima i administratorima baza podataka. Vaša IT trgovina trebala bi imati vlastita pravila za imenovanje objekata.
  • Stupci u prikazu ograničeni su SELECT, a retci podataka WHERE klauzulom.
  • znak "" "oko imena pogleda potreban je zbog znaka" - "u imenima. MySQL prijavljuje grešku bez njih.
create view `programming-students-v` as select FullName, programOfStudy from student where programOfStudy = 'Programming'; select * from `programming-students-v`; 

Uzorak upotrebe prikaza za kombiniranje podataka iz više tablica

U bazu podataka dodana je demografska tablica učenika kako bi se prikazala ta upotreba. Ovaj prikaz kombinirat će ove tablice.

Bilješke:

  • Da bi se "pridružile" tablice, tablice moraju imati zajednička polja (obično primarne ključeve) koja jedinstveno identificiraju svaki redak. U ovom slučaju to je studentska iskaznica. (Više o tome u vodiču za SQL pridruživanje.)
  • Primijetite "zamjensko ime" dato za svaku tablicu ("s" za studenta i "sc" za kontakt učenika). Ovo je alat za skraćivanje naziva tablica i olakšavanje prepoznavanja tablice koja se koristi. Jednostavnije je nego ponavljano upisivati ​​dugačka imena tablica. U ovom je primjeru bilo potrebno jer je studentID isto ime stupca u obje tablice, a sustav će prikazati „dvosmislenu pogrešku u nazivu stupca” bez navođenja koju tablicu koristiti.