Datu piekļuves kontrole ar skatiem SQL

click fraud protection

Datu bāze skati samazina galalietotāja pieredzes sarežģītību un ierobežo lietotāju piekļuvi datu bāzu tabulās ietvertajiem datiem. Būtībā skatā tiek izmantoti a datu bāzes vaicājums dinamiski aizpildīt virtuālās datu bāzes tabulas saturu.

Kāpēc izmantot skatus?

Ir divi galvenie iemesli, lai lietotājiem nodrošinātu piekļuvi datiem, izmantojot skatus, nevis nodrošina viņiem tiešu piekļuvi datu bāzes tabulām:

  • Skati nodrošina vienkāršu, detalizētu drošību. Izmantojiet skatu, lai ierobežotu datus, kurus lietotājam ir atļauts skatīt tabulā. Piemēram, ja jums ir darbinieku tabula un vēlaties dažiem lietotājiem piekļūt pilna laika darbinieku ierakstiem, varat izveidot skatu, kurā ir tikai šie ieraksti. Tas ir daudz vieglāk nekā alternatīva (ēnu tabulas izveidošana un uzturēšana) un nodrošina datu integritāti.
  • Skati vienkāršo lietotāja pieredzi. Skati slēpj sarežģītu informāciju par jūsu datu bāzes tabulām no gala lietotājiem, kuriem tās nav jāredz. Ja lietotājs iznīcina skata saturu, viņš neredzēs tabulas slejas, kuras skats nav izvēlējies, un, iespējams, viņš to nesapratīs. Tas pasargā viņus no neskaidrībām, ko rada slikti nosauktās kolonnas, unikālie identifikatori un
    instagram viewer
    galda atslēgas.

Skata izveide

Skata izveide ir diezgan vienkārša: vienkārši izveidojiet vaicājumu, kas satur ierobežojumus, kurus vēlaties ieviest, un ievietojiet to komandā CREATE VIEW. Lūk, vispārīgā sintakse:

CREATE VIEW skata nosaukums AS

Piemēram, lai izveidotu pilna laika darbinieka skatu, izsniedziet šādu komandu:

IZVEIDOT SKATU pilnas slodzes
Atlasiet vārdu_vārds, uzvārds, darbinieka ID
NO darbiniekiem
WHERE statuss = 'FT';

Skata modificēšana

Mainot skata saturu, tiek izmantota tieši tāda pati sintakse kā skata izveidē, bet komandas CREATE VIEW vietā izmantojiet ALTER VIEW komandu. Piemēram, lai pilnas slodzes skatam pievienotu ierobežojumu, kas darbiniekiem pievieno tālruņa numuru, izdodiet šādu komandu:

ALTER SKATĪT pilnas slodzes AS
ATLASIET vārdu_vārdu, uzvārdu, darbinieka ID, tālruni
NO darbiniekiem
WHERE statuss = 'FT';

Skata dzēšana

Izmantojot komandu DROP VIEW, skatu no datu bāzes var vienkārši noņemt. Piemēram, lai izdzēstu pilnas slodzes darbinieka skatu, izmantojiet šādu komandu:

Piliens skats pilnas slodzes; 

Skatījumi pret Realizētie skati

Skats ir virtuāla tabula. A materializētais skats ir tas pats skats, kas ierakstīts diskā un kuram piekļūst tā, it kā tas būtu pats par sevi tabula.

Palaižot vaicājumu pret skatu, sekundārais vaicājums, kas avota skatu, izpilda reāllaikā, pēc tam šie rezultāti tiek atgriezti sākotnējā galvenajā vaicājumā. Ja jūsu skati ir ārkārtīgi sarežģīti vai jūsu galvenajam vaicājumam ir nepieciešams liels skaits hash savienojumu starp vairākām tabulām un skatiem, galvenais vaicājums tiks izpildīts ar bruņurupuča ātrumu.

Realizētais skats paātrina vaicājuma izpildi, jo tas darbojas kā iepriekš sastādīts vaicājums, kas ierakstīts diskā, un tāpēc tas tiek izpildīts tikpat ātri kā tabula. Tomēr materializētie skati ir tikpat labi kā notikumu procedūras, kas tos atsvaidzina. Ilgtermiņā, ar labu apkopi, materializētie skati paātrina lietas ar nelielu kompromisu kavēšanās atsvaidzināšanas laikā, bez vajadzīga virkne ēnu galdu, kas var pasliktināties un apēst vietu diskā vai iegūt kāda cita vaicājumus nepiedienīgi.

instagram story viewer