Autor: Joanna Karwowska
Widoki w języku SQL to wirtualne tabele tworzone na podstawie zapytań.
Składają się z kolumn i wierszy pobranych z prawdziwych tabel.
Widoki nie przechowują zapisanych w tabelach danych.
W bazie danych jest zapamiętywana jedynie definicja widoku.
Zapewniają bezpieczeństwo danych przez ograniczenie dostępu do danych zapisanych w tabelach.
CREATE VIEW <
NazwaWidoku
> [<listakolumn>]AS <instrukcjaSELECT> [WITH CHECK OPTION]
Opcjonalna <listakolumn> określa nazwy kolumn widoku.
[WITH CHECK OPTION] – gwarantuje, że
wszystkie aktualizacje widoku (jeśli widok jest aktualizowany) spełnią warunki występujące we frazie WHERE instrukcji SELECT.
Utwórz widok
Tpensja
, który będzieprzechowywał dane o wysokości pensji poszczególnych pracowników.
CREATE VIEW
Tpensja
AS SELECT nazwisko, imie, pensja FROM pracownicy, stanowiska
WHERE stanowisko=stanowiska.id_stanowiska WITH CHECK OPTION;
SELECT * FROM NazwaWidoku ;
Widok można usunąć za pomocą słowa kluczowego:
DROP VIEW NazwaWidoku ;
Te same dane mogą być widziane w różny sposób przez różnych użytkowników.
Pozwalają koncentrować się na istotnych danych, a ignorować inne.
Wprowadzają dodatkowy poziom
niezależności od danych: jeśli zmieni się coś w schemacie bazy danych, często wystarczy zmienić definicję widoku, nie zmieniając
programu.
Wprowadzają ochronę danych przez ich ukrycie: użytkownicy „widzą” tylko widoki, czyli tylko te dane do których mają prawo dostępu.
Widoki nie zawierają danych; zawierają tylko informacje jak zebrać te dane w razie
potrzeby (tzn. z jakich tabel, z jakich kolumn i w jaki sposób).
Widoków nie można indeksować (ale można indeksować tabele wchodzące w skład
widoku).
W ogólności, nie można aktualizować danych poprzez widok.