BD-1st-2.4-lab8.tresc-1.1-Slajd12

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Perspektywy

Perspektywy


Aby przedstawić ideę perspektyw rozważmy następujące zapytanie:

SELECT

nazwisko,

placa_pod AS placa

FROM pracownicy

WHERE etat=‘PROFESOR’;

Wynikiem tego zapytania jest relacja, w której znajdują się dwa atrybuty: NAZWISKO i PLACA przechowujące dane dotyczące wszystkich pracowników pracujących na etacie PROFESOR. Ponieważ zapytanie zwraca relację, a polecenie SELECT służy do odczytywania danych z relacji, to teoretycznie istnieje możliwość przetwarzania za pomocą polecenia SELECT wyników innego polecenia SELECT. Jest to podstawowy pomysł stojący za koncepcją perspektyw. Perspektywą nazywamy obiekt bazy danych, który jest nazwanym zapytaniem, składowanym w bazie danych, „naśladującym” relację. Na rysunku na slajdzie przedstawiono schematycznie działanie perspektyw. W bazie danych znajduje się „relacja” PROFESOROWIE, którą można przeszukiwać za pomocą polecenia SELECT. W rzeczywistości nie jest to jednak relacja, a perspektywa, która zawiera wyniki zwracane przez inne zapytanie. Wyniki zapytania tworzącego perspektywę nie są fizycznie składowane na dysku, ale są generowane za każdym razem, gdy do perspektywy zostanie skierowane zapytanie. W rezultacie, zamiast zapytania:

SELECT nazwisko

FROM profesorowie

WHERE placa>2500;

wykonywane jest zapytanie:

SELECT nazwisko

FROM (

SELECT

nazwisko,

placa_pod AS placa

FROM pracownicy

WHERE etat=‘PROFESOR’;

)

WHERE placa>2500;

Jak łatwo zauważyć, jest to zapytanie z podzapytaniem w klauzuli FROM.

Poprzez perspektywy możliwe jest nie tylko wykonywanie zapytań, ale również danych w nich „składowanych” (modyfikacji ulegają dane w relacjach na których zdefiniowane są perspektywy). Niestety nie zawsze jest to możliwe. W ramach tych ćwiczeń zostaną omówione polecenia pozwalające na tworzenie perspektyw, oraz omówione zostaną warunki modyfikowalności danych w perspektywach.


<< Poprzedni slajd | Spis treści | Następny slajd >>