Znajdź źródła: „View” SQL – news · newspapers · books · scholar · JSTOR (marzec 2020) (dowiedz się, jak i kiedy usunąć ten Komunikat szablonu)
w bazie danych widok jest zbiorem wyników przechowywanych zapytań o dane, które użytkownicy bazy danych mogą odpytywać tak, jak w trwałym obiekcie gromadzenia danych. To wstępnie utworzone polecenie query jest przechowywane w słowniku bazy danych., W przeciwieństwie do zwykłych tabel bazowych w relacyjnej bazie danych, widok nie wchodzi w skład schematu fizycznego: jako zbiór wyników jest to wirtualna tabela obliczana lub zestawiana dynamicznie z danych w bazie danych, gdy wymagany jest dostęp do tego widoku. Zmiany zastosowane do danych w odpowiedniej tabeli bazowej znajdują odzwierciedlenie w danych pokazanych w kolejnych wywołaniach widoku. W niektórych bazach danych NoSQL widoki są jedynym sposobem na odpytywanie danych.
widoki mogą zapewniać przewagę nad tabelami:
- widoki mogą reprezentować podzbiór danych zawartych w tabeli., W związku z tym Widok może ograniczyć stopień ekspozycji bazowych tabel na świat zewnętrzny: dany użytkownik może mieć uprawnienia do odpytywania widoku, podczas gdy odmawia dostępu do reszty tabeli bazowej.
- widoki mogą łączyć i upraszczać wiele tabel w jedną tabelę wirtualną.
- widoki mogą działać jako zagregowane tabele, w których silnik bazy danych agreguje dane (suma, średnia, itp.) i przedstawia obliczone wyniki jako część danych.
- widoki mogą ukryć złożoność danych., Na przykład widok może pojawić się jako sales2000 lub Sales2001, transparentnie dzieląc rzeczywistą tabelę bazową.
- widoki zajmują bardzo mało miejsca do przechowywania; baza danych zawiera tylko definicję widoku, a nie kopię wszystkich danych, które prezentuje.
- w zależności od używanego silnika SQL widoki mogą zapewnić dodatkowe bezpieczeństwo.
tak jak funkcja (w programowaniu) może dostarczać abstrakcji, tak też widok bazy danych. W innym widoku równoległym do funkcji, użytkownicy baz danych mogą manipulować zagnieżdżonymi widokami, dzięki czemu jeden widok może agregować dane z innych widoków., Bez użycia widoków normalizacja baz danych powyżej drugiej normalnej formy stałaby się znacznie trudniejsza. Widoki mogą ułatwić tworzenie bezstratnego rozkładu połączeń.
podobnie jak wiersze w tabeli bazowej nie mają zdefiniowanej kolejności, wiersze dostępne w widoku nie pojawiają się z domyślnym sortowaniem. Widok jest relacyjną tabelą, a model relacyjny definiuje tabelę jako zbiór wierszy. Ponieważ zbiory nie są uporządkowane-z definicji — tak samo jak wiersze widoku., Dlatego klauzula ORDER BY w definicji widoku jest bez znaczenia; standard SQL (SQL :2003) nie zezwala na klauzulę ORDER BY w zapytaniu podrzędnym polecenia CREATE VIEW, tak jak odmawia się jej w instrukcji CREATE TABLE. Jednak posortowane dane można uzyskać z widoku, w taki sam sposób, jak każda inna tabela — jako część instrukcji zapytania w tym widoku. Niemniej jednak niektóre systemy DBMS (takie jak Oracle Database) nie przestrzegają tego standardowego ograniczenia SQL.