sql >> Database >  >> RDS >> Sqlserver

Een weergave maken in SQL Server 2017

In SQL Server kunt u een query opslaan als een weergave. Weergaven zijn om vele redenen nuttig, waaronder veiligheid, bruikbaarheid en gemak.

In SQL Server, een weergave is een virtuele tabel waarvan de inhoud wordt gedefinieerd door een query. Het is in feite een vooraf geschreven zoekopdracht die in de database wordt opgeslagen.

Een weergave bestaat uit een SELECT statement, en wanneer u een query uitvoert op de view, ziet u de resultaten ervan zoals u zou doen bij het openen van een tabel. Weergaven worden virtuele tabellen genoemd omdat ze gegevens uit meerdere tabellen kunnen samenvoegen, evenals gegevens kunnen aggregeren, en deze kunnen presenteren alsof het een enkele tabel is.

Voordelen van weergaven

Een weergave kan handig zijn als er meerdere gebruikers zijn met verschillende toegangsniveaus, die allemaal delen van de gegevens in de database moeten zien (maar niet noodzakelijk alle gegevens). Weergaven kunnen het volgende doen:

  • Beperk de toegang tot specifieke rijen in een tabel
  • Beperk de toegang tot specifieke kolommen in een tabel
  • Kolommen uit meerdere tabellen samenvoegen en ze presenteren alsof ze deel uitmaken van een enkele tabel
  • Gezamenlijke informatie presenteren (zoals de resultaten van de COUNT() functie)

Een weergave maken

Gebruik de CREATE VIEW . om een ​​weergave te maken statement, gevolgd door de SELECT verklaring.

CREATE VIEW ViewName 
AS
SELECT ...

Dat is alles. Wanneer u die instructie uitvoert, wordt de weergave opgeslagen in de database

Voorbeeld

Hier is een voorbeeld van het maken van een weergave en het selecteren van gegevens uit die weergave.

  1. Maak de weergave

    Voer de volgende instructie uit voor de muziekdatabase die we in deze tutorial hebben gemaakt.

    In dit voorbeeld wordt een weergave gemaakt met de naam RockAlbums. Het selecteert alle albums waaraan een genre "Rock" is toegewezen.

    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. Bekijk het uitzicht

    Vouw de Weergaven uit knooppunt onder de toepasselijke database om uw nieuw gemaakte weergave te zien. U kunt ook de knooppunten van de weergave uitvouwen om de kolommen te zien die in de definitie zijn opgenomen.

  3. Voer de weergave uit

    Nu de weergave is gemaakt, kunt u deze uitvoeren met een SELECT uitspraak. U kunt alles selecteren, of u kunt specifieke kolommen selecteren, de resultaten verder verfijnen met een WHERE clausule, enz.

    SELECT * 
    FROM RockAlbums;

Een weergave wijzigen

U kunt uw weergave wijzigen met de ALTER VIEW verklaring.

Het enige dat u hoeft te doen, is de nieuwe weergavedefinitie opgeven die u wilt gebruiken. Het is dus bijna alsof u een nieuwe weergave maakt met de CREATE VIEW statement behalve dat het een bestaande wijzigt met de ALTER VIEW verklaring.

Hier is een voorbeeld.

  1. De weergave wijzigen

    Voer de volgende instructie uit. Dit voegt een nieuwe kolom toe aan de selectie van de weergave (de ReleaseDate kolom).

    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. Voer de weergave uit

    Nu we de ReleaseDate . hebben toegevoegd kolom naar de weergave, we kunnen die gebruiken in onze SQL-query's tegen de weergave.

    We kunnen bijvoorbeeld alle albums selecteren waarvan de releasedatum na een bepaalde datum ligt.

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

  1. Hoe te voorkomen dat Activity Monitor de prestaties van uw SQL Server schaadt?

  2. De sortering vinden in SQL Server (T-SQL)

  3. JShell gebruiken in Java 9 in NetBeans 9.0, deel 3

  4. Een GDI-bronlek behandelen