2011-09-16 16 views

Odpowiedz

11

Upraszcza połączenia i zapewnia warstwę pośrednią.

Tak więc, jeśli masz złożony wybór z dużą liczbą złączeń, możesz zaimplementować go w widoku i po prostu wywołać widok bez potrzeby rozważania wszystkich tych sprzężeń. Następnie możesz ponownie użyć tego widoku. Dodatkowo, jeśli użyjesz widoku zamiast tabeli w ten sposób, w przyszłości, jeśli będziesz musiał migrować kolumnę, możesz to łatwo zrobić i tylko wymagają zmian w widoku.

2

Poza oczywistymi korzyściami, o których wspomniał Oded, możesz czasami drastycznie poprawić prędkość, używając materialized views. Z Wikipedii:

W systemie zarządzania bazami danych zgodnym z modelem relacyjnym widok jest wirtualną tabelą reprezentującą wynik zapytania bazy danych. Ilekroć tabela zwykłego widoku jest sprawdzana lub aktualizowana, DBMS konwertuje je na kwerendy lub aktualizacje względem bazowych tabel podstawowych. Zmaterializowany widok przyjmuje inne podejście, w którym wynik zapytania jest zapisywany w pamięci podręcznej jako konkretna tabela, która może być od czasu do czasu aktualizowana z oryginalnych tabel podstawowych.

1

Istnieje kilka, ale myślę, że główną zaletą jest to, że widoki są implementacją SQL niezależności logicznej danych.

Utwórz widok aktualizowalny, a aplikacje korzystające z widoku są stosunkowo odporne na zmiany w tabelach podstawowych. Zmień strukturę tabel podstawowych, zaktualizuj definicję widoku, a wszystkie aplikacje działają tak, jakby nic się nie stało. (Na starszych baz danych, nie może być setki aplikacji napisanych w kilkudziesięciu językach. Jest to duży wygrana.)

Inne korzyści (parafrazowanie Chris data)

„Automatic” bezpieczeństwo ukrytych danych. Ogranicz dostęp do widoków i masz precyzyjną kontrolę nad tym, kto widzi co.

Możliwość "SUCHEGO" dla aplikacji. Widok może zapewnić prosty, publiczny interfejs złożonej instrukcji SELECT, więc aplikacje mogą tylko SELECT column-list FROM my-easy-view.

Różni użytkownicy mogą wyświetlać te same dane na różne sposoby.

Powiązane problemy