Skip to main content

Datu piekļuves kontrole ar skatījumiem SQL

Anonim

Datu bāzes skats ļauj viegli samazināt lietotāja pieredzes sarežģītību un ierobežot viņu spēju piekļūt datiem, kas ietverti datu bāzes tabulās, ierobežojot gala lietotājam iesniegtos datus. Būtībā skatījums izmanto datu bāzes vaicājuma rezultātus, lai dinamiski aizpildītu mākslīgās datu bāzes tabulas saturu.

Kāpēc izmantot skatījumus?

Ir divi galvenie iemesli, kā nodrošināt lietotājiem piekļuvi datiem, izmantojot viedokļus, nevis nodrošināt viņiem tiešu piekļuvi datubāzu tabulām:

  • Skatījumi nodrošina vienkāršu, granulētu drošību. Jūs varat izmantot skatu, lai ierobežotu datus, kurus lietotājs var redzēt tabulā. Piemēram, ja jums ir darbinieku tabula un vēlaties nodrošināt dažiem lietotājiem piekļuvi pilna darba laika darbinieku ierakstiem, varat izveidot skatu, kurā ir tikai šie ieraksti. Tas ir daudz vieglāk nekā alternatīva (veidojot un saglabājot ēnu tabulu) un nodrošinot datu integritāti.
  • Skatījumi vienkāršo lietotāja pieredzi. Skatījumi slēpj sarežģītas detaļas no datubāzu tabulām no gala lietotājiem, kuriem tās nav jāredz. Ja lietotājs izgāž skata saturu, viņi neredzēs tabulas slejas, kuras skats nav atlasījis, un viņi, iespējams, nesaprot. Tas pasargā tos no neskaidrības, ko izraisa slikti nosauktas kolonnas, unikālie identifikatori un galda atslēgas.

Skata izveide

Skata izveide ir diezgan vienkārša: jums vienkārši ir jāizveido vaicājums, kurā ietverti ierobežojumi, kurus vēlaties īstenot, un ievietojiet to CREATE VIEW komandā. Šeit ir sintakse:

CREATE VIEW viewname AS

Piemēram, ja vēlaties izveidot pilna laika darbinieku skatu, kuru apspriedu iepriekšējā sadaļā, jūs izsniegsit šādu komandu:

CREATE VIEW pilna laika ASSELECT first_name, last_name, employee_idNO darbiniekiemWHERE status = 'FT'

Skata maiņa

Skata satura maiņai tiek izmantots tieši tāds pats sintakse kā skatījuma izveidošana, taču jūs izmantojat komandu ALTER VIEW, nevis komandu CREATE VIEW. Piemēram, ja vēlaties pievienot ierobežojumu pilna laika skatījumam, kas rezultātiem pievieno darbinieka tālruņa numuru, jūs izdodat šādu komandu:

ALTER VIEW pilna laika ASSELECT first_name, last_name, employee_id, telephoneNO darbiniekiemWHERE status = 'FT'

Skatīt skatu dzēšana

Izmantojot komandu DROP VIEW, vienkārši noņemt skatu no datubāzes. Piemēram, ja vēlaties dzēst pilna laika darbinieku skatu, izmantojiet šādu komandu:

DROP VIEW pilna laika