sql >> Base de Datos >  >> RDS >> Sqlserver

Crear una vista en SQL Server 2017

En SQL Server, puede guardar una consulta como una vista. Las vistas son beneficiosas por muchas razones, incluidas la seguridad, la facilidad de uso y la comodidad.

En SQL Server, una vista es una tabla virtual cuyo contenido se define mediante una consulta. Básicamente es una consulta escrita previamente que se almacena en la base de datos.

Una vista consta de un SELECT declaración, y cuando ejecuta una consulta en la vista, ve los resultados de la misma como lo haría al abrir una tabla. Las vistas se denominan tablas virtuales porque pueden reunir datos de varias tablas, así como datos agregados, y presentarlos como si se tratara de una sola tabla.

Beneficios de las vistas

Una vista puede ser útil cuando hay múltiples usuarios con diferentes niveles de acceso, quienes necesitan ver partes de los datos en la base de datos (pero no necesariamente todos los datos). Las vistas pueden hacer lo siguiente:

  • Restringir el acceso a filas específicas en una tabla
  • Restringir el acceso a columnas específicas en una tabla
  • Une columnas de varias tablas y preséntalas como si fueran parte de una sola tabla
  • Presenta información agregada (como los resultados del COUNT() función)

Cómo crear una vista

Para crear una vista, use CREATE VIEW instrucción, seguida de SELECT declaración.

CREATE VIEW ViewName 
AS
SELECT ...

Eso es todo al respecto. Cuando ejecuta esa instrucción, la vista se guarda en la base de datos

Ejemplo

Este es un ejemplo de cómo crear una vista y luego seleccionar datos de esa vista.

  1. Crear la vista

    Ejecute la siguiente declaración en la base de datos de Música que hemos creado a lo largo de este tutorial.

    Este ejemplo crea una vista llamada RockAlbums. Selecciona todos los álbumes a los que se les ha asignado un Género de "Rock".

    CREATE VIEW RockAlbums 
    AS
    SELECT AlbumName, ArtistName
    FROM Albums
    	INNER JOIN Artists
    	ON Albums.ArtistId = Artists.ArtistId 
        INNER JOIN Genres
        ON Albums.GenreId = Genres.GenreId
    WHERE Genres.Genre = 'Rock';
  2. Ver la vista

    Expanda las Vistas debajo de la base de datos correspondiente para ver la vista recién creada. También puede expandir los nodos de la vista para ver las columnas que se incluyen en su definición.

  3. Ejecutar la vista

    Ahora que se ha creado la vista, puede ejecutarla usando SELECT declaración. Puede seleccionar todo, o puede seleccionar columnas específicas, restringir aún más los resultados con WHERE cláusula, etc.

    SELECT * 
    FROM RockAlbums;

Modificar una vista

Puedes modificar tu vista con ALTER VIEW declaración.

Todo lo que tiene que hacer es proporcionar la nueva definición de vista que le gustaría usar. Es casi como crear una nueva vista con CREATE VIEW excepto que está alterando una existente con ALTER VIEW declaración.

He aquí un ejemplo.

  1. Alterar la vista

    Ejecute la siguiente instrucción. Esto agrega una nueva columna a la selección de la vista (la ReleaseDate columna).

    ALTER VIEW RockAlbums 
    AS
    SELECT AlbumName, ArtistName, ReleaseDate
    FROM Albums
    	INNER JOIN Artists
    	ON Albums.ArtistId = Artists.ArtistId 
        INNER JOIN Genres
        ON Albums.GenreId = Genres.GenreId
    WHERE Genres.Genre = 'Rock';
  2. Ejecutar la vista

    Ahora que hemos agregado la ReleaseDate columna a la vista, podemos usar eso en nuestras consultas SQL contra la vista.

    Por ejemplo, podemos seleccionar todos los álbumes donde la fecha de lanzamiento sea posterior a una fecha determinada.

    SELECT * 
    FROM RockAlbums
    WHERE ReleaseDate > '1985-01-01';