Andmetele juurdepääsu kontrollimine SQL-i vaadetega

Andmebaas vaated vähendavad lõppkasutaja kogemuse keerukust ja piiravad kasutajate juurdepääsu andmebaasitabelites sisalduvatele andmetele. Põhimõtteliselt kasutab vaade a andmebaasi päring virtuaalse andmebaasi tabeli sisu dünaamiliseks täitmiseks.

Miks kasutada vaateid?

On kaks peamist põhjust, mis tagavad kasutajatele andmetele juurdepääsu vaatamise kaudu, mitte otsese juurdepääsu andmekogude tabelitele:

  • Vaated pakuvad lihtsat ja täpset turvalisust. Vaate abil saate piirata andmeid, mida kasutajal on lubatud tabelis näha. Näiteks kui teil on töötajate tabel ja soovite mõnele kasutajale juurdepääsu anda täistööajaga töötajate dokumentidele, saate luua vaate, mis sisaldab ainult neid kirjeid. See on palju lihtsam kui alternatiiv (varjutabeli loomine ja hooldamine) ning tagab andmete terviklikkuse.
  • Vaated lihtsustavad kasutuskogemust. Vaated peidavad teie andmebaasitabelite keerukad üksikasjad nende lõppkasutajate eest, kes neid ei pea nägema. Kui kasutaja tühistab vaate sisu, ei näe ta tabeli veerge, mida vaade pole valinud, ja ta ei pruugi sellest aru saada. See kaitseb neid segaduse eest, mida põhjustavad halvasti nimetatud veerud, kordumatud tunnused ja
    instagram viewer
    lauaklahvid.

Vaate loomine

Vaate loomine on üsna lihtne: looge lihtsalt päring, mis sisaldab piiranguid, mida soovite jõustada, ja asetage see käsu CREATE VIEW sisse. Siin on üldine süntaks:

CREATE VIEW vaatenimi AS

Näiteks täistööajaga töötaja vaate loomiseks väljastage järgmine käsk:

CREATE VIEW täiskohaga AS
Valige eesnimi, perekonnanimi, töötaja_id
Töötajatelt
WHERE staatus = 'FT';

Vaate muutmine

Vaate sisu muutmine kasutab täpselt sama süntaksit kui vaate loomine, kuid käsu CREATE VIEW asemel kasutage käsku ALTER VIEW. Näiteks täiskohaga kuvale piirangu lisamiseks, mis lisab tulemustele töötaja telefoninumbri, väljastage järgmine käsk:

ALTER VIEW täiskohaga AS
VALI eesnimi, perekonnanimi, töötaja_id, telefon
Töötajatelt
WHERE staatus = 'FT';

Vaate kustutamine

Vaate andmebaasist eemaldamine käsu DROP VIEW abil on lihtne. Näiteks täistööajaga töötaja vaate kustutamiseks kasutage järgmist käsku:

DROP VIEW täiskohaga; 

Vaatamised vs. Realiseeritud vaated

Vaade on virtuaalne tabel. A materialiseeritud vaade on see sama vaade, mis on kirjutatud kettale ja millele on juurdepääs nii, nagu oleks see omaette tabel.

Kui käivitate päringu vaate vastu, käivitab vaate allikas teisene päring reaalajas, seejärel tagastatakse need tulemused algsesse põhipäringusse. Kui teie vaated on erakordselt keerukad või kui teie peamine päring nõuab mitme tabeli ja vaate vahel suurt arvu räsiühendusi, täidetakse teie põhipäring kilpkonna kiirusega.

Realiseeritud vaade kiirendab päringu täitmist, kuna see toimib eelnevalt kompileeritud kettale kirjutatud päringuna ja täidab seetõttu sama kiiresti kui tabel. Realiseeritud vaated on aga ainult sama head kui neid värskendavad ürituse protseduurid. Pikemas perspektiivis kiirendavad realiseerunud vaated hea hoolduse korral väikese kompromissiga viivituse värskendusajaga, ilma et vajadus hunniku varjutustabelite järele, mis võivad uinuda ja süüa kettaruumi või hankida kellegi teise päringuid sobimatult.