V SQL Server můžete uložit dotaz jako zobrazení. Zobrazení jsou přínosná z mnoha důvodů, včetně zabezpečení, použitelnosti a pohodlí.
Na serveru SQL Server zobrazení je virtuální tabulka, jejíž obsah je definován dotazem. Je to v podstatě předem napsaný dotaz, který je uložen v databázi.
Pohled se skládá z SELECT
a když spustíte dotaz proti pohledu, uvidíte jeho výsledky jako při otevírání tabulky. Pohledy se označují jako virtuální tabulky, protože mohou shromažďovat data z více tabulek i agregovaná data a prezentovat je, jako by šlo o jedinou tabulku.
Výhody zobrazení
Zobrazení může být užitečné, když existuje více uživatelů s různými úrovněmi přístupu, kteří všichni potřebují vidět části dat v databázi (ale ne nutně všechna data). Pohledy mohou provádět následující:
- Omezit přístup ke konkrétním řádkům v tabulce
- Omezit přístup ke konkrétním sloupcům v tabulce
- Spojte sloupce z více tabulek a prezentujte je, jako by byly součástí jedné tabulky
- Předložte souhrnné informace (jako jsou výsledky
COUNT()
funkce)
Jak vytvořit zobrazení
Chcete-li vytvořit pohled, použijte CREATE VIEW
za ním následuje SELECT
prohlášení.
CREATE VIEW ViewName AS SELECT ...
To je vše. Když tento příkaz spustíte, pohled se uloží do databáze
Příklad
Zde je příklad vytvoření výběru dat a následného výběru dat z tohoto výběru dat.
-
Vytvořte zobrazení
Spusťte následující příkaz proti databázi Music, kterou jsme vytvořili v tomto kurzu.
Tento příklad vytvoří pohled nazvaný RockAlbums. Vybere všechna alba, kterým byl přiřazen žánr "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';
-
Zobrazit zobrazení
Rozbalte Zobrazení uzel pod příslušnou databází, abyste viděli svůj nově vytvořený pohled. Můžete také rozbalit uzly zobrazení, abyste viděli sloupce, které jsou zahrnuty v jeho definici.
-
Spusťte zobrazení
Nyní, když je pohled vytvořen, můžete jej spustit pomocí
SELECT
prohlášení. Můžete vybrat vše, nebo můžete vybrat konkrétní sloupce, výsledky dále zúžit pomocíWHERE
doložka atd.SELECT * FROM RockAlbums;
Změnit zobrazení
Svůj pohled můžete upravit pomocí ALTER VIEW
prohlášení.
Jediné, co uděláte, je poskytnout novou definici pohledu, kterou chcete použít. Takže je to skoro jako vytvořit nový pohled pomocí CREATE VIEW
kromě toho, že mění existující pomocí ALTER VIEW
prohlášení.
Zde je příklad.
-
Změnit zobrazení
Spusťte následující příkaz. Tím se do výběru zobrazení přidá nový sloupec (
ReleaseDate
sloupec).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';
-
Spusťte zobrazení
Nyní, když jsme přidali
ReleaseDate
sloupec k pohledu, můžeme to použít v našich SQL dotazech proti pohledu.Můžeme například vybrat všechna alba, jejichž datum vydání je po určitém datu.
SELECT * FROM RockAlbums WHERE ReleaseDate > '1985-01-01';