| Termin | Definicja |
|---|---|
| Widok jako warstwa abstrakcji | Widok jako warstwa abstrakcji ukrywa złożoność struktury tabel przed aplikacją korzystającą z danych. Rola widoku w modelu danychWidok jest nazwanym zapytaniem zapisanym w bazie danych, które przedstawia wynik tak, jakby był tabelą. Nie musi przechowywać własnych kopii wierszy. W typowym widoku przechowywana jest definicja zapytania, a dane są pobierane z tabel źródłowych podczas wykonywania odwołania do widoku. Dzięki temu aplikacja może korzystać z ustalonego zestawu kolumn i wierszy bez znajomości pełnej struktury tabel bazowych. Przykładowo tabela pracownicy może zawierać identyfikator, imię, nazwisko, dział, wynagrodzenie i wewnętrzne oznaczenia techniczne. Widok może zwracać wyłącznie identyfikator, imię, nazwisko i nazwę działu. Aplikacja odwołuje się wtedy do widoku podobnie jak do tabeli, używając instrukcji Ukrywanie złączeń, filtrów i obliczeńDefinicja widoku może zawierać filtrowanie rekordów za pomocą Warstwa widoku pozwala także ujednolicić sposób interpretacji danych. Jeżeli status aktywnego konta jest zapisany w tabeli jako kod liczbowy, widok może zwracać kolumnę opisową utworzoną przez wyrażenie warunkowe lub połączenie z tabelą słownikową. Aplikacja nie musi powtarzać tej logiki w wielu miejscach. Zmiana sposobu prezentacji kodu może zostać wykonana w definicji widoku, o ile zachowane zostaną jego nazwa oraz oczekiwane kolumny. Stabilność interfejsu i kontrola dostępuWidok może pełnić funkcję kontraktu pomiędzy bazą danych a aplikacją. Tabele bazowe można rozdzielić, dodać do nich kolumny techniczne albo zmienić sposób przechowywania części informacji, podczas gdy aplikacja nadal korzysta z niezmienionego zestawu pól widoku. Nie oznacza to jednak pełnej niezależności od schematu. Usunięcie wymaganej kolumny, zmiana jej typu albo modyfikacja relacji używanych w zapytaniu może spowodować błąd odwołania do widoku lub zmianę jego wyników. Widoki są również używane do ograniczania zakresu danych dostępnych dla określonego użytkownika lub modułu. Uprawnienie można nadać do widoku zamiast do tabel bazowych, a sama definicja widoku może zwracać tylko wybrane kolumny i rekordy. Mechanizm ten nie zastępuje poprawnego modelu uprawnień ani testów bezpieczeństwa, ponieważ skuteczność zależy od konkretnego silnika bazy, konfiguracji uprawnień i sposobu wykonywania zapytań. Widok powinien być projektowany tak, aby nie ujawniał kolumn, które nie są potrzebne odbiorcy. Wydajność, modyfikacja i diagnostyka widokówZwykły widok nie jest automatycznie kopią danych ani gwarancją szybszego działania zapytania. Silnik bazy może rozwinąć jego definicję i zoptymalizować całość razem z zapytaniem wywołującym, ale czas wykonania nadal zależy od liczby rekordów, warunków filtrowania, złączeń, indeksów oraz planu wykonania. Widok zawierający wiele złączeń lub agregacji może być wygodnym interfejsem, lecz jego użycie na dużych tabelach wymaga sprawdzenia planu zapytania i rzeczywistego czasu wykonania. Nie każdy widok można modyfikować instrukcjami |