Widoki

Widok (perspektywa) – jest to zapisane w bazie danych nazwane zapytanie pobierające dane z jednej lub wielu encji(tabel) . Do widoku odwołujemy się tak jak do nazwy tabeli.

Create view jakis_widok as
Select kolumna1,kolumna2 from jakas_tabela;

Powstanie widok o nazwie jakis_widok, wykonanie zapytania:

Select * from jakis_widok;

Wyświetli nam dwie kolumny tabeli: jakas_tabela;

Główną zaletą widoków jest możliwość łatwego zapisania skomplikowanych zapytań oraz możliwość nadawania uprawnień do ograniczonej ilości danych (uprawnienia w Oracle).

Istnieje jeszcze widok zmaterializowany(W Oracle), służy on do zwiększenia wydajności kosztem aktualności danych. Podczas tworzenia widoku zmaterializowanego określa się interwał odświeżania danych w widoku. Co określony czas następuje ‘zrzucenie’ przeliczonych danych. Wywołanie widoku powoduje odczytanie ‘zrzuconych’ i już przeliczonych danych.

Nadpisywanie widoków jest realizowane w zależności od RDBMS. W przypadku oracle:

create or replace jakis_widok as
select * from nowa_tabela;

W przypadku Mssql:

Alter view jakis_widok as
select * from nowa_tabela;

W przypadku bazy Oracle należy pamiętać że widok będzie wykonywany z prawami jego twórcy. Oznacza to iż nie musimy nadawać uprawnień dla obiektów podrzędnych (np tabel z których korzysta widok). Reasumując wystarczy nadać prawo select (grant select on jakis_widok to jakis_user) by było można korzystać z widoku.
W przypadku MSSQL w większości przypadków należy nadać uprawnienia do elementów podrzędnych widoku.

2 Replies to “Widoki”

Leave a Reply

Your email address will not be published. Required fields are marked *

3 + four =