Widok w Oracle a w innych systemach baz danych jest po prostu reprezentacją instrukcji SQL, która jest przechowywana w pamięci, dzięki czemu można ją łatwo ponownie wykorzystać. Na przykład, jeśli często wysyłamy następujące zapytanie
SELECT customerid, customername FROM customers WHERE countryid='US';
Aby utworzyć widok, użyj polecenia CREATE VIEW jak widać w tym przykładzie
CREATE VIEW view_uscustomers
AS
SELECT customerid, customername FROM customers WHERE countryid='US';
To polecenie tworzy nowy widok o nazwie view_uscustomers. Należy zauważyć, że to polecenie nie powoduje w ogóle przechowywania niczego w bazie danych, z wyjątkiem wpisu słownika danych, który definiuje ten widok. Oznacza to, że za każdym razem, gdy wysyłasz zapytanie do tego widoku, Oracle musi wyjść i wykonać widok oraz zapytać o dane bazy danych. Możemy zapytać o widok w ten sposób:
SELECT * FROM view_uscustomers WHERE customerid BETWEEN 100 AND 200;
A Oracle przekształci zapytanie w to:
SELECT *
FROM (select customerid, customername from customers WHERE countryid='US')
WHERE customerid BETWEEN 100 AND 200
Zalety korzystania z widoków
- Wspólność używanego kodu. Ponieważ widok jest oparty na jednym wspólnym zestawie SQL, oznacza to, że gdy jest wywoływany, jest mniej prawdopodobne, że będzie wymagał parsowania.
- Bezpieczeństwo. Widoki były od dawna używane do ukrywania tabel, które faktycznie zawierają dane, których dotyczy zapytanie. Widoki mogą być również używane do ograniczania kolumn, do których dany użytkownik ma dostęp.
- Wypychanie predykatów
Zaawansowane tematy można znaleźć w tym artykule „Jak tworzyć widoki i zarządzać nimi w Oracle”.