SQL View forklaret - Sådan oprettes en visning i SQL og MySQL

Hvad er en visning i SQL?

En visning er et databaseobjekt, der præsenterer data, der findes i en eller flere tabeller. Visninger bruges på samme måde som tabeller, men de indeholder ingen data. De “peger” bare på de data, der findes andre steder (f.eks. Tabeller eller visninger).

Hvorfor kan vi lide dem?

  • Visninger er en måde at begrænse de præsenterede data på. Eksempelvis filtreres data fra personaleafdelingen kun til at præsentere følsomme oplysninger. Følsomme oplysninger i dette tilfælde kan være personnumre, medarbejderkøn, lønningsgrad, hjemmeadresse osv.
  • Komplekse data på tværs af mere end en tabel kan kombineres i en enkelt “visning”. Dette kan gøre livet lettere for dine forretningsanalytikere og programmører.

Vigtige sikkerhedstip

  • Visninger styres af systemet. Når data i de relaterede tabeller ændres, tilføjes eller opdateres, opdateres visningen af ​​systemet. Vi ønsker kun at bruge disse, når det er nødvendigt for at styre brugen af ​​systemressourcer.
  • I MySQL opdateres ændringer i tabeldesignet (dvs. nye eller faldne kolonner), EFTER at en visning er oprettet, ikke i selve visningen. Visningen skal opdateres eller genskabes.
  • Visninger er en af ​​de fire standard databaseobjekttyper. De andre er tabeller, lagrede procedurer og funktioner.
  • Visninger kan normalt behandles som ved en tabel, men opdateringer er begrænsede eller ikke tilgængelige, når visningen indeholder mere end en tabel.
  • Der er mange andre detaljer om synspunkter, der ligger uden for denne introduktionsvejlednings rækkevidde. Brug tid med din databaseadministratormanual og have det sjovt med dette kraftfulde SQL-objekt.

Syntaks for Create View Statement (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] 

Denne vejledning dækker denne del af erklæringen ...

CREATE VIEW view_name [(column_list)] AS select_statement 

Prøvevisning oprettelse fra elevtabellerne

Bemærkninger:

  • Visningen har et ”v” i slutningen. Det anbefales, at visningsnavnet angiver, at det er en visning på en eller anden måde for at gøre livet lettere for programmører og databaseadministratorer. Din it-butik skal have sine egne regler for navngivning af objekter.
  • Kolonnerne i visningen er begrænset af SELECT og datarækkerne af WHERE-klausulen.
  • ”” ”-tegnet omkring visningsnavne kræves på grund af” - ”i navnene. MySQL rapporterer en fejl uden dem.
create view `programming-students-v` as select FullName, programOfStudy from student where programOfStudy = 'Programming'; select * from `programming-students-v`; 

Eksempel på brug af en visning til at kombinere data fra mere end en tabel

En studentdemografisk tabel blev føjet til databasen for at demonstrere denne brug. Denne visning kombinerer disse tabeller.

Bemærkninger:

  • For at "sammenføje" tabeller, skal tabellerne have felter til fælles (normalt primære nøgler), der entydigt identificerer hver række. I dette tilfælde er det studerendes id. (Mere om dette i SQL Joins-guiden.)
  • Læg mærke til "aliaset", der gives til hver tabel ("s" for studerende og "sc" for studerendes kontakt). Dette er et værktøj til at forkorte tabelnavne og gøre det lettere at identificere, hvilken tabel der bruges. Det er lettere end at skrive lange tabelnavne gentagne gange. I dette eksempel var det nødvendigt, fordi studentID er det samme kolonnenavn i begge tabeller, og systemet ville præsentere en "tvetydig kolonnenavnfejl" uden at specificere, hvilken tabel der skal bruges.