Komentarz - perspektywy, wyzwalacze.
Komentarz - perspektywy, wyzwalacze.
Perspektywy:
Celem jest zazwyczaj:
- unikanie wielokrotnego pisania tych samych zapytań,
- utworzenie ”obrazu” bazy danych dla konkretnej grupy użytkowników (powody mogą być różne: np. nie chcemy pokazywać wszystkich danych każdemu użytkownikowi, konkretni użytkownicy mają swoje specyficzne potrzeby i perspektywa ułatwi im używanie bazy itd.),
- zasłonięcie zmienionego schematu bazy danych przez perspektywy naśladujące stary schemat.
Wydaje się karkołomnym definiowanie perspektyw tylko po to aby uprościć pojedyncze zapytanie, w tym celu lepiej użyć konstrukcji z WITH.
Wyzwalacze:
- Wyzwalacz może wywołać zdarzenia, z którymi są związane wyzwalacze — one także zostaną uruchomione.
- Operacje wykonywane w ramach wyzwalacza należą do tej samej transakcji, co instrukcja, która wyzwalacz wywołała. Zatem - jeśli nie powiedzie się którakolwiek z operacji wywołanych przez wyzwalacz, wszystkie działania wyzwalacza wraz z instrukcją początkową, która go zainicjowała, są wycofywane.
- Poprawne zdefiniowanie zbioru wyzwalaczy "pilnujących" poprawności danych w bazie wymaga uważnego zlokalizowania wszystkich zdarzeń, które mogą naruszyć poprawność danych. Stan bazy może zmieniać się w wyniku różnych operacji INSERT/UPDATE/DELETE, nieraz w nieoczywisty sposób. Np. gdybyśmy chcieli kontrolować liczbę studentów zapisanych do grupy w zależności od stanowiska pracownika, który ją prowadzi nie wystarczy reagować na zmiany w tabeli `wybor` - należałoby również obsługiwać awanse pracowników itp.
Last modified: Wednesday, 4 May 2022, 10:26 AM