Paaiškinta SQL peržiūra - kaip sukurti rodinį SQL ir MySQL

Kas yra rodinys SQL?

„View“ yra duomenų bazės objektas, pateikiantis duomenis, esančius vienoje ar daugiau lentelių. Rodiniai naudojami panašiai kaip lentelės, tačiau juose nėra jokių duomenų. Jie tiesiog „nurodo“ duomenis, egzistuojančius kitur (pavyzdžiui, lentelės ar rodiniai).

Kodėl jie mums patinka?

  • Rodiniai yra būdas apriboti pateiktus duomenis. Pvz., Žmogiškųjų išteklių skyriaus duomenys filtruojami taip, kad pateiktų tik neskelbtiną informaciją. Deliktinė informacija šiuo atveju gali būti socialinio draudimo numeriai, darbuotojo lytis, darbo užmokestis, namų adresas ir kt.
  • Sudėtingus daugiau nei vienos lentelės duomenis galima sujungti į vieną „rodinį“. Tai gali palengvinti jūsų verslo analitikų ir programuotojų gyvenimą.

Svarbūs saugos patarimai

  • Rodinius tvarko sistema. Pakeitus, pridėjus ar atnaujinant susijusių lentelių duomenis, sistema atnaujina rodinį. Mes norime juos naudoti tik tada, kai reikia valdyti sistemos išteklių naudojimą.
  • „MySQL“ lentelės dizaino pakeitimai (tai yra nauji arba numesti stulpeliai), padaryti po rodinio sukūrimo, pačiame rodinyje neatnaujinami. Vaizdą teks atnaujinti arba atkurti.
  • Rodiniai yra vienas iš keturių standartinių duomenų bazės objektų tipų. Kiti yra lentelės, saugomos procedūros ir funkcijos.
  • Peržiūros paprastai gali būti traktuojamos taip, kaip jūs elgtumėtės su lentele, tačiau atnaujinimai yra riboti arba jų nėra, kai rodinyje yra daugiau nei viena lentelė.
  • Yra daugybė kitų informacijos apie peržiūras, kurios nepatenka į šio įvadinio vadovo taikymo sritį. Praleiskite laiką naudodamiesi duomenų bazių valdytojų vadovu ir linksminkitės naudodami šį galingą SQL objektą.

„View View“ teiginio („MySQL“) sintaksė

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

Šis vadovas apims šią pareiškimo dalį ...

CREATE VIEW view_name [(column_list)] AS select_statement 

Rodinio kūrimo pavyzdys iš mokinių lentelių

Pastabos:

  • Vaizdo pavadinimo pabaigoje yra „v“. Rekomenduojama rodinio pavadinime nurodyti, kad jis tam tikru požiūriu palengvina programuotojų ir duomenų bazių administratorių gyvenimą. Jūsų IT parduotuvė turėtų turėti savo taisykles dėl objektų pavadinimo.
  • Rodinio stulpelius riboja SELECT, o duomenų eilutes - sąlyga WHERE.
  • „“ simbolis aplink rodinio pavadinimus reikalingas dėl pavadinimuose esančio „-“. „MySQL“ praneša apie klaidą be jų.
create view `programming-students-v` as select FullName, programOfStudy from student where programOfStudy = 'Programming'; select * from `programming-students-v`; 

„View“ naudojimo pavyzdys, norint sujungti duomenis iš daugiau nei vienos lentelės

Norėdami parodyti šį naudojimą, prie duomenų bazės buvo pridėta studentų demografinių rodiklių lentelė. Šis rodinys sujungs šias lenteles.

Pastabos:

  • Norėdami „prisijungti“ prie lentelių, lentelėse turi būti bendri laukai (paprastai pirminiai raktai), kurie unikaliai identifikuoja kiekvieną eilutę. Šiuo atveju tai studento pažymėjimas. (Daugiau apie tai rasite „SQL Joins“ vadove.)
  • Atkreipkite dėmesį į kiekvienai lentelei suteiktą „slapyvardį“ („s“ studentui ir „sc“ - studento kontaktui). Tai įrankis, sutrumpinantis lentelių pavadinimus ir palengvinantis, kuri lentelė naudojama. Tai lengviau nei pakartotinai įvesti ilgų lentelių pavadinimus. Šiame pavyzdyje jis buvo reikalingas, nes studentID yra tas pats stulpelio pavadinimas abiejose lentelėse, o sistema pateiks „dviprasmišką stulpelio pavadinimo klaidą“ nenurodydama, kurią lentelę naudoti.