ZSBD-2st-1.2-w3.tresc-1.1-Slajd12

Z Studia Informatyczne
Wersja z dnia 16:18, 11 sie 2006 autorstwa PKrzyzagorski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Definiowanie aktywnych reguł SQLServer

Definiowanie aktywnych reguł SQLServer


Kolejny przykład jest ilustracją sposobu definiowania aktywnych reguł w systemie SQLServer. Zadaniem aktywnej reguły przedstawionej na slajdzie jest utrzymywanie poprawnej wartości atrybutu „StanOsobowy ze względu na operację usuwania krotek z relacji Pracownicy. W systemie SQLServer jedynym dostępnym kontekstem definiowania akcji reguł jest relacja. W porównaniu z systemem Oracle nie jest dostępny kontekst pojedynczych krotek. Dostęp do wartości modyfikowanych danych jest możliwy przez dwie robocze relacje: „insertem i „deleted ”, które są widoczne tylko i wyłącznie wewnątrz akcji aktywnych reguł. Schemat tych relacji jest taki sam jak schemat relacji, na której ma miejsce zdarzenie modyfikacji uaktywniające daną regułę. Relacja „insertem przechowuje nowo wstawione krotki lub nowe wartości modyfikowanych krotek. Relacja „deleted przechowuje usunięte krotki i stare wartości modyfikowanych krotek.

W pokazanym przykładzie akcja reguły odejmuje od starej wartości atrybutu „StanOsobowy liczbę usuniętych krotek pracowników dla danego zespołu. Scenariusz obejmuje operację usunięcia z relacji „Pracownicy krotki pracownika z zespołu 10. Uaktywniona przez to zdarzenie aktywna reguła zmniejsza składowaną liczbę pracowników tego zespołu.


<< Poprzedni slajd | Spis treści | Następny slajd >>