Skip to main content

Controlar l'accés a dades amb vistes en SQL

Anonim

Les visualitzacions de la base de dades permeten reduir fàcilment la complexitat de l'experiència de l'usuari final i limitar la seva capacitat per accedir a les dades contingudes en les taules de la base de dades limitant les dades presentades a l'usuari final. Essencialment, una vista utilitza els resultats d'una consulta de base de dades per omplir dinàmicament el contingut d'una taula de base de dades artificial.

Per què utilitzar vistes?

Hi ha dos motius principals per proporcionar als usuaris accés a dades a través de punts de vista en lloc de proporcionar-los accés directe a taules de base de dades:

  • Les vistes proporcionen una seguretat simple i granular. Podeu utilitzar una vista per limitar les dades que un usuari pot veure en una taula. Per exemple, si teniu una taula de treballadors i voleu proporcionar accés als registres d'empleats a temps complet, podeu crear una visualització que contingui només aquests registres. Això és molt més fàcil que l'alternativa (crear i mantenir una taula ombra) i garantir la integritat de les dades.
  • Les vistes simplifiquen l'experiència de l'usuari. Les vistes amaguen detalls complexos de les vostres taules de base de dades d'usuaris finals que no necessiten veure-les. Si un usuari aboca els continguts d'una vista, no veuran les columnes de la taula que la vista no selecciona i potser no comprenguin. Això els protegeix de la confusió causada per columnes mal anomenades, identificadors únics i claus de taula.

Creació d'una vista

Crear una visualització és bastant senzill: simplement haureu de crear una consulta que contingui les restriccions que vulgueu aplicar i col·loqueu-les dins de la comanda CREATE VIEW. Aquí teniu la sintaxi:

CREATE VIEW viewname AS

Per exemple, si voleu crear la vista dels empleats a temps complet que he comentat a la secció anterior, emetria el següent comandament:

CREATE VIEW fulltime ASSELECCIONa primer nom, darrer nombre, empleat_idFROM employeesWHERE status = 'FT'

Modificació d'una visualització

Si canvieu el contingut d'una vista, s'utilitza la mateixa sintaxi exacta que la creació d'una vista, però s'utilitza l'ordre ALTER VIEW en comptes de la comanda CREATE VIEW. Per exemple, si voleu afegir una restricció a la visualització a tota hora que afegeixi el número de telèfon de l'empleat als resultats, emetria el següent comandament:

ALTER VIEW fulltime ASSELECCIONa primer nom, darrer nombre, empleat_id, telèfonFROM employeesWHERE status = 'FT'

Supressió d'una visualització

És senzill eliminar una vista des d'una base de dades amb l'ordre DROP VIEW. Per exemple, si voleu suprimir la vista dels empleats a temps complet, usarà l'ordre següent:

DROP VIEW a tot el temps