Perspektywy

PERSPEKTYWY – Perspektywa lub widok (view) jest wirtualną tabelą, jest odwzorowaniem globalnego schematu bazy danych na schemat „zewnętrzny”, przystosowany do potrzeb i przyzwyczajeń konkretnego użytkownika.

perespektywy

Folder Adorner in front Search128 SQL PerspektywyPerspektywy stosujemy, aby uprościć (sobie lub użytkownikowi) życie. Powodów stosowania perspektyw jest wiele:

  • Uproszczenie z punktu widzenia użytkownika modeli pojęciowych – dzięki temu możemy znacznie uprościć schemat bazy, a tym samym ułatwić użytkownikowi dostęp do danych.
  • Dostosowanie się do punktu widzenia i terminologii dziedziny zastosowań BD – zmiana schematu wprowadzana przez perspektywę może być wykorzystana na przykład do dostosowania nazw tabel i kolumn do języka, którym posługuje się użytkownik.
  • Ograniczenie dostępu do obiektów – perspektywy powodują ukrycie przez użytkownikiem końcowym prawdziwego schematu bazy danych. Może to mieć również pozytywny wpływ na poprawę bezpieczeństwa danych, gdyż użytkownik nie ma bezpośredniego dostępu do schematu rzeczywistego.
  • Współdziałanie systemów heterogenicznych (wspólny schemat) – w wypadku systemów rozproszonych, zbudowanych z różnych systemów baz danych, perspektywa może pomóc w ukryciu różnic.
  • Przystosowanie starszych systemów do nowszych technologii i wymagań.

Z punktu widzenia procesów perspektywa powinna być przezroczysta, to znaczy, że można na niej wykonywać takie same Operacje, jak na rzeczywistych tabelach. Warunek przezroczystości perspektyw jest bardzo trudny do spełnienia, gdyż dla pewnych odwzorowań danych przyjęte środki definicji perspektyw mogą okazać się niewystarczające.

Rodzaje widoków

Perspektywy dzielimy na dwie grupy: perspektywy wirtualne oraz perspektywy zmaterializowane. Wirtualna istnieje wyłącznie w postaci definicji. Wyliczenie, czyli wyznaczenie zbioru danych widoku, zwane też materializacją perspektywy następuje w momencie odwołania się do wiodku poprzez zapytanie SQL. Wadą perspektyw wirtualnych jest obciążanie systemu za każdym odwołaniem do procedury wirtualnej, a tym samym dłuższy czas oczekiwania na materializację zwracanego widoku danych. Perspektywa zmaterializowana jest wyliczana w czasie pierwszego użycia. Następnie wynik tego wyliczenia (dane) są przechowywane, aby móc ich użyć przy ponownym wywołaniu widoku. Takie rozwiązanie nie są obciążające dla systemu.