В SQL Server можете да запишете заявка като изглед. Изгледите са полезни по много причини, включително сигурност, използваемост и удобство.
В SQL Server, изглед е виртуална таблица, чието съдържание се дефинира от заявка. По същество това е предварително написана заявка, която се съхранява в базата данни.
Изгледът се състои от SELECT
оператор и когато стартирате заявка към изгледа, виждате резултатите от него, както бихте направили, когато отваряте таблица. Изгледите се наричат виртуални таблици, защото могат да събират заедно данни от множество таблици, както и обобщени данни и да ги представят, сякаш са една таблица.
Предимства на изгледите
Изгледът може да бъде полезен, когато има множество потребители с различни нива на достъп, които всички трябва да видят части от данните в базата данни (но не непременно всички данни). Изгледите могат да правят следното:
- Ограничете достъпа до конкретни редове в таблица
- Ограничете достъпа до конкретни колони в таблица
- Обединете колони от множество таблици и ги представете така, сякаш са част от една таблица
- Представете обобщена информация (като резултатите от
COUNT()
функция)
Как да създадете изглед
За да създадете изглед, използвайте CREATE VIEW
оператор, последван от SELECT
изявление.
CREATE VIEW ViewName AS SELECT ...
Това е всичко. Когато изпълните този израз, изгледът се записва в базата данни
Пример
Ето пример за създаване на изглед и след това избиране на данни от този изглед.
-
Създайте изгледа
Изпълнете следното изявление срещу базата данни за музика, която създадохме в този урок.
Този пример създава изглед, наречен RockAlbums. Той избира всички албуми, на които е присвоен Жанр "Рок".
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';
-
Преглед на изгледа
Разгънете Изгледи възел под приложимата база данни, за да видите новосъздадения ви изглед. Можете също да разширите възлите на изгледа, за да видите колоните, които са включени в неговата дефиниция.
-
Изпълнете изгледа
След като изгледът е създаден, можете да го стартирате с помощта на
SELECT
изявление. Можете да изберете всичко или можете да изберете конкретни колони, да стесните допълнително резултатите сWHERE
клауза и др.SELECT * FROM RockAlbums;
Промяна на изглед
Можете да промените изгледа си с ALTER VIEW
изявление.
Всичко, което правите, е да предоставите новата дефиниция на изглед, която искате да използвате. Така че това е почти като създаване на нов изглед с CREATE VIEW
оператор, освен че променя съществуващ с ALTER VIEW
изявление.
Ето един пример.
-
Променете изгледа
Изпълнете следното изявление. Това добавя нова колона към селекцията на изгледа (
ReleaseDate
колона).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';
-
Изпълнете изгледа
Сега, когато добавихме
ReleaseDate
колона към изгледа, можем да го използваме в нашите SQL заявки срещу изгледа.Например, можем да изберем всички албуми, при които датата на издаване е след определена дата.
SELECT * FROM RockAlbums WHERE ReleaseDate > '1985-01-01';